@metamesh/modeling 0.15.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 +19 -0
- package/README.md +33 -6
- package/dist/api/engine.d.ts +4 -3
- package/dist/api/geometry.d.ts +529 -242
- package/dist/api/index.d.ts +363 -104
- package/dist/api/text.d.ts +6 -6
- package/dist/docs/guides/concepts.md +295 -106
- package/dist/docs/guides/fonts.md +9 -8
- package/dist/docs/guides/fundamentals.md +17 -21
- package/dist/docs/guides/generation.md +24 -23
- package/dist/docs/guides/hosting.md +25 -20
- package/dist/docs/guides/recipes.md +35 -30
- package/dist/docs/guides/standalone-model.md +42 -0
- package/dist/docs/manifest.json +846 -243
- 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 +1 -1
- package/dist/docs/reference/engine/ModelSession.md +1 -1
- package/dist/docs/reference/engine/ModelSnapshot.md +2 -2
- package/dist/docs/reference/engine/SessionOptions.md +1 -1
- package/dist/docs/reference/engine/SnapshotPart.md +7 -4
- package/dist/docs/reference/engine/categories/host-lifecycle.md +8 -3
- package/dist/docs/reference/engine/createModelEngine.md +1 -1
- 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 +1 -1
- package/dist/docs/reference/geometry/Anchor3-type.md +6 -5
- package/dist/docs/reference/geometry/ArcCurve2.md +7 -3
- package/dist/docs/reference/geometry/ArcCurve3.md +9 -5
- package/dist/docs/reference/geometry/AttachOptions.md +2 -1
- 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 +3 -3
- 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 +1 -1
- 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 +5 -1
- 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 +4 -3
- package/dist/docs/reference/geometry/CylinderOptions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearDimensions.md +6 -1
- 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 +5 -1
- 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 +6 -1
- 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 +5 -1
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +5 -1
- 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 +1 -1
- 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 +4 -4
- 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 +5 -1
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +5 -1
- 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 +5 -1
- 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 +1 -1
- package/dist/docs/reference/geometry/LoftCorrespondence.md +6 -1
- package/dist/docs/reference/geometry/LoftMeshStation.md +5 -1
- 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 +12 -8
- package/dist/docs/reference/geometry/Path2Data.md +40 -4
- package/dist/docs/reference/geometry/Path2Input.md +8 -3
- package/dist/docs/reference/geometry/Path3-type.md +12 -8
- package/dist/docs/reference/geometry/Path3Data.md +40 -4
- package/dist/docs/reference/geometry/Path3Input.md +8 -3
- package/dist/docs/reference/geometry/PathFrame.md +9 -5
- package/dist/docs/reference/geometry/PathLocation.md +5 -1
- package/dist/docs/reference/geometry/PathNormalGuide.md +8 -4
- package/dist/docs/reference/geometry/PathOptions.md +5 -1
- package/dist/docs/reference/geometry/PathPatternOptions.md +1 -1
- package/dist/docs/reference/geometry/PathPlacement.md +8 -4
- package/dist/docs/reference/geometry/PathResamplingOptions.md +5 -1
- 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 +5 -1
- 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 +5 -1
- package/dist/docs/reference/geometry/PrimitiveAttachment.md +1 -1
- package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +1 -1
- 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 +6 -1
- package/dist/docs/reference/geometry/RadialPatternOptions.md +1 -1
- 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 +5 -1
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/RevolveOptions.md +5 -1
- 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 +5 -1
- package/dist/docs/reference/geometry/SampleHelixOptions.md +5 -1
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +5 -1
- 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 +5 -1
- package/dist/docs/reference/geometry/SphereOptions.md +1 -1
- package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +5 -1
- package/dist/docs/reference/geometry/StrokeCap.md +8 -1
- package/dist/docs/reference/geometry/StrokeJoin.md +8 -1
- package/dist/docs/reference/geometry/StrokeOptions.md +5 -1
- 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 +7 -3
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +6 -1
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +6 -1
- package/dist/docs/reference/geometry/SweepOptions.md +5 -1
- package/dist/docs/reference/geometry/SweepOrientation.md +5 -1
- package/dist/docs/reference/geometry/ThreadBevelOptions.md +5 -1
- package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +5 -1
- 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 +5 -1
- package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +8 -1
- package/dist/docs/reference/geometry/ThreadLeadInShape.md +8 -1
- package/dist/docs/reference/geometry/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 +5 -1
- 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 +5 -1
- package/dist/docs/reference/geometry/TorusOptions.md +1 -1
- 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 +5 -1
- package/dist/docs/reference/geometry/TriangleMesh.md +6 -1
- package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +7 -3
- 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 +5 -1
- package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +5 -1
- package/dist/docs/reference/geometry/TriangleMeshSignature.md +7 -3
- package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +6 -1
- 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 +1 -1
- 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 +6 -1
- 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 +5 -1
- package/dist/docs/reference/geometry/anchor3.md +2 -1
- package/dist/docs/reference/geometry/anchorFrame3.md +5 -1
- package/dist/docs/reference/geometry/applyTransformDirection3.md +8 -7
- package/dist/docs/reference/geometry/applyTransformPoint3.md +8 -7
- package/dist/docs/reference/geometry/attachmentTransform3.md +5 -4
- 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 +4 -3
- package/dist/docs/reference/geometry/categories/bounds-layout.md +23 -6
- package/dist/docs/reference/geometry/categories/curves-paths.md +21 -9
- package/dist/docs/reference/geometry/categories/mechanical.md +22 -10
- package/dist/docs/reference/geometry/categories/meshes.md +16 -7
- package/dist/docs/reference/geometry/categories/pattern-placement.md +6 -4
- package/dist/docs/reference/geometry/categories/primitive-options.md +8 -2
- package/dist/docs/reference/geometry/categories/profiles-regions.md +21 -12
- package/dist/docs/reference/geometry/categories/resolution-errors.md +5 -3
- package/dist/docs/reference/geometry/categories/transforms-math.md +21 -12
- package/dist/docs/reference/geometry/categories/vector-import.md +11 -5
- 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 +5 -1
- package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +5 -1
- package/dist/docs/reference/geometry/composeTransform3.md +7 -6
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +5 -1
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +11 -2
- package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +13 -5
- package/dist/docs/reference/geometry/computeTriangleMeshSignature.md +5 -1
- 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 +3 -2
- 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 +5 -1
- 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 +5 -1
- 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/getMetricClearanceHoleDiameter.md +5 -1
- package/dist/docs/reference/geometry/getMetricFastenerStandard.md +5 -1
- package/dist/docs/reference/geometry/gridPatternTransforms.md +4 -4
- package/dist/docs/reference/geometry/heightfieldMesh.md +11 -2
- package/dist/docs/reference/geometry/helicalThreadRidgeMesh.md +5 -1
- package/dist/docs/reference/geometry/helicalThreadSolidMesh.md +5 -1
- 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 +4 -4
- package/dist/docs/reference/geometry/loftMesh.md +5 -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 +5 -1
- 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 +5 -1
- package/dist/docs/reference/geometry/path2.md +14 -2
- package/dist/docs/reference/geometry/path3.md +8 -1
- package/dist/docs/reference/geometry/pathPatternTransforms.md +9 -5
- package/dist/docs/reference/geometry/preflightHeightfield.md +11 -2
- package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +11 -2
- package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +13 -2
- package/dist/docs/reference/geometry/preflightSvgRegion.md +15 -2
- package/dist/docs/reference/geometry/preflightThreadedNut.md +12 -2
- package/dist/docs/reference/geometry/preflightThreadedRod.md +12 -2
- package/dist/docs/reference/geometry/projectOntoPlane3.md +7 -6
- package/dist/docs/reference/geometry/radialPatternTransforms.md +4 -4
- 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 +8 -4
- package/dist/docs/reference/geometry/resamplePolyline2.md +8 -4
- package/dist/docs/reference/geometry/resamplePolyline3.md +8 -4
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +1 -1
- package/dist/docs/reference/geometry/resolveArcSegments.md +1 -1
- 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 +5 -1
- 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 +5 -1
- package/dist/docs/reference/geometry/reverseTriangleMesh.md +5 -1
- package/dist/docs/reference/geometry/revolveMesh.md +5 -1
- 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 +8 -4
- package/dist/docs/reference/geometry/sampleContour.md +12 -2
- package/dist/docs/reference/geometry/sampleCurve2.md +6 -3
- package/dist/docs/reference/geometry/sampleCurve3.md +5 -1
- 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 +15 -5
- package/dist/docs/reference/geometry/sampleTextContours.md +5 -1
- package/dist/docs/reference/geometry/sampleThreadHelices.md +5 -1
- 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 +5 -1
- 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 +5 -1
- package/dist/docs/reference/geometry/threadProfile.md +5 -1
- 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 +5 -1
- 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 +9 -2
- 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 +7 -5
- package/dist/docs/reference/model/Anchor3.md +6 -5
- package/dist/docs/reference/model/AttachOptions.md +2 -1
- 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 +3 -3
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/docs/reference/model/EndTreatments.md +1 -1
- package/dist/docs/reference/model/ExtrudeOptions.md +1 -1
- package/dist/docs/reference/model/FinalizedModel.md +3 -3
- 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 +1 -1
- 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 +5 -4
- package/dist/docs/reference/model/HeightfieldOptions.md +5 -5
- package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +2 -1
- package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +3 -2
- package/dist/docs/reference/model/HullOptions.md +1 -1
- 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 +2 -1
- 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 +2 -1
- 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 +1 -1
- 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 +12 -8
- package/dist/docs/reference/model/Path2Data.md +40 -4
- package/dist/docs/reference/model/Path2Input.md +8 -3
- package/dist/docs/reference/model/Path3-type.md +12 -8
- package/dist/docs/reference/model/Path3Data.md +40 -4
- package/dist/docs/reference/model/Path3Input.md +8 -3
- package/dist/docs/reference/model/PathLocation.md +5 -1
- package/dist/docs/reference/model/PathNormalGuide.md +4 -4
- package/dist/docs/reference/model/PathOptions.md +5 -1
- package/dist/docs/reference/model/PathPatternOptions.md +2 -1
- package/dist/docs/reference/model/PathResamplingOptions.md +5 -1
- 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 +1 -1
- package/dist/docs/reference/model/PolygonData.md +3 -2
- package/dist/docs/reference/model/PolygonOptions.md +1 -1
- package/dist/docs/reference/model/PrimitiveAttachment.md +2 -1
- package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +2 -1
- 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 +2 -1
- 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 +3 -3
- package/dist/docs/reference/model/RegionData.md +2 -2
- package/dist/docs/reference/model/RegularPolygonOptions.md +1 -1
- package/dist/docs/reference/model/RevolveOptions.md +1 -1
- package/dist/docs/reference/model/RoundedEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/Section.md +9 -2
- package/dist/docs/reference/model/SectionHullOptions.md +1 -1
- package/dist/docs/reference/model/SectionInspection.md +4 -4
- 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 +9 -2
- package/dist/docs/reference/model/SolidInspection.md +4 -4
- package/dist/docs/reference/model/SolidSegmentHit.md +4 -4
- package/dist/docs/reference/model/SphereOptions.md +1 -1
- package/dist/docs/reference/model/StarOptions.md +1 -1
- package/dist/docs/reference/model/StrokeCap.md +1 -1
- package/dist/docs/reference/model/StrokeJoin.md +1 -1
- package/dist/docs/reference/model/StrokeOptions.md +1 -1
- 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 +1 -1
- package/dist/docs/reference/model/SweepOrientation.md +1 -1
- 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 +2 -1
- 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 +2 -1
- package/dist/docs/reference/model/TorusOptions.md +1 -1
- 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 +3 -3
- package/dist/docs/reference/model/TriangleMeshMeasurements.md +3 -3
- package/dist/docs/reference/model/TubeOptions.md +1 -1
- 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 +2 -2
- package/dist/docs/reference/model/castSegment.md +1 -1
- 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 +6 -4
- 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 +9 -2
- package/dist/docs/reference/model/categories/mesh-inspection.md +5 -3
- package/dist/docs/reference/model/categories/paths.md +15 -7
- 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 +10 -5
- package/dist/docs/reference/model/categories/threads.md +10 -7
- package/dist/docs/reference/model/categories/transforms-placement.md +17 -9
- package/dist/docs/reference/model/circle.md +1 -1
- package/dist/docs/reference/model/components.md +1 -1
- 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 +1 -1
- package/dist/docs/reference/model/generate.md +5 -1
- package/dist/docs/reference/model/gridPattern.md +2 -1
- 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 +2 -1
- 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 +2 -1
- package/dist/docs/reference/model/loft.md +1 -1
- package/dist/docs/reference/model/matchProfiles.md +1 -1
- package/dist/docs/reference/model/minkowskiSum.md +1 -1
- package/dist/docs/reference/model/path2.md +14 -2
- package/dist/docs/reference/model/path3.md +8 -1
- package/dist/docs/reference/model/pathPattern.md +2 -1
- package/dist/docs/reference/model/polygon.md +5 -2
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +8 -2
- package/dist/docs/reference/model/preflightThreadedNut.md +8 -2
- package/dist/docs/reference/model/preflightThreadedRod.md +8 -2
- package/dist/docs/reference/model/radialPattern.md +2 -1
- package/dist/docs/reference/model/rectangle.md +5 -2
- package/dist/docs/reference/model/regularPolygon.md +1 -1
- package/dist/docs/reference/model/revolve.md +1 -1
- 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 +1 -1
- package/dist/docs/reference/model/stroke.md +1 -1
- 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 +1 -1
- package/dist/docs/reference/model/textSection.md +1 -1
- package/dist/docs/reference/model/threadRidge.md +2 -1
- package/dist/docs/reference/model/threadedNut.md +2 -1
- package/dist/docs/reference/model/threadedRod.md +2 -1
- package/dist/docs/reference/model/torus.md +1 -1
- 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 +1 -1
- 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 +15 -8
- 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 +1 -1
- package/dist/docs/reference/text/VectorFontOptions.md +1 -1
- package/dist/docs/reference/text/VectorTextArcBaseline.md +1 -1
- 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 +6 -4
- package/dist/docs/reference/text/prepareVectorFont.md +1 -1
- package/dist/docs/reference/text.md +4 -2
- package/dist/engine/construction-operations.js +1 -1
- package/dist/engine/knuckle-hinge-operation.js +85 -0
- package/dist/engine/loft-operations.js +1 -1
- package/dist/engine/mechanical-operations.js +3 -1
- package/dist/engine/modeling-context.js +8 -1
- package/dist/engine/recipe-realization.js +4 -2
- package/dist/engine/section-operations.js +1 -1
- package/dist/engine/transform-operations.js +3 -3
- package/dist/geometry/bounds-value.js +93 -0
- package/dist/geometry/bounds.js +10 -8
- package/dist/geometry/curves/sampling.js +1 -2
- package/dist/geometry/errors.js +1 -0
- package/dist/geometry/heightfield.js +12 -1
- package/dist/geometry/index.js +3 -1
- 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/index.js +1 -0
- package/dist/geometry/mechanical/knuckle-hinge.js +110 -0
- package/dist/geometry/mechanical/thread-mesh-plan.js +7 -2
- package/dist/geometry/mechanical/thread-solids.js +29 -4
- package/dist/geometry/mesh/mesh-centroid.js +1 -0
- package/dist/geometry/mesh/mesh-solid.js +1 -0
- package/dist/geometry/paths/frames.js +1 -0
- package/dist/geometry/paths/helix.js +1 -0
- package/dist/geometry/paths/path-value.js +43 -27
- package/dist/geometry/paths/resampling.js +2 -2
- package/dist/geometry/patterns/placements.js +3 -3
- package/dist/geometry/patterns.js +3 -1
- package/dist/geometry/profiles/contour.js +1 -0
- package/dist/geometry/profiles/matched.js +1 -0
- package/dist/geometry/profiles/rectangle.js +10 -1
- package/dist/geometry/profiles/side-profile.js +2 -0
- package/dist/geometry/svg-import.js +8 -2
- package/dist/geometry/sweeps/options.js +1 -1
- package/dist/geometry/text-fitting.js +1 -0
- package/dist/geometry/transform-matrix.js +1 -1
- package/dist/geometry/{transform-chain.js → transform-value.js} +24 -15
- package/dist/index.js +2 -1
- package/dist/model/execution-binding.js +1 -1
- package/dist/model/geometry-recipes.js +1 -1
- package/dist/model/immutable-generation-data.js +4 -12
- package/dist/model/knuckle-hinge.js +1 -0
- package/dist/model/operations.js +57 -3
- package/dist/model/recipe-declaration.js +10 -2
- 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/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/model/Bounds2.md +0 -39
- package/dist/docs/reference/model/Bounds3.md +0 -39
- package/dist/docs/reference/model/Transform2Matrix.md +0 -15
- package/dist/docs/reference/model/Transform3Matrix.md +0 -18
- package/dist/docs/reference/text/Bounds2.md +0 -34
- package/dist/docs/reference/text/Vector2Tuple.md +0 -7
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Create foundational solid geometry and configure its dimensions and tessellation.
|
|
4
4
|
|
|
5
|
-
All primitives use millimetres and one options object.
|
|
5
|
+
All primitives use millimetres and one options object. Boxes, cylinders, and tubes are centered by default.
|
|
6
|
+
|
|
7
|
+
- **Dimensions:** `box` accepts a scalar or XYZ size. `cylinder` accepts exactly one radius or diameter, uniform or a bottom/top tuple along +Z. Radial sizing selects polygon vertices or compensated faces.
|
|
8
|
+
- **Treatments:** choose `{ kind: "round", radius }`, `{ kind: "chamfer", distance }`, `{ kind: "smooth", distance }`, or `{ kind: "profile", profile }`. Boxes support named edges; cylinders and straight convex extrusions support independent bottom/top treatments.
|
|
9
|
+
- **Placement:** `attachment` maps a named or explicit local anchor onto a world anchor after construction.
|
|
6
10
|
|
|
7
11
|
Use imported primitives inside generation:
|
|
8
12
|
|
|
@@ -13,7 +17,9 @@ export default generate(({ part }) => {
|
|
|
13
17
|
const bore = cylinder({ radius: 3, height: 8, sizing: "face" });
|
|
14
18
|
return [part("plate", plate.subtract([bore]))];
|
|
15
19
|
});
|
|
16
|
-
```
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
A zero round radius or zero chamfer/smooth setback leaves a feature untreated. Setback tuples must be all zero or both positive.
|
|
17
23
|
|
|
18
24
|
## Functions
|
|
19
25
|
|
|
@@ -29,7 +35,7 @@ export default generate(({ part }) => {
|
|
|
29
35
|
|
|
30
36
|
| API | Summary |
|
|
31
37
|
| --- | --- |
|
|
32
|
-
| [Solid](../Solid.md) | Immutable deferred solid recipe.
|
|
38
|
+
| [Solid](../Solid.md) | Immutable deferred solid recipe. |
|
|
33
39
|
| [BoxOptions](../BoxOptions.md) | Dimensions, placement, and uniform or independently selected finishing for an axis-aligned box. |
|
|
34
40
|
| [ChamferedEdgeTreatment](../ChamferedEdgeTreatment.md) | A planar edge or corner chamfer with equal or independent surface setbacks. |
|
|
35
41
|
| [CircularPrimitiveOptions](../CircularPrimitiveOptions.md) | Tessellation controls shared by circular primitives across Geometry entry points. |
|
|
@@ -58,4 +64,4 @@ export default generate(({ part }) => {
|
|
|
58
64
|
- [Choose a primitive](../../../guides/recipes.md#choose-a-primitive)
|
|
59
65
|
- [Treated boxes, frustums, and mirrored arrays](../../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
60
66
|
|
|
61
|
-
Package: `@metamesh/modeling@0.
|
|
67
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Choose physical curve sampling and explicit native tolerance.
|
|
4
4
|
|
|
5
|
-
Exact operation counts
|
|
5
|
+
Exact operation counts override the operation's resolution policy, which overrides host session defaults. Pass resolution to each affected constructor or `Section` operation.
|
|
6
|
+
|
|
7
|
+
`Solid.withTolerance()` changes native geometric tolerance on an immutable copy; it does not select curve sampling.
|
|
6
8
|
|
|
7
9
|
## Interfaces
|
|
8
10
|
|
|
@@ -15,4 +17,4 @@ Exact operation counts take precedence over the operation’s resolution policy,
|
|
|
15
17
|
|
|
16
18
|
- [Coordinates, units, and resolution](../../../guides/concepts.md#coordinates-units-and-resolution)
|
|
17
19
|
|
|
18
|
-
Package: `@metamesh/modeling@0.
|
|
20
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
# 2D
|
|
1
|
+
# 2D sections
|
|
2
2
|
|
|
3
3
|
Create immutable filled XY shapes, including prepared text and bounded painted SVG.
|
|
4
4
|
|
|
5
|
-
Section is
|
|
5
|
+
`Section` is an immutable filled XY shape with holes and disconnected components. `RegionData` is its serialized polygon data. Construction and composition require no engine; native evaluation belongs to the host.
|
|
6
|
+
|
|
7
|
+
- **Construct:** use `polygon(points)`, `polygon({ outer, holes })`, `polygon({ contours, fillRule })`, or `polygon({ polygons: data })`. Explicit topology validates boundaries and winding. Compound contours default to `nonzero` fill; select `evenodd` when needed.
|
|
8
|
+
- **Inspect:** call `section.toRegionData()` during synchronous host execution.
|
|
9
|
+
- **Build solids:** extrusion, revolution, and sweeps preserve filled topology. Compatible primitive Sections retain loft landmarks; arbitrary Sections need explicit correspondence.
|
|
10
|
+
- **Add text:** `textSection` consumes a prepared `VectorTextLayout` without shaping again.
|
|
6
11
|
|
|
7
12
|
## Functions
|
|
8
13
|
|
|
@@ -13,7 +18,7 @@ Section is the filled XY modeling value with holes and disconnected components.
|
|
|
13
18
|
| [ellipse](../ellipse.md) | Centered elliptical section. |
|
|
14
19
|
| [rectangle](../rectangle.md) | Filled rectangular section with uniform or independently treated corners. |
|
|
15
20
|
| [regularPolygon](../regularPolygon.md) | Regular polygon with a vertex on +X. |
|
|
16
|
-
| [polygon](../polygon.md) | Fills one closed millimetre XY outline, explicit outer/hole topology, or compound contours.
|
|
21
|
+
| [polygon](../polygon.md) | Fills one closed millimetre XY outline, explicit outer/hole topology, or compound contours. |
|
|
17
22
|
| [star](../star.md) | Alternating outer/inner star vertices. |
|
|
18
23
|
| [svgPathSection](../svgPathSection.md) | Imports bounded filled SVG path data. |
|
|
19
24
|
| [svgSection](../svgSection.md) | Imports bounded painted SVG document geometry. |
|
|
@@ -23,7 +28,7 @@ Section is the filled XY modeling value with holes and disconnected components.
|
|
|
23
28
|
|
|
24
29
|
| API | Summary |
|
|
25
30
|
| --- | --- |
|
|
26
|
-
| [Section](../Section.md) | Immutable deferred filled XY section recipe.
|
|
31
|
+
| [Section](../Section.md) | Immutable deferred filled XY section recipe. |
|
|
27
32
|
| [StrokeOptions](../StrokeOptions.md) | Physical stroke and topology controls shared by pure regions and native Sections. |
|
|
28
33
|
| [RectangleContourOptions](../RectangleContourOptions.md) | Shared rectangle dimensions, origin and uniform or per-corner treatment. |
|
|
29
34
|
| [RectangleOptions](../RectangleOptions.md) | Rectangle dimensions, placement and uniform or per-corner treatment. |
|
|
@@ -58,4 +63,4 @@ Section is the filled XY modeling value with holes and disconnected components.
|
|
|
58
63
|
- [SVG sections: fills and strokes are different inputs](../../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
59
64
|
- [Text and font variability](../../../guides/concepts.md#text-and-font-variability)
|
|
60
65
|
|
|
61
|
-
Package: `@metamesh/modeling@0.
|
|
66
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,16 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
Construct compensated thread forms and inspect bounded preflight facts.
|
|
4
4
|
|
|
5
|
-
Thread pitch is adjacent axial spacing; lead
|
|
5
|
+
Thread pitch is adjacent axial spacing; lead is `pitch × starts`. Prepare shared dimensions once. Native rods, internal cutters, and nuts share printable fit and end-treatment options.
|
|
6
|
+
|
|
7
|
+
Constructors enforce safety automatically. Optional preflight provides resource estimates or early validation for individual controls. These forms do not certify a structural rating or metrology class.
|
|
6
8
|
|
|
7
9
|
## Functions
|
|
8
10
|
|
|
9
11
|
| API | Summary |
|
|
10
12
|
| --- | --- |
|
|
11
13
|
| [internalThreadCutter](../internalThreadCutter.md) | Compensated internal threaded cutter. |
|
|
12
|
-
| [preflightInternalThreadCutter](../preflightInternalThreadCutter.md) |
|
|
13
|
-
| [preflightThreadedNut](../preflightThreadedNut.md) |
|
|
14
|
-
| [preflightThreadedRod](../preflightThreadedRod.md) |
|
|
14
|
+
| [preflightInternalThreadCutter](../preflightInternalThreadCutter.md) | Checks compensated cutter dimensions and conservative mesh estimates against host output limits. |
|
|
15
|
+
| [preflightThreadedNut](../preflightThreadedNut.md) | Checks nut dimensions, chamfers, end-face wall, and the extended compensated cutter's allocation plan. |
|
|
16
|
+
| [preflightThreadedRod](../preflightThreadedRod.md) | Checks compensated rod dimensions and conservative mesh estimates against host output limits. |
|
|
15
17
|
| [threadedNut](../threadedNut.md) | Compensated threaded nut. |
|
|
16
18
|
| [threadedRod](../threadedRod.md) | Compensated external threaded rod. |
|
|
17
19
|
| [threadRidge](../threadRidge.md) | Helical ridge mesh construction. |
|
|
@@ -21,11 +23,11 @@ Thread pitch is adjacent axial spacing; lead equals pitch times starts. Prepare
|
|
|
21
23
|
| API | Summary |
|
|
22
24
|
| --- | --- |
|
|
23
25
|
| [HelicalThreadRidgeMeshOptions](../HelicalThreadRidgeMeshOptions.md) | Runtime-neutral options for the dedicated helical ridge mesher. |
|
|
24
|
-
| [HelicalThreadSolidMeshPreflight](../HelicalThreadSolidMeshPreflight.md) |
|
|
26
|
+
| [HelicalThreadSolidMeshPreflight](../HelicalThreadSolidMeshPreflight.md) | Selected sampling counts and conservative allocation estimates, before thread mesh construction. |
|
|
25
27
|
| [InternalThreadCutterOptions](../InternalThreadCutterOptions.md) | Options for a compensated internal-thread subtraction tool along +Z. |
|
|
26
28
|
| [PrintableThreadFitPolicy](../PrintableThreadFitPolicy.md) | Explicit radial and axial allowances for a mating printed thread pair. |
|
|
27
29
|
| [ThreadedNutOptions](../ThreadedNutOptions.md) | Options for a compensated nut with an internal thread. |
|
|
28
|
-
| [ThreadedNutPreflight](../ThreadedNutPreflight.md) |
|
|
30
|
+
| [ThreadedNutPreflight](../ThreadedNutPreflight.md) | Resolved body and end-face dimensions plus conservative allocation estimates for the thread cutter. |
|
|
29
31
|
| [ThreadedRodOptions](../ThreadedRodOptions.md) | Options for a compensated external threaded rod along +Z. |
|
|
30
32
|
| [ThreadEndTreatmentOptions](../ThreadEndTreatmentOptions.md) | Axial end controls for a generated ridge. |
|
|
31
33
|
| [ThreadProfile](../ThreadProfile.md) | A validated immutable periodic thread profile in `[axial, radial]` millimetres. |
|
|
@@ -46,5 +48,6 @@ Thread pitch is adjacent axial spacing; lead equals pitch times starts. Prepare
|
|
|
46
48
|
## Guides
|
|
47
49
|
|
|
48
50
|
- [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
|
|
51
|
+
- [Preflight guarantees and host settings](../../../guides/concepts.md#check-preflight-guarantees)
|
|
49
52
|
|
|
50
|
-
Package: `@metamesh/modeling@0.
|
|
53
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -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. |
|
|
@@ -46,12 +53,13 @@ Use vector2/vector3 for immutable arithmetic and transform2/transform3 for reusa
|
|
|
46
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. |
|
|
47
54
|
| [PatternSource](../PatternSource.md) | One immutable shape, or a synchronous factory called once per copy in index order. |
|
|
48
55
|
| [RadialPatternOptions](../RadialPatternOptions.md) | Degree rotations about a fixed world-space pivot; XY patterns use the implicit +Z axis. |
|
|
49
|
-
| [
|
|
50
|
-
| [
|
|
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`.
|
|
@@ -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`.
|
|
@@ -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`.
|
|
@@ -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`.
|
|
@@ -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`.
|
|
@@ -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`.
|
|
@@ -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`.
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
# path2
|
|
2
2
|
|
|
3
|
-
Snapshots finite XY coordinates as an immutable sampled path, independent of engine initialization.
|
|
3
|
+
Snapshots finite XY coordinates as an immutable sampled path, independent of engine initialization.
|
|
4
4
|
|
|
5
5
|
**path2**(`input`: [`Path2Input`](Path2Input.md), `options?`: [`PathOptions`](PathOptions.md)): [`Path2`](Path2-type.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
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
|
+
|
|
9
17
|
## Parameters
|
|
10
18
|
|
|
11
19
|
<a id="input"></a>
|
|
@@ -39,4 +47,8 @@ Snapshots finite XY coordinates as an immutable sampled path, independent of eng
|
|
|
39
47
|
- [Path2Input](Path2Input.md)
|
|
40
48
|
- [PathOptions](PathOptions.md)
|
|
41
49
|
|
|
42
|
-
|
|
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`.
|
|
@@ -6,6 +6,8 @@ Snapshots finite XYZ coordinates as an immutable sampled path with the same clos
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
Use `toData()` for a frozen record that restores coordinates, closure, and dimension together.
|
|
10
|
+
|
|
9
11
|
## Parameters
|
|
10
12
|
|
|
11
13
|
<a id="input"></a>
|
|
@@ -38,5 +40,10 @@ Snapshots finite XYZ coordinates as an immutable sampled path with the same clos
|
|
|
38
40
|
- [Path3](Path3-type.md)
|
|
39
41
|
- [Path3Input](Path3Input.md)
|
|
40
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)
|
|
41
48
|
|
|
42
|
-
Package: `@metamesh/modeling@0.
|
|
49
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -115,5 +115,6 @@ readonly [`Section`](Section.md)[]
|
|
|
115
115
|
|
|
116
116
|
- [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
|
|
117
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)
|
|
118
119
|
|
|
119
|
-
Package: `@metamesh/modeling@0.
|
|
120
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# polygon
|
|
2
2
|
|
|
3
|
-
Fills one closed millimetre XY outline, explicit outer/hole topology, or compound contours.
|
|
3
|
+
Fills one closed millimetre XY outline, explicit outer/hole topology, or compound contours.
|
|
4
4
|
|
|
5
5
|
**polygon**(`input`: [`Path2Input`](Path2Input.md) \| [`PolygonOptions`](PolygonOptions.md)): [`Section`](Section.md)
|
|
6
6
|
|
|
@@ -12,6 +12,9 @@ Fills one closed millimetre XY outline, explicit outer/hole topology, or compoun
|
|
|
12
12
|
polygon([[0, 0], [20, 0], [10, 12]]).extrude({ height: 3 });
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
+
Closing edges are implicit. Compound contours use nonzero fill unless selected otherwise.
|
|
16
|
+
Explicit topology must be simple and disjoint; compound winding may resolve overlaps.
|
|
17
|
+
|
|
15
18
|
## Parameters
|
|
16
19
|
|
|
17
20
|
<a id="input"></a>
|
|
@@ -37,4 +40,4 @@ polygon([[0, 0], [20, 0], [10, 12]]).extrude({ height: 3 });
|
|
|
37
40
|
- [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
38
41
|
- [Text and font variability](../../guides/concepts.md#text-and-font-variability)
|
|
39
42
|
|
|
40
|
-
Package: `@metamesh/modeling@0.
|
|
43
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
# preflightInternalThreadCutter
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Checks compensated cutter dimensions and conservative mesh estimates against host output limits.
|
|
4
4
|
|
|
5
5
|
**preflightInternalThreadCutter**(`options`: [`InternalThreadCutterOptions`](InternalThreadCutterOptions.md)): [`HelicalThreadSolidMeshPreflight`](HelicalThreadSolidMeshPreflight.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
Requires active synchronous model execution and uses its resolution and limits. Estimates include
|
|
10
|
+
the one-pitch extension beyond each requested face, without mesh buffers or native objects.
|
|
11
|
+
Mesh validity, native construction, and aggregate output limits are checked later.
|
|
12
|
+
|
|
9
13
|
## Parameters
|
|
10
14
|
|
|
11
15
|
<a id="options"></a>
|
|
@@ -81,9 +85,11 @@ Internal-thread facts using host resolution and limits; requires active synchron
|
|
|
81
85
|
|
|
82
86
|
- [HelicalThreadSolidMeshPreflight](HelicalThreadSolidMeshPreflight.md)
|
|
83
87
|
- [InternalThreadCutterOptions](InternalThreadCutterOptions.md)
|
|
88
|
+
- [internalThreadCutter](internalThreadCutter.md)
|
|
84
89
|
|
|
85
90
|
## Guides
|
|
86
91
|
|
|
87
92
|
- [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
|
|
93
|
+
- [Preflight guarantees and host settings](../../guides/concepts.md#check-preflight-guarantees)
|
|
88
94
|
|
|
89
|
-
Package: `@metamesh/modeling@0.
|
|
95
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
# preflightThreadedNut
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Checks nut dimensions, chamfers, end-face wall, and the extended compensated cutter's allocation plan.
|
|
4
4
|
|
|
5
5
|
**preflightThreadedNut**(`options`: [`ThreadedNutOptions`](ThreadedNutOptions.md)): [`ThreadedNutPreflight`](ThreadedNutPreflight.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
Requires active synchronous model execution and uses its resolution and limits, without mesh
|
|
10
|
+
buffers or native objects. Returned thread estimates cover the cutter, excluding the body and
|
|
11
|
+
Boolean result. Mesh validity, native construction, and aggregate output limits are checked later.
|
|
12
|
+
|
|
9
13
|
## Parameters
|
|
10
14
|
|
|
11
15
|
<a id="options"></a>
|
|
@@ -92,9 +96,11 @@ Nut/cutter facts using host resolution and limits; requires active synchronous m
|
|
|
92
96
|
|
|
93
97
|
- [ThreadedNutOptions](ThreadedNutOptions.md)
|
|
94
98
|
- [ThreadedNutPreflight](ThreadedNutPreflight.md)
|
|
99
|
+
- [threadedNut](threadedNut.md)
|
|
95
100
|
|
|
96
101
|
## Guides
|
|
97
102
|
|
|
98
103
|
- [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
|
|
104
|
+
- [Preflight guarantees and host settings](../../guides/concepts.md#check-preflight-guarantees)
|
|
99
105
|
|
|
100
|
-
Package: `@metamesh/modeling@0.
|
|
106
|
+
Package: `@metamesh/modeling@0.16.0`.
|