@metamesh/modeling 0.19.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +49 -0
- package/README.md +34 -18
- package/dist/api/engine.d.ts +217 -121
- package/dist/api/export.d.ts +123 -79
- package/dist/api/geometry.d.ts +406 -2102
- package/dist/api/index.d.ts +472 -1798
- package/dist/api/math.d.ts +315 -0
- package/dist/api/mechanical.d.ts +1041 -0
- package/dist/api/mesh.d.ts +360 -88
- package/dist/api/text.d.ts +24 -44
- package/dist/docs/guides/concepts.md +67 -33
- package/dist/docs/guides/exporting.md +88 -0
- package/dist/docs/guides/fonts.md +5 -3
- package/dist/docs/guides/fundamentals.md +12 -24
- package/dist/docs/guides/generation.md +24 -16
- package/dist/docs/guides/geometry-values.md +192 -134
- package/dist/docs/guides/hosting.md +51 -96
- package/dist/docs/guides/profiles-and-extrusion.md +159 -11
- package/dist/docs/guides/recipes.md +121 -28
- package/dist/docs/guides/resolution-and-inspection.md +43 -23
- package/dist/docs/guides/solid-joins.md +12 -2
- package/dist/docs/guides/standalone-model.md +4 -2
- package/dist/docs/guides/svg-and-text.md +76 -39
- package/dist/docs/guides/sweeps-and-lofts.md +88 -44
- package/dist/docs/guides/transforms-and-placement.md +113 -103
- package/dist/docs/guides/workers.md +166 -0
- package/dist/docs/manifest.json +4133 -4153
- package/dist/docs/reference/engine/GenerationOptions.md +2 -3
- package/dist/docs/reference/engine/GeometryResource.md +6 -6
- package/dist/docs/reference/engine/ModelDependencies.md +2 -2
- package/dist/docs/reference/engine/ModelEngine.md +2 -3
- package/dist/docs/reference/engine/ModelEngineOptions.md +2 -7
- package/dist/docs/reference/engine/ModelPart.md +6 -6
- package/dist/docs/reference/engine/ModelResult.md +2 -2
- package/dist/docs/reference/engine/ModelRunArguments.md +2 -2
- package/dist/docs/reference/engine/ModelRunOptions.md +2 -3
- package/dist/docs/reference/engine/ModelSession.md +2 -2
- package/dist/docs/reference/engine/SessionOptions.md +2 -3
- package/dist/docs/reference/engine/categories/host-lifecycle.md +9 -3
- package/dist/docs/reference/engine/checkModel.md +6 -2
- package/dist/docs/reference/engine/createModelEngine.md +5 -3
- package/dist/docs/reference/engine/defaultModelingLimits.md +4 -11
- package/dist/docs/reference/engine/modelingWasmUrl.md +2 -2
- package/dist/docs/reference/engine.md +7 -1
- package/dist/docs/reference/export/Export3mfOptions.md +2 -6
- package/dist/docs/reference/export/ExportDiagnostic.md +2 -14
- package/dist/docs/reference/export/ExportFormat.md +2 -14
- package/dist/docs/reference/export/ExportGeometry.md +3 -15
- package/dist/docs/reference/export/ExportGlbOptions.md +14 -18
- package/dist/docs/reference/export/ExportLimits.md +2 -14
- package/dist/docs/reference/export/ExportMaterial.md +2 -14
- package/dist/docs/reference/export/ExportOptions.md +2 -14
- package/dist/docs/reference/export/ExportPart.md +2 -14
- package/dist/docs/reference/export/ExportReport.md +2 -14
- package/dist/docs/reference/export/ExportSink.md +5 -15
- package/dist/docs/reference/export/ExportStlOptions.md +2 -6
- package/dist/docs/reference/export/ExportedFile.md +14 -26
- package/dist/docs/reference/export/categories/mesh-serialization.md +9 -3
- package/dist/docs/reference/export/defaultExportLimits.md +2 -2
- package/dist/docs/reference/export/export3mf.md +4 -6
- package/dist/docs/reference/export/exportGlb.md +8 -10
- package/dist/docs/reference/export/exportStl.md +4 -6
- package/dist/docs/reference/export/write3mf.md +6 -6
- package/dist/docs/reference/export/writeGlb.md +10 -10
- package/dist/docs/reference/export/writeStl.md +6 -6
- package/dist/docs/reference/export.md +9 -3
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +4 -4
- package/dist/docs/reference/geometry/Anchor3-type.md +3 -7
- package/dist/docs/reference/geometry/Anchor3Options.md +70 -0
- package/dist/docs/reference/geometry/ArcCurve2.md +3 -3
- package/dist/docs/reference/geometry/ArcCurve3.md +3 -3
- package/dist/docs/reference/geometry/AttachOptions.md +4 -9
- package/dist/docs/reference/geometry/Bounds2-type.md +9 -30
- package/dist/docs/reference/geometry/Bounds2Data.md +2 -19
- package/dist/docs/reference/geometry/Bounds2Input.md +2 -10
- package/dist/docs/reference/geometry/Bounds2Options.md +2 -6
- package/dist/docs/reference/geometry/Bounds3-type.md +9 -30
- package/dist/docs/reference/geometry/Bounds3Data.md +2 -15
- package/dist/docs/reference/geometry/Bounds3Input.md +2 -10
- package/dist/docs/reference/geometry/Bounds3Options.md +2 -6
- package/dist/docs/reference/geometry/BoundsFit2.md +2 -2
- package/dist/docs/reference/geometry/BoundsFit3.md +2 -2
- package/dist/docs/reference/geometry/BoundsFitOptions.md +2 -2
- package/dist/docs/reference/geometry/BoxAnchorFace.md +3 -3
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +3 -3
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +3 -7
- package/dist/docs/reference/geometry/CircleContourOptions.md +3 -7
- package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +3 -12
- package/dist/docs/reference/geometry/CircularResolutionOptions.md +2 -2
- package/dist/docs/reference/geometry/CircularSampling.md +2 -2
- package/dist/docs/reference/geometry/CircularSamplingOptions.md +2 -2
- package/dist/docs/reference/geometry/Contour.md +4 -9
- package/dist/docs/reference/geometry/ContourCurve.md +3 -3
- package/dist/docs/reference/geometry/ContourPoint.md +3 -3
- package/dist/docs/reference/geometry/ContourSegment.md +3 -3
- package/dist/docs/reference/geometry/CorrespondingComponent.md +3 -7
- package/dist/docs/reference/geometry/CorrespondingContour.md +3 -7
- package/dist/docs/reference/geometry/CorrespondingProfile.md +3 -7
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +4 -8
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +3 -3
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +3 -3
- package/dist/docs/reference/geometry/Curve2.md +3 -3
- package/dist/docs/reference/geometry/Curve3.md +3 -3
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +3 -11
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +3 -3
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +4 -4
- package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +2 -2
- package/dist/docs/reference/geometry/EdgeTreatment.md +2 -6
- package/dist/docs/reference/geometry/EllipseContourOptions.md +3 -7
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +9 -18
- package/dist/docs/reference/geometry/FittedTextLayout.md +2 -2
- package/dist/docs/reference/geometry/{Frame3.md → Frame3-type.md} +4 -11
- package/dist/docs/reference/geometry/Frame3Options.md +69 -0
- package/dist/docs/reference/geometry/GeometryError.md +2 -6
- package/dist/docs/reference/geometry/GeometryErrorCode.md +2 -6
- package/dist/docs/reference/geometry/GeometryErrorContext.md +2 -6
- package/dist/docs/reference/geometry/GeometryResolution.md +2 -10
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +3 -11
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +3 -11
- package/dist/docs/reference/geometry/GridPatternOptions.md +7 -9
- package/dist/docs/reference/geometry/ImmutableBuffer-type.md +2 -10
- package/dist/docs/reference/geometry/LineCurve2.md +3 -3
- package/dist/docs/reference/geometry/LineCurve3.md +3 -3
- package/dist/docs/reference/geometry/LinearPatternOptions.md +2 -6
- package/dist/docs/reference/geometry/LoftPlacement.md +13 -21
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +3 -7
- package/dist/docs/reference/geometry/ModelingLimits.md +2 -14
- package/dist/docs/reference/geometry/NumericArray.md +2 -10
- package/dist/docs/reference/geometry/Path2-type.md +153 -12
- package/dist/docs/reference/geometry/Path2Data.md +3 -11
- package/dist/docs/reference/geometry/Path2Input.md +3 -11
- package/dist/docs/reference/geometry/Path3-type.md +153 -12
- package/dist/docs/reference/geometry/Path3Data.md +3 -11
- package/dist/docs/reference/geometry/Path3Input.md +3 -11
- package/dist/docs/reference/geometry/PathFrame.md +3 -3
- package/dist/docs/reference/geometry/PathLocation.md +3 -11
- package/dist/docs/reference/geometry/PathNormalGuide.md +4 -12
- package/dist/docs/reference/geometry/PathOptions.md +3 -7
- package/dist/docs/reference/geometry/PathPatternOptions.md +3 -7
- package/dist/docs/reference/geometry/PathPlacement.md +5 -5
- package/dist/docs/reference/geometry/PathResamplingOptions.md +3 -11
- package/dist/docs/reference/geometry/PathStation.md +87 -0
- package/dist/docs/reference/geometry/PathSubdivisionOptions.md +44 -0
- package/dist/docs/reference/geometry/Pivot2Options.md +3 -11
- package/dist/docs/reference/geometry/Pivot3Options.md +3 -11
- package/dist/docs/reference/geometry/PolygonData.md +4 -8
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +3 -3
- package/dist/docs/reference/geometry/Profile.md +3 -4
- package/dist/docs/reference/geometry/ProfileComponent2.md +3 -7
- package/dist/docs/reference/geometry/ProfileContour2.md +3 -7
- package/dist/docs/reference/geometry/ProfileSpan2.md +3 -7
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +5 -8
- package/dist/docs/reference/geometry/RadialPatternOptions.md +2 -6
- package/dist/docs/reference/geometry/RadialSizing.md +2 -6
- package/dist/docs/reference/geometry/RadialSizingOptions.md +2 -6
- package/dist/docs/reference/geometry/RectangleContourOptions.md +4 -7
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +3 -7
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +3 -7
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +3 -3
- package/dist/docs/reference/geometry/RegionData.md +3 -7
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +3 -3
- package/dist/docs/reference/geometry/ResolvedGeometryResolution.md +71 -0
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +2 -2
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +2 -6
- package/dist/docs/reference/geometry/RowLayoutOptions.md +2 -2
- package/dist/docs/reference/geometry/SampleContourOptions.md +3 -3
- package/dist/docs/reference/geometry/SampleHelixOptions.md +3 -3
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +3 -3
- package/dist/docs/reference/geometry/SampledCurve2.md +3 -3
- package/dist/docs/reference/geometry/SampledCurve3.md +3 -3
- package/dist/docs/reference/geometry/SideProfileCurve.md +3 -3
- package/dist/docs/reference/geometry/SideProfilePoint.md +3 -3
- package/dist/docs/reference/geometry/SideProfileSegment.md +3 -3
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +2 -6
- package/dist/docs/reference/geometry/SplineOptions.md +69 -0
- package/dist/docs/reference/geometry/StarContourOptions.md +7 -7
- package/dist/docs/reference/geometry/StrokeCap.md +2 -6
- package/dist/docs/reference/geometry/StrokeJoin.md +2 -6
- package/dist/docs/reference/geometry/StrokeOptions.md +3 -7
- package/dist/docs/reference/geometry/SvgImportOptions.md +4 -4
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +2 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +2 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +2 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +2 -2
- package/dist/docs/reference/geometry/Transform2-type.md +3 -11
- package/dist/docs/reference/geometry/Transform2Data.md +3 -11
- package/dist/docs/reference/geometry/Transform2Input.md +3 -11
- package/dist/docs/reference/geometry/Transform3-type.md +4 -12
- package/dist/docs/reference/geometry/Transform3Data.md +3 -11
- package/dist/docs/reference/geometry/Transform3Input.md +6 -13
- package/dist/docs/reference/geometry/Vector2-type.md +3 -11
- package/dist/docs/reference/geometry/Vector2Data.md +3 -15
- package/dist/docs/reference/geometry/Vector2Input.md +3 -11
- package/dist/docs/reference/geometry/Vector3-type.md +27 -11
- package/dist/docs/reference/geometry/Vector3Data.md +3 -11
- package/dist/docs/reference/geometry/Vector3Input.md +3 -11
- package/dist/docs/reference/geometry/VectorTextLayout.md +2 -10
- package/dist/docs/reference/geometry/VectorTextMetrics.md +3 -11
- package/dist/docs/reference/geometry/anchor3.md +17 -26
- package/dist/docs/reference/geometry/anchorFrame3.md +6 -6
- package/dist/docs/reference/geometry/attachmentTransform3.md +8 -8
- package/dist/docs/reference/geometry/bounds2.md +6 -8
- package/dist/docs/reference/geometry/bounds3.md +4 -6
- package/dist/docs/reference/geometry/boundsCenter.md +2 -2
- package/dist/docs/reference/geometry/boundsSize.md +2 -2
- package/dist/docs/reference/geometry/boxAnchor3.md +3 -3
- package/dist/docs/reference/geometry/categories/bounds-layout.md +9 -3
- package/dist/docs/reference/geometry/categories/curves-paths.md +24 -13
- package/dist/docs/reference/geometry/categories/immutable-data.md +40 -0
- package/dist/docs/reference/geometry/categories/pattern-placement.md +10 -4
- package/dist/docs/reference/geometry/categories/primitive-options.md +8 -13
- package/dist/docs/reference/geometry/categories/profiles-regions.md +11 -5
- package/dist/docs/reference/geometry/categories/resolution-errors.md +8 -1
- package/dist/docs/reference/geometry/categories/transforms-math.md +20 -51
- package/dist/docs/reference/geometry/categories/vector-import.md +7 -4
- package/dist/docs/reference/geometry/circleContour.md +3 -3
- package/dist/docs/reference/geometry/closeToAxis.md +7 -3
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +9 -6
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +13 -6
- package/dist/docs/reference/geometry/contourContainsPoint.md +7 -3
- package/dist/docs/reference/geometry/cylinderAnchor3.md +5 -5
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +3 -3
- package/dist/docs/reference/geometry/distributeAlongPath.md +16 -11
- package/dist/docs/reference/geometry/ellipseContour.md +3 -3
- package/dist/docs/reference/geometry/fitBounds.md +10 -2
- package/dist/docs/reference/geometry/fitTextLayout.md +5 -5
- package/dist/docs/reference/geometry/frame3.md +66 -0
- package/dist/docs/reference/geometry/gridPatternTransforms.md +6 -6
- package/dist/docs/reference/geometry/immutableBuffer.md +5 -7
- package/dist/docs/reference/geometry/isGeometryError.md +2 -6
- package/dist/docs/reference/geometry/layoutRow.md +4 -2
- package/dist/docs/reference/geometry/linearPatternTransforms.md +6 -6
- package/dist/docs/reference/geometry/matchProfiles.md +5 -3
- package/dist/docs/reference/geometry/normalizeContour.md +8 -4
- package/dist/docs/reference/geometry/normalizePolygon.md +5 -3
- package/dist/docs/reference/geometry/normalizeRegion.md +5 -3
- package/dist/docs/reference/geometry/path2.md +7 -7
- package/dist/docs/reference/geometry/path3.md +7 -7
- package/dist/docs/reference/geometry/pathPatternTransforms.md +12 -8
- package/dist/docs/reference/geometry/preflightSvgRegion.md +5 -5
- package/dist/docs/reference/geometry/radialPatternTransforms.md +5 -5
- package/dist/docs/reference/geometry/rectangleContour.md +3 -3
- package/dist/docs/reference/geometry/rectangleProfile.md +3 -4
- package/dist/docs/reference/geometry/regionArea.md +3 -3
- package/dist/docs/reference/geometry/regionBounds.md +6 -4
- package/dist/docs/reference/geometry/regularPolygonContour.md +3 -3
- package/dist/docs/reference/geometry/resamplePolyline2.md +7 -3
- package/dist/docs/reference/geometry/resamplePolyline3.md +7 -3
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +5 -5
- package/dist/docs/reference/geometry/resolveArcSegments.md +8 -6
- package/dist/docs/reference/geometry/resolveCircularSampling.md +2 -2
- package/dist/docs/reference/geometry/resolveCircularSegments.md +5 -3
- package/dist/docs/reference/geometry/{resolveExtrusionDivisions.md → resolveExtrusionSlices.md} +16 -15
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +5 -3
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +3 -3
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +12 -5
- package/dist/docs/reference/geometry/sampleContour.md +5 -5
- package/dist/docs/reference/geometry/sampleCurve2.md +7 -3
- package/dist/docs/reference/geometry/sampleCurve3.md +7 -3
- package/dist/docs/reference/geometry/sampleHelix.md +3 -3
- package/dist/docs/reference/geometry/sampleSideProfile.md +5 -5
- package/dist/docs/reference/geometry/sampleTextContours.md +3 -3
- package/dist/docs/reference/geometry/signedContourArea.md +5 -3
- package/dist/docs/reference/geometry/spline2.md +68 -0
- package/dist/docs/reference/geometry/spline3.md +62 -0
- package/dist/docs/reference/geometry/starContour.md +3 -3
- package/dist/docs/reference/geometry/strokeRegionData.md +8 -5
- package/dist/docs/reference/geometry/transform2.md +5 -7
- package/dist/docs/reference/geometry/transform3.md +23 -10
- package/dist/docs/reference/geometry/transformRegionData.md +7 -3
- package/dist/docs/reference/geometry/triangulateContour.md +6 -4
- package/dist/docs/reference/geometry/vector2.md +6 -8
- package/dist/docs/reference/geometry/vector3.md +8 -8
- package/dist/docs/reference/geometry.md +13 -18
- package/dist/docs/reference/{geometry → math}/AxisAngleRotation3.md +4 -5
- package/dist/docs/reference/math/IDENTITY_TRANSFORM3.md +20 -0
- package/dist/docs/reference/math/add2.md +38 -0
- package/dist/docs/reference/math/add3.md +46 -0
- package/dist/docs/reference/math/applyTransformDirection3.md +46 -0
- package/dist/docs/reference/math/applyTransformPoint3.md +44 -0
- package/dist/docs/reference/math/categories/tuple-matrix.md +67 -0
- package/dist/docs/reference/math/cross2.md +38 -0
- package/dist/docs/reference/math/cross3.md +44 -0
- package/dist/docs/reference/math/distance2.md +38 -0
- package/dist/docs/reference/math/distance3.md +38 -0
- package/dist/docs/reference/math/dot2.md +38 -0
- package/dist/docs/reference/math/dot3.md +44 -0
- package/dist/docs/reference/math/eulerTransform3.md +43 -0
- package/dist/docs/reference/math/inverseTransform3.md +36 -0
- package/dist/docs/reference/math/length2.md +32 -0
- package/dist/docs/reference/math/length3.md +32 -0
- package/dist/docs/reference/math/lerp2.md +46 -0
- package/dist/docs/reference/math/lerp3.md +46 -0
- package/dist/docs/reference/math/multiplyTransform3.md +46 -0
- package/dist/docs/reference/math/normalize2.md +45 -0
- package/dist/docs/reference/math/normalize3.md +45 -0
- package/dist/docs/reference/math/projectOntoPlane3.md +40 -0
- package/dist/docs/reference/math/rotate2.md +40 -0
- package/dist/docs/reference/math/rotationTransform3.md +56 -0
- package/dist/docs/reference/math/scale2.md +38 -0
- package/dist/docs/reference/math/scale3.md +44 -0
- package/dist/docs/reference/math/scaleTransform3.md +39 -0
- package/dist/docs/reference/math/subtract2.md +38 -0
- package/dist/docs/reference/math/subtract3.md +44 -0
- package/dist/docs/reference/math/transformDeterminant3.md +38 -0
- package/dist/docs/reference/math/translationTransform3.md +36 -0
- package/dist/docs/reference/math/validateRigidTransform3.md +38 -0
- package/dist/docs/reference/math/validateTransform3.md +48 -0
- package/dist/docs/reference/math.md +22 -0
- package/dist/docs/reference/{geometry → mechanical}/AcmeThreadProfileSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/Bevel.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/BevelSize.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ButtressPressureFlankSide.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ButtressThreadProfileSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleFit.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CompensatedThreadDiameters.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CustomThreadProfileSpec.md +5 -15
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearMeshKind.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearOutlineOptions.md +5 -10
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionOptions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionReport.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairSpec.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearSpec.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/InternalThreadCutterOptions.md +6 -13
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeBaseSpec.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeDimensions.md +4 -5
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeInterval.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSamplingOptions.md +5 -14
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSpec.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/METRIC_FASTENER_STANDARDS.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/MetricFastenerSize.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/MetricFastenerStandard.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/MetricHexNutDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/MetricSocketCapHeadDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/PRINTABLE_THREAD_FIT_POLICIES.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFit.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFitPolicy.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/RackPitchDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/RackPitchSpec.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/SampledThreadHelices.md +4 -8
- package/dist/docs/reference/{geometry → mechanical}/SquareThreadProfileSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/ThreadBevelOptions.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/ThreadCircularSegmentsOptions.md +5 -7
- package/dist/docs/reference/{geometry → mechanical}/ThreadCompensationOptions.md +4 -5
- package/dist/docs/reference/{geometry → mechanical}/ThreadEndStyle.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadEndTreatmentOptions.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadHandedness.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadHelixOptions.md +5 -7
- package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInEnvelope.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInShape.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadProfile-type.md +5 -17
- package/dist/docs/reference/{geometry → mechanical}/ThreadProfileBaseSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/ThreadProfileSpec.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadRidgeOptions.md +7 -18
- package/dist/docs/reference/{geometry → mechanical}/ThreadRole.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/ThreadSolidOptions.md +8 -15
- package/dist/docs/reference/{geometry → mechanical}/ThreadSolidPreflight.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadedNutOptions.md +7 -14
- package/dist/docs/reference/{geometry → mechanical}/ThreadedNutPreflight.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/ThreadedNutShape.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/ThreadedRodOptions.md +6 -13
- package/dist/docs/reference/{geometry → mechanical}/TrapezoidalThreadProfileSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/TriangularThreadProfileSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/categories/mechanical.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/compensateThreadDiameters.md +4 -4
- package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileAxially.md +12 -6
- package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileForFaceting.md +13 -3
- package/dist/docs/reference/{geometry → mechanical}/getMetricClearanceHoleDiameter.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/getMetricFastenerStandard.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/measureInternalCylindricalGearPairMotion.md +9 -7
- package/dist/docs/reference/{geometry → mechanical}/minimumCylindricalGearToothCountWithoutUndercut.md +5 -3
- package/dist/docs/reference/{geometry → mechanical}/preflightInternalThreadCutter.md +8 -6
- package/dist/docs/reference/{geometry → mechanical}/preflightThreadedNut.md +9 -7
- package/dist/docs/reference/{geometry → mechanical}/preflightThreadedRod.md +8 -6
- package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGear.md +5 -3
- package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGearPair.md +5 -3
- package/dist/docs/reference/{geometry → mechanical}/resolveKnuckleHinge.md +9 -7
- package/dist/docs/reference/{geometry → mechanical}/resolvePrintableThreadFitPolicy.md +5 -3
- package/dist/docs/reference/{geometry → mechanical}/resolveRackPitch.md +5 -3
- package/dist/docs/reference/{geometry → mechanical}/resolveThreadCircularSegments.md +7 -5
- package/dist/docs/reference/{geometry → mechanical}/sampleCylindricalGearOutline.md +9 -8
- package/dist/docs/reference/{geometry → mechanical}/sampleInternalCylindricalGearSpaceOutline.md +9 -8
- package/dist/docs/reference/{geometry → mechanical}/sampleRackToothPath.md +10 -8
- package/dist/docs/reference/{geometry → mechanical}/sampleThreadHelices.md +8 -6
- package/dist/docs/reference/{geometry → mechanical}/threadProfile.md +7 -3
- package/dist/docs/reference/mechanical.md +19 -0
- package/dist/docs/reference/mesh/ExtrudeMeshOptions.md +128 -0
- package/dist/docs/reference/{geometry → mesh}/HeightfieldMeshLimits.md +5 -13
- package/dist/docs/reference/{geometry → mesh}/HeightfieldPreflight.md +3 -7
- package/dist/docs/reference/{geometry → mesh}/ImmutableTriangleMesh.md +5 -17
- package/dist/docs/reference/mesh/LoftMeshStation.md +32 -0
- package/dist/docs/reference/mesh/MeshRenderOptions.md +3 -3
- package/dist/docs/reference/{geometry → mesh}/PlanarMeshOptimizationFallbackReason.md +4 -8
- package/dist/docs/reference/{geometry → mesh}/PlanarMeshOptimizationOptions.md +4 -9
- package/dist/docs/reference/{geometry → mesh}/PlanarMeshOptimizationResult.md +4 -8
- package/dist/docs/reference/{geometry → mesh}/PlanarPatchQuality.md +4 -12
- package/dist/docs/reference/mesh/RenderMesh.md +19 -19
- package/dist/docs/reference/{geometry → mesh}/SolidMeshValidationOptions.md +4 -12
- package/dist/docs/reference/{geometry → mesh}/TriangleMesh.md +8 -12
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshAnalysis.md +5 -14
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshAnalysisOptions.md +4 -9
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshInput.md +3 -7
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshMeasurements.md +5 -14
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshQualityOptions.md +4 -9
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshQualityReport.md +3 -7
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshSignature.md +4 -9
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshSignatureOptions.md +3 -7
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshSignatureTolerances.md +3 -7
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshTopologyAnalysis.md +5 -14
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshValidationOptions.md +4 -9
- package/dist/docs/reference/mesh/analyze.md +26 -18
- package/dist/docs/reference/mesh/analyzeQuality.md +12 -12
- package/dist/docs/reference/mesh/bounds.md +5 -6
- package/dist/docs/reference/mesh/categories/operations.md +37 -4
- package/dist/docs/reference/mesh/centroid.md +5 -6
- package/dist/docs/reference/mesh/extrude.md +21 -20
- package/dist/docs/reference/mesh/heightfield.md +8 -8
- package/dist/docs/reference/mesh/immutable.md +7 -5
- package/dist/docs/reference/mesh/join.md +7 -7
- package/dist/docs/reference/mesh/loft.md +19 -18
- package/dist/docs/reference/mesh/optimizePlanarPatches.md +21 -21
- package/dist/docs/reference/mesh/preflightHeightfield.md +8 -8
- package/dist/docs/reference/mesh/preflightThreadSolid.md +22 -25
- package/dist/docs/reference/mesh/render.md +7 -5
- package/dist/docs/reference/mesh/reverse.md +7 -7
- package/dist/docs/reference/mesh/revolve.md +12 -14
- package/dist/docs/reference/mesh/signature.md +12 -12
- package/dist/docs/reference/mesh/sweep.md +96 -25
- package/dist/docs/reference/mesh/threadRidge.md +19 -18
- package/dist/docs/reference/mesh/threadSolid.md +23 -22
- package/dist/docs/reference/mesh/transform.md +8 -9
- package/dist/docs/reference/mesh/validate.md +11 -11
- package/dist/docs/reference/mesh/validateSolid.md +10 -10
- package/dist/docs/reference/mesh.md +8 -2
- package/dist/docs/reference/model/BoxEdge.md +23 -0
- package/dist/docs/reference/model/BoxEdgeSelection.md +27 -0
- package/dist/docs/reference/model/BoxEdgeTreatments.md +27 -0
- package/dist/docs/reference/{geometry → model}/BoxOptions.md +12 -12
- package/dist/docs/reference/model/CircleOptions.md +4 -5
- package/dist/docs/reference/model/CornerCutterOptions.md +93 -0
- package/dist/docs/reference/model/CornerCutterTreatment.md +53 -0
- package/dist/docs/reference/model/{HoleCutterOverrun.md → CutterOverrun.md} +8 -7
- package/dist/docs/reference/model/CylinderOptions.md +64 -0
- package/dist/docs/reference/model/DiagnosticOptions.md +2 -2
- package/dist/docs/reference/model/EdgeCutterOptions.md +129 -0
- package/dist/docs/reference/model/EllipseOptions.md +4 -5
- package/dist/docs/reference/model/EndTreatments.md +43 -0
- package/dist/docs/reference/model/ExtrudeOptions.md +153 -0
- package/dist/docs/reference/model/GenerateCallback.md +2 -2
- package/dist/docs/reference/model/GenerateContext.md +27 -3
- package/dist/docs/reference/model/GenerationDiagnostic.md +2 -2
- package/dist/docs/reference/model/GenerationError.md +2 -2
- package/dist/docs/reference/{geometry → model}/HeightfieldOptions.md +5 -23
- package/dist/docs/reference/model/HoleCutterOpening.md +27 -0
- package/dist/docs/reference/model/HoleCutterOptions.md +9 -22
- package/dist/docs/reference/model/HoleCutterRecess.md +5 -4
- package/dist/docs/reference/model/HullOptions.md +2 -3
- package/dist/docs/reference/model/ImmutableValue.md +2 -2
- package/dist/docs/reference/model/ImplicitOptions.md +3 -9
- package/dist/docs/reference/model/JoinOptions.md +2 -5
- package/dist/docs/reference/model/JoinTransition.md +2 -2
- package/dist/docs/reference/model/KnuckleHinge-type.md +2 -3
- package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +2 -2
- package/dist/docs/reference/model/KnuckleHingeOptions.md +3 -5
- package/dist/docs/reference/model/KnuckleHingeWeb.md +2 -2
- package/dist/docs/reference/{geometry → model}/LoftCorrespondence.md +8 -11
- package/dist/docs/reference/{geometry → model}/LoftOptions.md +11 -16
- package/dist/docs/reference/model/LoftStation.md +4 -5
- package/dist/docs/reference/model/Memo.md +2 -2
- package/dist/docs/reference/model/ModelProgram.md +2 -2
- package/dist/docs/reference/model/PartDeclaration.md +4 -5
- package/dist/docs/reference/model/PartGeometry.md +3 -5
- package/dist/docs/reference/model/PartOptions.md +4 -5
- package/dist/docs/reference/model/PatternSource.md +4 -4
- package/dist/docs/reference/model/PlaneOptions.md +3 -7
- package/dist/docs/reference/model/PolygonOptions.md +2 -7
- package/dist/docs/reference/model/PrimitiveAttachment.md +50 -0
- package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +111 -0
- package/dist/docs/reference/model/RectangleOptions.md +21 -26
- package/dist/docs/reference/model/RegularPolygonOptions.md +4 -37
- package/dist/docs/reference/{geometry → model}/RevolveOptions.md +15 -24
- package/dist/docs/reference/model/Section.md +115 -53
- package/dist/docs/reference/model/SectionHullOptions.md +2 -3
- package/dist/docs/reference/model/SectionInspection.md +2 -6
- package/dist/docs/reference/model/SectionOffsetJoin.md +2 -2
- package/dist/docs/reference/model/SectionOffsetOptions.md +2 -3
- package/dist/docs/reference/model/Solid.md +24 -12
- package/dist/docs/reference/model/SolidInspection.md +2 -6
- package/dist/docs/reference/model/SolidSegmentHit.md +2 -6
- package/dist/docs/reference/model/SphereOptions.md +27 -0
- package/dist/docs/reference/model/StarOptions.md +21 -23
- package/dist/docs/reference/model/SvgOrigin.md +2 -2
- package/dist/docs/reference/model/SvgPathSectionOptions.md +3 -5
- package/dist/docs/reference/model/SvgSectionOptions.md +3 -6
- package/dist/docs/reference/model/SweepOptions.md +109 -0
- package/dist/docs/reference/model/SweepOrientation.md +119 -0
- package/dist/docs/reference/model/SweepTransformOptions.md +105 -0
- package/dist/docs/reference/model/TextSectionOptions.md +2 -7
- package/dist/docs/reference/{geometry → model}/TorusOptions.md +11 -10
- package/dist/docs/reference/model/TubeOptions.md +84 -0
- package/dist/docs/reference/model/box.md +11 -10
- package/dist/docs/reference/model/categories/boolean-operations.md +9 -3
- package/dist/docs/reference/model/categories/bounded-surfaces.md +13 -1
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +26 -7
- package/dist/docs/reference/model/categories/generation.md +11 -3
- package/dist/docs/reference/model/categories/hinges.md +7 -1
- package/dist/docs/reference/model/categories/mesh-inspection.md +7 -1
- package/dist/docs/reference/model/categories/primitives.md +34 -6
- package/dist/docs/reference/model/categories/sections.md +8 -2
- package/dist/docs/reference/model/categories/threads.md +8 -5
- package/dist/docs/reference/model/categories/transforms-placement.md +15 -10
- package/dist/docs/reference/model/circle.md +7 -3
- package/dist/docs/reference/model/cornerCutter.md +88 -0
- package/dist/docs/reference/model/cylinder.md +6 -5
- package/dist/docs/reference/model/edgeCutter.md +91 -0
- package/dist/docs/reference/model/ellipse.md +7 -3
- package/dist/docs/reference/model/extrude.md +29 -23
- package/dist/docs/reference/model/generate.md +4 -2
- package/dist/docs/reference/model/gridPattern.md +11 -4
- package/dist/docs/reference/model/heightfield.md +5 -5
- package/dist/docs/reference/model/holeCutter.md +26 -12
- package/dist/docs/reference/model/hull.md +2 -2
- package/dist/docs/reference/model/implicit.md +3 -3
- package/dist/docs/reference/model/internalThreadCutter.md +32 -21
- package/dist/docs/reference/model/intersect.md +7 -3
- package/dist/docs/reference/model/join.md +6 -2
- package/dist/docs/reference/model/knuckleHinge.md +2 -3
- package/dist/docs/reference/model/linearPattern.md +11 -4
- package/dist/docs/reference/model/loft.md +28 -24
- package/dist/docs/reference/model/minkowskiSum.md +3 -3
- package/dist/docs/reference/model/pathPattern.md +17 -8
- package/dist/docs/reference/model/polygon.md +8 -3
- package/dist/docs/reference/model/radialPattern.md +11 -4
- package/dist/docs/reference/model/rectangle.md +11 -7
- package/dist/docs/reference/model/regularPolygon.md +7 -3
- package/dist/docs/reference/model/revolve.md +18 -12
- package/dist/docs/reference/model/solidFromMesh.md +10 -6
- package/dist/docs/reference/model/sphere.md +7 -6
- package/dist/docs/reference/model/star.md +11 -7
- package/dist/docs/reference/model/stroke.md +12 -8
- package/dist/docs/reference/model/svgPathSection.md +10 -4
- package/dist/docs/reference/model/svgSection.md +10 -4
- package/dist/docs/reference/model/sweep.md +102 -25
- package/dist/docs/reference/model/textSection.md +7 -3
- package/dist/docs/reference/model/threadRidge.md +16 -17
- package/dist/docs/reference/model/threadedNut.md +25 -22
- package/dist/docs/reference/model/threadedRod.md +21 -18
- package/dist/docs/reference/model/torus.md +13 -12
- package/dist/docs/reference/model/tube.md +6 -5
- package/dist/docs/reference/model/union.md +7 -3
- package/dist/docs/reference/model.md +10 -5
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +2 -2
- package/dist/docs/reference/text/VectorFont.md +38 -34
- package/dist/docs/reference/text/VectorFontOptions.md +2 -2
- package/dist/docs/reference/{geometry → text}/VectorTextArcBaseline.md +2 -11
- package/dist/docs/reference/{geometry → text}/VectorTextLayoutOptions.md +3 -11
- package/dist/docs/reference/{geometry → text}/VectorTextOptions.md +2 -10
- package/dist/docs/reference/text/categories/font-preparation.md +10 -1
- package/dist/docs/reference/text/prepareVectorFont.md +4 -2
- package/dist/docs/reference/text.md +7 -1
- package/dist/engine/execution.js +5 -3
- package/dist/engine/finalization.js +5 -5
- package/dist/engine/index.js +9 -4
- package/dist/engine/native/adapter.js +1 -1
- package/dist/engine/native/construction-mesh.js +15 -5
- package/dist/engine/native/context.js +10 -7
- package/dist/engine/native/index.js +1 -1
- package/dist/engine/native/material-components.js +2 -2
- package/dist/engine/native/mesh-observation.js +1 -1
- package/dist/engine/native/regions.js +44 -24
- package/dist/engine/native/scoped-primitives.js +3 -3
- package/dist/engine/native/scoped-threads.js +1 -13
- package/dist/engine/native/threads.js +2 -2
- package/dist/engine/native/transforms.js +2 -2
- package/dist/engine/operations/construction.js +77 -27
- package/dist/engine/operations/context.js +13 -6
- package/dist/engine/operations/cutters.js +112 -0
- package/dist/engine/operations/environment.js +2 -2
- package/dist/engine/operations/extrusion-finishing.js +42 -16
- package/dist/engine/operations/hole-cutter.js +125 -114
- package/dist/engine/operations/join-collar-profile.js +19 -19
- package/dist/engine/operations/join.js +86 -73
- package/dist/engine/operations/knuckle-hinge.js +25 -20
- package/dist/engine/operations/loft.js +9 -16
- package/dist/engine/operations/mechanical.js +4 -15
- package/dist/engine/operations/primitives/anchors.js +23 -19
- package/dist/engine/operations/primitives/construction.js +38 -12
- package/dist/engine/operations/primitives/correspondence.js +2 -2
- package/dist/engine/operations/primitives/profile-mesh.js +41 -80
- package/dist/engine/operations/primitives/profiles.js +5 -5
- package/dist/engine/operations/sections.js +8 -8
- package/dist/engine/operations/transforms.js +19 -39
- package/dist/engine/placement.js +3 -3
- package/dist/engine/recipe-realization.js +86 -30
- package/dist/engine/session/declarations.js +98 -0
- package/dist/engine/session/dependencies.js +81 -28
- package/dist/engine/session/graph.js +39 -137
- package/dist/engine/session/parameters.js +78 -0
- package/dist/engine/session/session.js +2 -2
- package/dist/engine/session/snapshot-cache.js +2 -2
- package/dist/engine/shape-anchors.js +13 -6
- package/dist/export/3mf.js +9 -2
- package/dist/export/capture.js +10 -6
- package/dist/export/glb.js +7 -2
- package/dist/export/stl.js +21 -6
- package/dist/geometry/{bounds.js → bounds/operations.js} +3 -1
- package/dist/geometry/{bounds-value.js → bounds/value.js} +20 -16
- package/dist/geometry/curves/evaluation.js +5 -6
- package/dist/geometry/curves/sampling.js +30 -6
- package/dist/geometry/{extrusion.js → extrusion/controls.js} +58 -35
- package/dist/geometry/extrusion/mesh.js +92 -0
- package/dist/geometry/extrusion/stations.js +35 -0
- package/dist/geometry/extrusion/twisted-chamfer.js +265 -0
- package/dist/geometry/immutable-buffer.js +7 -1
- package/dist/geometry/index.js +24 -32
- package/dist/geometry/{model-limits.js → limits.js} +1 -1
- package/dist/geometry/loft/{loft-correspondence.js → correspondence.js} +31 -20
- package/dist/geometry/loft/{loft-geometry.js → geometry.js} +15 -17
- package/dist/geometry/loft/mesh.js +53 -0
- package/dist/geometry/loft/{loft-options.js → options.js} +13 -11
- package/dist/geometry/loft/{loft-simple-mesh.js → simple-mesh.js} +26 -17
- package/dist/geometry/math/interpolation.js +9 -0
- package/dist/geometry/math/vector-value.js +12 -3
- package/dist/geometry/math/vector2.js +18 -5
- package/dist/geometry/math/vector3.js +28 -5
- package/dist/geometry/math-api.js +4 -0
- package/dist/geometry/mechanical/gear-motion.js +7 -5
- package/dist/geometry/mechanical/gears.js +21 -4
- package/dist/geometry/mechanical/knuckle-hinge.js +7 -5
- package/dist/geometry/mechanical/threads/fit.js +8 -2
- package/dist/geometry/mechanical/threads/helices.js +4 -2
- package/dist/geometry/mechanical/threads/mesh-plan.js +4 -2
- package/dist/geometry/mechanical/threads/mesh.js +12 -9
- package/dist/geometry/mechanical/threads/profiles.js +18 -4
- package/dist/geometry/mechanical/threads/solids.js +11 -2
- package/dist/geometry/mechanical-api.js +10 -0
- package/dist/geometry/mesh/{mesh-centroid.js → centroid.js} +2 -1
- package/dist/geometry/{heightfield.js → mesh/heightfield.js} +9 -5
- package/dist/geometry/{join-geometry.js → mesh/join-layers.js} +53 -59
- package/dist/geometry/mesh/{mesh.js → operations.js} +11 -18
- package/dist/geometry/mesh/{mesh-planar.js → planar.js} +8 -18
- package/dist/geometry/mesh/{mesh-quality.js → quality.js} +10 -42
- package/dist/geometry/mesh/{mesh-render.js → render-buffers.js} +22 -7
- package/dist/geometry/mesh/{mesh-signature.js → signature.js} +1 -1
- package/dist/geometry/mesh/{mesh-solid-intersections.js → solid-intersections.js} +2 -0
- package/dist/geometry/mesh/{mesh-solid.js → solid.js} +4 -4
- package/dist/geometry/mesh/triangle-quality.js +42 -0
- package/dist/geometry/mesh/winding.js +11 -0
- package/dist/geometry/{numeric.js → mesh/write-vertex.js} +1 -1
- package/dist/geometry/mesh-api.js +12 -11
- package/dist/geometry/paths/distribution.js +43 -0
- package/dist/geometry/paths/editing.js +76 -0
- package/dist/geometry/paths/frames.js +16 -11
- package/dist/geometry/paths/helix.js +1 -1
- package/dist/geometry/paths/resampling.js +46 -61
- package/dist/geometry/paths/{planar.js → rounding.js} +8 -67
- package/dist/geometry/paths/spline.js +116 -0
- package/dist/geometry/paths/traversal.js +107 -0
- package/dist/geometry/paths/{path-value.js → value.js} +97 -18
- package/dist/geometry/patterns/placements.js +20 -29
- package/dist/geometry/{patterns.js → patterns/transforms.js} +11 -7
- package/dist/geometry/primitives/cutters.js +70 -0
- package/dist/geometry/{cylinder.js → primitives/cylinder.js} +4 -4
- package/dist/geometry/{edge-finishing.js → primitives/edges.js} +5 -5
- package/dist/geometry/{primitive-resolvers.js → primitives/resolvers.js} +9 -9
- package/dist/geometry/primitives/sampling.js +41 -0
- package/dist/geometry/profiles/contour.js +19 -7
- package/dist/geometry/profiles/{match-profiles.js → matching.js} +9 -6
- package/dist/geometry/profiles/primitives/circle.js +1 -1
- package/dist/geometry/profiles/primitives/ellipse.js +2 -2
- package/dist/geometry/profiles/primitives/rectangle.js +8 -8
- package/dist/geometry/profiles/primitives/star.js +1 -1
- package/dist/geometry/profiles/side-profile.js +8 -5
- package/dist/geometry/profiles/validation.js +1 -1
- package/dist/geometry/{polygon-clipping.js → regions/clipping.js} +1 -1
- package/dist/geometry/{convex-offset.js → regions/convex-offset.js} +1 -1
- package/dist/geometry/{region-offset.js → regions/offset.js} +7 -5
- package/dist/geometry/{regions.js → regions/operations.js} +59 -22
- package/dist/geometry/{stroke-path.js → regions/stroke.js} +46 -20
- package/dist/geometry/{loft/loft-triangulation.js → regions/triangulation.js} +35 -2
- package/dist/geometry/revolve/{revolve-mesh.js → mesh.js} +9 -10
- package/dist/geometry/{circular-sampling.js → sampling/circular.js} +3 -3
- package/dist/geometry/{sampling-limits.js → sampling/limits.js} +6 -2
- package/dist/geometry/{resolution.js → sampling/resolution.js} +15 -14
- package/dist/geometry/svg/fill.js +4 -3
- package/dist/geometry/svg/import.js +47 -64
- package/dist/geometry/svg/path.js +3 -3
- package/dist/geometry/sweep/closed.js +55 -0
- package/dist/geometry/sweep/mesh.js +30 -0
- package/dist/geometry/{sweeps/sweep-open.js → sweep/open.js} +9 -24
- package/dist/geometry/{sweeps → sweep}/orientation.js +14 -11
- package/dist/geometry/sweep/seam.js +30 -0
- package/dist/geometry/{sweeps → sweep}/stations.js +75 -10
- package/dist/geometry/sweep/transforms.js +30 -0
- package/dist/geometry/{sweeps → sweep}/validation.js +4 -4
- package/dist/geometry/{text-contours.js → text/contours.js} +3 -3
- package/dist/geometry/{text-fitting.js → text/fitting.js} +4 -3
- package/dist/geometry/text/layout.js +1 -0
- package/dist/geometry/{transform3.js → transforms/affine3.js} +31 -46
- package/dist/geometry/{anchors.js → transforms/anchors.js} +43 -24
- package/dist/geometry/{transform-geometry.js → transforms/apply.js} +8 -5
- package/dist/geometry/{transform2.js → transforms/dimensions.js} +23 -19
- package/dist/geometry/transforms/frame.js +64 -0
- package/dist/geometry/{transform-matrix.js → transforms/matrix-input.js} +8 -1
- package/dist/geometry/{transform-value.js → transforms/value.js} +29 -11
- package/dist/index.js +3 -9
- package/dist/model/cutters.js +1 -0
- package/dist/model/execution-binding.js +3 -3
- package/dist/model/generation.js +2 -0
- package/dist/model/immutable-generation-data.js +2 -0
- package/dist/model/operations.js +130 -94
- package/dist/model/recipe-declaration.js +5 -7
- package/dist/text/index.js +3 -0
- package/dist/text/vector-text-layout.js +1 -0
- package/package.json +15 -17
- package/dist/api/export-3mf.d.ts +0 -2
- package/dist/api/export-glb.d.ts +0 -2
- package/dist/api/export-stl.d.ts +0 -2
- package/dist/docs/reference/geometry/BoxEdge.md +0 -17
- package/dist/docs/reference/geometry/BoxEdgeSelection.md +0 -24
- package/dist/docs/reference/geometry/BoxEdgeTreatments.md +0 -25
- package/dist/docs/reference/geometry/CylinderOptions.md +0 -63
- package/dist/docs/reference/geometry/EndTreatments.md +0 -44
- package/dist/docs/reference/geometry/ExtrudeMeshOptions.md +0 -144
- package/dist/docs/reference/geometry/ExtrudeOptions.md +0 -156
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +0 -25
- package/dist/docs/reference/geometry/LoftMeshStation.md +0 -41
- package/dist/docs/reference/geometry/PrimitiveAttachment.md +0 -39
- package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +0 -114
- package/dist/docs/reference/geometry/SphereOptions.md +0 -25
- package/dist/docs/reference/geometry/SweepOptions.md +0 -127
- package/dist/docs/reference/geometry/SweepOrientation.md +0 -127
- package/dist/docs/reference/geometry/TubeOptions.md +0 -72
- package/dist/docs/reference/geometry/add2.md +0 -43
- package/dist/docs/reference/geometry/add3.md +0 -49
- package/dist/docs/reference/geometry/applyTransformDirection3.md +0 -52
- package/dist/docs/reference/geometry/applyTransformPoint3.md +0 -50
- package/dist/docs/reference/geometry/categories/meshes.md +0 -68
- package/dist/docs/reference/geometry/composeTransform3.md +0 -51
- package/dist/docs/reference/geometry/cross2.md +0 -43
- package/dist/docs/reference/geometry/cross3.md +0 -49
- package/dist/docs/reference/geometry/distance2.md +0 -43
- package/dist/docs/reference/geometry/distance3.md +0 -43
- package/dist/docs/reference/geometry/dot2.md +0 -43
- package/dist/docs/reference/geometry/dot3.md +0 -49
- package/dist/docs/reference/geometry/eulerTransform3.md +0 -49
- package/dist/docs/reference/geometry/frameTransform3.md +0 -55
- package/dist/docs/reference/geometry/inverseTransform3.md +0 -41
- package/dist/docs/reference/geometry/length2.md +0 -37
- package/dist/docs/reference/geometry/length3.md +0 -37
- package/dist/docs/reference/geometry/lerp2.md +0 -49
- package/dist/docs/reference/geometry/lerp3.md +0 -49
- package/dist/docs/reference/geometry/normalize2.md +0 -46
- package/dist/docs/reference/geometry/normalize3.md +0 -46
- package/dist/docs/reference/geometry/projectOntoPlane3.md +0 -43
- package/dist/docs/reference/geometry/rotate2.md +0 -43
- package/dist/docs/reference/geometry/rotationTransform3.md +0 -60
- package/dist/docs/reference/geometry/scale2.md +0 -43
- package/dist/docs/reference/geometry/scale3.md +0 -49
- package/dist/docs/reference/geometry/scaleTransform3.md +0 -45
- package/dist/docs/reference/geometry/subtract2.md +0 -43
- package/dist/docs/reference/geometry/subtract3.md +0 -49
- package/dist/docs/reference/geometry/transformDeterminant3.md +0 -43
- package/dist/docs/reference/geometry/translationTransform3.md +0 -42
- package/dist/docs/reference/geometry/validateRigidTransform3.md +0 -41
- package/dist/docs/reference/geometry/validateTransform3.md +0 -54
- package/dist/docs/reference/model/Profile.md +0 -30
- package/dist/docs/reference/model/categories/explicit-profiles.md +0 -21
- package/dist/docs/reference/model/matchProfiles.md +0 -48
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +0 -93
- package/dist/docs/reference/model/preflightThreadedNut.md +0 -109
- package/dist/docs/reference/model/preflightThreadedRod.md +0 -93
- package/dist/engine/operations/patterns.js +0 -47
- package/dist/geometry/loft/loft.js +0 -105
- package/dist/geometry/mechanical/index.js +0 -14
- package/dist/geometry/primitive-resolution.js +0 -20
- package/dist/geometry/svg/index.js +0 -1
- package/dist/geometry/sweeps/options.js +0 -29
- package/dist/geometry/sweeps/sweep-closed.js +0 -96
- package/dist/geometry/sweeps/sweep-mesh.js +0 -32
- /package/dist/geometry/mechanical/{standards.js → fastener-standards.js} +0 -0
- /package/dist/geometry/mesh/{mesh-edge-table.js → edge-table.js} +0 -0
- /package/dist/geometry/mesh/{mesh-types.js → types.js} +0 -0
- /package/dist/geometry/mesh/{mesh-view-cache.js → view-cache.js} +0 -0
- /package/dist/geometry/{primitive-options.js → primitives/options.js} +0 -0
- /package/dist/geometry/{text-layout.js → sweep/options.js} +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Axis-aligned box with uniform or disjoint named edge/group treatments.
|
|
4
4
|
|
|
5
|
-
**box**(`options`: [`BoxOptions`](
|
|
5
|
+
**box**(`options`: [`BoxOptions`](BoxOptions.md)): [`Solid`](Solid.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -20,25 +20,25 @@ box({ size: [30, 20, 8], treatment: { kind: "round", radius: 2 } });
|
|
|
20
20
|
|
|
21
21
|
<a id="options"></a>
|
|
22
22
|
|
|
23
|
-
**`options`** · [`BoxOptions`](
|
|
23
|
+
**`options`** · [`BoxOptions`](BoxOptions.md) · Required
|
|
24
24
|
|
|
25
|
-
- [`size`](
|
|
25
|
+
- [`size`](BoxOptions.md#size) · `number` \| [`Vector3Input`](../geometry/Vector3Input.md) · Required
|
|
26
26
|
|
|
27
27
|
Positive uniform size or explicit `[X, Y, Z]` extents in millimetres.
|
|
28
28
|
|
|
29
|
-
- [`limits`](
|
|
29
|
+
- [`limits`](BoxOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](../geometry/GeometrySamplingLimits.md)\> · Optional
|
|
30
30
|
|
|
31
31
|
Explicit sampling ceilings for edge treatments, bounded by the host policy.
|
|
32
32
|
|
|
33
|
-
- [`center`](
|
|
33
|
+
- [`center`](BoxOptions.md#center) · `boolean` · Optional · Default: `true`
|
|
34
34
|
|
|
35
35
|
Centers the box on the XYZ origin when `true`; otherwise its minimum corner is at the origin.
|
|
36
36
|
|
|
37
|
-
- [`treatment`](
|
|
37
|
+
- [`treatment`](BoxOptions.md#treatment) · [`EdgeTreatment`](../geometry/EdgeTreatment.md) \| `Readonly`\<`Partial`\<`Record`\<[`BoxEdgeSelection`](BoxEdgeSelection.md), [`EdgeTreatment`](../geometry/EdgeTreatment.md)\>\>\> · Optional
|
|
38
38
|
|
|
39
39
|
Uniform treatment or independent disjoint nominal edge/group treatments.
|
|
40
40
|
|
|
41
|
-
- [`attachment`](
|
|
41
|
+
- [`attachment`](BoxOptions.md#attachment) · [`PrimitiveAttachmentOptions`](PrimitiveAttachmentOptions.md) · Optional
|
|
42
42
|
|
|
43
43
|
Applied after local construction; Section attachment must preserve the XY plane.
|
|
44
44
|
|
|
@@ -51,7 +51,7 @@ box({ size: [30, 20, 8], treatment: { kind: "round", radius: 2 } });
|
|
|
51
51
|
|
|
52
52
|
## Related APIs
|
|
53
53
|
|
|
54
|
-
- [BoxOptions](
|
|
54
|
+
- [BoxOptions](BoxOptions.md)
|
|
55
55
|
- [Solid](Solid.md)
|
|
56
56
|
|
|
57
57
|
## Guides
|
|
@@ -59,11 +59,12 @@ box({ size: [30, 20, 8], treatment: { kind: "round", radius: 2 } });
|
|
|
59
59
|
- [Choose a primitive](../../guides/profiles-and-extrusion.md#choose-a-primitive)
|
|
60
60
|
- [Treated boxes, frustums, and mirrored arrays](../../guides/profiles-and-extrusion.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
61
61
|
- [Finish a profile with a hole](../../guides/profiles-and-extrusion.md#finish-a-profile-with-a-hole)
|
|
62
|
+
- [Shape openings and local edges](../../guides/profiles-and-extrusion.md#shape-openings-and-local-edges)
|
|
62
63
|
|
|
63
|
-
##
|
|
64
|
+
## Import
|
|
64
65
|
|
|
65
66
|
```ts
|
|
66
67
|
import { box } from "@metamesh/modeling";
|
|
67
68
|
```
|
|
68
69
|
|
|
69
|
-
Package: `@metamesh/modeling@0.
|
|
70
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -19,7 +19,7 @@ Keep Boolean overtravel separate from physical fit clearance.
|
|
|
19
19
|
| [hull](../hull.md) | Convex hull of points or solids. |
|
|
20
20
|
| [intersect](../intersect.md) | Robust intersection of one or more shapes; empty input rejects during declaration. |
|
|
21
21
|
| [join](../join.md) | Fuses two positioned solids with a dimensioned transition at the feature's source datum. |
|
|
22
|
-
| [minkowskiSum](../minkowskiSum.md) |
|
|
22
|
+
| [minkowskiSum](../minkowskiSum.md) | Declares the three-dimensional Minkowski sum of two Solid recipes. |
|
|
23
23
|
| [union](../union.md) | Robust union of one or more shapes; empty input rejects during declaration. |
|
|
24
24
|
|
|
25
25
|
## Interfaces
|
|
@@ -28,7 +28,7 @@ Keep Boolean overtravel separate from physical fit clearance.
|
|
|
28
28
|
| --- | --- |
|
|
29
29
|
| [JoinOptions](../JoinOptions.md) | Options for joining two positioned solids through a validated local straight feature collar. |
|
|
30
30
|
| [JoinTransition](../JoinTransition.md) | Connection profile and setbacks, independent of feature construction. |
|
|
31
|
-
| [PlaneOptions](../PlaneOptions.md) | A world-space cutting plane
|
|
31
|
+
| [PlaneOptions](../PlaneOptions.md) | A world-space cutting plane defined by a normal and signed millimetre offset. |
|
|
32
32
|
|
|
33
33
|
## Type aliases
|
|
34
34
|
|
|
@@ -43,4 +43,10 @@ Keep Boolean overtravel separate from physical fit clearance.
|
|
|
43
43
|
- [Primitive booleans and repeated placement](../../../guides/transforms-and-placement.md#primitive-booleans-and-repeated-placement)
|
|
44
44
|
- [Join an independently modeled feature](../../../guides/solid-joins.md#join-an-independently-modeled-feature)
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
## Import
|
|
47
|
+
|
|
48
|
+
```ts
|
|
49
|
+
import * as model from "@metamesh/modeling";
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -19,4 +19,16 @@ Implicit sampling requires finite bounds, positive grid spacing, and fixed algor
|
|
|
19
19
|
| --- | --- |
|
|
20
20
|
| [ImplicitOptions](../ImplicitOptions.md) | Positive-inside sampling, bounded to 4M native BCC grid slots and 8M field calls. |
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
## Type aliases
|
|
23
|
+
|
|
24
|
+
| API | Summary |
|
|
25
|
+
| --- | --- |
|
|
26
|
+
| [HeightfieldOptions](../HeightfieldOptions.md) | A closed rectilinear heightfield above a flat base, with uniform or explicit XY samples in millimetres. |
|
|
27
|
+
|
|
28
|
+
## Import
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
import * as model from "@metamesh/modeling";
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -4,10 +4,10 @@ Turn sections and paths into extruded, lofted, revolved, or swept solids.
|
|
|
4
4
|
|
|
5
5
|
Turn filled Sections or explicitly matched profiles into solids:
|
|
6
6
|
|
|
7
|
-
- **Extrude:** `section.extrude({ height, twist,
|
|
7
|
+
- **Extrude:** `section.extrude({ height, twist, scale, slices })` adds +Z depth. `scale` tapers from one to its final profile-local XY value; `slices` counts positive longitudinal intervals. End treatments insert required rings into that grid. `center` defaults to `false`.
|
|
8
8
|
- **Revolve:** `section.revolve({ degrees })` rotates radial/Z geometry around +Z and caps partial turns.
|
|
9
|
-
- **Loft:** `loft(stations, options)` places profiles at exactly one `z` or `
|
|
10
|
-
- **Sweep:** `section.sweep(path, options)`
|
|
9
|
+
- **Loft:** `loft(stations, options)` places profiles at exactly one `z` or `transform` per station, in input order. `refine` controls profile density; positive integer `slices` counts longitudinal intervals per station gap, defaulting to one. Inserted profiles interpolate world vertices.
|
|
10
|
+
- **Sweep:** `section.sweep(path, options)` computes transport/fixed-normal/guide/Frenet orientation, physical-length or station twist progression, and verified cyclic seam alignment. `section.sweep(transforms, options)` instead connects exactly the supplied affine placements, preserving profile seams without inferred rotation or refinement. Open sweeps have watertight end caps and scalar/XY `scale` tapers from one to the final value by path length. Closed sweeps use scalar/XY `scale` uniformly and require compatible seam orientation and scale. Arrays supply positive XY scales at authored stations in either form.
|
|
11
11
|
|
|
12
12
|
Lofts match compatible primitive landmarks directly, including circle/ellipse quadrants to rectangle corners. Other unlike primitive families use direct perimeter association from construction-local +X seams. Arbitrary Sections and loops require an explicit `direct`, `reindex`, `fast-distance`, or `distance` method. Identified `CorrespondingProfile` landmarks reject geometric remapping.
|
|
13
13
|
|
|
@@ -18,22 +18,41 @@ Use Section methods in fluent modeling sequences. Imported `extrude`, `revolve`,
|
|
|
18
18
|
| API | Summary |
|
|
19
19
|
| --- | --- |
|
|
20
20
|
| [extrude](../extrude.md) | Extrudes a filled Section or explicit corresponding contours along +Z with degree twist and top scaling. Use `section.extrude(options)` in fluent sequences, or this function for generic profile inputs. |
|
|
21
|
-
| [loft](../loft.md) | Lofts Sections and point
|
|
21
|
+
| [loft](../loft.md) | Lofts Sections and point contours at z heights or affine transforms. Known primitive landmarks are retained; other profiles default to direct correspondence, preserving their supplied seams. |
|
|
22
22
|
| [revolve](../revolve.md) | Revolves a filled Section or explicit corresponding radial/Z contours around +Z, with caps for partial sweeps. Use `section.revolve(options)` in fluent sequences, or this function for generic profile inputs. |
|
|
23
|
-
| [sweep](../sweep.md) | Sweeps a filled Section or
|
|
23
|
+
| [sweep](../sweep.md) | Sweeps a filled Section or corresponding contours along a path or explicit affine placements. Use `section.sweep(path, options)` in fluent sequences, or this function for generic profile inputs. |
|
|
24
|
+
|
|
25
|
+
## Interfaces
|
|
26
|
+
|
|
27
|
+
| API | Summary |
|
|
28
|
+
| --- | --- |
|
|
29
|
+
| [ExtrudeOptions](../ExtrudeOptions.md) | Native +Z extrusion with optional inward end treatments. |
|
|
30
|
+
| [LoftOptions](../LoftOptions.md) | Shared controls for native and pure lofts. Point data and arbitrary Sections default to direct correspondence. |
|
|
31
|
+
| [RevolveOptions](../RevolveOptions.md) | Circumferential sampling and degree sweep shared by pure and filled revolution. |
|
|
32
|
+
| [SweepOptions](../SweepOptions.md) | Path-driven sweep orientation, deformation, and physical refinement controls. |
|
|
33
|
+
| [SweepTransformOptions](../SweepTransformOptions.md) | Explicit-transform sweeps connect exactly the supplied stations, with no inferred rotation or refinement. |
|
|
24
34
|
|
|
25
35
|
## Type aliases
|
|
26
36
|
|
|
27
37
|
| API | Summary |
|
|
28
38
|
| --- | --- |
|
|
29
|
-
| [LoftStation](../LoftStation.md) | A Section or point loop at
|
|
39
|
+
| [LoftStation](../LoftStation.md) | A Section or point loop at a horizontal height or explicit affine transform. |
|
|
40
|
+
| [LoftCorrespondence](../LoftCorrespondence.md) | Associates ordered loft contours without inferring component identities or repairing topology. |
|
|
41
|
+
| [SweepOrientation](../SweepOrientation.md) | Explicit profile-X frame policy; all normals are directed, and selected singular policies reject. |
|
|
30
42
|
|
|
31
43
|
## Guides
|
|
32
44
|
|
|
33
45
|
- [Finish a profile with a hole](../../../guides/profiles-and-extrusion.md#finish-a-profile-with-a-hole)
|
|
46
|
+
- [Chamfer a twisted extrusion](../../../guides/profiles-and-extrusion.md#chamfer-a-twisted-extrusion)
|
|
34
47
|
- [Revolve a radial profile](../../../guides/profiles-and-extrusion.md#revolve-a-radial-profile)
|
|
35
48
|
- [Rotation-minimizing path sweep](../../../guides/sweeps-and-lofts.md#rotation-minimizing-path-sweep)
|
|
36
49
|
- [Matched-section loft](../../../guides/sweeps-and-lofts.md#matched-section-loft)
|
|
37
50
|
- [Choose a modeling path](../../../guides/recipes.md#choose-a-technique)
|
|
38
51
|
|
|
39
|
-
|
|
52
|
+
## Import
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
import * as model from "@metamesh/modeling";
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -6,9 +6,11 @@ Start with `generate(({ params, part, assert }) => ...)` and return one `part(..
|
|
|
6
6
|
|
|
7
7
|
- **Cache:** `memo(fn, ...args)` eagerly reuses stable pure functions and returns immutable data or geometry. Pass actual inputs as arguments; the exact current params/context tracks fields read by the helper. Fresh functions safely recompute; ordinary object arguments must be deeply immutable.
|
|
8
8
|
- **Report issues:** assertions stop immediately. Warnings continue and must be emitted in the outer callback.
|
|
9
|
-
- **Place parts:** `transform` accepts a fluent `transform3()` value or row-major 16-number matrix. Only translation and proper rotation are supported; omission means identity. Pattern and attachment
|
|
9
|
+
- **Place parts:** `transform` accepts a fluent `transform3()` value or row-major 16-number matrix. Only translation and proper rotation are supported; omission means identity. Pattern and attachment transforms work directly.
|
|
10
10
|
- **Keep cached data immutable:** use `immutableBuffer` for numeric arrays and `mesh.immutable` for indexed meshes. Buffers expose `length`, `at(index)`, standard iteration, and `copy()`. Results expose these immutable buffers; call `copy()` for mutable typed arrays.
|
|
11
11
|
|
|
12
|
+
The context exposes effective immutable resolution and limits. Pass them explicitly to pure sampling or preflight functions so preparation uses the same physical policy as model evaluation.
|
|
13
|
+
|
|
12
14
|
## Functions
|
|
13
15
|
|
|
14
16
|
| API | Summary |
|
|
@@ -27,7 +29,7 @@ Start with `generate(({ params, part, assert }) => ...)` and return one `part(..
|
|
|
27
29
|
| --- | --- |
|
|
28
30
|
| [Memo](../Memo.md) | Invokes fn(...args) and returns captured immutable data. Stable helpers reuse work across runs. Arguments compare with Object.is and must be deeply immutable; the exact current params or generation context instead tracks parameter fields read by the function. Functions must be pure: supply changing inputs explicitly, and do not read changing globals or ambient state. |
|
|
29
31
|
| [DiagnosticOptions](../DiagnosticOptions.md) | Typed parameter association for an assertion or warning. |
|
|
30
|
-
| [GenerateContext](../GenerateContext.md) |
|
|
32
|
+
| [GenerateContext](../GenerateContext.md) | Synchronous authoring context with immutable parameters and host-prepared services. |
|
|
31
33
|
| [PartDeclaration](../PartDeclaration.md) | One declared output part. Construct with the context's `part` helper. |
|
|
32
34
|
| [GenerationDiagnostic](../GenerationDiagnostic.md) | Structured user-facing issue associated with the attempted revision. |
|
|
33
35
|
| [ModelProgram](../ModelProgram.md) | Stateless portable program descriptor. Execution and caches belong to an engine session. |
|
|
@@ -45,4 +47,10 @@ Start with `generate(({ params, part, assert }) => ...)` and return one `part(..
|
|
|
45
47
|
|
|
46
48
|
- [Complete standalone model example](../../../guides/standalone-model.md#minimal-model-entry)
|
|
47
49
|
|
|
48
|
-
|
|
50
|
+
## Import
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
import * as model from "@metamesh/modeling";
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -32,4 +32,10 @@ Radial clearance is per side; axial gap is the total gap between adjacent interv
|
|
|
32
32
|
| --- | --- |
|
|
33
33
|
| [KnuckleHingeOptions](../KnuckleHingeOptions.md) | Joint declaration with independent attachments; unspecified sampling inherits the evaluating host. |
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
## Import
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
import * as model from "@metamesh/modeling";
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -33,4 +33,10 @@ Inspection does not certify wall thickness, overhangs, printer fit, or material
|
|
|
33
33
|
|
|
34
34
|
- [Solid inspection](../../../guides/resolution-and-inspection.md#solid-inspection)
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
## Import
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
import * as model from "@metamesh/modeling";
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -5,7 +5,7 @@ Create basic solids with explicit dimensions and tessellation.
|
|
|
5
5
|
All primitives use millimetres and one options object. Boxes, cylinders, and tubes are centered by default.
|
|
6
6
|
|
|
7
7
|
- **Dimensions:** `box` accepts a scalar or XYZ size. `cylinder` accepts exactly one radius or diameter, uniform or a bottom/top tuple along +Z. Radial sizing selects polygon vertices or compensated faces.
|
|
8
|
-
- **Treatments:** choose `{ kind: "round", radius }`, `{ kind: "chamfer", distance }`, `{ kind: "smooth", distance }`, or `{ kind: "profile", profile }`. Boxes support named edges; cylinders and straight extrusions support independent bottom/top treatments. Straight extrusion finishing admits concavity, holes, and disconnected components when every boundary survives without contact or collapse.
|
|
8
|
+
- **Treatments:** choose `{ kind: "round", radius }`, `{ kind: "chamfer", distance }`, `{ kind: "smooth", distance }`, or `{ kind: "profile", profile }`. Boxes support named edges; cylinders, tubes, and straight extrusions support independent bottom/top treatments. Tube end treatments finish both outer and inner rims. Straight extrusion finishing admits concavity, holes, and disconnected components when every boundary survives without contact or collapse.
|
|
9
9
|
- **Placement:** `attachment` maps a named or explicit local anchor onto a world anchor after construction.
|
|
10
10
|
|
|
11
11
|
Use imported primitives inside generation:
|
|
@@ -21,35 +21,63 @@ export default generate(({ part }) => {
|
|
|
21
21
|
|
|
22
22
|
A zero round radius or zero chamfer/smooth setback leaves a feature untreated. Setback tuples must be all zero or both positive.
|
|
23
23
|
|
|
24
|
+
Use holeCutter for bores and blind pockets with independent openings.top and openings.bottom. Each opening accepts a shared edge treatment; circular bores also admit counterbores and countersinks. Opening treatments widen the mouth and must leave a positive untreated throat. Treated Sections require one strictly convex contour without holes; plain Section cutters retain arbitrary topology. CutterOverrun extends terminal cross sections outside the nominal interval and defaults to zero at both ends, preserving blind floors. It is separate from manufacturing clearance.
|
|
25
|
+
|
|
26
|
+
Use edgeCutter for an explicitly placed straight convex edge and cornerCutter for a matching perpendicular three-face corner. Edge cutters share all four treatments; corners admit spherical round or equal-setback chamfer treatments. Existing transforms, anchors, and patterns position the ordinary Solid cutters before subtraction. These operations do not discover edges or perform general filleting.
|
|
27
|
+
|
|
24
28
|
## Functions
|
|
25
29
|
|
|
26
30
|
| API | Summary |
|
|
27
31
|
| --- | --- |
|
|
28
32
|
| [box](../box.md) | Axis-aligned box with uniform or disjoint named edge/group treatments. |
|
|
29
33
|
| [cylinder](../cylinder.md) | +Z cylinder or frustum. Face sizing compensates polygon faceting. |
|
|
30
|
-
| [holeCutter](../holeCutter.md) | Declares a +Z hole or blind-pocket cutter with
|
|
31
|
-
| [sphere](../sphere.md) | Origin-centered sphere. |
|
|
34
|
+
| [holeCutter](../holeCutter.md) | Declares a +Z hole or blind-pocket cutter with independent opening treatments. |
|
|
35
|
+
| [sphere](../sphere.md) | Origin-centered sphere with adaptive sampling that bounds spherical triangle error. Explicit segment requests select octahedral refinement and round up to a multiple of four. |
|
|
32
36
|
| [torus](../torus.md) | Torus around +Z. |
|
|
33
37
|
| [tube](../tube.md) | Hollow +Z tube. |
|
|
38
|
+
| [edgeCutter](../edgeCutter.md) | Creates a cutter for one straight convex edge along +Z, with its sharp reference at XY=0. Position it explicitly before subtraction; the included material angle defaults to 90 degrees. |
|
|
39
|
+
| [cornerCutter](../cornerCutter.md) | Creates a round or chamfer cutter at the origin for three perpendicular positive-axis faces. Complements matching edge cutters; construction, placement, and subtraction remain explicit. |
|
|
34
40
|
|
|
35
41
|
## Interfaces
|
|
36
42
|
|
|
37
43
|
| API | Summary |
|
|
38
44
|
| --- | --- |
|
|
39
45
|
| [Solid](../Solid.md) | Immutable deferred solid recipe. |
|
|
40
|
-
| [
|
|
46
|
+
| [BoxOptions](../BoxOptions.md) | Dimensions, placement, and uniform or independently selected finishing for an axis-aligned box. |
|
|
47
|
+
| [TorusOptions](../TorusOptions.md) | Dimensions and independent ring/profile tessellation for a torus around the Z axis. |
|
|
48
|
+
| [EndTreatments](../EndTreatments.md) | Independent inward finishing on primitive or source-corresponding extrusion ends. Zero amounts leave the end untreated, including when all ends are disabled. |
|
|
49
|
+
| [PrimitiveAttachment](../PrimitiveAttachment.md) | Anchor attachment shared by solid and filled-section factories. |
|
|
50
|
+
| [PrimitiveAttachmentOptions](../PrimitiveAttachmentOptions.md) | Maps an explicit or named shape-local attachment anchor onto a world-space anchor. |
|
|
51
|
+
| [EdgeCutterOptions](../EdgeCutterOptions.md) | A subtractive treatment along one explicitly positioned straight convex edge. Right-angle rounds share the corner sphere's sampling lattice; full-circle segment requests round up to a multiple of four. |
|
|
52
|
+
| [CornerCutterOptions](../CornerCutterOptions.md) | A subtractive corner transition for material occupying the positive XYZ octant. Round treatments share their lattice with right-angle edge cutters; full-circle segment requests round up to a multiple of four. |
|
|
53
|
+
| [CutterOverrun](../CutterOverrun.md) | Numerical cutter extension outside its nominal +Z interval, in millimetres. |
|
|
41
54
|
|
|
42
55
|
## Type aliases
|
|
43
56
|
|
|
44
57
|
| API | Summary |
|
|
45
58
|
| --- | --- |
|
|
46
|
-
| [HoleCutterOptions](../HoleCutterOptions.md) | A deferred +Z hole or pocket cutter, with exactly one circular diameter or existing Section.
|
|
59
|
+
| [HoleCutterOptions](../HoleCutterOptions.md) | A deferred +Z hole or pocket cutter, with exactly one circular diameter or existing Section. Openings widen nominal ends without changing the untreated bore. Both depths together must leave a positive untreated interval. Overrun extends the terminal mouth unchanged; omitted ends and overrun preserve blind-pocket floors. No support surface or printer fit is inferred. |
|
|
47
60
|
| [HoleCutterRecess](../HoleCutterRecess.md) | Circular screw seating dimensions in millimetres; allowances belong to the caller. |
|
|
61
|
+
| [BoxEdge](../BoxEdge.md) | Box edges use +Z top, +Y front and +X right; vertical names list front/back first. |
|
|
62
|
+
| [BoxEdgeSelection](../BoxEdgeSelection.md) | Named individual edges or top/bottom rims and all four vertical edges. |
|
|
63
|
+
| [BoxEdgeTreatments](../BoxEdgeTreatments.md) | Independent treatments for disjoint named edge selections; overlapping selections fail. |
|
|
64
|
+
| [CylinderOptions](../CylinderOptions.md) | Dimensions, placement, independent end finishing, and tessellation for a Z-axis cylinder or frustum. |
|
|
65
|
+
| [SphereOptions](../SphereOptions.md) | Exactly one radius or diameter, placement, and tessellation for an origin-centered sphere. |
|
|
66
|
+
| [TubeOptions](../TubeOptions.md) | Dimensions, placement, and tessellation for a hollow Z-axis tube. |
|
|
67
|
+
| [HoleCutterOpening](../HoleCutterOpening.md) | A finished circular opening: outward edge treatment or screw seat, one per end. Treatment setbacks measure radial expansion first and axial depth second. A round radius is circular in that radial/axial section. Profile points run from [mouth expansion, 0] to [0, depth]. |
|
|
68
|
+
| [CornerCutterTreatment](../CornerCutterTreatment.md) | Symmetric trihedral treatments that meet three matching perpendicular edge treatments. |
|
|
48
69
|
|
|
49
70
|
## Guides
|
|
50
71
|
|
|
51
72
|
- [Choose a primitive](../../../guides/profiles-and-extrusion.md#choose-a-primitive)
|
|
52
73
|
- [Treated boxes, frustums, and mirrored arrays](../../../guides/profiles-and-extrusion.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
53
74
|
- [Finish a profile with a hole](../../../guides/profiles-and-extrusion.md#finish-a-profile-with-a-hole)
|
|
75
|
+
- [Shape openings and local edges](../../../guides/profiles-and-extrusion.md#shape-openings-and-local-edges)
|
|
76
|
+
|
|
77
|
+
## Import
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
import * as model from "@metamesh/modeling";
|
|
81
|
+
```
|
|
54
82
|
|
|
55
|
-
Package: `@metamesh/modeling@0.
|
|
83
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -13,7 +13,7 @@ Create immutable filled XY shapes, including prepared text and bounded painted S
|
|
|
13
13
|
|
|
14
14
|
| API | Summary |
|
|
15
15
|
| --- | --- |
|
|
16
|
-
| [stroke](../stroke.md) |
|
|
16
|
+
| [stroke](../stroke.md) | Declares a centered-width Section recipe along a sampled XY path. |
|
|
17
17
|
| [circle](../circle.md) | Centered circular section. |
|
|
18
18
|
| [ellipse](../ellipse.md) | Centered elliptical section. |
|
|
19
19
|
| [rectangle](../rectangle.md) | Filled rectangular section with uniform or independently treated corners. |
|
|
@@ -53,4 +53,10 @@ Create immutable filled XY shapes, including prepared text and bounded painted S
|
|
|
53
53
|
- [SVG sections: fills and strokes are different inputs](../../../guides/svg-and-text.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
54
54
|
- [Text and font variability](../../../guides/svg-and-text.md#text-and-font-variability)
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
## Import
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
import * as model from "@metamesh/modeling";
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -11,16 +11,19 @@ Constructors enforce safety automatically. Use optional preflight to estimate re
|
|
|
11
11
|
| API | Summary |
|
|
12
12
|
| --- | --- |
|
|
13
13
|
| [internalThreadCutter](../internalThreadCutter.md) | Compensated internal threaded cutter. |
|
|
14
|
-
| [preflightInternalThreadCutter](../preflightInternalThreadCutter.md) | Checks compensated cutter dimensions and conservative mesh estimates against host output limits. |
|
|
15
|
-
| [preflightThreadedNut](../preflightThreadedNut.md) | Checks nut dimensions, chamfers, end-face wall, and the extended compensated cutter's allocation plan. |
|
|
16
|
-
| [preflightThreadedRod](../preflightThreadedRod.md) | Checks compensated rod dimensions and conservative mesh estimates against host output limits. |
|
|
17
14
|
| [threadedNut](../threadedNut.md) | Compensated threaded nut. |
|
|
18
15
|
| [threadedRod](../threadedRod.md) | Compensated external threaded rod. |
|
|
19
|
-
| [threadRidge](../threadRidge.md) |
|
|
16
|
+
| [threadRidge](../threadRidge.md) | Declares a helical ridge Solid recipe along +Z, with lengths in millimetres. |
|
|
20
17
|
|
|
21
18
|
## Guides
|
|
22
19
|
|
|
23
20
|
- [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
|
|
24
21
|
- [Preflight guarantees and host settings](../../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
25
22
|
|
|
26
|
-
|
|
23
|
+
## Import
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
import * as model from "@metamesh/modeling";
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Shape patterns
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Repeat Solid and Section recipes along lines, grids, circles, or paths.
|
|
4
4
|
|
|
5
|
-
Use `
|
|
5
|
+
Use `linearPattern`, `radialPattern`, `gridPattern`, and `pathPattern` to repeat Solid or Section recipes. A source callback can vary the geometry for each occurrence.
|
|
6
6
|
|
|
7
|
-
- **Order and units:** operations and `andThen()` composition apply in written order. Rotations use degrees. Optional `{ pivot }` points use world coordinates and default to the origin.
|
|
8
|
-
- **Transformed values:** `applyPoint()` includes translation; `applyDirection()` retains scale without translation; `applyNormal()` uses the inverse transpose and returns a unit vector.
|
|
9
|
-
- **Interchange:** `toData()` returns canonical data. `to3D()` embeds XY placements explicitly; `to2D()` rejects plane changes.
|
|
10
|
-
- **Attachment:** `Solid.attach()` and primitive attachment share source/target anchors, alignment, millimetre gap, and degree spin. Part placement can reuse finished geometry.
|
|
11
7
|
- **Section patterns:** use XY directions and `Path2` trajectories. Tangent orientation aligns local +X in the XY plane; radial patterns use an XY pivot and implicit +Z axis.
|
|
12
8
|
- **Solid patterns:** use XYZ inputs and explicit radial axes. Path tangent orientation aligns local +Z.
|
|
9
|
+
- **Placement:** keep final part placement separate from local geometry so repeated parts can reuse their meshes.
|
|
10
|
+
|
|
11
|
+
Import immutable vectors, transforms, anchors, and pure placement calculations from `/geometry`. Shared pattern option types also belong to that entry.
|
|
13
12
|
|
|
14
13
|
## Functions
|
|
15
14
|
|
|
@@ -24,12 +23,18 @@ Use `vector2`/`vector3` for immutable arithmetic and `transform2`/`transform3` f
|
|
|
24
23
|
|
|
25
24
|
| API | Summary |
|
|
26
25
|
| --- | --- |
|
|
27
|
-
| [PatternSource](../PatternSource.md) | One immutable shape, or a synchronous factory called once per copy in index order. |
|
|
26
|
+
| [PatternSource](../PatternSource.md) | One immutable shape, or a synchronous factory called once per copy in zero-based index order. |
|
|
28
27
|
|
|
29
28
|
## Guides
|
|
30
29
|
|
|
31
30
|
- [Named anchors and custom frames](../../../guides/transforms-and-placement.md#named-anchors-and-custom-frames)
|
|
32
31
|
- [Primitive booleans and repeated placement](../../../guides/transforms-and-placement.md#primitive-booleans-and-repeated-placement)
|
|
33
|
-
- [Fluent values and standalone algorithms](../../../guides/geometry-values.md#
|
|
32
|
+
- [Fluent values and standalone algorithms](../../../guides/geometry-values.md#fluent-values-plain-data-and-descriptors)
|
|
33
|
+
|
|
34
|
+
## Import
|
|
35
|
+
|
|
36
|
+
```ts
|
|
37
|
+
import * as model from "@metamesh/modeling";
|
|
38
|
+
```
|
|
34
39
|
|
|
35
|
-
Package: `@metamesh/modeling@0.
|
|
40
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -8,10 +8,14 @@ Centered circular section.
|
|
|
8
8
|
|
|
9
9
|
## Example: Size to polygon faces
|
|
10
10
|
|
|
11
|
+
|
|
12
|
+
|
|
11
13
|
```ts
|
|
12
|
-
circle({ diameter: 12, sizing: "face" });
|
|
14
|
+
circle({ diameter: 12, sizing: "face" }).extrude({ height: 3 });
|
|
13
15
|
```
|
|
14
16
|
|
|
17
|
+
|
|
18
|
+
|
|
15
19
|
## Parameters
|
|
16
20
|
|
|
17
21
|
<a id="options"></a>
|
|
@@ -36,10 +40,10 @@ circle({ diameter: 12, sizing: "face" });
|
|
|
36
40
|
- [SVG sections: fills and strokes are different inputs](../../guides/svg-and-text.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
37
41
|
- [Text and font variability](../../guides/svg-and-text.md#text-and-font-variability)
|
|
38
42
|
|
|
39
|
-
##
|
|
43
|
+
## Import
|
|
40
44
|
|
|
41
45
|
```ts
|
|
42
46
|
import { circle } from "@metamesh/modeling";
|
|
43
47
|
```
|
|
44
48
|
|
|
45
|
-
Package: `@metamesh/modeling@0.
|
|
49
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# cornerCutter
|
|
2
|
+
|
|
3
|
+
Creates a round or chamfer cutter at the origin for three perpendicular positive-axis faces. Complements matching edge cutters; construction, placement, and subtraction remain explicit.
|
|
4
|
+
|
|
5
|
+
**cornerCutter**(`options`: [`CornerCutterOptions`](CornerCutterOptions.md)): [`Solid`](Solid.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example: Amber corner cutter · Blue three-edge junction
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { box, cornerCutter, edgeCutter, generate } from "@metamesh/modeling";
|
|
15
|
+
import { transform3 } from "@metamesh/modeling/geometry";
|
|
16
|
+
|
|
17
|
+
const treatment = { kind: "round", radius: 5 } as const;
|
|
18
|
+
const cutter = cornerCutter({ treatment, excess: 0 });
|
|
19
|
+
const edge = edgeCutter({ length: 12, treatment, excess: 0 });
|
|
20
|
+
const result = box({ size: 12, center: false }).subtract([
|
|
21
|
+
edge,
|
|
22
|
+
edge.rotate([0, -90, 0]).translate([12, 0, 0]),
|
|
23
|
+
edge.rotate([90, 0, 0]).translate([0, 12, 0]),
|
|
24
|
+
cutter,
|
|
25
|
+
]);
|
|
26
|
+
// Display the concave mask and completed upper junction from opposite sides.
|
|
27
|
+
const view = (shape: typeof result, center: number, height: number) =>
|
|
28
|
+
shape.translate([-center, -center, 0]).mirror([0, 0, 1]).translate([0, 0, height]).rotate([0, 0, 90]);
|
|
29
|
+
export default generate(({ part }) => [
|
|
30
|
+
part("cutter", { geometry: cutter.translate([-2.5, -2.5, 0]).rotate([0, 0, -90]), color: "#f6ad55", transform: transform3().translate([-8, -8, 0]) }),
|
|
31
|
+
part("result", { geometry: view(result, 6, 12), color: "#4f83a6", transform: transform3().translate([8, 8, 0]) }),
|
|
32
|
+
]);
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
## Parameters
|
|
38
|
+
|
|
39
|
+
<a id="options"></a>
|
|
40
|
+
|
|
41
|
+
**`options`** · [`CornerCutterOptions`](CornerCutterOptions.md) · Required
|
|
42
|
+
|
|
43
|
+
- [`treatment`](CornerCutterOptions.md#treatment) · [`CornerCutterTreatment`](CornerCutterTreatment.md) · Required
|
|
44
|
+
|
|
45
|
+
Round sphere or triangular chamfer meeting three equal perpendicular edge treatments.
|
|
46
|
+
|
|
47
|
+
- [`excess`](CornerCutterOptions.md#excess) · `number` · Optional
|
|
48
|
+
|
|
49
|
+
Numerical extension outside the three material faces, in millimetres; defaults to 0.05.
|
|
50
|
+
|
|
51
|
+
- [`resolution`](CornerCutterOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
|
|
52
|
+
|
|
53
|
+
Physical sphere sampling; explicit round-treatment sampling takes precedence.
|
|
54
|
+
|
|
55
|
+
- [`limits`](CornerCutterOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
|
|
56
|
+
|
|
57
|
+
Local allocation ceilings may only lower the evaluating host's limits.
|
|
58
|
+
|
|
59
|
+
- [`attachment`](CornerCutterOptions.md#attachment) · [`PrimitiveAttachmentOptions`](PrimitiveAttachmentOptions.md) · Optional
|
|
60
|
+
|
|
61
|
+
Applied after local construction; Section attachment must preserve the XY plane.
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
## Returns
|
|
66
|
+
|
|
67
|
+
[`Solid`](Solid.md)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
## Related APIs
|
|
71
|
+
|
|
72
|
+
- [CornerCutterOptions](CornerCutterOptions.md)
|
|
73
|
+
- [Solid](Solid.md)
|
|
74
|
+
|
|
75
|
+
## Guides
|
|
76
|
+
|
|
77
|
+
- [Choose a primitive](../../guides/profiles-and-extrusion.md#choose-a-primitive)
|
|
78
|
+
- [Treated boxes, frustums, and mirrored arrays](../../guides/profiles-and-extrusion.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
79
|
+
- [Finish a profile with a hole](../../guides/profiles-and-extrusion.md#finish-a-profile-with-a-hole)
|
|
80
|
+
- [Shape openings and local edges](../../guides/profiles-and-extrusion.md#shape-openings-and-local-edges)
|
|
81
|
+
|
|
82
|
+
## Import
|
|
83
|
+
|
|
84
|
+
```ts
|
|
85
|
+
import { cornerCutter } from "@metamesh/modeling";
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
+Z cylinder or frustum. Face sizing compensates polygon faceting.
|
|
4
4
|
|
|
5
|
-
**cylinder**(`options`: [`CylinderOptions`](
|
|
5
|
+
**cylinder**(`options`: [`CylinderOptions`](CylinderOptions.md)): [`Solid`](Solid.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -30,7 +30,7 @@ cylinder({ height: 20, radius: [10, 0] });
|
|
|
30
30
|
|
|
31
31
|
<a id="options"></a>
|
|
32
32
|
|
|
33
|
-
**`options`** · [`CylinderOptions`](
|
|
33
|
+
**`options`** · [`CylinderOptions`](CylinderOptions.md) · Required
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
|
|
@@ -41,7 +41,7 @@ cylinder({ height: 20, radius: [10, 0] });
|
|
|
41
41
|
|
|
42
42
|
## Related APIs
|
|
43
43
|
|
|
44
|
-
- [CylinderOptions](
|
|
44
|
+
- [CylinderOptions](CylinderOptions.md)
|
|
45
45
|
- [Solid](Solid.md)
|
|
46
46
|
|
|
47
47
|
## Guides
|
|
@@ -49,11 +49,12 @@ cylinder({ height: 20, radius: [10, 0] });
|
|
|
49
49
|
- [Choose a primitive](../../guides/profiles-and-extrusion.md#choose-a-primitive)
|
|
50
50
|
- [Treated boxes, frustums, and mirrored arrays](../../guides/profiles-and-extrusion.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
51
51
|
- [Finish a profile with a hole](../../guides/profiles-and-extrusion.md#finish-a-profile-with-a-hole)
|
|
52
|
+
- [Shape openings and local edges](../../guides/profiles-and-extrusion.md#shape-openings-and-local-edges)
|
|
52
53
|
|
|
53
|
-
##
|
|
54
|
+
## Import
|
|
54
55
|
|
|
55
56
|
```ts
|
|
56
57
|
import { cylinder } from "@metamesh/modeling";
|
|
57
58
|
```
|
|
58
59
|
|
|
59
|
-
Package: `@metamesh/modeling@0.
|
|
60
|
+
Package: `@metamesh/modeling@0.20.0`.
|