@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
|
@@ -24,7 +24,6 @@ Unspecified resolution inherits the evaluating session. Axis direction is +X wit
|
|
|
24
24
|
Each half's `chamfer` bevels its barrel outer rims and all web edges. Consumers own plates, screw holes,
|
|
25
25
|
pin retention, fit policy, and part placement. Added mounting material must preserve the bores.
|
|
26
26
|
No opening range or collision freedom is implied for arbitrary caller attachments.
|
|
27
|
-
Compiled Generator packages using this operation require runtime 10.0.0 or newer in major 10.
|
|
28
27
|
|
|
29
28
|
## Parameters
|
|
30
29
|
|
|
@@ -44,10 +43,10 @@ Compiled Generator packages using this operation require runtime 10.0.0 or newer
|
|
|
44
43
|
- [KnuckleHinge](KnuckleHinge-type.md)
|
|
45
44
|
- [KnuckleHingeOptions](KnuckleHingeOptions.md)
|
|
46
45
|
|
|
47
|
-
##
|
|
46
|
+
## Import
|
|
48
47
|
|
|
49
48
|
```ts
|
|
50
49
|
import { knuckleHinge } from "@metamesh/modeling";
|
|
51
50
|
```
|
|
52
51
|
|
|
53
|
-
Package: `@metamesh/modeling@0.
|
|
52
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -12,10 +12,14 @@ Repeats one solid along a normalized direction.
|
|
|
12
12
|
|
|
13
13
|
## Example: Three copies along X
|
|
14
14
|
|
|
15
|
+
|
|
16
|
+
|
|
15
17
|
```ts
|
|
16
18
|
linearPattern(box({ size: 4 }), { count: 3, spacing: 10 });
|
|
17
19
|
```
|
|
18
20
|
|
|
21
|
+
|
|
22
|
+
|
|
19
23
|
Repeats one solid along a normalized direction.
|
|
20
24
|
|
|
21
25
|
### Parameters
|
|
@@ -24,6 +28,8 @@ Repeats one solid along a normalized direction.
|
|
|
24
28
|
|
|
25
29
|
**`source`** · [`PatternSource`](PatternSource.md) · Required
|
|
26
30
|
|
|
31
|
+
Recipe or factory called once per copy, in zero-based order.
|
|
32
|
+
|
|
27
33
|
|
|
28
34
|
|
|
29
35
|
<a id="options"></a>
|
|
@@ -52,6 +58,8 @@ Repeats a filled Section along an XY direction, defaulting to +X.
|
|
|
52
58
|
|
|
53
59
|
**`source`** · [`PatternSource`](PatternSource.md)\<[`Section`](Section.md)\> · Required
|
|
54
60
|
|
|
61
|
+
Recipe or factory called once per copy, in zero-based order.
|
|
62
|
+
|
|
55
63
|
|
|
56
64
|
|
|
57
65
|
<a id="options-1"></a>
|
|
@@ -67,7 +75,6 @@ readonly [`Section`](Section.md)[]
|
|
|
67
75
|
|
|
68
76
|
## Related APIs
|
|
69
77
|
|
|
70
|
-
- [LinearPatternOptions](../geometry/LinearPatternOptions.md)
|
|
71
78
|
- [PatternSource](PatternSource.md)
|
|
72
79
|
- [Section](Section.md)
|
|
73
80
|
- [Solid](Solid.md)
|
|
@@ -76,12 +83,12 @@ readonly [`Section`](Section.md)[]
|
|
|
76
83
|
|
|
77
84
|
- [Named anchors and custom frames](../../guides/transforms-and-placement.md#named-anchors-and-custom-frames)
|
|
78
85
|
- [Primitive booleans and repeated placement](../../guides/transforms-and-placement.md#primitive-booleans-and-repeated-placement)
|
|
79
|
-
- [Fluent values and standalone algorithms](../../guides/geometry-values.md#
|
|
86
|
+
- [Fluent values and standalone algorithms](../../guides/geometry-values.md#fluent-values-plain-data-and-descriptors)
|
|
80
87
|
|
|
81
|
-
##
|
|
88
|
+
## Import
|
|
82
89
|
|
|
83
90
|
```ts
|
|
84
91
|
import { linearPattern } from "@metamesh/modeling";
|
|
85
92
|
```
|
|
86
93
|
|
|
87
|
-
Package: `@metamesh/modeling@0.
|
|
94
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# loft
|
|
2
2
|
|
|
3
|
-
Lofts Sections and point
|
|
3
|
+
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.
|
|
4
4
|
|
|
5
5
|
## Call Signature
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
**loft**(`stations`: readonly [`LoftStation`](LoftStation.md)[], `options?`: [`LoftOptions`](
|
|
9
|
+
**loft**(`stations`: readonly [`LoftStation`](LoftStation.md)[], `options?`: [`LoftOptions`](LoftOptions.md)): [`Solid`](Solid.md)
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
@@ -23,7 +23,7 @@ loft([
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
Lofts Sections and point
|
|
26
|
+
Lofts Sections and point contours at z heights or affine transforms. Known primitive landmarks are retained;
|
|
27
27
|
other profiles default to direct correspondence, preserving their supplied seams.
|
|
28
28
|
|
|
29
29
|
### Parameters
|
|
@@ -32,33 +32,35 @@ other profiles default to direct correspondence, preserving their supplied seams
|
|
|
32
32
|
|
|
33
33
|
**`stations`** · readonly [`LoftStation`](LoftStation.md)[] · Required
|
|
34
34
|
|
|
35
|
+
Ordered profiles at millimetre Z heights or affine placements.
|
|
36
|
+
|
|
35
37
|
|
|
36
38
|
|
|
37
39
|
<a id="options"></a>
|
|
38
40
|
|
|
39
|
-
**`options`** · [`LoftOptions`](
|
|
41
|
+
**`options`** · [`LoftOptions`](LoftOptions.md) · Optional
|
|
40
42
|
|
|
41
|
-
- [`correspondence`](
|
|
43
|
+
- [`correspondence`](LoftOptions.md#correspondence) · [`LoftCorrespondence`](LoftCorrespondence.md) \| readonly [`LoftCorrespondence`](LoftCorrespondence.md)[] · Optional
|
|
42
44
|
|
|
43
45
|
One method or one per consecutive station gap. Omitted preserves known primitive landmarks, including circle/ellipse-to-rectangle corners, and otherwise uses direct correspondence with the supplied seams.
|
|
44
46
|
|
|
45
|
-
- [`distribution`](
|
|
47
|
+
- [`distribution`](LoftOptions.md#distribution) · `"perimeter"` \| `"segments"` · Optional
|
|
46
48
|
|
|
47
49
|
Extra points follow edge length or distribute equally across existing segments. Defaults to perimeter for direct/reindex, or segments when any distance method is selected; distance methods require segments.
|
|
48
50
|
|
|
49
|
-
- [`refine`](
|
|
51
|
+
- [`refine`](LoftOptions.md#refine) · `number` \| readonly `number`[] · Optional
|
|
50
52
|
|
|
51
53
|
Positive integer point-density multiplier, uniformly or per input profile. Original vertices are retained. Defaults to one.
|
|
52
54
|
|
|
53
|
-
- [`slices`](
|
|
55
|
+
- [`slices`](LoftOptions.md#slices) · `number` \| readonly `number`[] · Optional
|
|
54
56
|
|
|
55
|
-
|
|
57
|
+
Positive longitudinal interval count, uniformly or per supplied station gap. Each gap with n slices has n - 1 inserted profiles. Defaults to one; placed world vertices interpolate linearly.
|
|
56
58
|
|
|
57
|
-
- [`resolution`](
|
|
59
|
+
- [`resolution`](LoftOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
|
|
58
60
|
|
|
59
61
|
Physical curve policy for retained primitives, and maximum edge length for point data. Exact primitive curve counts take precedence.
|
|
60
62
|
|
|
61
|
-
- [`limits`](
|
|
63
|
+
- [`limits`](LoftOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
|
|
62
64
|
|
|
63
65
|
Explicit output and sampling budgets; native operations may only lower host ceilings.
|
|
64
66
|
|
|
@@ -72,7 +74,7 @@ other profiles default to direct correspondence, preserving their supplied seams
|
|
|
72
74
|
|
|
73
75
|
|
|
74
76
|
|
|
75
|
-
**loft**(`stations`: readonly [`CorrespondingProfileStation`](../geometry/CorrespondingProfileStation.md)[], `options?`: [`LoftOptions`](
|
|
77
|
+
**loft**(`stations`: readonly [`CorrespondingProfileStation`](../geometry/CorrespondingProfileStation.md)[], `options?`: [`LoftOptions`](LoftOptions.md)): [`Solid`](Solid.md)
|
|
76
78
|
|
|
77
79
|
|
|
78
80
|
|
|
@@ -84,33 +86,35 @@ Lofts explicit corresponding contours, including holes and collapsed logical slo
|
|
|
84
86
|
|
|
85
87
|
**`stations`** · readonly [`CorrespondingProfileStation`](../geometry/CorrespondingProfileStation.md)[] · Required
|
|
86
88
|
|
|
89
|
+
Ordered profiles at millimetre Z heights or affine placements.
|
|
90
|
+
|
|
87
91
|
|
|
88
92
|
|
|
89
93
|
<a id="options-1"></a>
|
|
90
94
|
|
|
91
|
-
**`options`** · [`LoftOptions`](
|
|
95
|
+
**`options`** · [`LoftOptions`](LoftOptions.md) · Optional
|
|
92
96
|
|
|
93
|
-
- [`correspondence`](
|
|
97
|
+
- [`correspondence`](LoftOptions.md#correspondence) · [`LoftCorrespondence`](LoftCorrespondence.md) \| readonly [`LoftCorrespondence`](LoftCorrespondence.md)[] · Optional
|
|
94
98
|
|
|
95
99
|
One method or one per consecutive station gap. Omitted preserves known primitive landmarks, including circle/ellipse-to-rectangle corners, and otherwise uses direct correspondence with the supplied seams.
|
|
96
100
|
|
|
97
|
-
- [`distribution`](
|
|
101
|
+
- [`distribution`](LoftOptions.md#distribution) · `"perimeter"` \| `"segments"` · Optional
|
|
98
102
|
|
|
99
103
|
Extra points follow edge length or distribute equally across existing segments. Defaults to perimeter for direct/reindex, or segments when any distance method is selected; distance methods require segments.
|
|
100
104
|
|
|
101
|
-
- [`refine`](
|
|
105
|
+
- [`refine`](LoftOptions.md#refine) · `number` \| readonly `number`[] · Optional
|
|
102
106
|
|
|
103
107
|
Positive integer point-density multiplier, uniformly or per input profile. Original vertices are retained. Defaults to one.
|
|
104
108
|
|
|
105
|
-
- [`slices`](
|
|
109
|
+
- [`slices`](LoftOptions.md#slices) · `number` \| readonly `number`[] · Optional
|
|
106
110
|
|
|
107
|
-
|
|
111
|
+
Positive longitudinal interval count, uniformly or per supplied station gap. Each gap with n slices has n - 1 inserted profiles. Defaults to one; placed world vertices interpolate linearly.
|
|
108
112
|
|
|
109
|
-
- [`resolution`](
|
|
113
|
+
- [`resolution`](LoftOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
|
|
110
114
|
|
|
111
115
|
Physical curve policy for retained primitives, and maximum edge length for point data. Exact primitive curve counts take precedence.
|
|
112
116
|
|
|
113
|
-
- [`limits`](
|
|
117
|
+
- [`limits`](LoftOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
|
|
114
118
|
|
|
115
119
|
Explicit output and sampling budgets; native operations may only lower host ceilings.
|
|
116
120
|
|
|
@@ -123,23 +127,23 @@ Lofts explicit corresponding contours, including holes and collapsed logical slo
|
|
|
123
127
|
|
|
124
128
|
## Related APIs
|
|
125
129
|
|
|
126
|
-
- [
|
|
127
|
-
- [LoftOptions](../geometry/LoftOptions.md)
|
|
130
|
+
- [LoftOptions](LoftOptions.md)
|
|
128
131
|
- [LoftStation](LoftStation.md)
|
|
129
132
|
- [Solid](Solid.md)
|
|
130
133
|
|
|
131
134
|
## Guides
|
|
132
135
|
|
|
133
136
|
- [Finish a profile with a hole](../../guides/profiles-and-extrusion.md#finish-a-profile-with-a-hole)
|
|
137
|
+
- [Chamfer a twisted extrusion](../../guides/profiles-and-extrusion.md#chamfer-a-twisted-extrusion)
|
|
134
138
|
- [Revolve a radial profile](../../guides/profiles-and-extrusion.md#revolve-a-radial-profile)
|
|
135
139
|
- [Rotation-minimizing path sweep](../../guides/sweeps-and-lofts.md#rotation-minimizing-path-sweep)
|
|
136
140
|
- [Matched-section loft](../../guides/sweeps-and-lofts.md#matched-section-loft)
|
|
137
141
|
- [Choose a modeling path](../../guides/recipes.md#choose-a-technique)
|
|
138
142
|
|
|
139
|
-
##
|
|
143
|
+
## Import
|
|
140
144
|
|
|
141
145
|
```ts
|
|
142
146
|
import { loft } from "@metamesh/modeling";
|
|
143
147
|
```
|
|
144
148
|
|
|
145
|
-
Package: `@metamesh/modeling@0.
|
|
149
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# minkowskiSum
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Declares the three-dimensional Minkowski sum of two Solid recipes.
|
|
4
4
|
|
|
5
5
|
**minkowskiSum**(`a`: [`Solid`](Solid.md), `b`: [`Solid`](Solid.md)): [`Solid`](Solid.md)
|
|
6
6
|
|
|
@@ -35,10 +35,10 @@ Three-dimensional Minkowski sum.
|
|
|
35
35
|
- [Primitive booleans and repeated placement](../../guides/transforms-and-placement.md#primitive-booleans-and-repeated-placement)
|
|
36
36
|
- [Join an independently modeled feature](../../guides/solid-joins.md#join-an-independently-modeled-feature)
|
|
37
37
|
|
|
38
|
-
##
|
|
38
|
+
## Import
|
|
39
39
|
|
|
40
40
|
```ts
|
|
41
41
|
import { minkowskiSum } from "@metamesh/modeling";
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
Package: `@metamesh/modeling@0.
|
|
44
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -12,10 +12,14 @@ Physical arc-length copies along a sampled path, with optional tangent orientati
|
|
|
12
12
|
|
|
13
13
|
## Example: Copies along a bent path
|
|
14
14
|
|
|
15
|
+
|
|
16
|
+
|
|
15
17
|
```ts
|
|
16
18
|
pathPattern(box({ size: 4 }), [[0, 0, 0], [20, 0, 0], [20, 20, 0]], { count: 5 });
|
|
17
19
|
```
|
|
18
20
|
|
|
21
|
+
|
|
22
|
+
|
|
19
23
|
Physical arc-length copies along a sampled path, with optional tangent orientation.
|
|
20
24
|
|
|
21
25
|
### Parameters
|
|
@@ -24,12 +28,16 @@ Physical arc-length copies along a sampled path, with optional tangent orientati
|
|
|
24
28
|
|
|
25
29
|
**`source`** · [`PatternSource`](PatternSource.md) · Required
|
|
26
30
|
|
|
31
|
+
Recipe or factory called once per copy, in zero-based order.
|
|
32
|
+
|
|
27
33
|
|
|
28
34
|
|
|
29
35
|
<a id="path"></a>
|
|
30
36
|
|
|
31
37
|
**`path`** · [`Path3Input`](../geometry/Path3Input.md) · Required
|
|
32
38
|
|
|
39
|
+
Path in millimetres; spacing uses arc length.
|
|
40
|
+
|
|
33
41
|
|
|
34
42
|
|
|
35
43
|
<a id="options"></a>
|
|
@@ -46,7 +54,7 @@ Physical arc-length copies along a sampled path, with optional tangent orientati
|
|
|
46
54
|
|
|
47
55
|
- [`orientation`](../geometry/PathPatternOptions.md#orientation) · `"fixed"` \| `"tangent"` · Optional
|
|
48
56
|
|
|
49
|
-
Preserve orientation, or align local +X for Sections / +Z for Solids to the tangent. Defaults to fixed.
|
|
57
|
+
Preserve orientation, or align local +X for Sections / +Z for Solids to the outgoing edge tangent. An open final endpoint uses its incoming edge. Defaults to fixed.
|
|
50
58
|
|
|
51
59
|
|
|
52
60
|
|
|
@@ -71,12 +79,16 @@ to the path tangent counterclockwise, preserving the XY plane.
|
|
|
71
79
|
|
|
72
80
|
**`source`** · [`PatternSource`](PatternSource.md)\<[`Section`](Section.md)\> · Required
|
|
73
81
|
|
|
82
|
+
Recipe or factory called once per copy, in zero-based order.
|
|
83
|
+
|
|
74
84
|
|
|
75
85
|
|
|
76
86
|
<a id="path-1"></a>
|
|
77
87
|
|
|
78
88
|
**`path`** · [`Path2Input`](../geometry/Path2Input.md) · Required
|
|
79
89
|
|
|
90
|
+
Path in millimetres; spacing uses arc length.
|
|
91
|
+
|
|
80
92
|
|
|
81
93
|
|
|
82
94
|
<a id="options-1"></a>
|
|
@@ -93,7 +105,7 @@ to the path tangent counterclockwise, preserving the XY plane.
|
|
|
93
105
|
|
|
94
106
|
- [`orientation`](../geometry/PathPatternOptions.md#orientation) · `"fixed"` \| `"tangent"` · Optional
|
|
95
107
|
|
|
96
|
-
Preserve orientation, or align local +X for Sections / +Z for Solids to the tangent. Defaults to fixed.
|
|
108
|
+
Preserve orientation, or align local +X for Sections / +Z for Solids to the outgoing edge tangent. An open final endpoint uses its incoming edge. Defaults to fixed.
|
|
97
109
|
|
|
98
110
|
|
|
99
111
|
|
|
@@ -104,9 +116,6 @@ readonly [`Section`](Section.md)[]
|
|
|
104
116
|
|
|
105
117
|
## Related APIs
|
|
106
118
|
|
|
107
|
-
- [Path2Input](../geometry/Path2Input.md)
|
|
108
|
-
- [Path3Input](../geometry/Path3Input.md)
|
|
109
|
-
- [PathPatternOptions](../geometry/PathPatternOptions.md)
|
|
110
119
|
- [PatternSource](PatternSource.md)
|
|
111
120
|
- [Section](Section.md)
|
|
112
121
|
- [Solid](Solid.md)
|
|
@@ -115,12 +124,12 @@ readonly [`Section`](Section.md)[]
|
|
|
115
124
|
|
|
116
125
|
- [Named anchors and custom frames](../../guides/transforms-and-placement.md#named-anchors-and-custom-frames)
|
|
117
126
|
- [Primitive booleans and repeated placement](../../guides/transforms-and-placement.md#primitive-booleans-and-repeated-placement)
|
|
118
|
-
- [Fluent values and standalone algorithms](../../guides/geometry-values.md#
|
|
127
|
+
- [Fluent values and standalone algorithms](../../guides/geometry-values.md#fluent-values-plain-data-and-descriptors)
|
|
119
128
|
|
|
120
|
-
##
|
|
129
|
+
## Import
|
|
121
130
|
|
|
122
131
|
```ts
|
|
123
132
|
import { pathPattern } from "@metamesh/modeling";
|
|
124
133
|
```
|
|
125
134
|
|
|
126
|
-
Package: `@metamesh/modeling@0.
|
|
135
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -8,10 +8,14 @@ Fills one closed millimetre XY outline, explicit outer/hole topology, or compoun
|
|
|
8
8
|
|
|
9
9
|
## Example: Extrude a triangular plate
|
|
10
10
|
|
|
11
|
+
|
|
12
|
+
|
|
11
13
|
```ts
|
|
12
14
|
polygon([[0, 0], [20, 0], [10, 12]]).extrude({ height: 3 });
|
|
13
15
|
```
|
|
14
16
|
|
|
17
|
+
|
|
18
|
+
|
|
15
19
|
Closing edges are implicit. Compound contours use nonzero fill unless selected otherwise.
|
|
16
20
|
Explicit topology must be simple and disjoint; compound winding may resolve overlaps.
|
|
17
21
|
|
|
@@ -21,6 +25,8 @@ Explicit topology must be simple and disjoint; compound winding may resolve over
|
|
|
21
25
|
|
|
22
26
|
**`input`** · [`Path2Input`](../geometry/Path2Input.md) \| [`PolygonOptions`](PolygonOptions.md) · Required
|
|
23
27
|
|
|
28
|
+
XY outline in millimetres, or explicit or compound topology.
|
|
29
|
+
|
|
24
30
|
|
|
25
31
|
|
|
26
32
|
## Returns
|
|
@@ -30,7 +36,6 @@ Explicit topology must be simple and disjoint; compound winding may resolve over
|
|
|
30
36
|
|
|
31
37
|
## Related APIs
|
|
32
38
|
|
|
33
|
-
- [Path2Input](../geometry/Path2Input.md)
|
|
34
39
|
- [PolygonOptions](PolygonOptions.md)
|
|
35
40
|
- [Section](Section.md)
|
|
36
41
|
|
|
@@ -40,10 +45,10 @@ Explicit topology must be simple and disjoint; compound winding may resolve over
|
|
|
40
45
|
- [SVG sections: fills and strokes are different inputs](../../guides/svg-and-text.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
41
46
|
- [Text and font variability](../../guides/svg-and-text.md#text-and-font-variability)
|
|
42
47
|
|
|
43
|
-
##
|
|
48
|
+
## Import
|
|
44
49
|
|
|
45
50
|
```ts
|
|
46
51
|
import { polygon } from "@metamesh/modeling";
|
|
47
52
|
```
|
|
48
53
|
|
|
49
|
-
Package: `@metamesh/modeling@0.
|
|
54
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -12,11 +12,15 @@ Repeats one solid about an axis.
|
|
|
12
12
|
|
|
13
13
|
## Example: Six copies around Z
|
|
14
14
|
|
|
15
|
+
|
|
16
|
+
|
|
15
17
|
```ts
|
|
16
18
|
const pin = cylinder({ height: 6, radius: 2 }).translate([12, 0, 0]);
|
|
17
19
|
radialPattern(pin, { count: 6, axis: [0, 0, 1], angle: 60 });
|
|
18
20
|
```
|
|
19
21
|
|
|
22
|
+
|
|
23
|
+
|
|
20
24
|
Repeats one solid about an axis.
|
|
21
25
|
|
|
22
26
|
### Parameters
|
|
@@ -25,6 +29,8 @@ Repeats one solid about an axis.
|
|
|
25
29
|
|
|
26
30
|
**`source`** · [`PatternSource`](PatternSource.md) · Required
|
|
27
31
|
|
|
32
|
+
Recipe or factory called once per copy, in zero-based order.
|
|
33
|
+
|
|
28
34
|
|
|
29
35
|
|
|
30
36
|
<a id="options"></a>
|
|
@@ -53,6 +59,8 @@ Repeats a filled Section counterclockwise about a fixed XY pivot, using the impl
|
|
|
53
59
|
|
|
54
60
|
**`source`** · [`PatternSource`](PatternSource.md)\<[`Section`](Section.md)\> · Required
|
|
55
61
|
|
|
62
|
+
Recipe or factory called once per copy, in zero-based order.
|
|
63
|
+
|
|
56
64
|
|
|
57
65
|
|
|
58
66
|
<a id="options-1"></a>
|
|
@@ -69,7 +77,6 @@ readonly [`Section`](Section.md)[]
|
|
|
69
77
|
## Related APIs
|
|
70
78
|
|
|
71
79
|
- [PatternSource](PatternSource.md)
|
|
72
|
-
- [RadialPatternOptions](../geometry/RadialPatternOptions.md)
|
|
73
80
|
- [Section](Section.md)
|
|
74
81
|
- [Solid](Solid.md)
|
|
75
82
|
|
|
@@ -77,12 +84,12 @@ readonly [`Section`](Section.md)[]
|
|
|
77
84
|
|
|
78
85
|
- [Named anchors and custom frames](../../guides/transforms-and-placement.md#named-anchors-and-custom-frames)
|
|
79
86
|
- [Primitive booleans and repeated placement](../../guides/transforms-and-placement.md#primitive-booleans-and-repeated-placement)
|
|
80
|
-
- [Fluent values and standalone algorithms](../../guides/geometry-values.md#
|
|
87
|
+
- [Fluent values and standalone algorithms](../../guides/geometry-values.md#fluent-values-plain-data-and-descriptors)
|
|
81
88
|
|
|
82
|
-
##
|
|
89
|
+
## Import
|
|
83
90
|
|
|
84
91
|
```ts
|
|
85
92
|
import { radialPattern } from "@metamesh/modeling";
|
|
86
93
|
```
|
|
87
94
|
|
|
88
|
-
Package: `@metamesh/modeling@0.
|
|
95
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -8,10 +8,14 @@ Filled rectangular section with uniform or independently treated corners.
|
|
|
8
8
|
|
|
9
9
|
## Example: Round the corners
|
|
10
10
|
|
|
11
|
+
|
|
12
|
+
|
|
11
13
|
```ts
|
|
12
|
-
rectangle({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
|
|
14
|
+
rectangle({ size: [30, 20], treatment: { kind: "round", radius: 3 } }).extrude({ height: 3 });
|
|
13
15
|
```
|
|
14
16
|
|
|
17
|
+
|
|
18
|
+
|
|
15
19
|
Use [rectangleContour](../geometry/rectangleContour.md) for sampled boundary coordinates,
|
|
16
20
|
or [rectangleProfile](../geometry/rectangleProfile.md) to retain identified loft landmarks.
|
|
17
21
|
|
|
@@ -25,10 +29,6 @@ or [rectangleProfile](../geometry/rectangleProfile.md) to retain identified loft
|
|
|
25
29
|
|
|
26
30
|
Positive uniform size or explicit XY extents in millimetres.
|
|
27
31
|
|
|
28
|
-
- [`attachment`](RectangleOptions.md#attachment) · [`PrimitiveAttachmentOptions`](../geometry/PrimitiveAttachmentOptions.md) · Optional
|
|
29
|
-
|
|
30
|
-
Applied after local construction; Section attachment must preserve the XY plane.
|
|
31
|
-
|
|
32
32
|
- [`center`](RectangleOptions.md#center) · `boolean` · Optional
|
|
33
33
|
|
|
34
34
|
Center on XY; otherwise the minimum corner is the origin. Defaults to true.
|
|
@@ -41,6 +41,10 @@ or [rectangleProfile](../geometry/rectangleProfile.md) to retain identified loft
|
|
|
41
41
|
|
|
42
42
|
Explicit sampling ceiling for the complete output profile.
|
|
43
43
|
|
|
44
|
+
- [`attachment`](RectangleOptions.md#attachment) · [`PrimitiveAttachmentOptions`](PrimitiveAttachmentOptions.md) · Optional
|
|
45
|
+
|
|
46
|
+
Applied after local construction; Section attachment must preserve the XY plane.
|
|
47
|
+
|
|
44
48
|
|
|
45
49
|
|
|
46
50
|
## Returns
|
|
@@ -59,10 +63,10 @@ or [rectangleProfile](../geometry/rectangleProfile.md) to retain identified loft
|
|
|
59
63
|
- [SVG sections: fills and strokes are different inputs](../../guides/svg-and-text.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
60
64
|
- [Text and font variability](../../guides/svg-and-text.md#text-and-font-variability)
|
|
61
65
|
|
|
62
|
-
##
|
|
66
|
+
## Import
|
|
63
67
|
|
|
64
68
|
```ts
|
|
65
69
|
import { rectangle } from "@metamesh/modeling";
|
|
66
70
|
```
|
|
67
71
|
|
|
68
|
-
Package: `@metamesh/modeling@0.
|
|
72
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -8,10 +8,14 @@ Regular polygon with a vertex on +X.
|
|
|
8
8
|
|
|
9
9
|
## Example: Hexagonal section
|
|
10
10
|
|
|
11
|
+
|
|
12
|
+
|
|
11
13
|
```ts
|
|
12
|
-
regularPolygon({ radius: 10, sides: 6, sizing: "face" });
|
|
14
|
+
regularPolygon({ radius: 10, sides: 6, 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 @@ regularPolygon({ radius: 10, sides: 6, 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 { regularPolygon } from "@metamesh/modeling";
|
|
43
47
|
```
|
|
44
48
|
|
|
45
|
-
Package: `@metamesh/modeling@0.
|
|
49
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -2,45 +2,51 @@
|
|
|
2
2
|
|
|
3
3
|
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.
|
|
4
4
|
|
|
5
|
-
**revolve**(`shape`: [`Section`](Section.md) \| [`CorrespondingProfile`](../geometry/CorrespondingProfile.md), `options?`: [`RevolveOptions`](
|
|
5
|
+
**revolve**(`shape`: [`Section`](Section.md) \| [`CorrespondingProfile`](../geometry/CorrespondingProfile.md), `options?`: [`RevolveOptions`](RevolveOptions.md)): [`Solid`](Solid.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
## Example: Revolve
|
|
10
10
|
|
|
11
|
+
|
|
12
|
+
|
|
11
13
|
```ts
|
|
12
|
-
import {
|
|
13
|
-
import { rectangleProfile } from "@metamesh/modeling/geometry";
|
|
14
|
+
import { revolve } from "@metamesh/modeling";
|
|
15
|
+
import { matchProfiles, rectangleProfile } from "@metamesh/modeling/geometry";
|
|
14
16
|
|
|
15
17
|
// Contour coordinates are [radius, Z].
|
|
16
18
|
const [profile] = matchProfiles([rectangleProfile({ size: [4, 16], center: false })]);
|
|
17
19
|
revolve(profile!, { degrees: 270 });
|
|
18
20
|
```
|
|
19
21
|
|
|
22
|
+
|
|
23
|
+
|
|
20
24
|
## Parameters
|
|
21
25
|
|
|
22
26
|
<a id="shape"></a>
|
|
23
27
|
|
|
24
28
|
**`shape`** · [`Section`](Section.md) \| [`CorrespondingProfile`](../geometry/CorrespondingProfile.md) · Required
|
|
25
29
|
|
|
30
|
+
Profile coordinates are [radius, Z] in millimetres.
|
|
31
|
+
|
|
26
32
|
|
|
27
33
|
|
|
28
34
|
<a id="options"></a>
|
|
29
35
|
|
|
30
|
-
**`options`** · [`RevolveOptions`](
|
|
36
|
+
**`options`** · [`RevolveOptions`](RevolveOptions.md) · Optional
|
|
31
37
|
|
|
32
|
-
- [`segments`](
|
|
38
|
+
- [`segments`](RevolveOptions.md#segments) · `number` · Optional
|
|
33
39
|
|
|
34
40
|
Exact circumferential segment count from three through the configured safety limit.
|
|
35
41
|
|
|
36
42
|
This local topology override takes precedence over [CircularPrimitiveOptions.resolution](../geometry/CircularPrimitiveOptions.md#resolution)
|
|
37
43
|
and any active model-wide resolution policy.
|
|
38
44
|
|
|
39
|
-
- [`resolution`](
|
|
45
|
+
- [`resolution`](RevolveOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
|
|
40
46
|
|
|
41
47
|
Operation-level physical tessellation policy over the active model-wide policy.
|
|
42
48
|
|
|
43
|
-
- [`degrees`](
|
|
49
|
+
- [`degrees`](RevolveOptions.md#degrees) · `number` · Optional · Default: `360`
|
|
44
50
|
|
|
45
51
|
Positive sweep in degrees, no greater than 360. Defaults to a full revolution;
|
|
46
52
|
smaller sweeps form partial revolutions with end caps.
|
|
@@ -48,7 +54,7 @@ revolve(profile!, { degrees: 270 });
|
|
|
48
54
|
revolutions require at least three sweep intervals: adaptive sampling refines to that floor,
|
|
49
55
|
while exact counts that imply fewer intervals reject. Pure mesh.revolve supports one interval.
|
|
50
56
|
|
|
51
|
-
- [`limits`](
|
|
57
|
+
- [`limits`](RevolveOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
|
|
52
58
|
|
|
53
59
|
Explicit output and sampling allocation ceilings.
|
|
54
60
|
|
|
@@ -61,23 +67,23 @@ revolve(profile!, { degrees: 270 });
|
|
|
61
67
|
|
|
62
68
|
## Related APIs
|
|
63
69
|
|
|
64
|
-
- [
|
|
65
|
-
- [RevolveOptions](../geometry/RevolveOptions.md)
|
|
70
|
+
- [RevolveOptions](RevolveOptions.md)
|
|
66
71
|
- [Section](Section.md)
|
|
67
72
|
- [Solid](Solid.md)
|
|
68
73
|
|
|
69
74
|
## Guides
|
|
70
75
|
|
|
71
76
|
- [Finish a profile with a hole](../../guides/profiles-and-extrusion.md#finish-a-profile-with-a-hole)
|
|
77
|
+
- [Chamfer a twisted extrusion](../../guides/profiles-and-extrusion.md#chamfer-a-twisted-extrusion)
|
|
72
78
|
- [Revolve a radial profile](../../guides/profiles-and-extrusion.md#revolve-a-radial-profile)
|
|
73
79
|
- [Rotation-minimizing path sweep](../../guides/sweeps-and-lofts.md#rotation-minimizing-path-sweep)
|
|
74
80
|
- [Matched-section loft](../../guides/sweeps-and-lofts.md#matched-section-loft)
|
|
75
81
|
- [Choose a modeling path](../../guides/recipes.md#choose-a-technique)
|
|
76
82
|
|
|
77
|
-
##
|
|
83
|
+
## Import
|
|
78
84
|
|
|
79
85
|
```ts
|
|
80
86
|
import { revolve } from "@metamesh/modeling";
|
|
81
87
|
```
|
|
82
88
|
|
|
83
|
-
Package: `@metamesh/modeling@0.
|
|
89
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Imports a bounded closed indexed mesh.
|
|
4
4
|
|
|
5
|
-
**solidFromMesh**(`mesh`: [`TriangleMesh`](../
|
|
5
|
+
**solidFromMesh**(`mesh`: [`TriangleMesh`](../mesh/TriangleMesh.md) \| [`ImmutableTriangleMesh`](../mesh/ImmutableTriangleMesh.md)): [`Solid`](Solid.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
## Example: Mesh import
|
|
10
10
|
|
|
11
|
+
|
|
12
|
+
|
|
11
13
|
```ts
|
|
12
14
|
import { solidFromMesh } from "@metamesh/modeling";
|
|
13
15
|
import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
@@ -17,11 +19,15 @@ const plate = mesh.extrude(rectangleContour({ size: [20, 12] }), { height: 6 });
|
|
|
17
19
|
solidFromMesh(plate);
|
|
18
20
|
```
|
|
19
21
|
|
|
22
|
+
|
|
23
|
+
|
|
20
24
|
## Parameters
|
|
21
25
|
|
|
22
26
|
<a id="mesh"></a>
|
|
23
27
|
|
|
24
|
-
**`mesh`** · [`TriangleMesh`](../
|
|
28
|
+
**`mesh`** · [`TriangleMesh`](../mesh/TriangleMesh.md) \| [`ImmutableTriangleMesh`](../mesh/ImmutableTriangleMesh.md) · Required
|
|
29
|
+
|
|
30
|
+
Closed, oriented mesh in millimetres; ownership stays with the caller.
|
|
25
31
|
|
|
26
32
|
|
|
27
33
|
|
|
@@ -32,18 +38,16 @@ solidFromMesh(plate);
|
|
|
32
38
|
|
|
33
39
|
## Related APIs
|
|
34
40
|
|
|
35
|
-
- [ImmutableTriangleMesh](../geometry/ImmutableTriangleMesh.md)
|
|
36
41
|
- [Solid](Solid.md)
|
|
37
|
-
- [TriangleMesh](../geometry/TriangleMesh.md)
|
|
38
42
|
|
|
39
43
|
## Guides
|
|
40
44
|
|
|
41
45
|
- [Solid inspection](../../guides/resolution-and-inspection.md#solid-inspection)
|
|
42
46
|
|
|
43
|
-
##
|
|
47
|
+
## Import
|
|
44
48
|
|
|
45
49
|
```ts
|
|
46
50
|
import { solidFromMesh } from "@metamesh/modeling";
|
|
47
51
|
```
|
|
48
52
|
|
|
49
|
-
Package: `@metamesh/modeling@0.
|
|
53
|
+
Package: `@metamesh/modeling@0.20.0`.
|