@metamesh/modeling 0.14.0 → 0.16.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 +61 -0
- package/README.md +55 -13
- package/dist/api/engine.d.ts +15 -7
- package/dist/api/geometry.d.ts +853 -562
- package/dist/api/index.d.ts +604 -227
- package/dist/api/text.d.ts +9 -7
- package/dist/docs/guides/concepts.md +295 -91
- package/dist/docs/guides/fonts.md +9 -8
- package/dist/docs/guides/fundamentals.md +22 -23
- package/dist/docs/guides/generation.md +24 -23
- package/dist/docs/guides/hosting.md +26 -11
- package/dist/docs/guides/recipes.md +74 -48
- package/dist/docs/guides/standalone-model.md +42 -0
- package/dist/docs/manifest.json +1555 -749
- package/dist/docs/reference/engine/Export3mfOptions.md +1 -1
- package/dist/docs/reference/engine/ExportMeshPart.md +1 -1
- package/dist/docs/reference/engine/GenerationOptions.md +1 -1
- package/dist/docs/reference/engine/GeometryResource.md +1 -1
- package/dist/docs/reference/engine/ModelDependencies.md +1 -1
- package/dist/docs/reference/engine/ModelEngine.md +1 -1
- package/dist/docs/reference/engine/ModelEngineOptions.md +4 -8
- package/dist/docs/reference/engine/ModelSession.md +1 -1
- package/dist/docs/reference/engine/ModelSnapshot.md +21 -10
- package/dist/docs/reference/engine/SessionOptions.md +1 -1
- package/dist/docs/reference/engine/SnapshotPart.md +6 -3
- package/dist/docs/reference/engine/categories/host-lifecycle.md +7 -2
- package/dist/docs/reference/engine/createModelEngine.md +3 -3
- package/dist/docs/reference/engine/defaultModelingLimits.md +1 -1
- package/dist/docs/reference/engine/modelingWasmUrl.md +1 -1
- package/dist/docs/reference/engine/validateModel.md +1 -1
- package/dist/docs/reference/engine.md +6 -2
- package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +5 -1
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +4 -4
- package/dist/docs/reference/geometry/{Anchor3.md → Anchor3-type.md} +6 -5
- package/dist/docs/reference/geometry/ArcCurve2.md +11 -7
- package/dist/docs/reference/geometry/ArcCurve3.md +13 -9
- package/dist/docs/reference/geometry/{AttachTransformOptions.md → AttachOptions.md} +11 -5
- package/dist/docs/reference/geometry/AxisAngleRotation3.md +2 -1
- package/dist/docs/reference/geometry/Bounds2-type.md +127 -0
- package/dist/docs/reference/geometry/Bounds2Data.md +45 -0
- package/dist/docs/reference/geometry/Bounds2Input.md +21 -0
- package/dist/docs/reference/geometry/Bounds3-type.md +127 -0
- package/dist/docs/reference/geometry/Bounds3Data.md +45 -0
- package/dist/docs/reference/geometry/Bounds3Input.md +21 -0
- package/dist/docs/reference/geometry/BoundsFit2.md +6 -5
- package/dist/docs/reference/geometry/BoundsFit3.md +6 -5
- package/dist/docs/reference/geometry/BoundsFitOptions.md +2 -1
- package/dist/docs/reference/geometry/BoundsFromSizeOptions.md +2 -1
- package/dist/docs/reference/geometry/BoxAnchorFace.md +2 -1
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +5 -4
- package/dist/docs/reference/geometry/BoxEdge.md +1 -1
- package/dist/docs/reference/geometry/BoxEdgeSelection.md +1 -1
- package/dist/docs/reference/geometry/BoxEdgeTreatments.md +1 -1
- package/dist/docs/reference/geometry/BoxOptions.md +10 -10
- package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +8 -1
- package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +5 -1
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/CircleContourOptions.md +5 -1
- package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +1 -1
- package/dist/docs/reference/geometry/CircularResolutionOptions.md +7 -7
- package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +6 -1
- package/dist/docs/reference/geometry/ClearanceHoleFit.md +8 -1
- package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +6 -1
- package/dist/docs/reference/geometry/Contour.md +10 -4
- package/dist/docs/reference/geometry/ContourCurve.md +5 -1
- package/dist/docs/reference/geometry/ContourPoint.md +6 -1
- package/dist/docs/reference/geometry/ContourSegment.md +5 -1
- package/dist/docs/reference/geometry/CorrespondingComponent.md +5 -1
- package/dist/docs/reference/geometry/CorrespondingContour.md +5 -1
- package/dist/docs/reference/geometry/CorrespondingProfile.md +5 -1
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +5 -1
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +10 -6
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +10 -6
- package/dist/docs/reference/geometry/Curve2.md +5 -1
- package/dist/docs/reference/geometry/Curve3.md +5 -1
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +9 -3
- package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +7 -3
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +2 -1
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +6 -5
- package/dist/docs/reference/geometry/CylinderOptions.md +3 -3
- package/dist/docs/reference/geometry/CylindricalGearDimensions.md +8 -3
- package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +8 -1
- package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +5 -1
- package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +7 -3
- package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +5 -1
- package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +6 -1
- package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +5 -1
- package/dist/docs/reference/geometry/CylindricalGearSpec.md +11 -6
- package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +1 -1
- package/dist/docs/reference/geometry/EdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/EllipseContourOptions.md +7 -3
- package/dist/docs/reference/geometry/EndTreatments.md +1 -1
- package/dist/docs/reference/geometry/ExtrudeOptions.md +10 -6
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +9 -5
- package/dist/docs/reference/geometry/FittedTextLayout.md +7 -3
- package/dist/docs/reference/geometry/Frame3.md +10 -6
- package/dist/docs/reference/geometry/GeometryError.md +1 -1
- package/dist/docs/reference/geometry/GeometryErrorCode.md +1 -1
- package/dist/docs/reference/geometry/GeometryErrorContext.md +1 -1
- package/dist/docs/reference/geometry/GeometryResolution.md +5 -5
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +5 -1
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +1 -1
- package/dist/docs/reference/geometry/GridPatternOptions.md +11 -5
- package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +5 -1
- package/dist/docs/reference/geometry/HeightfieldOptions.md +9 -5
- package/dist/docs/reference/geometry/HeightfieldPreflight.md +9 -4
- package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +9 -5
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +10 -6
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +7 -2
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +4 -3
- package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +10 -6
- package/dist/docs/reference/geometry/KnuckleHingeBaseSpec.md +82 -0
- package/dist/docs/reference/geometry/KnuckleHingeDimensions.md +148 -0
- package/dist/docs/reference/geometry/KnuckleHingeInterval.md +46 -0
- package/dist/docs/reference/geometry/KnuckleHingeSamplingOptions.md +51 -0
- package/dist/docs/reference/geometry/KnuckleHingeSpec.md +22 -0
- package/dist/docs/reference/geometry/LineCurve2.md +8 -4
- package/dist/docs/reference/geometry/LineCurve3.md +8 -4
- package/dist/docs/reference/geometry/LinearPatternOptions.md +12 -5
- package/dist/docs/reference/geometry/LoftCorrespondence.md +6 -1
- package/dist/docs/reference/geometry/LoftMeshStation.md +8 -4
- package/dist/docs/reference/geometry/LoftOptions.md +5 -1
- package/dist/docs/reference/geometry/LoftPlacement.md +5 -1
- package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +5 -1
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +5 -1
- package/dist/docs/reference/geometry/MetricFastenerSize.md +9 -2
- package/dist/docs/reference/geometry/MetricFastenerStandard.md +5 -1
- package/dist/docs/reference/geometry/MetricHexNutDimensions.md +6 -1
- package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +6 -1
- package/dist/docs/reference/geometry/ModelingLimits.md +1 -1
- package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +5 -1
- package/dist/docs/reference/geometry/Path2-type.md +196 -0
- package/dist/docs/reference/geometry/Path2Data.md +50 -0
- package/dist/docs/reference/geometry/Path2Input.md +20 -0
- package/dist/docs/reference/geometry/Path3-type.md +196 -0
- package/dist/docs/reference/geometry/Path3Data.md +50 -0
- package/dist/docs/reference/geometry/Path3Input.md +20 -0
- package/dist/docs/reference/geometry/PathFrame.md +9 -5
- package/dist/docs/reference/geometry/PathLocation.md +69 -0
- package/dist/docs/reference/geometry/PathNormalGuide.md +10 -5
- package/dist/docs/reference/geometry/PathOptions.md +38 -0
- package/dist/docs/reference/geometry/PathPatternOptions.md +3 -3
- package/dist/docs/reference/geometry/PathPlacement.md +8 -4
- package/dist/docs/reference/geometry/PathResamplingOptions.md +84 -0
- package/dist/docs/reference/geometry/Pivot2Options.md +2 -1
- package/dist/docs/reference/geometry/Pivot3Options.md +2 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +8 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +26 -22
- package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +5 -1
- package/dist/docs/reference/geometry/PlanarPatchQuality.md +7 -3
- package/dist/docs/reference/geometry/PolygonData.md +7 -2
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +8 -4
- package/dist/docs/reference/geometry/PrimitiveAttachment.md +31 -0
- package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +104 -0
- package/dist/docs/reference/geometry/PrintableThreadFit.md +8 -1
- package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +6 -1
- package/dist/docs/reference/geometry/Profile.md +8 -2
- package/dist/docs/reference/geometry/ProfileComponent2.md +5 -1
- package/dist/docs/reference/geometry/ProfileContour2.md +8 -2
- package/dist/docs/reference/geometry/ProfileSpan2.md +7 -3
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +3 -3
- package/dist/docs/reference/geometry/RackPitchDimensions.md +6 -1
- package/dist/docs/reference/geometry/RackPitchSpec.md +10 -5
- package/dist/docs/reference/geometry/RadialPatternOptions.md +17 -22
- package/dist/docs/reference/geometry/RadialSizing.md +1 -1
- package/dist/docs/reference/geometry/RadialSizingOptions.md +1 -1
- package/dist/docs/reference/geometry/RectangleContourOptions.md +7 -3
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +5 -1
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +5 -1
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +7 -3
- package/dist/docs/reference/geometry/RegionData.md +6 -2
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +7 -3
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/RevolveOptions.md +13 -4
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/RowLayoutOptions.md +2 -1
- package/dist/docs/reference/geometry/SampleContourOptions.md +7 -3
- package/dist/docs/reference/geometry/SampleHelixOptions.md +5 -1
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +7 -3
- package/dist/docs/reference/geometry/SampledCurve2.md +8 -4
- package/dist/docs/reference/geometry/SampledCurve3.md +8 -4
- package/dist/docs/reference/geometry/SampledThreadHelices.md +7 -3
- package/dist/docs/reference/geometry/SideProfileCurve.md +5 -1
- package/dist/docs/reference/geometry/SideProfilePoint.md +6 -1
- package/dist/docs/reference/geometry/SideProfileSegment.md +5 -1
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +7 -3
- package/dist/docs/reference/geometry/SphereOptions.md +3 -3
- package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +5 -1
- package/dist/docs/reference/geometry/StrokeCap.md +14 -0
- package/dist/docs/reference/geometry/StrokeJoin.md +14 -0
- package/dist/docs/reference/geometry/{StrokePathRegionOptions.md → StrokeOptions.md} +11 -7
- package/dist/docs/reference/geometry/SvgImportOptions.md +5 -1
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +6 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +19 -15
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +16 -11
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +14 -9
- package/dist/docs/reference/geometry/SweepOptions.md +10 -6
- package/dist/docs/reference/geometry/SweepOrientation.md +11 -7
- package/dist/docs/reference/geometry/ThreadBevelOptions.md +5 -1
- package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +9 -5
- package/dist/docs/reference/geometry/ThreadCompensationOptions.md +5 -1
- package/dist/docs/reference/geometry/ThreadEndStyle.md +8 -1
- package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +5 -1
- package/dist/docs/reference/geometry/ThreadHandedness.md +8 -1
- package/dist/docs/reference/geometry/ThreadHelixOptions.md +7 -3
- package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +8 -1
- package/dist/docs/reference/geometry/ThreadLeadInShape.md +8 -1
- package/dist/docs/reference/geometry/{ThreadProfile.md → ThreadProfile-type.md} +7 -3
- package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +5 -1
- package/dist/docs/reference/geometry/ThreadProfileSpec.md +5 -1
- package/dist/docs/reference/geometry/ThreadRole.md +8 -1
- package/dist/docs/reference/geometry/ThreadedNutBevel.md +8 -1
- package/dist/docs/reference/geometry/ThreadedNutOptions.md +10 -6
- package/dist/docs/reference/geometry/ThreadedNutPreflight.md +7 -3
- package/dist/docs/reference/geometry/ThreadedNutShape.md +8 -1
- package/dist/docs/reference/geometry/ThreadedRodOptions.md +10 -6
- package/dist/docs/reference/geometry/TorusOptions.md +8 -8
- package/dist/docs/reference/geometry/Transform2-type.md +6 -5
- package/dist/docs/reference/geometry/Transform2Data.md +15 -0
- package/dist/docs/reference/geometry/Transform2Input.md +4 -3
- package/dist/docs/reference/geometry/Transform3-type.md +6 -5
- package/dist/docs/reference/geometry/Transform3Data.md +18 -0
- package/dist/docs/reference/geometry/Transform3Input.md +4 -3
- package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +9 -4
- package/dist/docs/reference/geometry/TriangleMesh.md +6 -1
- package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +8 -4
- package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +5 -1
- package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +7 -3
- package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +7 -3
- package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +5 -1
- package/dist/docs/reference/geometry/TriangleMeshSignature.md +8 -4
- package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +8 -3
- package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +6 -1
- package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +5 -1
- package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +5 -1
- package/dist/docs/reference/geometry/TubeOptions.md +8 -8
- package/dist/docs/reference/geometry/Vector2-type.md +6 -5
- package/dist/docs/reference/geometry/Vector2Data.md +15 -0
- package/dist/docs/reference/geometry/Vector2Input.md +4 -3
- package/dist/docs/reference/geometry/Vector3-type.md +6 -5
- package/dist/docs/reference/geometry/Vector3Data.md +15 -0
- package/dist/docs/reference/geometry/Vector3Input.md +4 -3
- package/dist/docs/reference/geometry/VectorTextArcBaseline.md +8 -3
- package/dist/docs/reference/geometry/VectorTextLayout.md +5 -1
- package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +5 -1
- package/dist/docs/reference/geometry/VectorTextMetrics.md +7 -3
- package/dist/docs/reference/geometry/VectorTextOptions.md +5 -1
- package/dist/docs/reference/geometry/add2.md +7 -6
- package/dist/docs/reference/geometry/add3.md +7 -6
- package/dist/docs/reference/geometry/analyzeTriangleMesh.md +5 -1
- package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +6 -2
- package/dist/docs/reference/geometry/{createAnchor3.md → anchor3.md} +10 -9
- package/dist/docs/reference/geometry/anchorFrame3.md +9 -5
- package/dist/docs/reference/geometry/applyTransformDirection3.md +8 -7
- package/dist/docs/reference/geometry/applyTransformPoint3.md +8 -7
- package/dist/docs/reference/geometry/{attachTransform.md → attachmentTransform3.md} +16 -15
- package/dist/docs/reference/geometry/bounds2.md +38 -0
- package/dist/docs/reference/geometry/bounds3.md +38 -0
- package/dist/docs/reference/geometry/boundsCenter.md +12 -11
- package/dist/docs/reference/geometry/boundsFromSize.md +12 -11
- package/dist/docs/reference/geometry/boundsSize.md +12 -11
- package/dist/docs/reference/geometry/boxAnchor3.md +7 -6
- package/dist/docs/reference/geometry/categories/bounds-layout.md +23 -6
- package/dist/docs/reference/geometry/categories/curves-paths.md +27 -13
- package/dist/docs/reference/geometry/categories/mechanical.md +27 -15
- package/dist/docs/reference/geometry/categories/meshes.md +18 -10
- package/dist/docs/reference/geometry/categories/pattern-placement.md +11 -9
- package/dist/docs/reference/geometry/categories/primitive-options.md +10 -4
- package/dist/docs/reference/geometry/categories/profiles-regions.md +21 -13
- package/dist/docs/reference/geometry/categories/resolution-errors.md +5 -3
- package/dist/docs/reference/geometry/categories/transforms-math.md +25 -16
- package/dist/docs/reference/geometry/categories/vector-import.md +15 -9
- package/dist/docs/reference/geometry/circleContour.md +5 -1
- package/dist/docs/reference/geometry/closeToAxis.md +14 -5
- package/dist/docs/reference/geometry/compensateThreadDiameters.md +5 -1
- package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +9 -5
- package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +9 -5
- package/dist/docs/reference/geometry/composeTransform3.md +7 -6
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +14 -6
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +17 -7
- package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +13 -5
- package/dist/docs/reference/geometry/{createTriangleMeshSignature.md → computeTriangleMeshSignature.md} +8 -4
- package/dist/docs/reference/geometry/containsBounds.md +10 -9
- package/dist/docs/reference/geometry/contourContainsPoint.md +8 -4
- package/dist/docs/reference/geometry/cross2.md +6 -5
- package/dist/docs/reference/geometry/cross3.md +7 -6
- package/dist/docs/reference/geometry/cylinderAnchor3.md +7 -6
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +5 -1
- package/dist/docs/reference/geometry/distance2.md +6 -5
- package/dist/docs/reference/geometry/distance3.md +6 -5
- package/dist/docs/reference/geometry/distributeAlongPath.md +12 -6
- package/dist/docs/reference/geometry/dot2.md +6 -5
- package/dist/docs/reference/geometry/dot3.md +6 -5
- package/dist/docs/reference/geometry/ellipseContour.md +5 -1
- package/dist/docs/reference/geometry/eulerTransform3.md +7 -6
- package/dist/docs/reference/geometry/extrudeMesh.md +12 -8
- package/dist/docs/reference/geometry/fitBounds.md +10 -9
- package/dist/docs/reference/geometry/fitTextLayout.md +13 -5
- package/dist/docs/reference/geometry/frameTransform3.md +5 -4
- package/dist/docs/reference/geometry/{getMetricClearanceHole.md → getMetricClearanceHoleDiameter.md} +7 -3
- package/dist/docs/reference/geometry/getMetricFastenerStandard.md +5 -1
- package/dist/docs/reference/geometry/gridPatternTransforms.md +5 -5
- package/dist/docs/reference/geometry/heightfieldMesh.md +11 -2
- package/dist/docs/reference/geometry/{buildHelicalThreadRidgeMesh.md → helicalThreadRidgeMesh.md} +9 -5
- package/dist/docs/reference/geometry/{buildHelicalThreadSolidMesh.md → helicalThreadSolidMesh.md} +9 -5
- package/dist/docs/reference/geometry/inverseTransform3.md +6 -5
- package/dist/docs/reference/geometry/isGeometryError.md +5 -2
- package/dist/docs/reference/geometry/joinTriangleMeshes.md +5 -1
- package/dist/docs/reference/geometry/layoutRow.md +11 -7
- package/dist/docs/reference/geometry/length2.md +5 -4
- package/dist/docs/reference/geometry/length3.md +5 -4
- package/dist/docs/reference/geometry/lerp2.md +7 -6
- package/dist/docs/reference/geometry/lerp3.md +7 -6
- package/dist/docs/reference/geometry/linearPatternTransforms.md +5 -5
- package/dist/docs/reference/geometry/loftMesh.md +6 -1
- package/dist/docs/reference/geometry/matchProfiles.md +11 -2
- package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +5 -1
- package/dist/docs/reference/geometry/meshBounds.md +8 -4
- package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +7 -3
- package/dist/docs/reference/geometry/normalize2.md +10 -6
- package/dist/docs/reference/geometry/normalize3.md +10 -6
- package/dist/docs/reference/geometry/normalizeContour.md +8 -4
- package/dist/docs/reference/geometry/normalizePolygon.md +5 -1
- package/dist/docs/reference/geometry/normalizeRegion.md +5 -1
- package/dist/docs/reference/geometry/optimizePlanarPatches.md +15 -11
- package/dist/docs/reference/geometry/path2.md +54 -0
- package/dist/docs/reference/geometry/path3.md +49 -0
- package/dist/docs/reference/geometry/pathPatternTransforms.md +13 -9
- package/dist/docs/reference/geometry/preflightHeightfield.md +11 -2
- package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +13 -4
- package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +15 -4
- package/dist/docs/reference/geometry/preflightSvgRegion.md +15 -2
- package/dist/docs/reference/geometry/preflightThreadedNut.md +14 -4
- package/dist/docs/reference/geometry/preflightThreadedRod.md +14 -4
- package/dist/docs/reference/geometry/projectOntoPlane3.md +7 -6
- package/dist/docs/reference/geometry/radialPatternTransforms.md +4 -20
- package/dist/docs/reference/geometry/rectangleContour.md +10 -3
- package/dist/docs/reference/geometry/rectangleProfile.md +10 -2
- package/dist/docs/reference/geometry/regionArea.md +5 -1
- package/dist/docs/reference/geometry/regionBounds.md +8 -4
- package/dist/docs/reference/geometry/regularPolygonContour.md +9 -5
- package/dist/docs/reference/geometry/resamplePolyline2.md +9 -5
- package/dist/docs/reference/geometry/resamplePolyline3.md +9 -5
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +4 -4
- package/dist/docs/reference/geometry/resolveArcSegments.md +4 -4
- package/dist/docs/reference/geometry/resolveCircularSegments.md +1 -1
- package/dist/docs/reference/geometry/resolveCylindricalGear.md +5 -1
- package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +5 -1
- package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +7 -3
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +5 -1
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/resolveKnuckleHinge.md +59 -0
- package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +5 -1
- package/dist/docs/reference/geometry/resolveRackPitch.md +5 -1
- package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +8 -4
- package/dist/docs/reference/geometry/reverseTriangleMesh.md +5 -1
- package/dist/docs/reference/geometry/revolveMesh.md +14 -10
- package/dist/docs/reference/geometry/rotate2.md +6 -5
- package/dist/docs/reference/geometry/rotationTransform3.md +7 -6
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +12 -6
- package/dist/docs/reference/geometry/sampleContour.md +14 -4
- package/dist/docs/reference/geometry/sampleCurve2.md +8 -5
- package/dist/docs/reference/geometry/sampleCurve3.md +6 -2
- package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +5 -1
- package/dist/docs/reference/geometry/sampleHelix.md +13 -5
- package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +5 -1
- package/dist/docs/reference/geometry/sampleRackToothPath.md +8 -4
- package/dist/docs/reference/geometry/sampleSideProfile.md +17 -7
- package/dist/docs/reference/geometry/sampleTextContours.md +5 -1
- package/dist/docs/reference/geometry/sampleThreadHelices.md +6 -2
- package/dist/docs/reference/geometry/scale2.md +6 -5
- package/dist/docs/reference/geometry/scale3.md +6 -5
- package/dist/docs/reference/geometry/scaleTransform3.md +7 -6
- package/dist/docs/reference/geometry/signedContourArea.md +5 -1
- package/dist/docs/reference/geometry/starContour.md +8 -4
- package/dist/docs/reference/geometry/strokeRegionData.md +67 -0
- package/dist/docs/reference/geometry/subtract2.md +7 -6
- package/dist/docs/reference/geometry/subtract3.md +7 -6
- package/dist/docs/reference/geometry/sweepMesh.md +13 -9
- package/dist/docs/reference/geometry/{createThreadProfile.md → threadProfile.md} +10 -6
- package/dist/docs/reference/geometry/transform2.md +14 -7
- package/dist/docs/reference/geometry/transform3.md +16 -7
- package/dist/docs/reference/geometry/transformDeterminant3.md +5 -4
- package/dist/docs/reference/geometry/transformRegionData.md +5 -1
- package/dist/docs/reference/geometry/transformTriangleMesh.md +10 -6
- package/dist/docs/reference/geometry/translationTransform3.md +7 -6
- package/dist/docs/reference/geometry/triangulateContour.md +5 -1
- package/dist/docs/reference/geometry/validateSolidMesh.md +10 -3
- package/dist/docs/reference/geometry/validateTransform3.md +6 -5
- package/dist/docs/reference/geometry/validateTriangleMesh.md +5 -1
- package/dist/docs/reference/geometry/vector2.md +10 -2
- package/dist/docs/reference/geometry/vector3.md +10 -2
- package/dist/docs/reference/geometry.md +8 -6
- package/dist/docs/reference/model/Anchor3.md +6 -5
- package/dist/docs/reference/model/AttachOptions.md +11 -5
- package/dist/docs/reference/model/Bounds2-type.md +125 -0
- package/dist/docs/reference/model/Bounds2Data.md +44 -0
- package/dist/docs/reference/model/Bounds2Input.md +19 -0
- package/dist/docs/reference/model/Bounds3-type.md +125 -0
- package/dist/docs/reference/model/Bounds3Data.md +44 -0
- package/dist/docs/reference/model/Bounds3Input.md +19 -0
- package/dist/docs/reference/model/BoxEdge.md +1 -1
- package/dist/docs/reference/model/BoxEdgeSelection.md +1 -1
- package/dist/docs/reference/model/BoxEdgeTreatments.md +1 -1
- package/dist/docs/reference/model/BoxOptions.md +10 -10
- package/dist/docs/reference/model/ChamferedEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/CircleContourOptions.md +1 -1
- package/dist/docs/reference/model/CircleOptions.md +3 -3
- package/dist/docs/reference/model/CircularPrimitiveOptions.md +1 -1
- package/dist/docs/reference/model/Computed.md +6 -1
- package/dist/docs/reference/model/ComputedValue.md +5 -1
- package/dist/docs/reference/model/Contour.md +6 -4
- package/dist/docs/reference/model/CorrespondingComponent.md +1 -1
- package/dist/docs/reference/model/CorrespondingContour.md +1 -1
- package/dist/docs/reference/model/CorrespondingProfile.md +1 -1
- package/dist/docs/reference/model/CorrespondingProfileStation.md +1 -1
- package/dist/docs/reference/model/CylinderOptions.md +3 -3
- package/dist/docs/reference/model/DiagnosticOptions.md +6 -1
- package/dist/docs/reference/model/EdgeTreatment.md +1 -1
- package/dist/docs/reference/model/EllipseContourOptions.md +3 -3
- package/dist/docs/reference/model/EllipseOptions.md +3 -3
- package/dist/docs/reference/model/EndTreatments.md +1 -1
- package/dist/docs/reference/model/ExtrudeOptions.md +6 -6
- package/dist/docs/reference/model/FinalizedModel.md +20 -10
- package/dist/docs/reference/model/FinalizedPart.md +1 -1
- package/dist/docs/reference/model/Frame3.md +6 -6
- package/dist/docs/reference/model/GenerateCallback.md +5 -1
- package/dist/docs/reference/model/GenerateContext.md +5 -1
- package/dist/docs/reference/model/GeneratedPart.md +5 -1
- package/dist/docs/reference/model/GenerationDiagnostic.md +6 -1
- package/dist/docs/reference/model/GenerationError.md +5 -1
- package/dist/docs/reference/model/GeometryResolution.md +5 -5
- package/dist/docs/reference/model/GeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/model/GeometryToleranceOptions.md +1 -1
- package/dist/docs/reference/model/GridPatternOptions.md +12 -5
- package/dist/docs/reference/model/HeightfieldOptions.md +5 -5
- package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +4 -3
- package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +3 -2
- package/dist/docs/reference/model/HullOptions.md +5 -5
- package/dist/docs/reference/model/ImmutableBuffer-type.md +5 -1
- package/dist/docs/reference/model/ImmutableTriangleMesh.md +5 -1
- package/dist/docs/reference/model/ImplicitOptions.md +6 -6
- package/dist/docs/reference/model/InternalThreadCutterOptions.md +5 -4
- package/dist/docs/reference/model/KnuckleHinge-type.md +47 -0
- package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +77 -0
- package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +34 -0
- package/dist/docs/reference/model/KnuckleHingeOptions.md +38 -0
- package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +47 -0
- package/dist/docs/reference/model/KnuckleHingeSpec.md +18 -0
- package/dist/docs/reference/model/KnuckleHingeWeb.md +53 -0
- package/dist/docs/reference/model/LinearPatternOptions.md +13 -5
- package/dist/docs/reference/model/LoftCorrespondence.md +1 -1
- package/dist/docs/reference/model/LoftOptions.md +1 -1
- package/dist/docs/reference/model/LoftPlacement.md +1 -1
- package/dist/docs/reference/model/LoftStation.md +3 -3
- package/dist/docs/reference/model/MatchProfilesOptions.md +1 -1
- package/dist/docs/reference/model/ModelProgram.md +5 -1
- package/dist/docs/reference/model/ModelingLimits.md +1 -1
- package/dist/docs/reference/model/NumericArray.md +8 -1
- package/dist/docs/reference/model/PartGeometry.md +5 -1
- package/dist/docs/reference/model/PartOptions.md +5 -1
- package/dist/docs/reference/model/Path2-type.md +196 -0
- package/dist/docs/reference/model/Path2Data.md +50 -0
- package/dist/docs/reference/model/Path2Input.md +20 -0
- package/dist/docs/reference/model/Path3-type.md +196 -0
- package/dist/docs/reference/model/Path3Data.md +50 -0
- package/dist/docs/reference/model/Path3Input.md +20 -0
- package/dist/docs/reference/model/PathLocation.md +69 -0
- package/dist/docs/reference/model/PathNormalGuide.md +6 -5
- package/dist/docs/reference/model/PathOptions.md +38 -0
- package/dist/docs/reference/model/PathPatternOptions.md +4 -3
- package/dist/docs/reference/model/PathResamplingOptions.md +83 -0
- package/dist/docs/reference/model/PatternSource.md +2 -1
- package/dist/docs/reference/model/Pivot2Options.md +2 -1
- package/dist/docs/reference/model/Pivot3Options.md +2 -1
- package/dist/docs/reference/model/PlaneOptions.md +3 -3
- package/dist/docs/reference/model/PolygonData.md +3 -2
- package/dist/docs/reference/model/PolygonOptions.md +8 -8
- package/dist/docs/reference/model/{PrimitivePlacement.md → PrimitiveAttachment.md} +8 -7
- package/dist/docs/reference/model/{PrimitivePlacementOptions.md → PrimitiveAttachmentOptions.md} +42 -20
- package/dist/docs/reference/model/PrintableThreadFit.md +2 -1
- package/dist/docs/reference/model/PrintableThreadFitPolicy.md +2 -1
- package/dist/docs/reference/model/Profile.md +4 -2
- package/dist/docs/reference/model/ProfileComponent2.md +1 -1
- package/dist/docs/reference/model/ProfileContour2.md +4 -2
- package/dist/docs/reference/model/ProfileSpan2.md +3 -3
- package/dist/docs/reference/model/ProfiledEdgeTreatment.md +3 -3
- package/dist/docs/reference/model/RadialPatternOptions.md +18 -22
- package/dist/docs/reference/model/RadialSizing.md +1 -1
- package/dist/docs/reference/model/RadialSizingOptions.md +1 -1
- package/dist/docs/reference/model/RectangleContourOptions.md +3 -3
- package/dist/docs/reference/model/RectangleCornerTreatment.md +1 -1
- package/dist/docs/reference/model/RectangleCornerTreatments.md +1 -1
- package/dist/docs/reference/model/RectangleOptions.md +10 -10
- package/dist/docs/reference/model/RegionData.md +2 -2
- package/dist/docs/reference/model/RegularPolygonOptions.md +5 -5
- package/dist/docs/reference/model/RevolveOptions.md +9 -4
- package/dist/docs/reference/model/RoundedEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/Section.md +20 -12
- package/dist/docs/reference/model/SectionHullOptions.md +5 -5
- package/dist/docs/reference/model/SectionInspection.md +10 -10
- package/dist/docs/reference/model/SectionOffsetJoin.md +1 -1
- package/dist/docs/reference/model/SectionOffsetOptions.md +1 -1
- package/dist/docs/reference/model/SmoothEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/Solid.md +31 -7
- package/dist/docs/reference/model/SolidInspection.md +7 -7
- package/dist/docs/reference/model/{SolidRayHit.md → SolidSegmentHit.md} +6 -6
- package/dist/docs/reference/model/SphereOptions.md +3 -3
- package/dist/docs/reference/model/StarOptions.md +10 -10
- package/dist/docs/reference/model/{StrokePathCap.md → StrokeCap.md} +3 -3
- package/dist/docs/reference/model/{StrokePathJoin.md → StrokeJoin.md} +3 -3
- package/dist/docs/reference/model/StrokeOptions.md +6 -6
- package/dist/docs/reference/model/SvgOrigin.md +1 -1
- package/dist/docs/reference/model/SvgPathSectionOptions.md +1 -1
- package/dist/docs/reference/model/SvgSectionOptions.md +1 -1
- package/dist/docs/reference/model/SweepOptions.md +6 -6
- package/dist/docs/reference/model/SweepOrientation.md +7 -7
- package/dist/docs/reference/model/TextSectionOptions.md +1 -1
- package/dist/docs/reference/model/ThreadEndStyle.md +2 -1
- package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +2 -1
- package/dist/docs/reference/model/ThreadHandedness.md +2 -1
- package/dist/docs/reference/model/ThreadLeadInEnvelope.md +2 -1
- package/dist/docs/reference/model/ThreadLeadInShape.md +2 -1
- package/dist/docs/reference/model/ThreadProfile.md +4 -3
- package/dist/docs/reference/model/ThreadRidgeOptions.md +2 -1
- package/dist/docs/reference/model/ThreadedNutBevel.md +2 -1
- package/dist/docs/reference/model/ThreadedNutOptions.md +5 -4
- package/dist/docs/reference/model/ThreadedNutPreflight.md +4 -3
- package/dist/docs/reference/model/ThreadedNutShape.md +2 -1
- package/dist/docs/reference/model/ThreadedRodOptions.md +5 -4
- package/dist/docs/reference/model/TorusOptions.md +8 -8
- package/dist/docs/reference/model/Transform2-type.md +6 -5
- package/dist/docs/reference/model/Transform2Data.md +16 -0
- package/dist/docs/reference/model/Transform2Input.md +4 -3
- package/dist/docs/reference/model/Transform3-type.md +6 -5
- package/dist/docs/reference/model/Transform3Data.md +19 -0
- package/dist/docs/reference/model/Transform3Input.md +4 -3
- package/dist/docs/reference/model/TriangleMesh.md +1 -1
- package/dist/docs/reference/model/TriangleMeshAnalysis.md +4 -4
- package/dist/docs/reference/model/TriangleMeshMeasurements.md +3 -3
- package/dist/docs/reference/model/TubeOptions.md +8 -8
- package/dist/docs/reference/model/Vector2-type.md +6 -5
- package/dist/docs/reference/model/{Vector2Tuple.md → Vector2Data.md} +3 -3
- package/dist/docs/reference/model/Vector2Input.md +4 -3
- package/dist/docs/reference/model/Vector3-type.md +6 -5
- package/dist/docs/reference/model/{Vector3Tuple.md → Vector3Data.md} +3 -3
- package/dist/docs/reference/model/Vector3Input.md +4 -3
- package/dist/docs/reference/model/VectorTextLayout.md +1 -1
- package/dist/docs/reference/model/VectorTextMetrics.md +3 -3
- package/dist/docs/reference/model/anchor.md +2 -1
- package/dist/docs/reference/model/bounds2.md +36 -0
- package/dist/docs/reference/model/bounds3.md +36 -0
- package/dist/docs/reference/model/box.md +4 -4
- package/dist/docs/reference/model/castSegment.md +40 -0
- package/dist/docs/reference/model/categories/boolean-operations.md +10 -3
- package/dist/docs/reference/model/categories/bounded-surfaces.md +5 -3
- package/dist/docs/reference/model/categories/bounds.md +36 -0
- package/dist/docs/reference/model/categories/contracts.md +4 -2
- package/dist/docs/reference/model/categories/core-values-errors.md +11 -11
- package/dist/docs/reference/model/categories/explicit-profiles.md +7 -5
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +12 -3
- package/dist/docs/reference/model/categories/generation.md +11 -2
- package/dist/docs/reference/model/categories/hinges.md +38 -0
- package/dist/docs/reference/model/categories/inspection.md +12 -6
- package/dist/docs/reference/model/categories/mesh-inspection.md +5 -3
- package/dist/docs/reference/model/categories/paths.md +41 -0
- package/dist/docs/reference/model/categories/primitives.md +10 -4
- package/dist/docs/reference/model/categories/resolution.md +4 -2
- package/dist/docs/reference/model/categories/sections.md +12 -8
- package/dist/docs/reference/model/categories/threads.md +11 -8
- package/dist/docs/reference/model/categories/transforms-placement.md +23 -15
- package/dist/docs/reference/model/circle.md +1 -1
- package/dist/docs/reference/model/components.md +6 -6
- package/dist/docs/reference/model/compose.md +1 -1
- package/dist/docs/reference/model/cylinder.md +1 -1
- package/dist/docs/reference/model/distance.md +1 -1
- package/dist/docs/reference/model/ellipse.md +1 -1
- package/dist/docs/reference/model/extrude.md +3 -3
- package/dist/docs/reference/model/generate.md +5 -1
- package/dist/docs/reference/model/gridPattern.md +5 -4
- package/dist/docs/reference/model/heightfield.md +5 -2
- package/dist/docs/reference/model/hull.md +1 -1
- package/dist/docs/reference/model/immutableBuffer.md +5 -1
- package/dist/docs/reference/model/immutableMesh.md +5 -1
- package/dist/docs/reference/model/implicit.md +3 -3
- package/dist/docs/reference/model/inspectSection.md +1 -1
- package/dist/docs/reference/model/inspectSolid.md +1 -1
- package/dist/docs/reference/model/internalThreadCutter.md +5 -4
- package/dist/docs/reference/model/intersect.md +1 -1
- package/dist/docs/reference/model/isEmpty.md +1 -1
- package/dist/docs/reference/model/knuckleHinge.md +47 -0
- package/dist/docs/reference/model/linearPattern.md +5 -4
- package/dist/docs/reference/model/loft.md +1 -1
- package/dist/docs/reference/model/matchProfiles.md +2 -2
- package/dist/docs/reference/model/minkowskiSum.md +1 -1
- package/dist/docs/reference/model/path2.md +54 -0
- package/dist/docs/reference/model/path3.md +49 -0
- package/dist/docs/reference/model/pathPattern.md +14 -12
- package/dist/docs/reference/model/polygon.md +8 -5
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +9 -3
- package/dist/docs/reference/model/preflightThreadedNut.md +9 -3
- package/dist/docs/reference/model/preflightThreadedRod.md +9 -3
- package/dist/docs/reference/model/radialPattern.md +6 -37
- package/dist/docs/reference/model/rectangle.md +7 -4
- package/dist/docs/reference/model/regularPolygon.md +1 -1
- package/dist/docs/reference/model/revolve.md +5 -4
- package/dist/docs/reference/model/solidFromMesh.md +1 -1
- package/dist/docs/reference/model/sphere.md +1 -1
- package/dist/docs/reference/model/split.md +1 -1
- package/dist/docs/reference/model/splitByPlane.md +1 -1
- package/dist/docs/reference/model/star.md +4 -4
- package/dist/docs/reference/model/stroke.md +8 -8
- package/dist/docs/reference/model/svgPathSection.md +1 -1
- package/dist/docs/reference/model/svgSection.md +1 -1
- package/dist/docs/reference/model/sweep.md +7 -7
- package/dist/docs/reference/model/textSection.md +1 -1
- package/dist/docs/reference/model/threadRidge.md +3 -2
- package/dist/docs/reference/model/threadedNut.md +5 -4
- package/dist/docs/reference/model/threadedRod.md +5 -4
- package/dist/docs/reference/model/torus.md +3 -3
- package/dist/docs/reference/model/transform2.md +14 -7
- package/dist/docs/reference/model/transform3.md +16 -7
- package/dist/docs/reference/model/tube.md +3 -3
- package/dist/docs/reference/model/union.md +1 -1
- package/dist/docs/reference/model/vector2.md +10 -2
- package/dist/docs/reference/model/vector3.md +10 -2
- package/dist/docs/reference/model.md +17 -9
- package/dist/docs/reference/text/Bounds2Data.md +34 -0
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +1 -1
- package/dist/docs/reference/text/Vector2Data.md +7 -0
- package/dist/docs/reference/text/VectorFont.md +2 -2
- package/dist/docs/reference/text/VectorFontOptions.md +1 -1
- package/dist/docs/reference/text/VectorTextArcBaseline.md +3 -3
- package/dist/docs/reference/text/VectorTextLayout.md +1 -1
- package/dist/docs/reference/text/VectorTextLayoutOptions.md +1 -1
- package/dist/docs/reference/text/VectorTextMetrics.md +3 -3
- package/dist/docs/reference/text/VectorTextOptions.md +1 -1
- package/dist/docs/reference/text/categories/font-preparation.md +8 -6
- package/dist/docs/reference/text/prepareVectorFont.md +2 -2
- package/dist/docs/reference/text.md +4 -2
- package/dist/engine/construction-operations.js +31 -14
- package/dist/engine/execution.js +39 -8
- package/dist/engine/extrusion-finishing.js +1 -1
- package/dist/engine/index.js +6 -1
- package/dist/engine/inspection-operations.js +13 -11
- package/dist/engine/knuckle-hinge-operation.js +85 -0
- package/dist/engine/loft-operations.js +35 -14
- package/dist/engine/mechanical-operations.js +3 -1
- package/dist/engine/model-summary.js +8 -5
- package/dist/engine/modeling-context.js +8 -1
- package/dist/engine/native/material-components.js +305 -0
- package/dist/engine/native/regions.js +2 -1
- package/dist/engine/native/threads.js +3 -3
- package/dist/engine/native/transforms.js +5 -7
- package/dist/engine/operation-environment.js +2 -2
- package/dist/engine/pattern-operations.js +1 -1
- package/dist/engine/placement.js +2 -2
- package/dist/engine/primitive-anchors.js +17 -17
- package/dist/engine/primitive-operations.js +1 -1
- package/dist/engine/primitive-profiles.js +7 -7
- package/dist/engine/profile-mesh.js +7 -7
- package/dist/engine/recipe-realization.js +10 -2
- package/dist/engine/section-operations.js +33 -8
- package/dist/engine/session-snapshot.js +14 -4
- package/dist/engine/session.js +10 -5
- package/dist/engine/shape-anchors.js +3 -3
- package/dist/engine/transform-operations.js +27 -27
- package/dist/geometry/anchors.js +40 -33
- package/dist/geometry/bounds-value.js +93 -0
- package/dist/geometry/bounds.js +10 -8
- package/dist/geometry/curves/sampling.js +15 -16
- package/dist/geometry/edge-finishing.js +1 -1
- package/dist/geometry/errors.js +1 -0
- package/dist/geometry/extrusion.js +13 -16
- package/dist/geometry/heightfield.js +12 -1
- package/dist/geometry/index.js +12 -11
- package/dist/geometry/loft/loft-simple-mesh.js +6 -6
- package/dist/geometry/loft/loft.js +22 -13
- package/dist/geometry/math/immutable-value.js +1 -1
- package/dist/geometry/math/vector-value.js +11 -3
- package/dist/geometry/math/vector2.js +1 -0
- package/dist/geometry/math/vector3.js +1 -0
- package/dist/geometry/mechanical/gear-motion.js +3 -3
- package/dist/geometry/mechanical/gears.js +38 -38
- package/dist/geometry/mechanical/index.js +4 -3
- package/dist/geometry/mechanical/knuckle-hinge.js +110 -0
- package/dist/geometry/mechanical/standards.js +1 -1
- package/dist/geometry/mechanical/thread-helices.js +2 -3
- package/dist/geometry/mechanical/thread-mesh-plan.js +11 -7
- package/dist/geometry/mechanical/thread-mesh.js +7 -7
- package/dist/geometry/mechanical/thread-profiles.js +5 -5
- package/dist/geometry/mechanical/thread-solids.js +31 -6
- package/dist/geometry/mechanical/thread-surface.js +1 -1
- package/dist/geometry/mechanical/threads.js +8 -8
- package/dist/geometry/mesh/mesh-centroid.js +1 -0
- package/dist/geometry/mesh/mesh-planar.js +25 -27
- package/dist/geometry/mesh/mesh-quality.js +5 -5
- package/dist/geometry/mesh/mesh-signature.js +13 -13
- package/dist/geometry/mesh/mesh-solid.js +8 -7
- package/dist/geometry/mesh/mesh.js +4 -15
- package/dist/geometry/paths/closest-point.js +8 -19
- package/dist/geometry/paths/frames.js +42 -11
- package/dist/geometry/paths/helix.js +17 -6
- package/dist/geometry/paths/path-value.js +268 -0
- package/dist/geometry/paths/planar.js +36 -23
- package/dist/geometry/paths/resampling.js +27 -5
- package/dist/geometry/patterns/placements.js +100 -27
- package/dist/geometry/patterns.js +5 -3
- package/dist/geometry/polygon-clipping.js +17 -0
- package/dist/geometry/profiles/contour.js +7 -6
- package/dist/geometry/profiles/matched.js +5 -4
- package/dist/geometry/profiles/profiles.js +4 -4
- package/dist/geometry/profiles/rectangle.js +14 -5
- package/dist/geometry/profiles/side-profile.js +9 -7
- package/dist/geometry/profiles/span-sampling.js +1 -1
- package/dist/geometry/resolution.js +34 -34
- package/dist/geometry/revolve/revolve-mesh.js +12 -7
- package/dist/geometry/stroke-path.js +12 -27
- package/dist/geometry/svg/fill.js +7 -21
- package/dist/geometry/svg-import.js +31 -25
- package/dist/geometry/sweeps/options.js +5 -4
- package/dist/geometry/sweeps/orientation.js +5 -5
- package/dist/geometry/sweeps/stations.js +10 -10
- package/dist/geometry/sweeps/sweep-closed.js +2 -2
- package/dist/geometry/sweeps/sweep-mesh.js +9 -3
- package/dist/geometry/sweeps/sweep-open.js +1 -1
- package/dist/geometry/sweeps/validation.js +4 -7
- package/dist/geometry/text-fitting.js +1 -0
- package/dist/geometry/transform-geometry.js +7 -14
- package/dist/geometry/transform-matrix.js +1 -1
- package/dist/geometry/{transform-chain.js → transform-value.js} +24 -15
- package/dist/index.js +3 -1
- package/dist/model/execution-binding.js +3 -3
- package/dist/model/geometry-recipes.js +1 -1
- package/dist/model/immutable-generation-data.js +62 -10
- package/dist/model/knuckle-hinge.js +1 -0
- package/dist/model/operations.js +79 -26
- package/dist/model/recipe-declaration.js +21 -7
- package/dist/model/shape-handles.js +2 -1
- package/dist/text/index.js +15 -9
- package/dist/text/vector-text-layout.js +31 -26
- package/package.json +1 -1
- package/dist/docs/reference/geometry/Bounds2.md +0 -39
- package/dist/docs/reference/geometry/Bounds3.md +0 -39
- package/dist/docs/reference/geometry/ClosestPointOnPathOptions.md +0 -34
- package/dist/docs/reference/geometry/ClosestPointOnPathResult.md +0 -65
- package/dist/docs/reference/geometry/Path2.md +0 -14
- package/dist/docs/reference/geometry/Path3.md +0 -14
- package/dist/docs/reference/geometry/PrimitivePlacement.md +0 -31
- package/dist/docs/reference/geometry/PrimitivePlacementOptions.md +0 -83
- package/dist/docs/reference/geometry/StrokePathCap.md +0 -7
- package/dist/docs/reference/geometry/StrokePathJoin.md +0 -7
- package/dist/docs/reference/geometry/Transform2Matrix.md +0 -14
- package/dist/docs/reference/geometry/Transform3Matrix.md +0 -17
- package/dist/docs/reference/geometry/Vector2Tuple.md +0 -14
- package/dist/docs/reference/geometry/Vector3Tuple.md +0 -14
- package/dist/docs/reference/geometry/closestPointOnPath.md +0 -110
- package/dist/docs/reference/geometry/cumulativePathLengths.md +0 -33
- package/dist/docs/reference/geometry/measureTriangleMesh.md +0 -55
- package/dist/docs/reference/geometry/pathLength.md +0 -33
- package/dist/docs/reference/geometry/strokePathRegion.md +0 -63
- package/dist/docs/reference/geometry/transformContour.md +0 -42
- package/dist/docs/reference/geometry/transformPath2.md +0 -40
- package/dist/docs/reference/geometry/transformPath3.md +0 -33
- package/dist/docs/reference/model/Bounds2.md +0 -39
- package/dist/docs/reference/model/Bounds3.md +0 -39
- package/dist/docs/reference/model/Path2.md +0 -20
- package/dist/docs/reference/model/Transform2Matrix.md +0 -15
- package/dist/docs/reference/model/Transform3Matrix.md +0 -18
- package/dist/docs/reference/model/rayCast.md +0 -40
- package/dist/docs/reference/model/toTriangleMesh.md +0 -27
- package/dist/docs/reference/text/Bounds2.md +0 -34
- package/dist/docs/reference/text/Vector2Tuple.md +0 -7
- package/dist/geometry/paths/path.js +0 -32
|
@@ -1,17 +1,24 @@
|
|
|
1
|
-
# Transforms,
|
|
1
|
+
# Transforms, vectors, and placement
|
|
2
2
|
|
|
3
3
|
Calculate with immutable vectors, reuse transforms, and arrange geometry with explicit placement contracts.
|
|
4
4
|
|
|
5
|
-
Use vector2
|
|
5
|
+
Use `vector2`/`vector3` for immutable arithmetic and `transform2`/`transform3` for reusable placements. Tuples are accepted as operands; `dot()`, `length()`, and `distance()` return numbers. Shape `transform()` methods accept matching transforms directly.
|
|
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
|
+
- **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
|
+
- **Solid patterns:** use XYZ inputs and explicit radial axes. Path tangent orientation aligns local +Z.
|
|
6
13
|
|
|
7
14
|
## Functions
|
|
8
15
|
|
|
9
16
|
| API | Summary |
|
|
10
17
|
| --- | --- |
|
|
11
|
-
| [transform2](../transform2.md) | Creates an immutable XY transform, identity by default.
|
|
12
|
-
| [transform3](../transform3.md) | Creates an immutable XYZ transform, identity by default.
|
|
13
|
-
| [vector2](../vector2.md) | Creates immutable XY arithmetic from a finite tuple or vector, snapshotting the coordinates.
|
|
14
|
-
| [vector3](../vector3.md) | Creates immutable XYZ arithmetic from a finite tuple or vector, snapshotting the coordinates.
|
|
18
|
+
| [transform2](../transform2.md) | Creates an immutable XY transform, identity by default. |
|
|
19
|
+
| [transform3](../transform3.md) | Creates an immutable XYZ transform, identity by default. |
|
|
20
|
+
| [vector2](../vector2.md) | Creates immutable XY arithmetic from a finite tuple or vector, snapshotting the coordinates. |
|
|
21
|
+
| [vector3](../vector3.md) | Creates immutable XYZ arithmetic from a finite tuple or vector, snapshotting the coordinates. |
|
|
15
22
|
| [anchor](../anchor.md) | Reads a copied, immutable named anchor from this exact active generation. |
|
|
16
23
|
| [gridPattern](../gridPattern.md) | XY or XYZ copies, optionally centered or placed in an explicit frame. |
|
|
17
24
|
| [linearPattern](../linearPattern.md) | Repeats one solid along a normalized direction. |
|
|
@@ -29,11 +36,10 @@ Use vector2/vector3 for immutable arithmetic and transform2/transform3 for reusa
|
|
|
29
36
|
| [Vector2](../Vector2-type.md) | Immutable XY arithmetic; vector operations return new values and measurements return numbers. |
|
|
30
37
|
| [Vector3](../Vector3-type.md) | Immutable XYZ arithmetic; vector operations return new values and measurements return numbers. |
|
|
31
38
|
| [Anchor3](../Anchor3.md) | An attachment pose on a solid or assembly. |
|
|
32
|
-
| [AttachOptions](../AttachOptions.md) |
|
|
39
|
+
| [AttachOptions](../AttachOptions.md) | Options controlling how one anchor is attached to another. |
|
|
33
40
|
| [PathPatternOptions](../PathPatternOptions.md) | Equal physical arc-length placements along an open or implicitly closed sampled path. |
|
|
34
|
-
| [
|
|
35
|
-
| [
|
|
36
|
-
| [RadialPatternOptions](../RadialPatternOptions.md) | Options for repeating one solid around an axis through a center point. |
|
|
41
|
+
| [PrimitiveAttachment](../PrimitiveAttachment.md) | Anchor attachment shared by solid and filled-section factories. |
|
|
42
|
+
| [PrimitiveAttachmentOptions](../PrimitiveAttachmentOptions.md) | Maps an explicit or named shape-local attachment anchor onto a world-space anchor. |
|
|
37
43
|
|
|
38
44
|
## Type aliases
|
|
39
45
|
|
|
@@ -43,15 +49,17 @@ Use vector2/vector3 for immutable arithmetic and transform2/transform3 for reusa
|
|
|
43
49
|
| [Transform3Input](../Transform3Input.md) | An immutable XYZ transform or its canonical row-major matrix for interchange. |
|
|
44
50
|
| [Vector2Input](../Vector2Input.md) | An XY tuple or immutable fluent vector accepted by vector operations. |
|
|
45
51
|
| [Vector3Input](../Vector3Input.md) | An XYZ tuple or immutable fluent vector accepted by vector operations. |
|
|
46
|
-
| [GridPatternOptions](../GridPatternOptions.md) | XY or XYZ grid with X varying fastest. The first item starts at the local origin. |
|
|
47
|
-
| [LinearPatternOptions](../LinearPatternOptions.md) | Equal linear intervals determined by exactly two of count, spacing and total length. |
|
|
52
|
+
| [GridPatternOptions](../GridPatternOptions.md) | XY or XYZ grid with X varying fastest. The first item starts at the local origin. Dimension 2 restricts counts and spacing to XY; any frame must preserve the XY plane. |
|
|
53
|
+
| [LinearPatternOptions](../LinearPatternOptions.md) | Equal linear intervals determined by exactly two of count, spacing and total length. Dimension defaults to 3; Section patterns use 2 and accept XY vector directions. |
|
|
48
54
|
| [PatternSource](../PatternSource.md) | One immutable shape, or a synchronous factory called once per copy in index order. |
|
|
49
|
-
| [
|
|
50
|
-
| [
|
|
55
|
+
| [RadialPatternOptions](../RadialPatternOptions.md) | Degree rotations about a fixed world-space pivot; XY patterns use the implicit +Z axis. |
|
|
56
|
+
| [Transform2Data](../Transform2Data.md) | A row-major affine 3x3 XY matrix applied to column vectors. Translation occupies indices 2 and 5; the final row is `[0, 0, 1]`. |
|
|
57
|
+
| [Transform3Data](../Transform3Data.md) | A row-major affine 4x4 matrix applied to column vectors. |
|
|
51
58
|
|
|
52
59
|
## Guides
|
|
53
60
|
|
|
54
61
|
- [Named anchors and custom frames](../../../guides/recipes.md#named-anchors-and-custom-frames)
|
|
55
62
|
- [Primitive booleans and repeated placement](../../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
63
|
+
- [Fluent values and standalone algorithms](../../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
56
64
|
|
|
57
|
-
Package: `@metamesh/modeling@0.
|
|
65
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -36,4 +36,4 @@ circle({ diameter: 12, sizing: "face" });
|
|
|
36
36
|
- [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
37
37
|
- [Text and font variability](../../guides/concepts.md#text-and-font-variability)
|
|
38
38
|
|
|
39
|
-
Package: `@metamesh/modeling@0.
|
|
39
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# components
|
|
2
2
|
|
|
3
|
-
Observes
|
|
3
|
+
Observes disconnected material pieces as session-restricted solid selections.
|
|
4
4
|
|
|
5
5
|
## Call Signature
|
|
6
6
|
|
|
@@ -19,11 +19,11 @@ const pieces = components(islands);
|
|
|
19
19
|
union(pieces.map((piece, index) => piece.translate([0, 0, index * 6])));
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
Observes
|
|
22
|
+
Observes disconnected material pieces as session-restricted solid selections.
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
Each piece retains its enclosed cavities. A sealed hollow box is one component; adding a loose
|
|
25
|
+
ball inside its cavity produces two. Recombining the pieces preserves the original material.
|
|
26
|
+
This does not cut connected geometry. Containment is bounded to 2,000,000 comparisons.
|
|
27
27
|
Selection order and cardinality depend on evaluated topology. Results and recipes using them
|
|
28
28
|
can only be evaluated in this session; composition itself requires no engine.
|
|
29
29
|
|
|
@@ -68,4 +68,4 @@ readonly [`Section`](Section.md)[]
|
|
|
68
68
|
- [Section](Section.md)
|
|
69
69
|
- [Solid](Solid.md)
|
|
70
70
|
|
|
71
|
-
Package: `@metamesh/modeling@0.
|
|
71
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -28,4 +28,4 @@ Combines disjoint components without resolving overlap.
|
|
|
28
28
|
- [Choose the Boolean by the material you want](../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
|
|
29
29
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
30
30
|
|
|
31
|
-
Package: `@metamesh/modeling@0.
|
|
31
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -49,4 +49,4 @@ cylinder({ height: 20, radius: [10, 0] });
|
|
|
49
49
|
- [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
|
|
50
50
|
- [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
51
51
|
|
|
52
|
-
Package: `@metamesh/modeling@0.
|
|
52
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -36,4 +36,4 @@ ellipse({ size: [30, 20] });
|
|
|
36
36
|
- [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
37
37
|
- [Text and font variability](../../guides/concepts.md#text-and-font-variability)
|
|
38
38
|
|
|
39
|
-
Package: `@metamesh/modeling@0.
|
|
39
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -52,11 +52,11 @@ extrude(profile!, { height: 8 });
|
|
|
52
52
|
|
|
53
53
|
Operation-level physical policy over the nearest model scope.
|
|
54
54
|
|
|
55
|
-
- [`scaleTop`](ExtrudeOptions.md#scaletop) · `number` \| [`
|
|
55
|
+
- [`scaleTop`](ExtrudeOptions.md#scaletop) · `number` \| [`Vector2Input`](Vector2Input.md) · Optional
|
|
56
56
|
|
|
57
57
|
Finite uniform or XY scale of the top profile; defaults to one.
|
|
58
58
|
|
|
59
|
-
- [`
|
|
59
|
+
- [`twist`](ExtrudeOptions.md#twist) · `number` · Optional
|
|
60
60
|
|
|
61
61
|
Finite rotation of the top profile about +Z, in degrees; defaults to zero.
|
|
62
62
|
|
|
@@ -80,4 +80,4 @@ extrude(profile!, { height: 8 });
|
|
|
80
80
|
- [Matched-section loft](../../guides/recipes.md#matched-section-loft)
|
|
81
81
|
- [Choose a modeling path](../../guides/concepts.md#choose-a-modeling-path)
|
|
82
82
|
|
|
83
|
-
Package: `@metamesh/modeling@0.
|
|
83
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -43,4 +43,8 @@ const model = generate<{ height: number }>(({ params, part, assert }) => {
|
|
|
43
43
|
- [GenerateCallback](GenerateCallback.md)
|
|
44
44
|
- [ModelProgram](ModelProgram.md)
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
## Guides
|
|
47
|
+
|
|
48
|
+
- [Complete standalone model example](../../guides/standalone-model.md#minimal-model-entry)
|
|
49
|
+
|
|
50
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -40,11 +40,11 @@ readonly [`Solid`](Solid.md)[]
|
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
|
|
43
|
-
**gridPattern**(`source`: [`PatternSource`](PatternSource.md)\<[`Section`](Section.md)\>, `options`: [`GridPatternOptions`](GridPatternOptions.md)): readonly [`Section`](Section.md)[]
|
|
43
|
+
**gridPattern**(`source`: [`PatternSource`](PatternSource.md)\<[`Section`](Section.md)\>, `options`: [`GridPatternOptions`](GridPatternOptions.md)\<`2`\>): readonly [`Section`](Section.md)[]
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
|
|
47
|
-
Repeats a filled Section on
|
|
47
|
+
Repeats a filled Section on an XY grid; any explicit frame must preserve the XY plane.
|
|
48
48
|
|
|
49
49
|
### Parameters
|
|
50
50
|
|
|
@@ -56,7 +56,7 @@ Repeats a filled Section on a grid; placements must preserve its XY plane.
|
|
|
56
56
|
|
|
57
57
|
<a id="options-1"></a>
|
|
58
58
|
|
|
59
|
-
**`options`** · [`GridPatternOptions`](GridPatternOptions.md) · Required
|
|
59
|
+
**`options`** · [`GridPatternOptions`](GridPatternOptions.md)\<`2`\> · Required
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
|
|
@@ -76,5 +76,6 @@ readonly [`Section`](Section.md)[]
|
|
|
76
76
|
|
|
77
77
|
- [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
|
|
78
78
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
79
|
+
- [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
79
80
|
|
|
80
|
-
Package: `@metamesh/modeling@0.
|
|
81
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# heightfield
|
|
2
2
|
|
|
3
|
-
Closed rectilinear top above a flat base, with uniform or explicit XY coordinates.
|
|
3
|
+
Closed rectilinear top above a flat base, with uniform or explicit XY coordinates.
|
|
4
4
|
|
|
5
5
|
**heightfield**(`options`: [`HeightfieldOptions`](HeightfieldOptions.md)): [`Solid`](Solid.md)
|
|
6
6
|
|
|
@@ -19,6 +19,9 @@ heightfield({
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
|
|
22
|
+
Samples each grid height once; center-error triangulation also samples each cell centre.
|
|
23
|
+
The retained callback must capture independent immutable inputs, not live session readers or parameters.
|
|
24
|
+
|
|
22
25
|
## Parameters
|
|
23
26
|
|
|
24
27
|
<a id="options"></a>
|
|
@@ -37,4 +40,4 @@ heightfield({
|
|
|
37
40
|
- [HeightfieldOptions](HeightfieldOptions.md)
|
|
38
41
|
- [Solid](Solid.md)
|
|
39
42
|
|
|
40
|
-
Package: `@metamesh/modeling@0.
|
|
43
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -71,4 +71,4 @@ Convex filled XY hull of finite points or filled section recipes.
|
|
|
71
71
|
- [Choose the Boolean by the material you want](../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
|
|
72
72
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
73
73
|
|
|
74
|
-
Package: `@metamesh/modeling@0.
|
|
74
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -41,4 +41,8 @@ editable[0] = 8; // heights still contains 2, 4, 6.
|
|
|
41
41
|
- [ImmutableBuffer](ImmutableBuffer-type.md)
|
|
42
42
|
- [NumericArray](NumericArray.md)
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
## Guides
|
|
45
|
+
|
|
46
|
+
- [Complete standalone model example](../../guides/standalone-model.md#minimal-model-entry)
|
|
47
|
+
|
|
48
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -37,4 +37,8 @@ const model = generate(({ computed, part }) => {
|
|
|
37
37
|
- [ImmutableTriangleMesh](ImmutableTriangleMesh.md)
|
|
38
38
|
- [TriangleMesh](TriangleMesh.md)
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
## Guides
|
|
41
|
+
|
|
42
|
+
- [Complete standalone model example](../../guides/standalone-model.md#minimal-model-entry)
|
|
43
|
+
|
|
44
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -12,11 +12,11 @@ Bounded positive-inside implicit field constructor. The retained callback must c
|
|
|
12
12
|
|
|
13
13
|
**`options`** · [`ImplicitOptions`](ImplicitOptions.md) · Required
|
|
14
14
|
|
|
15
|
-
- [`field`](ImplicitOptions.md#field) · (`point`: [`
|
|
15
|
+
- [`field`](ImplicitOptions.md#field) · (`point`: [`Vector3Data`](Vector3Data.md)) => `number` · Required
|
|
16
16
|
|
|
17
17
|
Positive-inside scalar field evaluated at finite XYZ points.
|
|
18
18
|
|
|
19
|
-
- [`bounds`](ImplicitOptions.md#bounds) · [`
|
|
19
|
+
- [`bounds`](ImplicitOptions.md#bounds) · [`Bounds3Data`](Bounds3Data.md) · Required
|
|
20
20
|
|
|
21
21
|
Axis-aligned XYZ bounds in millimetres.
|
|
22
22
|
|
|
@@ -44,4 +44,4 @@ Bounded positive-inside implicit field constructor. The retained callback must c
|
|
|
44
44
|
- [ImplicitOptions](ImplicitOptions.md)
|
|
45
45
|
- [Solid](Solid.md)
|
|
46
46
|
|
|
47
|
-
Package: `@metamesh/modeling@0.
|
|
47
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -10,8 +10,8 @@ Compensated internal threaded cutter.
|
|
|
10
10
|
|
|
11
11
|
```ts
|
|
12
12
|
import { cylinder, internalThreadCutter } from "@metamesh/modeling";
|
|
13
|
-
import {
|
|
14
|
-
const profile =
|
|
13
|
+
import { threadProfile } from "@metamesh/modeling/geometry";
|
|
14
|
+
const profile = threadProfile({ kind: "triangular", pitch: 1.75 });
|
|
15
15
|
const body = cylinder({ diameter: 20, height: 12, center: false });
|
|
16
16
|
const cutter = internalThreadCutter({ nominalMajorDiameter: 12, length: 12, profile });
|
|
17
17
|
body.subtract([cutter]);
|
|
@@ -48,7 +48,7 @@ body.subtract([cutter]);
|
|
|
48
48
|
|
|
49
49
|
Explicit output and circular allocation ceilings.
|
|
50
50
|
|
|
51
|
-
- [`
|
|
51
|
+
- [`phase`](InternalThreadCutterOptions.md#phase) · `number` · Optional
|
|
52
52
|
|
|
53
53
|
Angular offset of the first start in degrees. Default: `0`.
|
|
54
54
|
|
|
@@ -96,5 +96,6 @@ body.subtract([cutter]);
|
|
|
96
96
|
## Guides
|
|
97
97
|
|
|
98
98
|
- [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
|
|
99
|
+
- [Preflight guarantees and host settings](../../guides/concepts.md#check-preflight-guarantees)
|
|
99
100
|
|
|
100
|
-
Package: `@metamesh/modeling@0.
|
|
101
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -67,4 +67,4 @@ Native filled section intersection; dimensions cannot be mixed.
|
|
|
67
67
|
- [Choose the Boolean by the material you want](../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
|
|
68
68
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
69
69
|
|
|
70
|
-
Package: `@metamesh/modeling@0.
|
|
70
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# knuckleHinge
|
|
2
|
+
|
|
3
|
+
Declares separate knuckle-joint halves along the centered +X pin axis, in millimetres.
|
|
4
|
+
|
|
5
|
+
**knuckleHinge**(`options`: [`KnuckleHingeOptions`](KnuckleHingeOptions.md)): [`KnuckleHinge`](KnuckleHinge-type.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example: Integral-pin hinge with two mounting webs
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
const joint = knuckleHinge({
|
|
13
|
+
mode: "print-in-place", length: 30, knuckleCount: 3,
|
|
14
|
+
barrelDiameter: 10, pinDiameter: 3, radialClearance: 0.3, axialGap: 0.4,
|
|
15
|
+
halfA: { web: { direction: "positive-y", reach: 8, zMin: -5, thickness: 2 } },
|
|
16
|
+
halfB: { web: { direction: "negative-y", reach: 8, zMin: -5, thickness: 2 } },
|
|
17
|
+
});
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
A starts at negative X. Attach independent webs or use barrels only; caller geometry connects
|
|
21
|
+
otherwise disconnected intervals. Returns portable recipes without initializing the engine.
|
|
22
|
+
Unspecified resolution inherits the evaluating session. Axis direction is +X with +Z up.
|
|
23
|
+
|
|
24
|
+
Barrel end chamfers affect outer rims only; webs have square edges. Consumers own plates, screw holes,
|
|
25
|
+
pin retention, fit policy, and part placement. Added mounting material must preserve the bores.
|
|
26
|
+
No opening range or collision freedom is implied for arbitrary caller attachments.
|
|
27
|
+
Compiled Generator packages using this operation require runtime 8.0.0 or newer in major 8.
|
|
28
|
+
|
|
29
|
+
## Parameters
|
|
30
|
+
|
|
31
|
+
<a id="options"></a>
|
|
32
|
+
|
|
33
|
+
**`options`** · [`KnuckleHingeOptions`](KnuckleHingeOptions.md) · Required
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
## Returns
|
|
38
|
+
|
|
39
|
+
[`KnuckleHinge`](KnuckleHinge-type.md)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## Related APIs
|
|
43
|
+
|
|
44
|
+
- [KnuckleHinge](KnuckleHinge-type.md)
|
|
45
|
+
- [KnuckleHingeOptions](KnuckleHingeOptions.md)
|
|
46
|
+
|
|
47
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -40,11 +40,11 @@ readonly [`Solid`](Solid.md)[]
|
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
|
|
43
|
-
**linearPattern**(`source`: [`PatternSource`](PatternSource.md)\<[`Section`](Section.md)\>, `options`: [`LinearPatternOptions`](LinearPatternOptions.md)): readonly [`Section`](Section.md)[]
|
|
43
|
+
**linearPattern**(`source`: [`PatternSource`](PatternSource.md)\<[`Section`](Section.md)\>, `options`: [`LinearPatternOptions`](LinearPatternOptions.md)\<`2`\>): readonly [`Section`](Section.md)[]
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
|
|
47
|
-
Repeats a filled Section
|
|
47
|
+
Repeats a filled Section along an XY direction, defaulting to +X.
|
|
48
48
|
|
|
49
49
|
### Parameters
|
|
50
50
|
|
|
@@ -56,7 +56,7 @@ Repeats a filled Section; every placement must preserve its XY plane.
|
|
|
56
56
|
|
|
57
57
|
<a id="options-1"></a>
|
|
58
58
|
|
|
59
|
-
**`options`** · [`LinearPatternOptions`](LinearPatternOptions.md) · Required
|
|
59
|
+
**`options`** · [`LinearPatternOptions`](LinearPatternOptions.md)\<`2`\> · Required
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
|
|
@@ -76,5 +76,6 @@ readonly [`Section`](Section.md)[]
|
|
|
76
76
|
|
|
77
77
|
- [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
|
|
78
78
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
79
|
+
- [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
79
80
|
|
|
80
|
-
Package: `@metamesh/modeling@0.
|
|
81
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -134,4 +134,4 @@ Lofts explicit corresponding contours, including holes and collapsed logical slo
|
|
|
134
134
|
- [Matched-section loft](../../guides/recipes.md#matched-section-loft)
|
|
135
135
|
- [Choose a modeling path](../../guides/concepts.md#choose-a-modeling-path)
|
|
136
136
|
|
|
137
|
-
Package: `@metamesh/modeling@0.
|
|
137
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# matchProfiles
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Matches a profile family using operation settings over host resolution and limits. Requires active synchronous model execution. Use Geometry's matchProfiles for standalone preparation.
|
|
4
4
|
|
|
5
5
|
**matchProfiles**(`profiles`: readonly [`Profile`](Profile.md)[], `options?`: [`MatchProfilesOptions`](MatchProfilesOptions.md)): readonly [`CorrespondingProfile`](CorrespondingProfile.md)[]
|
|
6
6
|
|
|
@@ -39,4 +39,4 @@ readonly [`CorrespondingProfile`](CorrespondingProfile.md)[]
|
|
|
39
39
|
- [MatchProfilesOptions](MatchProfilesOptions.md)
|
|
40
40
|
- [Profile](Profile.md)
|
|
41
41
|
|
|
42
|
-
Package: `@metamesh/modeling@0.
|
|
42
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -34,4 +34,4 @@ Three-dimensional Minkowski sum.
|
|
|
34
34
|
- [Choose the Boolean by the material you want](../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
|
|
35
35
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
36
36
|
|
|
37
|
-
Package: `@metamesh/modeling@0.
|
|
37
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# path2
|
|
2
|
+
|
|
3
|
+
Snapshots finite XY coordinates as an immutable sampled path, independent of engine initialization.
|
|
4
|
+
|
|
5
|
+
**path2**(`input`: [`Path2Input`](Path2Input.md), `options?`: [`PathOptions`](PathOptions.md)): [`Path2`](Path2-type.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Open paths may be empty or have one point; closed paths need three vertices and omit a duplicated
|
|
10
|
+
seam. Repeated adjacent vertices are retained. No winding normalization or filling is performed.
|
|
11
|
+
Malformed dimensions or topology throw INVALID_ARGUMENT; nonfinite coordinates or measurement
|
|
12
|
+
overflow throw NON_FINITE_VALUE; exhausted allocation ceilings throw COMPLEXITY_LIMIT GeometryError.
|
|
13
|
+
A path input retains its closure. Limits bound construction only; resampling takes its own limits.
|
|
14
|
+
|
|
15
|
+
Use `toData()` for a frozen record that restores coordinates, closure, and dimension together.
|
|
16
|
+
|
|
17
|
+
## Parameters
|
|
18
|
+
|
|
19
|
+
<a id="input"></a>
|
|
20
|
+
|
|
21
|
+
**`input`** · [`Path2Input`](Path2Input.md) · Required
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
<a id="options"></a>
|
|
26
|
+
|
|
27
|
+
**`options`** · [`PathOptions`](PathOptions.md) · Optional
|
|
28
|
+
|
|
29
|
+
- [`closed`](PathOptions.md#closed) · `boolean` · Optional
|
|
30
|
+
|
|
31
|
+
Connects the last vertex to the first; closed paths omit the repeated seam. Defaults to false.
|
|
32
|
+
|
|
33
|
+
- [`limits`](PathOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
34
|
+
|
|
35
|
+
Construction point ceiling; defaults to package sampling limits. Later sampling has its own options.
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
## Returns
|
|
40
|
+
|
|
41
|
+
[`Path2`](Path2-type.md)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## Related APIs
|
|
45
|
+
|
|
46
|
+
- [Path2](Path2-type.md)
|
|
47
|
+
- [Path2Input](Path2Input.md)
|
|
48
|
+
- [PathOptions](PathOptions.md)
|
|
49
|
+
|
|
50
|
+
## Guides
|
|
51
|
+
|
|
52
|
+
- [Path queries and closure-preserving interchange](../../guides/concepts.md#query-paths-and-preserve-closure)
|
|
53
|
+
|
|
54
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# path3
|
|
2
|
+
|
|
3
|
+
Snapshots finite XYZ coordinates as an immutable sampled path with the same closure, seam, allocation and error rules as path2. Analytic curves must be sampled explicitly first.
|
|
4
|
+
|
|
5
|
+
**path3**(`input`: [`Path3Input`](Path3Input.md), `options?`: [`PathOptions`](PathOptions.md)): [`Path3`](Path3-type.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Use `toData()` for a frozen record that restores coordinates, closure, and dimension together.
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
<a id="input"></a>
|
|
14
|
+
|
|
15
|
+
**`input`** · [`Path3Input`](Path3Input.md) · Required
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
<a id="options"></a>
|
|
20
|
+
|
|
21
|
+
**`options`** · [`PathOptions`](PathOptions.md) · Optional
|
|
22
|
+
|
|
23
|
+
- [`closed`](PathOptions.md#closed) · `boolean` · Optional
|
|
24
|
+
|
|
25
|
+
Connects the last vertex to the first; closed paths omit the repeated seam. Defaults to false.
|
|
26
|
+
|
|
27
|
+
- [`limits`](PathOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
28
|
+
|
|
29
|
+
Construction point ceiling; defaults to package sampling limits. Later sampling has its own options.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## Returns
|
|
34
|
+
|
|
35
|
+
[`Path3`](Path3-type.md)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## Related APIs
|
|
39
|
+
|
|
40
|
+
- [Path3](Path3-type.md)
|
|
41
|
+
- [Path3Input](Path3Input.md)
|
|
42
|
+
- [PathOptions](PathOptions.md)
|
|
43
|
+
- [path2](path2.md)
|
|
44
|
+
|
|
45
|
+
## Guides
|
|
46
|
+
|
|
47
|
+
- [Path queries and closure-preserving interchange](../../guides/concepts.md#query-paths-and-preserve-closure)
|
|
48
|
+
|
|
49
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -6,7 +6,7 @@ Physical arc-length copies along a sampled path, with optional tangent orientati
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
**pathPattern**(`source`: [`PatternSource`](PatternSource.md), `path`:
|
|
9
|
+
**pathPattern**(`source`: [`PatternSource`](PatternSource.md), `path`: [`Path3Input`](Path3Input.md), `options`: [`PathPatternOptions`](PathPatternOptions.md)): readonly [`Solid`](Solid.md)[]
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
@@ -28,7 +28,7 @@ Physical arc-length copies along a sampled path, with optional tangent orientati
|
|
|
28
28
|
|
|
29
29
|
<a id="path"></a>
|
|
30
30
|
|
|
31
|
-
**`path`** ·
|
|
31
|
+
**`path`** · [`Path3Input`](Path3Input.md) · Required
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
|
|
@@ -42,11 +42,11 @@ Physical arc-length copies along a sampled path, with optional tangent orientati
|
|
|
42
42
|
|
|
43
43
|
- [`closed`](PathPatternOptions.md#closed) · `boolean` · Optional
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
Raw point closure defaults to false; a path value supplies closure and rejects conflicts.
|
|
46
46
|
|
|
47
47
|
- [`orientation`](PathPatternOptions.md#orientation) · `"fixed"` \| `"tangent"` · Optional
|
|
48
48
|
|
|
49
|
-
Preserve
|
|
49
|
+
Preserve orientation, or align local +X for Sections / +Z for Solids to the tangent. Defaults to fixed.
|
|
50
50
|
|
|
51
51
|
|
|
52
52
|
|
|
@@ -58,12 +58,12 @@ readonly [`Solid`](Solid.md)[]
|
|
|
58
58
|
|
|
59
59
|
|
|
60
60
|
|
|
61
|
-
**pathPattern**(`source`: [`PatternSource`](PatternSource.md)\<[`Section`](Section.md)\>, `path`:
|
|
61
|
+
**pathPattern**(`source`: [`PatternSource`](PatternSource.md)\<[`Section`](Section.md)\>, `path`: [`Path2Input`](Path2Input.md), `options`: [`PathPatternOptions`](PathPatternOptions.md)): readonly [`Section`](Section.md)[]
|
|
62
62
|
|
|
63
63
|
|
|
64
64
|
|
|
65
|
-
Repeats a filled Section along a sampled XY path
|
|
66
|
-
|
|
65
|
+
Repeats a filled Section along a sampled XY path. Tangent orientation maps local +X
|
|
66
|
+
to the path tangent counterclockwise, preserving the XY plane.
|
|
67
67
|
|
|
68
68
|
### Parameters
|
|
69
69
|
|
|
@@ -75,7 +75,7 @@ tangent orientation maps +Z to the tangent and rejects when that leaves the plan
|
|
|
75
75
|
|
|
76
76
|
<a id="path-1"></a>
|
|
77
77
|
|
|
78
|
-
**`path`** ·
|
|
78
|
+
**`path`** · [`Path2Input`](Path2Input.md) · Required
|
|
79
79
|
|
|
80
80
|
|
|
81
81
|
|
|
@@ -89,11 +89,11 @@ tangent orientation maps +Z to the tangent and rejects when that leaves the plan
|
|
|
89
89
|
|
|
90
90
|
- [`closed`](PathPatternOptions.md#closed) · `boolean` · Optional
|
|
91
91
|
|
|
92
|
-
|
|
92
|
+
Raw point closure defaults to false; a path value supplies closure and rejects conflicts.
|
|
93
93
|
|
|
94
94
|
- [`orientation`](PathPatternOptions.md#orientation) · `"fixed"` \| `"tangent"` · Optional
|
|
95
95
|
|
|
96
|
-
Preserve
|
|
96
|
+
Preserve orientation, or align local +X for Sections / +Z for Solids to the tangent. Defaults to fixed.
|
|
97
97
|
|
|
98
98
|
|
|
99
99
|
|
|
@@ -104,15 +104,17 @@ readonly [`Section`](Section.md)[]
|
|
|
104
104
|
|
|
105
105
|
## Related APIs
|
|
106
106
|
|
|
107
|
+
- [Path2Input](Path2Input.md)
|
|
108
|
+
- [Path3Input](Path3Input.md)
|
|
107
109
|
- [PathPatternOptions](PathPatternOptions.md)
|
|
108
110
|
- [PatternSource](PatternSource.md)
|
|
109
111
|
- [Section](Section.md)
|
|
110
112
|
- [Solid](Solid.md)
|
|
111
|
-
- [Vector3Tuple](Vector3Tuple.md)
|
|
112
113
|
|
|
113
114
|
## Guides
|
|
114
115
|
|
|
115
116
|
- [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
|
|
116
117
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
118
|
+
- [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
117
119
|
|
|
118
|
-
Package: `@metamesh/modeling@0.
|
|
120
|
+
Package: `@metamesh/modeling@0.16.0`.
|