@metamesh/modeling 0.12.0 → 0.14.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 +40 -0
- package/README.md +103 -72
- package/dist/api/engine.d.ts +123 -97
- package/dist/api/geometry.d.ts +4232 -3307
- package/dist/api/index.d.ts +2758 -2268
- package/dist/api/text.d.ts +119 -107
- package/dist/docs/guides/concepts.md +300 -0
- package/dist/docs/guides/fonts.md +59 -0
- package/dist/docs/guides/fundamentals.md +137 -0
- package/dist/docs/guides/generation.md +223 -0
- package/dist/docs/guides/hosting.md +91 -0
- package/dist/docs/guides/recipes.md +718 -0
- package/dist/docs/manifest.json +10703 -0
- package/dist/docs/reference/engine/Export3mfOptions.md +29 -0
- package/dist/docs/reference/engine/ExportMeshPart.md +65 -0
- package/dist/docs/reference/engine/GenerationOptions.md +62 -0
- package/dist/docs/reference/engine/GeometryResource.md +77 -0
- package/dist/docs/reference/engine/ModelDependencies.md +41 -0
- package/dist/docs/reference/engine/ModelEngine.md +103 -0
- package/dist/docs/reference/engine/ModelEngineOptions.md +33 -0
- package/dist/docs/reference/engine/ModelSession.md +96 -0
- package/dist/docs/reference/engine/ModelSnapshot.md +173 -0
- package/dist/docs/reference/engine/SessionOptions.md +123 -0
- package/dist/docs/reference/engine/SnapshotPart.md +130 -0
- package/dist/docs/reference/engine/categories/host-lifecycle.md +37 -0
- package/dist/docs/reference/engine/createModelEngine.md +56 -0
- package/dist/docs/reference/engine/defaultModelingLimits.md +7 -0
- package/dist/docs/reference/engine/modelingWasmUrl.md +7 -0
- package/dist/docs/reference/engine/validateModel.md +48 -0
- package/dist/docs/reference/engine.md +25 -0
- package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +75 -0
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +92 -0
- package/dist/docs/reference/geometry/Anchor3.md +53 -0
- package/dist/docs/reference/geometry/ArcCurve2.md +70 -0
- package/dist/docs/reference/geometry/ArcCurve3.md +94 -0
- package/dist/docs/reference/geometry/AttachTransformOptions.md +62 -0
- package/dist/docs/reference/geometry/AxisAngleRotation3.md +66 -0
- package/dist/docs/reference/geometry/Bounds2.md +39 -0
- package/dist/docs/reference/geometry/Bounds3.md +39 -0
- package/dist/docs/reference/geometry/BoundsFit2.md +52 -0
- package/dist/docs/reference/geometry/BoundsFit3.md +52 -0
- package/dist/docs/reference/geometry/BoundsFitOptions.md +23 -0
- package/dist/docs/reference/geometry/BoundsFromSizeOptions.md +23 -0
- package/dist/docs/reference/geometry/BoxAnchorFace.md +14 -0
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +63 -0
- package/dist/docs/reference/geometry/BoxEdge.md +7 -0
- package/dist/docs/reference/geometry/BoxEdgeSelection.md +14 -0
- package/dist/docs/reference/geometry/BoxEdgeTreatments.md +15 -0
- package/dist/docs/reference/geometry/BoxOptions.md +87 -0
- package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +7 -0
- package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +93 -0
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +29 -0
- package/dist/docs/reference/geometry/CircleContourOptions.md +15 -0
- package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +59 -0
- package/dist/docs/reference/geometry/CircularResolutionOptions.md +107 -0
- package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +41 -0
- package/dist/docs/reference/geometry/ClearanceHoleFit.md +7 -0
- package/dist/docs/reference/geometry/ClosestPointOnPathOptions.md +34 -0
- package/dist/docs/reference/geometry/ClosestPointOnPathResult.md +65 -0
- package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +53 -0
- package/dist/docs/reference/geometry/Contour.md +17 -0
- package/dist/docs/reference/geometry/ContourCurve.md +35 -0
- package/dist/docs/reference/geometry/ContourPoint.md +29 -0
- package/dist/docs/reference/geometry/ContourSegment.md +86 -0
- package/dist/docs/reference/geometry/CorrespondingComponent.md +46 -0
- package/dist/docs/reference/geometry/CorrespondingContour.md +46 -0
- package/dist/docs/reference/geometry/CorrespondingProfile.md +22 -0
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +27 -0
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +70 -0
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +70 -0
- package/dist/docs/reference/geometry/Curve2.md +16 -0
- package/dist/docs/reference/geometry/Curve3.md +16 -0
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +64 -0
- package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +73 -0
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +14 -0
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +87 -0
- package/dist/docs/reference/geometry/CylinderOptions.md +53 -0
- package/dist/docs/reference/geometry/CylindricalGearDimensions.md +209 -0
- package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +7 -0
- package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +71 -0
- package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +82 -0
- package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +34 -0
- package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +41 -0
- package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +47 -0
- package/dist/docs/reference/geometry/CylindricalGearSpec.md +82 -0
- package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +7 -0
- package/dist/docs/reference/geometry/EdgeTreatment.md +17 -0
- package/dist/docs/reference/geometry/EllipseContourOptions.md +15 -0
- package/dist/docs/reference/geometry/EndTreatments.md +34 -0
- package/dist/docs/reference/geometry/ExtrudeOptions.md +134 -0
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +77 -0
- package/dist/docs/reference/geometry/FittedTextLayout.md +60 -0
- package/dist/docs/reference/geometry/Frame3.md +58 -0
- package/dist/docs/reference/geometry/GeometryError.md +97 -0
- package/dist/docs/reference/geometry/GeometryErrorCode.md +7 -0
- package/dist/docs/reference/geometry/GeometryErrorContext.md +29 -0
- package/dist/docs/reference/geometry/GeometryResolution.md +74 -0
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +62 -0
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +41 -0
- package/dist/docs/reference/geometry/GridPatternOptions.md +42 -0
- package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +14 -0
- package/dist/docs/reference/geometry/HeightfieldOptions.md +67 -0
- package/dist/docs/reference/geometry/HeightfieldPreflight.md +53 -0
- package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +141 -0
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +265 -0
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +53 -0
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +18 -0
- package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +242 -0
- package/dist/docs/reference/geometry/LineCurve2.md +46 -0
- package/dist/docs/reference/geometry/LineCurve3.md +46 -0
- package/dist/docs/reference/geometry/LinearPatternOptions.md +30 -0
- package/dist/docs/reference/geometry/LoftCorrespondence.md +19 -0
- package/dist/docs/reference/geometry/LoftMeshStation.md +27 -0
- package/dist/docs/reference/geometry/LoftOptions.md +84 -0
- package/dist/docs/reference/geometry/LoftPlacement.md +66 -0
- package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +18 -0
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +35 -0
- package/dist/docs/reference/geometry/MetricFastenerSize.md +7 -0
- package/dist/docs/reference/geometry/MetricFastenerStandard.md +72 -0
- package/dist/docs/reference/geometry/MetricHexNutDimensions.md +29 -0
- package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +41 -0
- package/dist/docs/reference/geometry/ModelingLimits.md +126 -0
- package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +17 -0
- package/dist/docs/reference/geometry/Path2.md +14 -0
- package/dist/docs/reference/geometry/Path3.md +14 -0
- package/dist/docs/reference/geometry/PathFrame.md +46 -0
- package/dist/docs/reference/geometry/PathNormalGuide.md +38 -0
- package/dist/docs/reference/geometry/PathPatternOptions.md +46 -0
- package/dist/docs/reference/geometry/PathPlacement.md +34 -0
- package/dist/docs/reference/geometry/Pivot2Options.md +26 -0
- package/dist/docs/reference/geometry/Pivot3Options.md +26 -0
- package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +7 -0
- package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +156 -0
- package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +120 -0
- package/dist/docs/reference/geometry/PlanarPatchQuality.md +190 -0
- package/dist/docs/reference/geometry/PolygonData.md +38 -0
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +92 -0
- package/dist/docs/reference/geometry/PrimitivePlacement.md +31 -0
- package/dist/docs/reference/geometry/PrimitivePlacementOptions.md +83 -0
- package/dist/docs/reference/geometry/PrintableThreadFit.md +7 -0
- package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +45 -0
- package/dist/docs/reference/geometry/Profile.md +22 -0
- package/dist/docs/reference/geometry/ProfileComponent2.md +46 -0
- package/dist/docs/reference/geometry/ProfileContour2.md +34 -0
- package/dist/docs/reference/geometry/ProfileSpan2.md +47 -0
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +36 -0
- package/dist/docs/reference/geometry/RackPitchDimensions.md +113 -0
- package/dist/docs/reference/geometry/RackPitchSpec.md +77 -0
- package/dist/docs/reference/geometry/RadialPatternOptions.md +62 -0
- package/dist/docs/reference/geometry/RadialSizing.md +7 -0
- package/dist/docs/reference/geometry/RadialSizingOptions.md +40 -0
- package/dist/docs/reference/geometry/RectangleContourOptions.md +66 -0
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +34 -0
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +14 -0
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +94 -0
- package/dist/docs/reference/geometry/RegionData.md +14 -0
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +84 -0
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +65 -0
- package/dist/docs/reference/geometry/RevolveOptions.md +82 -0
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +91 -0
- package/dist/docs/reference/geometry/RowLayoutOptions.md +23 -0
- package/dist/docs/reference/geometry/SampleContourOptions.md +71 -0
- package/dist/docs/reference/geometry/SampleHelixOptions.md +95 -0
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +71 -0
- package/dist/docs/reference/geometry/SampledCurve2.md +34 -0
- package/dist/docs/reference/geometry/SampledCurve3.md +34 -0
- package/dist/docs/reference/geometry/SampledThreadHelices.md +58 -0
- package/dist/docs/reference/geometry/SideProfileCurve.md +35 -0
- package/dist/docs/reference/geometry/SideProfilePoint.md +29 -0
- package/dist/docs/reference/geometry/SideProfileSegment.md +86 -0
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +71 -0
- package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +34 -0
- package/dist/docs/reference/geometry/SphereOptions.md +15 -0
- package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +75 -0
- package/dist/docs/reference/geometry/StrokePathCap.md +7 -0
- package/dist/docs/reference/geometry/StrokePathJoin.md +7 -0
- package/dist/docs/reference/geometry/StrokePathRegionOptions.md +85 -0
- package/dist/docs/reference/geometry/SvgImportOptions.md +60 -0
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +61 -0
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +118 -0
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +65 -0
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +53 -0
- package/dist/docs/reference/geometry/SweepOptions.md +109 -0
- package/dist/docs/reference/geometry/SweepOrientation.md +109 -0
- package/dist/docs/reference/geometry/ThreadBevelOptions.md +53 -0
- package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +100 -0
- package/dist/docs/reference/geometry/ThreadCompensationOptions.md +73 -0
- package/dist/docs/reference/geometry/ThreadEndStyle.md +7 -0
- package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +113 -0
- package/dist/docs/reference/geometry/ThreadHandedness.md +7 -0
- package/dist/docs/reference/geometry/ThreadHelixOptions.md +120 -0
- package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +7 -0
- package/dist/docs/reference/geometry/ThreadLeadInShape.md +7 -0
- package/dist/docs/reference/geometry/ThreadProfile.md +82 -0
- package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +49 -0
- package/dist/docs/reference/geometry/ThreadProfileSpec.md +19 -0
- package/dist/docs/reference/geometry/ThreadRole.md +7 -0
- package/dist/docs/reference/geometry/ThreadedNutBevel.md +7 -0
- package/dist/docs/reference/geometry/ThreadedNutOptions.md +269 -0
- package/dist/docs/reference/geometry/ThreadedNutPreflight.md +94 -0
- package/dist/docs/reference/geometry/ThreadedNutShape.md +7 -0
- package/dist/docs/reference/geometry/ThreadedRodOptions.md +242 -0
- package/dist/docs/reference/geometry/TorusOptions.md +105 -0
- package/dist/docs/reference/geometry/Transform2-type.md +255 -0
- package/dist/docs/reference/geometry/Transform2Input.md +19 -0
- package/dist/docs/reference/geometry/Transform2Matrix.md +14 -0
- package/dist/docs/reference/geometry/Transform3-type.md +295 -0
- package/dist/docs/reference/geometry/Transform3Input.md +19 -0
- package/dist/docs/reference/geometry/Transform3Matrix.md +17 -0
- package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +91 -0
- package/dist/docs/reference/geometry/TriangleMesh.md +34 -0
- package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +119 -0
- package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +75 -0
- package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +75 -0
- package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +39 -0
- package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +190 -0
- package/dist/docs/reference/geometry/TriangleMeshSignature.md +107 -0
- package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +41 -0
- package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +29 -0
- package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +51 -0
- package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +91 -0
- package/dist/docs/reference/geometry/TubeOptions.md +138 -0
- package/dist/docs/reference/geometry/Vector2-type.md +269 -0
- package/dist/docs/reference/geometry/Vector2Input.md +19 -0
- package/dist/docs/reference/geometry/Vector2Tuple.md +14 -0
- package/dist/docs/reference/geometry/Vector3-type.md +281 -0
- package/dist/docs/reference/geometry/Vector3Input.md +19 -0
- package/dist/docs/reference/geometry/Vector3Tuple.md +14 -0
- package/dist/docs/reference/geometry/VectorTextArcBaseline.md +53 -0
- package/dist/docs/reference/geometry/VectorTextLayout.md +39 -0
- package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +111 -0
- package/dist/docs/reference/geometry/VectorTextMetrics.md +94 -0
- package/dist/docs/reference/geometry/VectorTextOptions.md +50 -0
- package/dist/docs/reference/geometry/add2.md +36 -0
- package/dist/docs/reference/geometry/add3.md +42 -0
- package/dist/docs/reference/geometry/analyzeTriangleMesh.md +57 -0
- package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +52 -0
- package/dist/docs/reference/geometry/anchorFrame3.md +40 -0
- package/dist/docs/reference/geometry/applyTransformDirection3.md +45 -0
- package/dist/docs/reference/geometry/applyTransformPoint3.md +43 -0
- package/dist/docs/reference/geometry/attachTransform.md +77 -0
- package/dist/docs/reference/geometry/boundsCenter.md +62 -0
- package/dist/docs/reference/geometry/boundsFromSize.md +83 -0
- package/dist/docs/reference/geometry/boundsSize.md +62 -0
- package/dist/docs/reference/geometry/boxAnchor3.md +52 -0
- package/dist/docs/reference/geometry/buildHelicalThreadRidgeMesh.md +68 -0
- package/dist/docs/reference/geometry/buildHelicalThreadSolidMesh.md +102 -0
- package/dist/docs/reference/geometry/categories/bounds-layout.md +35 -0
- package/dist/docs/reference/geometry/categories/curves-paths.md +66 -0
- package/dist/docs/reference/geometry/categories/mechanical.md +101 -0
- package/dist/docs/reference/geometry/categories/meshes.md +73 -0
- package/dist/docs/reference/geometry/categories/pattern-placement.md +34 -0
- package/dist/docs/reference/geometry/categories/primitive-options.md +36 -0
- package/dist/docs/reference/geometry/categories/profiles-regions.md +74 -0
- package/dist/docs/reference/geometry/categories/resolution-errors.md +47 -0
- package/dist/docs/reference/geometry/categories/transforms-math.md +92 -0
- package/dist/docs/reference/geometry/categories/vector-import.md +40 -0
- package/dist/docs/reference/geometry/circleContour.md +33 -0
- package/dist/docs/reference/geometry/closeToAxis.md +34 -0
- package/dist/docs/reference/geometry/closestPointOnPath.md +110 -0
- package/dist/docs/reference/geometry/compensateThreadDiameters.md +51 -0
- package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +42 -0
- package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +56 -0
- package/dist/docs/reference/geometry/composeTransform3.md +44 -0
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +45 -0
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +47 -0
- package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +31 -0
- package/dist/docs/reference/geometry/containsBounds.md +72 -0
- package/dist/docs/reference/geometry/contourContainsPoint.md +33 -0
- package/dist/docs/reference/geometry/createAnchor3.md +67 -0
- package/dist/docs/reference/geometry/createThreadProfile.md +37 -0
- package/dist/docs/reference/geometry/createTriangleMeshSignature.md +60 -0
- package/dist/docs/reference/geometry/cross2.md +36 -0
- package/dist/docs/reference/geometry/cross3.md +42 -0
- package/dist/docs/reference/geometry/cumulativePathLengths.md +33 -0
- package/dist/docs/reference/geometry/cylinderAnchor3.md +60 -0
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +14 -0
- package/dist/docs/reference/geometry/distance2.md +36 -0
- package/dist/docs/reference/geometry/distance3.md +36 -0
- package/dist/docs/reference/geometry/distributeAlongPath.md +51 -0
- package/dist/docs/reference/geometry/dot2.md +36 -0
- package/dist/docs/reference/geometry/dot3.md +42 -0
- package/dist/docs/reference/geometry/ellipseContour.md +33 -0
- package/dist/docs/reference/geometry/eulerTransform3.md +42 -0
- package/dist/docs/reference/geometry/extrudeMesh.md +73 -0
- package/dist/docs/reference/geometry/fitBounds.md +95 -0
- package/dist/docs/reference/geometry/fitTextLayout.md +57 -0
- package/dist/docs/reference/geometry/frameTransform3.md +48 -0
- package/dist/docs/reference/geometry/getMetricClearanceHole.md +33 -0
- package/dist/docs/reference/geometry/getMetricFastenerStandard.md +27 -0
- package/dist/docs/reference/geometry/gridPatternTransforms.md +31 -0
- package/dist/docs/reference/geometry/heightfieldMesh.md +43 -0
- package/dist/docs/reference/geometry/inverseTransform3.md +34 -0
- package/dist/docs/reference/geometry/isGeometryError.md +26 -0
- package/dist/docs/reference/geometry/joinTriangleMeshes.md +36 -0
- package/dist/docs/reference/geometry/layoutRow.md +43 -0
- package/dist/docs/reference/geometry/length2.md +30 -0
- package/dist/docs/reference/geometry/length3.md +30 -0
- package/dist/docs/reference/geometry/lerp2.md +42 -0
- package/dist/docs/reference/geometry/lerp3.md +42 -0
- package/dist/docs/reference/geometry/linearPatternTransforms.md +31 -0
- package/dist/docs/reference/geometry/loftMesh.md +72 -0
- package/dist/docs/reference/geometry/matchProfiles.md +51 -0
- package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +48 -0
- package/dist/docs/reference/geometry/measureTriangleMesh.md +55 -0
- package/dist/docs/reference/geometry/meshBounds.md +35 -0
- package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +29 -0
- package/dist/docs/reference/geometry/normalize2.md +36 -0
- package/dist/docs/reference/geometry/normalize3.md +36 -0
- package/dist/docs/reference/geometry/normalizeContour.md +45 -0
- package/dist/docs/reference/geometry/normalizePolygon.md +37 -0
- package/dist/docs/reference/geometry/normalizeRegion.md +33 -0
- package/dist/docs/reference/geometry/optimizePlanarPatches.md +91 -0
- package/dist/docs/reference/geometry/pathLength.md +33 -0
- package/dist/docs/reference/geometry/pathPatternTransforms.md +57 -0
- package/dist/docs/reference/geometry/preflightHeightfield.md +34 -0
- package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +96 -0
- package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +85 -0
- package/dist/docs/reference/geometry/preflightSvgRegion.md +56 -0
- package/dist/docs/reference/geometry/preflightThreadedNut.md +96 -0
- package/dist/docs/reference/geometry/preflightThreadedRod.md +85 -0
- package/dist/docs/reference/geometry/projectOntoPlane3.md +36 -0
- package/dist/docs/reference/geometry/radialPatternTransforms.md +47 -0
- package/dist/docs/reference/geometry/rectangleContour.md +49 -0
- package/dist/docs/reference/geometry/rectangleProfile.md +53 -0
- package/dist/docs/reference/geometry/regionArea.md +34 -0
- package/dist/docs/reference/geometry/regionBounds.md +27 -0
- package/dist/docs/reference/geometry/regularPolygonContour.md +53 -0
- package/dist/docs/reference/geometry/resamplePolyline2.md +64 -0
- package/dist/docs/reference/geometry/resamplePolyline3.md +67 -0
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +83 -0
- package/dist/docs/reference/geometry/resolveArcSegments.md +67 -0
- package/dist/docs/reference/geometry/resolveCircularSegments.md +62 -0
- package/dist/docs/reference/geometry/resolveCylindricalGear.md +31 -0
- package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +31 -0
- package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +74 -0
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +26 -0
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +59 -0
- package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +27 -0
- package/dist/docs/reference/geometry/resolveRackPitch.md +27 -0
- package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +59 -0
- package/dist/docs/reference/geometry/reverseTriangleMesh.md +30 -0
- package/dist/docs/reference/geometry/revolveMesh.md +76 -0
- package/dist/docs/reference/geometry/rotate2.md +36 -0
- package/dist/docs/reference/geometry/rotationTransform3.md +53 -0
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +50 -0
- package/dist/docs/reference/geometry/sampleContour.md +77 -0
- package/dist/docs/reference/geometry/sampleCurve2.md +61 -0
- package/dist/docs/reference/geometry/sampleCurve3.md +61 -0
- package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +58 -0
- package/dist/docs/reference/geometry/sampleHelix.md +41 -0
- package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +59 -0
- package/dist/docs/reference/geometry/sampleRackToothPath.md +39 -0
- package/dist/docs/reference/geometry/sampleSideProfile.md +73 -0
- package/dist/docs/reference/geometry/sampleTextContours.md +53 -0
- package/dist/docs/reference/geometry/sampleThreadHelices.md +63 -0
- package/dist/docs/reference/geometry/scale2.md +36 -0
- package/dist/docs/reference/geometry/scale3.md +42 -0
- package/dist/docs/reference/geometry/scaleTransform3.md +38 -0
- package/dist/docs/reference/geometry/signedContourArea.md +26 -0
- package/dist/docs/reference/geometry/starContour.md +51 -0
- package/dist/docs/reference/geometry/strokePathRegion.md +63 -0
- package/dist/docs/reference/geometry/subtract2.md +36 -0
- package/dist/docs/reference/geometry/subtract3.md +42 -0
- package/dist/docs/reference/geometry/sweepMesh.md +82 -0
- package/dist/docs/reference/geometry/transform2.md +38 -0
- package/dist/docs/reference/geometry/transform3.md +38 -0
- package/dist/docs/reference/geometry/transformContour.md +42 -0
- package/dist/docs/reference/geometry/transformDeterminant3.md +36 -0
- package/dist/docs/reference/geometry/transformPath2.md +40 -0
- package/dist/docs/reference/geometry/transformPath3.md +33 -0
- package/dist/docs/reference/geometry/transformRegionData.md +40 -0
- package/dist/docs/reference/geometry/transformTriangleMesh.md +42 -0
- package/dist/docs/reference/geometry/translationTransform3.md +35 -0
- package/dist/docs/reference/geometry/triangulateContour.md +26 -0
- package/dist/docs/reference/geometry/validateSolidMesh.md +52 -0
- package/dist/docs/reference/geometry/validateTransform3.md +47 -0
- package/dist/docs/reference/geometry/validateTriangleMesh.md +59 -0
- package/dist/docs/reference/geometry/vector2.md +31 -0
- package/dist/docs/reference/geometry/vector3.md +38 -0
- package/dist/docs/reference/geometry.md +30 -0
- package/dist/docs/reference/model/Anchor3.md +54 -0
- package/dist/docs/reference/model/AttachOptions.md +63 -0
- package/dist/docs/reference/model/Bounds2.md +39 -0
- package/dist/docs/reference/model/Bounds3.md +39 -0
- package/dist/docs/reference/model/BoxEdge.md +15 -0
- package/dist/docs/reference/model/BoxEdgeSelection.md +19 -0
- package/dist/docs/reference/model/BoxEdgeTreatments.md +20 -0
- package/dist/docs/reference/model/BoxOptions.md +92 -0
- package/dist/docs/reference/model/ChamferedEdgeTreatment.md +35 -0
- package/dist/docs/reference/model/CircleContourOptions.md +21 -0
- package/dist/docs/reference/model/CircleOptions.md +21 -0
- package/dist/docs/reference/model/CircularPrimitiveOptions.md +64 -0
- package/dist/docs/reference/model/Computed.md +35 -0
- package/dist/docs/reference/model/ComputedValue.md +20 -0
- package/dist/docs/reference/model/Contour.md +22 -0
- package/dist/docs/reference/model/CorrespondingComponent.md +46 -0
- package/dist/docs/reference/model/CorrespondingContour.md +46 -0
- package/dist/docs/reference/model/CorrespondingProfile.md +22 -0
- package/dist/docs/reference/model/CorrespondingProfileStation.md +27 -0
- package/dist/docs/reference/model/CylinderOptions.md +58 -0
- package/dist/docs/reference/model/DiagnosticOptions.md +23 -0
- package/dist/docs/reference/model/EdgeTreatment.md +22 -0
- package/dist/docs/reference/model/EllipseContourOptions.md +21 -0
- package/dist/docs/reference/model/EllipseOptions.md +21 -0
- package/dist/docs/reference/model/EndTreatments.md +39 -0
- package/dist/docs/reference/model/ExtrudeOptions.md +140 -0
- package/dist/docs/reference/model/FinalizedModel.md +121 -0
- package/dist/docs/reference/model/FinalizedPart.md +87 -0
- package/dist/docs/reference/model/Frame3.md +63 -0
- package/dist/docs/reference/model/GenerateCallback.md +37 -0
- package/dist/docs/reference/model/GenerateContext.md +277 -0
- package/dist/docs/reference/model/GeneratedPart.md +93 -0
- package/dist/docs/reference/model/GenerationDiagnostic.md +41 -0
- package/dist/docs/reference/model/GenerationError.md +54 -0
- package/dist/docs/reference/model/GeometryResolution.md +70 -0
- package/dist/docs/reference/model/GeometrySamplingLimits.md +62 -0
- package/dist/docs/reference/model/GeometryToleranceOptions.md +46 -0
- package/dist/docs/reference/model/GridPatternOptions.md +43 -0
- package/dist/docs/reference/model/HeightfieldOptions.md +67 -0
- package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +140 -0
- package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +58 -0
- package/dist/docs/reference/model/HullOptions.md +72 -0
- package/dist/docs/reference/model/ImmutableBuffer-type.md +80 -0
- package/dist/docs/reference/model/ImmutableTriangleMesh.md +34 -0
- package/dist/docs/reference/model/ImplicitOptions.md +83 -0
- package/dist/docs/reference/model/InternalThreadCutterOptions.md +245 -0
- package/dist/docs/reference/model/LinearPatternOptions.md +31 -0
- package/dist/docs/reference/model/LoftCorrespondence.md +27 -0
- package/dist/docs/reference/model/LoftOptions.md +91 -0
- package/dist/docs/reference/model/LoftPlacement.md +73 -0
- package/dist/docs/reference/model/LoftStation.md +35 -0
- package/dist/docs/reference/model/MatchProfilesOptions.md +35 -0
- package/dist/docs/reference/model/ModelProgram.md +44 -0
- package/dist/docs/reference/model/ModelingLimits.md +126 -0
- package/dist/docs/reference/model/NumericArray.md +7 -0
- package/dist/docs/reference/model/PartGeometry.md +16 -0
- package/dist/docs/reference/model/PartOptions.md +65 -0
- package/dist/docs/reference/model/Path2.md +20 -0
- package/dist/docs/reference/model/PathNormalGuide.md +45 -0
- package/dist/docs/reference/model/PathPatternOptions.md +47 -0
- package/dist/docs/reference/model/PatternSource.md +26 -0
- package/dist/docs/reference/model/Pivot2Options.md +27 -0
- package/dist/docs/reference/model/Pivot3Options.md +27 -0
- package/dist/docs/reference/model/PlaneOptions.md +39 -0
- package/dist/docs/reference/model/PolygonData.md +43 -0
- package/dist/docs/reference/model/PolygonOptions.md +189 -0
- package/dist/docs/reference/model/PrimitivePlacement.md +40 -0
- package/dist/docs/reference/model/PrimitivePlacementOptions.md +88 -0
- package/dist/docs/reference/model/PrintableThreadFit.md +14 -0
- package/dist/docs/reference/model/PrintableThreadFitPolicy.md +50 -0
- package/dist/docs/reference/model/Profile.md +22 -0
- package/dist/docs/reference/model/ProfileComponent2.md +46 -0
- package/dist/docs/reference/model/ProfileContour2.md +34 -0
- package/dist/docs/reference/model/ProfileSpan2.md +47 -0
- package/dist/docs/reference/model/ProfiledEdgeTreatment.md +41 -0
- package/dist/docs/reference/model/RadialPatternOptions.md +63 -0
- package/dist/docs/reference/model/RadialSizing.md +15 -0
- package/dist/docs/reference/model/RadialSizingOptions.md +40 -0
- package/dist/docs/reference/model/RectangleContourOptions.md +72 -0
- package/dist/docs/reference/model/RectangleCornerTreatment.md +40 -0
- package/dist/docs/reference/model/RectangleCornerTreatments.md +20 -0
- package/dist/docs/reference/model/RectangleOptions.md +107 -0
- package/dist/docs/reference/model/RegionData.md +19 -0
- package/dist/docs/reference/model/RegularPolygonOptions.md +53 -0
- package/dist/docs/reference/model/RevolveOptions.md +89 -0
- package/dist/docs/reference/model/RoundedEdgeTreatment.md +96 -0
- package/dist/docs/reference/model/Section.md +490 -0
- package/dist/docs/reference/model/SectionHullOptions.md +72 -0
- package/dist/docs/reference/model/SectionInspection.md +98 -0
- package/dist/docs/reference/model/SectionOffsetJoin.md +16 -0
- package/dist/docs/reference/model/SectionOffsetOptions.md +65 -0
- package/dist/docs/reference/model/SmoothEdgeTreatment.md +76 -0
- package/dist/docs/reference/model/Solid.md +373 -0
- package/dist/docs/reference/model/SolidInspection.md +98 -0
- package/dist/docs/reference/model/SolidRayHit.md +58 -0
- package/dist/docs/reference/model/SphereOptions.md +20 -0
- package/dist/docs/reference/model/StarOptions.md +98 -0
- package/dist/docs/reference/model/StrokeOptions.md +91 -0
- package/dist/docs/reference/model/StrokePathCap.md +16 -0
- package/dist/docs/reference/model/StrokePathJoin.md +16 -0
- package/dist/docs/reference/model/SvgOrigin.md +16 -0
- package/dist/docs/reference/model/SvgPathSectionOptions.md +78 -0
- package/dist/docs/reference/model/SvgSectionOptions.md +66 -0
- package/dist/docs/reference/model/SweepOptions.md +116 -0
- package/dist/docs/reference/model/SweepOrientation.md +116 -0
- package/dist/docs/reference/model/TextSectionOptions.md +41 -0
- package/dist/docs/reference/model/ThreadEndStyle.md +14 -0
- package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +117 -0
- package/dist/docs/reference/model/ThreadHandedness.md +14 -0
- package/dist/docs/reference/model/ThreadLeadInEnvelope.md +14 -0
- package/dist/docs/reference/model/ThreadLeadInShape.md +14 -0
- package/dist/docs/reference/model/ThreadProfile.md +86 -0
- package/dist/docs/reference/model/ThreadRidgeOptions.md +18 -0
- package/dist/docs/reference/model/ThreadedNutBevel.md +14 -0
- package/dist/docs/reference/model/ThreadedNutOptions.md +273 -0
- package/dist/docs/reference/model/ThreadedNutPreflight.md +98 -0
- package/dist/docs/reference/model/ThreadedNutShape.md +14 -0
- package/dist/docs/reference/model/ThreadedRodOptions.md +245 -0
- package/dist/docs/reference/model/TorusOptions.md +110 -0
- package/dist/docs/reference/model/Transform2-type.md +256 -0
- package/dist/docs/reference/model/Transform2Input.md +20 -0
- package/dist/docs/reference/model/Transform2Matrix.md +15 -0
- package/dist/docs/reference/model/Transform3-type.md +296 -0
- package/dist/docs/reference/model/Transform3Input.md +20 -0
- package/dist/docs/reference/model/Transform3Matrix.md +18 -0
- package/dist/docs/reference/model/TriangleMesh.md +42 -0
- package/dist/docs/reference/model/TriangleMeshAnalysis.md +123 -0
- package/dist/docs/reference/model/TriangleMeshMeasurements.md +79 -0
- package/dist/docs/reference/model/TubeOptions.md +143 -0
- package/dist/docs/reference/model/Vector2-type.md +270 -0
- package/dist/docs/reference/model/Vector2Input.md +20 -0
- package/dist/docs/reference/model/Vector2Tuple.md +15 -0
- package/dist/docs/reference/model/Vector3-type.md +282 -0
- package/dist/docs/reference/model/Vector3Input.md +20 -0
- package/dist/docs/reference/model/Vector3Tuple.md +15 -0
- package/dist/docs/reference/model/VectorTextLayout.md +40 -0
- package/dist/docs/reference/model/VectorTextMetrics.md +100 -0
- package/dist/docs/reference/model/anchor.md +46 -0
- package/dist/docs/reference/model/box.md +62 -0
- package/dist/docs/reference/model/categories/boolean-operations.md +37 -0
- package/dist/docs/reference/model/categories/bounded-surfaces.md +26 -0
- package/dist/docs/reference/model/categories/contracts.md +16 -0
- package/dist/docs/reference/model/categories/core-values-errors.md +30 -0
- package/dist/docs/reference/model/categories/explicit-profiles.md +32 -0
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +42 -0
- package/dist/docs/reference/model/categories/generation.md +44 -0
- package/dist/docs/reference/model/categories/inspection.md +23 -0
- package/dist/docs/reference/model/categories/mesh-inspection.md +29 -0
- package/dist/docs/reference/model/categories/primitives.md +61 -0
- package/dist/docs/reference/model/categories/resolution.md +18 -0
- package/dist/docs/reference/model/categories/sections.md +62 -0
- package/dist/docs/reference/model/categories/threads.md +50 -0
- package/dist/docs/reference/model/categories/transforms-placement.md +57 -0
- package/dist/docs/reference/model/circle.md +39 -0
- package/dist/docs/reference/model/components.md +71 -0
- package/dist/docs/reference/model/compose.md +31 -0
- package/dist/docs/reference/model/cylinder.md +52 -0
- package/dist/docs/reference/model/distance.md +45 -0
- package/dist/docs/reference/model/ellipse.md +39 -0
- package/dist/docs/reference/model/extrude.md +83 -0
- package/dist/docs/reference/model/generate.md +46 -0
- package/dist/docs/reference/model/gridPattern.md +80 -0
- package/dist/docs/reference/model/heightfield.md +40 -0
- package/dist/docs/reference/model/hull.md +74 -0
- package/dist/docs/reference/model/immutableBuffer.md +44 -0
- package/dist/docs/reference/model/immutableMesh.md +40 -0
- package/dist/docs/reference/model/implicit.md +47 -0
- package/dist/docs/reference/model/inspectSection.md +38 -0
- package/dist/docs/reference/model/inspectSolid.md +38 -0
- package/dist/docs/reference/model/internalThreadCutter.md +100 -0
- package/dist/docs/reference/model/intersect.md +70 -0
- package/dist/docs/reference/model/isEmpty.md +39 -0
- package/dist/docs/reference/model/linearPattern.md +80 -0
- package/dist/docs/reference/model/loft.md +137 -0
- package/dist/docs/reference/model/matchProfiles.md +42 -0
- package/dist/docs/reference/model/minkowskiSum.md +37 -0
- package/dist/docs/reference/model/pathPattern.md +118 -0
- package/dist/docs/reference/model/polygon.md +40 -0
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +89 -0
- package/dist/docs/reference/model/preflightThreadedNut.md +100 -0
- package/dist/docs/reference/model/preflightThreadedRod.md +89 -0
- package/dist/docs/reference/model/radialPattern.md +113 -0
- package/dist/docs/reference/model/rayCast.md +40 -0
- package/dist/docs/reference/model/rectangle.md +59 -0
- package/dist/docs/reference/model/regularPolygon.md +39 -0
- package/dist/docs/reference/model/revolve.md +74 -0
- package/dist/docs/reference/model/solidFromMesh.md +42 -0
- package/dist/docs/reference/model/sphere.md +42 -0
- package/dist/docs/reference/model/split.md +54 -0
- package/dist/docs/reference/model/splitByPlane.md +66 -0
- package/dist/docs/reference/model/star.md +63 -0
- package/dist/docs/reference/model/stroke.md +74 -0
- package/dist/docs/reference/model/svgPathSection.md +65 -0
- package/dist/docs/reference/model/svgSection.md +64 -0
- package/dist/docs/reference/model/sweep.md +92 -0
- package/dist/docs/reference/model/textSection.md +57 -0
- package/dist/docs/reference/model/threadRidge.md +72 -0
- package/dist/docs/reference/model/threadedNut.md +110 -0
- package/dist/docs/reference/model/threadedRod.md +99 -0
- package/dist/docs/reference/model/toTriangleMesh.md +27 -0
- package/dist/docs/reference/model/torus.md +70 -0
- package/dist/docs/reference/model/transform2.md +39 -0
- package/dist/docs/reference/model/transform3.md +39 -0
- package/dist/docs/reference/model/tube.md +77 -0
- package/dist/docs/reference/model/union.md +72 -0
- package/dist/docs/reference/model/vector2.md +32 -0
- package/dist/docs/reference/model/vector3.md +39 -0
- package/dist/docs/reference/model.md +39 -0
- package/dist/docs/reference/text/Bounds2.md +34 -0
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +7 -0
- package/dist/docs/reference/text/Vector2Tuple.md +7 -0
- package/dist/docs/reference/text/VectorFont.md +186 -0
- package/dist/docs/reference/text/VectorFontOptions.md +17 -0
- package/dist/docs/reference/text/VectorTextArcBaseline.md +53 -0
- package/dist/docs/reference/text/VectorTextLayout.md +34 -0
- package/dist/docs/reference/text/VectorTextLayoutOptions.md +111 -0
- package/dist/docs/reference/text/VectorTextMetrics.md +94 -0
- package/dist/docs/reference/text/VectorTextOptions.md +50 -0
- package/dist/docs/reference/text/categories/font-preparation.md +38 -0
- package/dist/docs/reference/text/prepareVectorFont.md +46 -0
- package/dist/docs/reference/text.md +21 -0
- package/dist/engine/construction-operations.js +10 -3
- package/dist/engine/deferred-context.js +11 -172
- package/dist/engine/execution.js +1 -1
- package/dist/engine/export-3mf.js +2 -2
- package/dist/engine/finalization.js +3 -3
- package/dist/engine/loft-operations.js +4 -4
- package/dist/engine/native/adapter.js +1 -1
- package/dist/engine/native/regions.js +9 -9
- package/dist/engine/native/transforms.js +6 -1
- package/dist/engine/pattern-operations.js +24 -13
- package/dist/engine/placement.js +2 -2
- package/dist/engine/primitive-operations.js +10 -10
- package/dist/engine/primitive-profiles.js +1 -0
- package/dist/engine/profile-mesh.js +7 -7
- package/dist/engine/recipe-realization.js +29 -21
- package/dist/engine/section-operations.js +44 -17
- package/dist/engine/session-graph.js +6 -4
- package/dist/engine/session-native.js +1 -1
- package/dist/engine/session-snapshot.js +3 -2
- package/dist/engine/session.js +4 -5
- package/dist/engine/shape-anchors.js +3 -9
- package/dist/engine/transform-operations.js +42 -25
- package/dist/geometry/bounds.js +117 -0
- package/dist/geometry/cylinder.js +5 -1
- package/dist/geometry/edge-finishing.js +2 -2
- package/dist/geometry/heightfield.js +1 -1
- package/dist/geometry/index.js +20 -13
- package/dist/geometry/{loft-correspondence.js → loft/loft-correspondence.js} +3 -3
- package/dist/geometry/{loft-geometry.js → loft/loft-geometry.js} +8 -8
- package/dist/geometry/{loft-options.js → loft/loft-options.js} +2 -2
- package/dist/geometry/{loft-simple-mesh.js → loft/loft-simple-mesh.js} +6 -6
- package/dist/geometry/{loft-triangulation.js → loft/loft-triangulation.js} +6 -6
- package/dist/geometry/{loft.js → loft/loft.js} +8 -8
- package/dist/geometry/math/immutable-value.js +20 -0
- package/dist/geometry/math/vector-value.js +168 -0
- package/dist/geometry/math/vector2.js +80 -0
- package/dist/geometry/math/vector3.js +42 -8
- package/dist/geometry/mechanical/gear-motion.js +7 -4
- package/dist/geometry/mechanical/gears.js +2 -2
- package/dist/geometry/mechanical/thread-mesh.js +3 -3
- package/dist/geometry/mechanical/thread-profiles.js +2 -2
- package/dist/geometry/mechanical/thread-surface.js +14 -5
- package/dist/geometry/{mesh-centroid.js → mesh/mesh-centroid.js} +1 -1
- package/dist/geometry/{mesh-planar.js → mesh/mesh-planar.js} +1 -1
- package/dist/geometry/{mesh-quality.js → mesh/mesh-quality.js} +2 -2
- package/dist/geometry/{mesh-signature.js → mesh/mesh-signature.js} +2 -2
- package/dist/geometry/{mesh-solid-intersections.js → mesh/mesh-solid-intersections.js} +5 -1
- package/dist/geometry/{mesh-solid.js → mesh/mesh-solid.js} +2 -2
- package/dist/geometry/{mesh.js → mesh/mesh.js} +7 -8
- package/dist/geometry/paths/closest-point.js +74 -0
- package/dist/geometry/paths/frames.js +7 -8
- package/dist/geometry/patterns/options.js +1 -0
- package/dist/{engine/pattern-placements.js → geometry/patterns/placements.js} +22 -8
- package/dist/geometry/patterns.js +25 -0
- package/dist/geometry/primitive-resolution.js +4 -1
- package/dist/geometry/primitive-resolvers.js +9 -9
- package/dist/geometry/profiles/contour.js +3 -3
- package/dist/geometry/profiles/matched.js +3 -3
- package/dist/geometry/profiles/profiles.js +10 -10
- package/dist/geometry/profiles/rectangle.js +7 -7
- package/dist/geometry/profiles/shapes.js +9 -9
- package/dist/geometry/profiles/side-profile.js +37 -0
- package/dist/geometry/regions.js +15 -15
- package/dist/geometry/resolution.js +17 -5
- package/dist/geometry/revolve/revolve-mesh.js +5 -5
- package/dist/geometry/stroke-path.js +50 -46
- package/dist/geometry/svg/errors.js +0 -3
- package/dist/geometry/svg/fill.js +7 -7
- package/dist/geometry/svg/index.js +1 -1
- package/dist/geometry/svg/matrix.js +0 -114
- package/dist/geometry/svg/parser.js +1 -439
- package/dist/geometry/svg-import.js +3 -3
- package/dist/geometry/sweeps/stations.js +4 -4
- package/dist/geometry/sweeps/sweep-closed.js +4 -4
- package/dist/geometry/sweeps/sweep-mesh.js +1 -1
- package/dist/geometry/sweeps/sweep-open.js +6 -6
- package/dist/geometry/sweeps/validation.js +2 -2
- package/dist/geometry/text-fitting.js +85 -0
- package/dist/geometry/tolerance.js +2 -2
- package/dist/geometry/transform-chain.js +172 -0
- package/dist/geometry/transform-geometry.js +31 -27
- package/dist/geometry/transform-matrix.js +14 -0
- package/dist/geometry/transform2.js +60 -0
- package/dist/geometry/transform3.js +70 -26
- package/dist/index.js +3 -0
- package/dist/model/execution-binding.js +10 -5
- package/dist/model/generation.js +1 -1
- package/dist/model/geometry-recipes.js +15 -0
- package/dist/{engine → model}/immutable-generation-data.js +25 -3
- package/dist/model/operation-contracts.js +1 -0
- package/dist/model/operation-dispatch.js +13 -0
- package/dist/model/operations.js +40 -59
- package/dist/model/recipe-declaration.js +193 -0
- package/dist/model/shape-handles.js +15 -4
- package/package.json +10 -8
- package/dist/engine/geometry-recipes.js +0 -12
- /package/dist/geometry/{mesh-edge-table.js → mesh/mesh-edge-table.js} +0 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# resolveAlignedCircularSegments
|
|
2
|
+
|
|
3
|
+
Resolves a deterministic full-circle count aligned to reusable topology factors.
|
|
4
|
+
|
|
5
|
+
**resolveAlignedCircularSegments**(`radius`: `number`, `options`: [`AlignedCircularSegmentsOptions`](AlignedCircularSegmentsOptions.md)): `number`
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
const alignedSegments = resolveAlignedCircularSegments(20, { alignTo: [4, 6] });
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
`alignTo` must be non-empty and contain only positive safe integers. Its checked least common
|
|
16
|
+
multiple defines the alignment grid. An exact `segments` value wins over
|
|
17
|
+
`resolution.circularSegments` and adaptive sampling, but is never rounded: it must already be
|
|
18
|
+
aligned and meet `minimumSegments`. Adaptive counts are rounded upward and fail with
|
|
19
|
+
`COMPLEXITY_LIMIT` when the aligned result exceeds the configured safety cap.
|
|
20
|
+
|
|
21
|
+
## Parameters
|
|
22
|
+
|
|
23
|
+
<a id="radius"></a>
|
|
24
|
+
|
|
25
|
+
**`radius`** · `number` · Required
|
|
26
|
+
|
|
27
|
+
Positive circle radius in millimetres used for adaptive physical sampling.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
<a id="options"></a>
|
|
32
|
+
|
|
33
|
+
**`options`** · [`AlignedCircularSegmentsOptions`](AlignedCircularSegmentsOptions.md) · Required
|
|
34
|
+
|
|
35
|
+
Required alignment factors plus optional floor, exact count, and resolution.
|
|
36
|
+
|
|
37
|
+
- [`alignTo`](AlignedCircularSegmentsOptions.md#alignto) · readonly `number`[] · Required
|
|
38
|
+
|
|
39
|
+
Non-empty alignment factors. Every value must be a positive safe integer; the returned count
|
|
40
|
+
is divisible by their checked least common multiple.
|
|
41
|
+
|
|
42
|
+
- [`sizing`](AlignedCircularSegmentsOptions.md#sizing) · [`RadialSizing`](RadialSizing.md) · Optional
|
|
43
|
+
|
|
44
|
+
Radial sizing used by adaptive error and edge-length checks. Defaults to vertex.
|
|
45
|
+
|
|
46
|
+
- [`limits`](AlignedCircularSegmentsOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
47
|
+
|
|
48
|
+
Explicit sampling allocation ceilings.
|
|
49
|
+
|
|
50
|
+
- [`minimumSegments`](AlignedCircularSegmentsOptions.md#minimumsegments) · `number` · Optional · Default: `3`
|
|
51
|
+
|
|
52
|
+
Additional full-circle segment floor, as a safe integer of at least three.
|
|
53
|
+
|
|
54
|
+
- [`segments`](AlignedCircularSegmentsOptions.md#segments) · `number` · Optional
|
|
55
|
+
|
|
56
|
+
Exact full-circle segment count.
|
|
57
|
+
|
|
58
|
+
This takes precedence over `resolution.circularSegments` and adaptive sampling, and must
|
|
59
|
+
already satisfy every alignment factor and `minimumSegments`.
|
|
60
|
+
|
|
61
|
+
- [`resolution`](AlignedCircularSegmentsOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
62
|
+
|
|
63
|
+
Operation-level physical tessellation policy over the active model-wide policy.
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
## Returns
|
|
68
|
+
|
|
69
|
+
`number`
|
|
70
|
+
|
|
71
|
+
An aligned full-circle segment count.
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
## Throws
|
|
75
|
+
|
|
76
|
+
- GeometryError when radius, alignment factors, segment floors, or resolution are invalid, or alignment exceeds safe integer or configured complexity limits.
|
|
77
|
+
|
|
78
|
+
## Related APIs
|
|
79
|
+
|
|
80
|
+
- [AlignedCircularSegmentsOptions](AlignedCircularSegmentsOptions.md)
|
|
81
|
+
- [resolveCircularSegments](resolveCircularSegments.md)
|
|
82
|
+
|
|
83
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# resolveArcSegments
|
|
2
|
+
|
|
3
|
+
Resolves the number of segments needed for a circular arc.
|
|
4
|
+
|
|
5
|
+
**resolveArcSegments**(`radius`: `number`, `angleDegrees`: `number`, `policy?`: [`CircularResolutionOptions`](CircularResolutionOptions.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): `number`
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
const quarterTurnSegments = resolveArcSegments(10, 90);
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Full-circle limits and exact circular counts are scaled to the requested angular span, matching
|
|
16
|
+
the reusable BOSL2-style convention while retaining at least one segment.
|
|
17
|
+
|
|
18
|
+
## Parameters
|
|
19
|
+
|
|
20
|
+
<a id="radius"></a>
|
|
21
|
+
|
|
22
|
+
**`radius`** · `number` · Required
|
|
23
|
+
|
|
24
|
+
Arc radius in millimetres.
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
<a id="angledegrees"></a>
|
|
29
|
+
|
|
30
|
+
**`angleDegrees`** · `number` · Required
|
|
31
|
+
|
|
32
|
+
Non-zero signed sweep angle no greater than 360 degrees in magnitude.
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
<a id="policy"></a>
|
|
37
|
+
|
|
38
|
+
**`policy`** · [`CircularResolutionOptions`](CircularResolutionOptions.md) · Optional
|
|
39
|
+
|
|
40
|
+
Optional operation-level policy over the active model scope.
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
<a id="limits"></a>
|
|
45
|
+
|
|
46
|
+
**`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## Returns
|
|
51
|
+
|
|
52
|
+
`number`
|
|
53
|
+
|
|
54
|
+
Segment count for the requested arc span.
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
## Throws
|
|
58
|
+
|
|
59
|
+
- GeometryError when radius, angle, or resolution policy is invalid, or the corresponding full-circle tolerance exceeds the configured safety limit.
|
|
60
|
+
|
|
61
|
+
## Related APIs
|
|
62
|
+
|
|
63
|
+
- [CircularResolutionOptions](CircularResolutionOptions.md)
|
|
64
|
+
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
65
|
+
- [resolveCircularSegments](resolveCircularSegments.md)
|
|
66
|
+
|
|
67
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# resolveCircularSegments
|
|
2
|
+
|
|
3
|
+
Resolves a deterministic full-circle segment count for one radius.
|
|
4
|
+
|
|
5
|
+
**resolveCircularSegments**(`radius`: `number`, `policy?`: [`CircularResolutionOptions`](CircularResolutionOptions.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): `number`
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
const circleSegments = resolveCircularSegments(25, { maxChordError: 0.05 });
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
An exact `circularSegments` value wins. Otherwise the smallest regular polygon satisfying both
|
|
16
|
+
physical error criteria is used. Face sizing bounds the circumscribed polygon's outward
|
|
17
|
+
excess and actual edge length. A safety cap that would violate either criterion raises
|
|
18
|
+
`COMPLEXITY_LIMIT` rather than silently reducing quality.
|
|
19
|
+
|
|
20
|
+
## Parameters
|
|
21
|
+
|
|
22
|
+
<a id="radius"></a>
|
|
23
|
+
|
|
24
|
+
**`radius`** · `number` · Required
|
|
25
|
+
|
|
26
|
+
Circle radius in millimetres.
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
<a id="policy"></a>
|
|
31
|
+
|
|
32
|
+
**`policy`** · [`CircularResolutionOptions`](CircularResolutionOptions.md) · Optional
|
|
33
|
+
|
|
34
|
+
Optional operation-level policy under explicit sampling ceilings.
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
<a id="limits"></a>
|
|
39
|
+
|
|
40
|
+
**`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## Returns
|
|
45
|
+
|
|
46
|
+
`number`
|
|
47
|
+
|
|
48
|
+
Full-circle segment count.
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
## Throws
|
|
52
|
+
|
|
53
|
+
- GeometryError when radius or policy is invalid, or the requested tolerance exceeds the configured segment safety limit.
|
|
54
|
+
|
|
55
|
+
## Related APIs
|
|
56
|
+
|
|
57
|
+
- [CircularResolutionOptions](CircularResolutionOptions.md)
|
|
58
|
+
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
59
|
+
- [resolveAlignedCircularSegments](resolveAlignedCircularSegments.md)
|
|
60
|
+
- [resolveArcSegments](resolveArcSegments.md)
|
|
61
|
+
|
|
62
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# resolveCylindricalGear
|
|
2
|
+
|
|
3
|
+
Resolves a validated unshifted full-depth external cylindrical gear.
|
|
4
|
+
|
|
5
|
+
**resolveCylindricalGear**(`spec`: [`CylindricalGearSpec`](CylindricalGearSpec.md)): [`CylindricalGearDimensions`](CylindricalGearDimensions.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
The gear axis is +Z and the returned radii describe its XY pitch plane. Inputs below the
|
|
10
|
+
pressure- and helix-dependent no-undercut tooth count are rejected because profile shift is not
|
|
11
|
+
currently supported.
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
<a id="spec"></a>
|
|
16
|
+
|
|
17
|
+
**`spec`** · [`CylindricalGearSpec`](CylindricalGearSpec.md) · Required
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
## Returns
|
|
22
|
+
|
|
23
|
+
[`CylindricalGearDimensions`](CylindricalGearDimensions.md)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## Related APIs
|
|
27
|
+
|
|
28
|
+
- [CylindricalGearDimensions](CylindricalGearDimensions.md)
|
|
29
|
+
- [CylindricalGearSpec](CylindricalGearSpec.md)
|
|
30
|
+
|
|
31
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# resolveCylindricalGearPair
|
|
2
|
+
|
|
3
|
+
Resolves ratio, center distance, and helix relationship for a gear pair.
|
|
4
|
+
|
|
5
|
+
**resolveCylindricalGearPair**(`spec`: [`CylindricalGearPairSpec`](CylindricalGearPairSpec.md)): [`CylindricalGearPairDimensions`](CylindricalGearPairDimensions.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Both gears must use the same normal module, pressure angle, and helix-angle
|
|
10
|
+
magnitude. An external pair uses opposite helix hands; an internal pair uses
|
|
11
|
+
the same hand. The function validates those conjugate pitch invariants.
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
<a id="spec"></a>
|
|
16
|
+
|
|
17
|
+
**`spec`** · [`CylindricalGearPairSpec`](CylindricalGearPairSpec.md) · Required
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
## Returns
|
|
22
|
+
|
|
23
|
+
[`CylindricalGearPairDimensions`](CylindricalGearPairDimensions.md)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## Related APIs
|
|
27
|
+
|
|
28
|
+
- [CylindricalGearPairDimensions](CylindricalGearPairDimensions.md)
|
|
29
|
+
- [CylindricalGearPairSpec](CylindricalGearPairSpec.md)
|
|
30
|
+
|
|
31
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# resolveExtrusionDivisions
|
|
2
|
+
|
|
3
|
+
Resolves intermediate profile copies for linear extrusion from physical curve resolution.
|
|
4
|
+
|
|
5
|
+
**resolveExtrusionDivisions**(`profile`: [`Contour`](Contour.md) \| [`RegionData`](RegionData.md), `height`: `number`, `options?`: [`ExtrusionSamplingOptions`](ExtrusionSamplingOptions.md)): `number`
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Accepts one XY loop or a filled XY region, including every hole and disconnected component.
|
|
10
|
+
Exact `divisions`, including zero, override physical sampling. Otherwise chord error bounds
|
|
11
|
+
the triangulated side surface, including rotation across each profile edge. Optional segment
|
|
12
|
+
length bounds station travel including Z. Straight extrusions need no intermediate copies by default.
|
|
13
|
+
Exceeding the selected maxPathPoints ceiling raises `COMPLEXITY_LIMIT` instead of reducing fidelity.
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
<a id="profile"></a>
|
|
18
|
+
|
|
19
|
+
**`profile`** · [`Contour`](Contour.md) \| [`RegionData`](RegionData.md) · Required
|
|
20
|
+
|
|
21
|
+
Ordered XY millimetre contours with implicit closing edges.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
<a id="height"></a>
|
|
26
|
+
|
|
27
|
+
**`height`** · `number` · Required
|
|
28
|
+
|
|
29
|
+
Positive extrusion height in millimetres.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
<a id="options"></a>
|
|
34
|
+
|
|
35
|
+
**`options`** · [`ExtrusionSamplingOptions`](ExtrusionSamplingOptions.md) · Optional
|
|
36
|
+
|
|
37
|
+
Twist, scale, exact divisions, and physical resolution controls.
|
|
38
|
+
|
|
39
|
+
- [`divisions`](ExtrusionSamplingOptions.md#divisions) · `number` · Optional
|
|
40
|
+
|
|
41
|
+
Exact number of intermediate profiles, nonnegative; overrides physical sampling.
|
|
42
|
+
|
|
43
|
+
- [`limits`](ExtrusionSamplingOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
|
|
44
|
+
|
|
45
|
+
Explicit output and sampling allocation ceilings.
|
|
46
|
+
|
|
47
|
+
- [`resolution`](ExtrusionSamplingOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
48
|
+
|
|
49
|
+
Operation-level physical policy over the nearest model scope.
|
|
50
|
+
|
|
51
|
+
- [`scaleTop`](ExtrusionSamplingOptions.md#scaletop) · `number` \| [`Vector2Tuple`](Vector2Tuple.md) · Optional
|
|
52
|
+
|
|
53
|
+
Finite uniform or XY scale of the top profile; defaults to one.
|
|
54
|
+
|
|
55
|
+
- [`twistDegrees`](ExtrusionSamplingOptions.md#twistdegrees) · `number` · Optional
|
|
56
|
+
|
|
57
|
+
Finite rotation of the top profile about +Z, in degrees; defaults to zero.
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
## Returns
|
|
62
|
+
|
|
63
|
+
`number`
|
|
64
|
+
|
|
65
|
+
Number of intermediate copies, excluding the two end profiles.
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
## Related APIs
|
|
69
|
+
|
|
70
|
+
- [Contour](Contour.md)
|
|
71
|
+
- [ExtrusionSamplingOptions](ExtrusionSamplingOptions.md)
|
|
72
|
+
- [RegionData](RegionData.md)
|
|
73
|
+
|
|
74
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# resolveGeometrySamplingLimits
|
|
2
|
+
|
|
3
|
+
Resolves finite positive safe-integer allocation ceilings without ambient state.
|
|
4
|
+
|
|
5
|
+
**resolveGeometrySamplingLimits**(`overrides?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): [`GeometrySamplingLimits`](GeometrySamplingLimits.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
<a id="overrides"></a>
|
|
12
|
+
|
|
13
|
+
**`overrides`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## Returns
|
|
18
|
+
|
|
19
|
+
[`GeometrySamplingLimits`](GeometrySamplingLimits.md)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Related APIs
|
|
23
|
+
|
|
24
|
+
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
25
|
+
|
|
26
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# resolveGeometryTolerance
|
|
2
|
+
|
|
3
|
+
Resolves comparison tolerances for a characteristic model scale.
|
|
4
|
+
|
|
5
|
+
**resolveGeometryTolerance**(`scale?`: `number`, `options?`: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)): [`ResolvedGeometryTolerance`](ResolvedGeometryTolerance.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
The effective linear tolerance is `max(absolute, relative * abs(scale))`.
|
|
10
|
+
A zero scale retains the absolute floor. Returns a new frozen value with finite distance and
|
|
11
|
+
area thresholds without mutating `options`.
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
<a id="scale"></a>
|
|
16
|
+
|
|
17
|
+
**`scale`** · `number` · Optional
|
|
18
|
+
|
|
19
|
+
Finite characteristic size in model units.
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
<a id="options"></a>
|
|
24
|
+
|
|
25
|
+
**`options`** · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
|
|
26
|
+
|
|
27
|
+
Optional policy overrides.
|
|
28
|
+
|
|
29
|
+
- [`absolute`](GeometryToleranceOptions.md#absolute) · `number` · Optional
|
|
30
|
+
|
|
31
|
+
Absolute distance floor in model units. Must be finite and greater than zero.
|
|
32
|
+
|
|
33
|
+
- [`angular`](GeometryToleranceOptions.md#angular) · `number` · Optional
|
|
34
|
+
|
|
35
|
+
Angular comparison threshold in radians. Must be finite and greater than zero.
|
|
36
|
+
|
|
37
|
+
- [`relative`](GeometryToleranceOptions.md#relative) · `number` · Optional
|
|
38
|
+
|
|
39
|
+
Dimensionless scale multiplier. Must be finite and non-negative.
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
## Returns
|
|
44
|
+
|
|
45
|
+
[`ResolvedGeometryTolerance`](ResolvedGeometryTolerance.md)
|
|
46
|
+
|
|
47
|
+
A complete tolerance policy including the scale-resolved distance.
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## Throws
|
|
51
|
+
|
|
52
|
+
- GeometryError When a scale or override is invalid.
|
|
53
|
+
|
|
54
|
+
## Related APIs
|
|
55
|
+
|
|
56
|
+
- [GeometryToleranceOptions](GeometryToleranceOptions.md)
|
|
57
|
+
- [ResolvedGeometryTolerance](ResolvedGeometryTolerance.md)
|
|
58
|
+
|
|
59
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# resolvePrintableThreadFitPolicy
|
|
2
|
+
|
|
3
|
+
Resolves and validates a named or caller-defined print-fit policy.
|
|
4
|
+
|
|
5
|
+
**resolvePrintableThreadFitPolicy**(`fit?`: [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md)): [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
<a id="fit"></a>
|
|
12
|
+
|
|
13
|
+
**`fit`** · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## Returns
|
|
18
|
+
|
|
19
|
+
[`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Related APIs
|
|
23
|
+
|
|
24
|
+
- [PrintableThreadFit](PrintableThreadFit.md)
|
|
25
|
+
- [PrintableThreadFitPolicy](PrintableThreadFitPolicy.md)
|
|
26
|
+
|
|
27
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# resolveRackPitch
|
|
2
|
+
|
|
3
|
+
Resolves a rack segment that is conjugate with the same normal cylindrical pitch system.
|
|
4
|
+
|
|
5
|
+
**resolveRackPitch**(`spec`: [`RackPitchSpec`](RackPitchSpec.md)): [`RackPitchDimensions`](RackPitchDimensions.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
<a id="spec"></a>
|
|
12
|
+
|
|
13
|
+
**`spec`** · [`RackPitchSpec`](RackPitchSpec.md) · Required
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## Returns
|
|
18
|
+
|
|
19
|
+
[`RackPitchDimensions`](RackPitchDimensions.md)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Related APIs
|
|
23
|
+
|
|
24
|
+
- [RackPitchDimensions](RackPitchDimensions.md)
|
|
25
|
+
- [RackPitchSpec](RackPitchSpec.md)
|
|
26
|
+
|
|
27
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# resolveThreadCircularSegments
|
|
2
|
+
|
|
3
|
+
Resolves a role-independent, start-aligned facet count from the larger female mating envelope.
|
|
4
|
+
|
|
5
|
+
**resolveThreadCircularSegments**(`options`: [`ThreadCircularSegmentsOptions`](ThreadCircularSegmentsOptions.md)): `number`
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
An exact `circularSegments` value must already be divisible by `starts`; it is never silently
|
|
10
|
+
raised. Adaptive policies align upward and fail if that would exceed `maximumSegments`.
|
|
11
|
+
|
|
12
|
+
## Parameters
|
|
13
|
+
|
|
14
|
+
<a id="options"></a>
|
|
15
|
+
|
|
16
|
+
**`options`** · [`ThreadCircularSegmentsOptions`](ThreadCircularSegmentsOptions.md) · Required
|
|
17
|
+
|
|
18
|
+
- [`nominalMajorDiameter`](ThreadCircularSegmentsOptions.md#nominalmajordiameter) · `number` · Required
|
|
19
|
+
|
|
20
|
+
Nominal major diameter before role-specific compensation.
|
|
21
|
+
|
|
22
|
+
- [`profile`](ThreadCircularSegmentsOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
|
|
23
|
+
|
|
24
|
+
Validated mating profile whose pitch and flank capacities govern tessellation.
|
|
25
|
+
|
|
26
|
+
- [`limits`](ThreadCircularSegmentsOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
27
|
+
|
|
28
|
+
Explicit circular allocation ceiling for the shared mating grid.
|
|
29
|
+
|
|
30
|
+
- [`fit`](ThreadCircularSegmentsOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
|
|
31
|
+
|
|
32
|
+
Printable fit whose larger compensated female envelope governs tessellation.
|
|
33
|
+
|
|
34
|
+
- [`maximumRadialOutset`](ThreadCircularSegmentsOptions.md#maximumradialoutset) · `number` · Optional
|
|
35
|
+
|
|
36
|
+
Maximum active female face outset beyond the compensated major envelope, in millimetres.
|
|
37
|
+
This keeps a compensated male/female pair on one role-independent grid when an internal
|
|
38
|
+
cutter has an enlarged entrance bevel. Default: `0`.
|
|
39
|
+
|
|
40
|
+
- [`resolution`](ThreadCircularSegmentsOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
41
|
+
|
|
42
|
+
Physical or exact circular resolution policy.
|
|
43
|
+
|
|
44
|
+
- [`starts`](ThreadCircularSegmentsOptions.md#starts) · `number` · Optional
|
|
45
|
+
|
|
46
|
+
Number of phased starts. Default: `1`.
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## Returns
|
|
51
|
+
|
|
52
|
+
`number`
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
## Related APIs
|
|
56
|
+
|
|
57
|
+
- [ThreadCircularSegmentsOptions](ThreadCircularSegmentsOptions.md)
|
|
58
|
+
|
|
59
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# reverseTriangleMesh
|
|
2
|
+
|
|
3
|
+
Returns a copy of a mesh with every triangle winding reversed.
|
|
4
|
+
|
|
5
|
+
**reverseTriangleMesh**(`mesh`: [`TriangleMesh`](TriangleMesh.md)): [`TriangleMesh`](TriangleMesh.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
<a id="mesh"></a>
|
|
12
|
+
|
|
13
|
+
**`mesh`** · [`TriangleMesh`](TriangleMesh.md) · Required
|
|
14
|
+
|
|
15
|
+
Mesh to copy and reverse.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## Returns
|
|
20
|
+
|
|
21
|
+
[`TriangleMesh`](TriangleMesh.md)
|
|
22
|
+
|
|
23
|
+
Fresh position and index buffers; the input remains unchanged.
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## Related APIs
|
|
27
|
+
|
|
28
|
+
- [TriangleMesh](TriangleMesh.md)
|
|
29
|
+
|
|
30
|
+
Package: `@metamesh/modeling@0.14.0`.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# revolveMesh
|
|
2
|
+
|
|
3
|
+
Revolves a non-duplicated closed `[radius, z]` profile around +Z.
|
|
4
|
+
|
|
5
|
+
`const` **revolveMesh**: (`profile`: readonly [`Vector2Tuple`](Vector2Tuple.md)[], `options?`: [`RevolveOptions`](RevolveOptions.md)) => [`TriangleMesh`](TriangleMesh.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
The profile is ordered counter-clockwise when radius points right and Z
|
|
10
|
+
points up. Angular and profile seams wrap by index. A profile point on the
|
|
11
|
+
axis is emitted once and joined as a triangle fan, avoiding coincident seam
|
|
12
|
+
vertices and zero-area quads. Profile edges that lie entirely on the axis
|
|
13
|
+
collapse to the solid's interior and are intentionally omitted.
|
|
14
|
+
Profile coordinates must fit finite Float32 mesh storage.
|
|
15
|
+
|
|
16
|
+
## Example: Partial revolution with end caps
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
// Each point is [radius, Z]; the profile seam is implicit.
|
|
20
|
+
revolveMesh([[0, 0], [12, 0], [8, 20], [0, 20]], { revolveDegrees: 270 });
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Parameters
|
|
24
|
+
|
|
25
|
+
<a id="profile"></a>
|
|
26
|
+
|
|
27
|
+
**`profile`** · readonly [`Vector2Tuple`](Vector2Tuple.md)[] · Required
|
|
28
|
+
|
|
29
|
+
Closed CCW `[radius, z]` profile without a duplicated seam point.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
<a id="options"></a>
|
|
34
|
+
|
|
35
|
+
**`options`** · [`RevolveOptions`](RevolveOptions.md) · Optional
|
|
36
|
+
|
|
37
|
+
Optional physical or exact circumferential sampling controls. Defaults to `{}`.
|
|
38
|
+
|
|
39
|
+
- [`segments`](RevolveOptions.md#segments) · `number` · Optional
|
|
40
|
+
|
|
41
|
+
Exact circumferential segment count from three through the configured safety limit.
|
|
42
|
+
|
|
43
|
+
This local topology override takes precedence over [CircularPrimitiveOptions.resolution](CircularPrimitiveOptions.md#resolution)
|
|
44
|
+
and any active model-wide resolution policy.
|
|
45
|
+
|
|
46
|
+
- [`resolution`](RevolveOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
47
|
+
|
|
48
|
+
Operation-level physical tessellation policy over the active model-wide policy.
|
|
49
|
+
|
|
50
|
+
- [`revolveDegrees`](RevolveOptions.md#revolvedegrees) · `number` · Optional
|
|
51
|
+
|
|
52
|
+
Positive angular sweep no greater than 360 degrees; partial revolutions have end caps.
|
|
53
|
+
Segment counts describe a complete circle and scale to this angular span. Native filled
|
|
54
|
+
revolutions require at least three sweep intervals: adaptive sampling refines to that floor,
|
|
55
|
+
while exact counts that imply fewer intervals reject. Pure revolveMesh supports one interval.
|
|
56
|
+
|
|
57
|
+
- [`limits`](RevolveOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
|
|
58
|
+
|
|
59
|
+
Explicit output and sampling allocation ceilings.
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
## Returns
|
|
64
|
+
|
|
65
|
+
[`TriangleMesh`](TriangleMesh.md)
|
|
66
|
+
|
|
67
|
+
A closed indexed triangle mesh revolved counter-clockwise around +Z.
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
## Related APIs
|
|
71
|
+
|
|
72
|
+
- [RevolveOptions](RevolveOptions.md)
|
|
73
|
+
- [TriangleMesh](TriangleMesh.md)
|
|
74
|
+
- [Vector2Tuple](Vector2Tuple.md)
|
|
75
|
+
|
|
76
|
+
Package: `@metamesh/modeling@0.14.0`.
|