@metamesh/modeling 0.12.0 → 0.13.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 +27 -0
- package/README.md +60 -72
- package/dist/api/engine.d.ts +123 -97
- package/dist/api/geometry.d.ts +3896 -3307
- package/dist/api/index.d.ts +2489 -2268
- package/dist/api/text.d.ts +119 -107
- package/dist/docs/guides/concepts.md +197 -0
- package/dist/docs/guides/fonts.md +51 -0
- package/dist/docs/guides/fundamentals.md +135 -0
- package/dist/docs/guides/generation.md +221 -0
- package/dist/docs/guides/hosting.md +88 -0
- package/dist/docs/guides/recipes.md +668 -0
- package/dist/docs/manifest.json +9851 -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 +79 -0
- package/dist/docs/reference/geometry/Anchor3.md +49 -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 +58 -0
- package/dist/docs/reference/geometry/AxisAngleRotation3.md +61 -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 +7 -0
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +59 -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/ClearanceHoleDimensions.md +41 -0
- package/dist/docs/reference/geometry/ClearanceHoleFit.md +7 -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 +7 -0
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +83 -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 +65 -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 +14 -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/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/Polygon.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/Region.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/Transform3.md +12 -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.md +7 -0
- package/dist/docs/reference/geometry/Vector3.md +7 -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/add3.md +38 -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 +41 -0
- package/dist/docs/reference/geometry/applyTransformPoint3.md +39 -0
- package/dist/docs/reference/geometry/attachTransform.md +73 -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 +48 -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 +63 -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 +46 -0
- package/dist/docs/reference/geometry/categories/transforms-math.md +63 -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/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 +40 -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 +63 -0
- package/dist/docs/reference/geometry/createThreadProfile.md +37 -0
- package/dist/docs/reference/geometry/createTriangleMeshSignature.md +60 -0
- package/dist/docs/reference/geometry/cross3.md +38 -0
- package/dist/docs/reference/geometry/cumulativePathLengths.md +33 -0
- package/dist/docs/reference/geometry/cylinderAnchor3.md +56 -0
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +14 -0
- package/dist/docs/reference/geometry/distributeAlongPath.md +51 -0
- package/dist/docs/reference/geometry/dot3.md +38 -0
- package/dist/docs/reference/geometry/ellipseContour.md +33 -0
- package/dist/docs/reference/geometry/eulerTransform3.md +38 -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 +44 -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 +30 -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/length3.md +26 -0
- package/dist/docs/reference/geometry/lerp3.md +38 -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 +47 -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/normalize3.md +32 -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 +32 -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 +79 -0
- package/dist/docs/reference/geometry/resolveArcSegments.md +67 -0
- package/dist/docs/reference/geometry/resolveCircularSegments.md +61 -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/rotateAroundAxis3.md +38 -0
- package/dist/docs/reference/geometry/rotationTransform3.md +49 -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/scale3.md +38 -0
- package/dist/docs/reference/geometry/scaleTransform3.md +34 -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/subtract3.md +38 -0
- package/dist/docs/reference/geometry/sweepMesh.md +82 -0
- package/dist/docs/reference/geometry/transformContour.md +42 -0
- package/dist/docs/reference/geometry/transformDeterminant3.md +32 -0
- package/dist/docs/reference/geometry/transformPath2.md +40 -0
- package/dist/docs/reference/geometry/transformPath3.md +33 -0
- package/dist/docs/reference/geometry/transformRegion.md +40 -0
- package/dist/docs/reference/geometry/transformTriangleMesh.md +42 -0
- package/dist/docs/reference/geometry/translationTransform3.md +31 -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 +43 -0
- package/dist/docs/reference/geometry/validateTriangleMesh.md +59 -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/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/PlaneOptions.md +39 -0
- package/dist/docs/reference/model/Polygon-type.md +43 -0
- package/dist/docs/reference/model/PolygonOptions.md +112 -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/Region.md +19 -0
- package/dist/docs/reference/model/RegionOffsetJoin.md +16 -0
- package/dist/docs/reference/model/RegionOffsetOptions.md +65 -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 +450 -0
- package/dist/docs/reference/model/SectionHullOptions.md +72 -0
- package/dist/docs/reference/model/SectionInspection.md +98 -0
- package/dist/docs/reference/model/SmoothEdgeTreatment.md +76 -0
- package/dist/docs/reference/model/Solid.md +350 -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/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.md +15 -0
- package/dist/docs/reference/model/Transform3.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.md +15 -0
- package/dist/docs/reference/model/Vector3.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 +59 -0
- package/dist/docs/reference/model/categories/threads.md +50 -0
- package/dist/docs/reference/model/categories/transforms-placement.md +43 -0
- package/dist/docs/reference/model/circle.md +39 -0
- package/dist/docs/reference/model/components.md +68 -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/fromRegion.md +33 -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/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/toRegion.md +33 -0
- package/dist/docs/reference/model/toTriangleMesh.md +27 -0
- package/dist/docs/reference/model/torus.md +70 -0
- package/dist/docs/reference/model/tube.md +77 -0
- package/dist/docs/reference/model/union.md +72 -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/Vector2.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 +12 -3
- 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/pattern-operations.js +24 -13
- package/dist/engine/pattern-transform.js +9 -0
- package/dist/engine/placement.js +2 -2
- package/dist/engine/primitive-operations.js +10 -10
- package/dist/engine/profile-mesh.js +7 -7
- package/dist/engine/section-operations.js +25 -14
- package/dist/engine/session-graph.js +5 -3
- package/dist/engine/session.js +1 -2
- 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 +15 -12
- 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/vector3.js +5 -1
- 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.js → mesh/mesh-solid.js} +2 -2
- package/dist/geometry/{mesh.js → mesh/mesh.js} +7 -8
- package/dist/geometry/paths/frames.js +4 -5
- 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-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/revolve/revolve-mesh.js +5 -5
- package/dist/geometry/stroke-path.js +2 -2
- 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/sweep-closed.js +1 -1
- package/dist/geometry/sweeps/sweep-mesh.js +1 -1
- package/dist/geometry/sweeps/sweep-open.js +3 -3
- 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-geometry.js +9 -9
- package/dist/model/execution-binding.js +3 -3
- package/dist/model/generation.js +1 -1
- package/dist/model/operation-contracts.js +1 -0
- package/dist/model/operation-dispatch.js +6 -0
- package/dist/model/operations.js +19 -49
- package/package.json +10 -8
- /package/dist/geometry/{mesh-edge-table.js → mesh/mesh-edge-table.js} +0 -0
- /package/dist/geometry/{mesh-solid-intersections.js → mesh/mesh-solid-intersections.js} +0 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# preflightThreadedNut
|
|
2
|
+
|
|
3
|
+
Resolves a nut's exact body/cutter chamfer and preflights its extended thread mesh without allocating Manifold WASM objects.
|
|
4
|
+
|
|
5
|
+
**preflightThreadedNut**(`options`: [`ThreadedNutOptions`](ThreadedNutOptions.md)): [`ThreadedNutPreflight`](ThreadedNutPreflight.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
<a id="options"></a>
|
|
12
|
+
|
|
13
|
+
**`options`** · [`ThreadedNutOptions`](ThreadedNutOptions.md) · Required
|
|
14
|
+
|
|
15
|
+
- [`profile`](ThreadedNutOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
|
|
16
|
+
|
|
17
|
+
Validated periodic profile repeated around the shaft.
|
|
18
|
+
|
|
19
|
+
- [`nominalMajorDiameter`](ThreadedNutOptions.md#nominalmajordiameter) · `number` · Required
|
|
20
|
+
|
|
21
|
+
Nominal major diameter before female compensation and faceting correction.
|
|
22
|
+
|
|
23
|
+
- [`shape`](ThreadedNutOptions.md#shape) · [`ThreadedNutShape`](ThreadedNutShape.md) · Required
|
|
24
|
+
|
|
25
|
+
Nut body shape.
|
|
26
|
+
|
|
27
|
+
- [`thickness`](ThreadedNutOptions.md#thickness) · `number` · Required
|
|
28
|
+
|
|
29
|
+
Nut thickness along +Z in millimetres.
|
|
30
|
+
|
|
31
|
+
- [`width`](ThreadedNutOptions.md#width) · `number` · Required
|
|
32
|
+
|
|
33
|
+
Across-flats width for hex/square or diameter for round, in millimetres.
|
|
34
|
+
|
|
35
|
+
- [`ends`](ThreadedNutOptions.md#ends) · [`ThreadEndTreatmentOptions`](ThreadEndTreatmentOptions.md) · Optional
|
|
36
|
+
|
|
37
|
+
Optional bottom/top ridge-end treatments. Standalone ridges honor the requested boundaries;
|
|
38
|
+
BOSL2-style non-cut lead-in scaling is available on complete thread solids.
|
|
39
|
+
|
|
40
|
+
- [`handedness`](ThreadedNutOptions.md#handedness) · [`ThreadHandedness`](ThreadHandedness.md) · Optional
|
|
41
|
+
|
|
42
|
+
Helix direction. Default: `right`.
|
|
43
|
+
|
|
44
|
+
- [`limits`](ThreadedNutOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
|
|
45
|
+
|
|
46
|
+
Explicit output and circular allocation ceilings.
|
|
47
|
+
|
|
48
|
+
- [`phaseDegrees`](ThreadedNutOptions.md#phasedegrees) · `number` · Optional
|
|
49
|
+
|
|
50
|
+
Angular offset of the first start in degrees. Default: `0`.
|
|
51
|
+
|
|
52
|
+
- [`resolution`](ThreadedNutOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
53
|
+
|
|
54
|
+
Optional circular-resolution policy.
|
|
55
|
+
|
|
56
|
+
- [`starts`](ThreadedNutOptions.md#starts) · `number` · Optional
|
|
57
|
+
|
|
58
|
+
Number of evenly phased starts. Default: `1`.
|
|
59
|
+
|
|
60
|
+
- [`tolerance`](ThreadedNutOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
|
|
61
|
+
|
|
62
|
+
Optional numerical tolerance overrides.
|
|
63
|
+
|
|
64
|
+
- [`fit`](ThreadedNutOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
|
|
65
|
+
|
|
66
|
+
Printable fit or caller-calibrated allowances. Default: `normal`.
|
|
67
|
+
|
|
68
|
+
- [`bevel`](ThreadedNutOptions.md#bevel) · [`ThreadedNutBevel`](ThreadedNutBevel.md) · Optional
|
|
69
|
+
|
|
70
|
+
Nut body bevel selection. Default: `automatic`.
|
|
71
|
+
|
|
72
|
+
- [`bodyResolution`](ThreadedNutOptions.md#bodyresolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
73
|
+
|
|
74
|
+
Optional physical policy for a round body, independent of the thread's matched facet grid.
|
|
75
|
+
|
|
76
|
+
- [`chamferSize`](ThreadedNutOptions.md#chamfersize) · `number` · Optional
|
|
77
|
+
|
|
78
|
+
45-degree body chamfer extent. Default: `min(profile.depth, thickness/4)`.
|
|
79
|
+
|
|
80
|
+
- [`flushBuildPlateBottom`](ThreadedNutOptions.md#flushbuildplatebottom) · `boolean` · Optional
|
|
81
|
+
|
|
82
|
+
Leave the bottom outside edge flat for build-plate adhesion. Default: `false`.
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
## Returns
|
|
87
|
+
|
|
88
|
+
[`ThreadedNutPreflight`](ThreadedNutPreflight.md)
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
## Related APIs
|
|
92
|
+
|
|
93
|
+
- [ThreadedNutOptions](ThreadedNutOptions.md)
|
|
94
|
+
- [ThreadedNutPreflight](ThreadedNutPreflight.md)
|
|
95
|
+
|
|
96
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# preflightThreadedRod
|
|
2
|
+
|
|
3
|
+
Preflights the exact compensated direct mesh used by the threaded rod constructor.
|
|
4
|
+
|
|
5
|
+
**preflightThreadedRod**(`options`: [`ThreadedRodOptions`](ThreadedRodOptions.md)): [`HelicalThreadSolidMeshPreflight`](HelicalThreadSolidMeshPreflight.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
<a id="options"></a>
|
|
12
|
+
|
|
13
|
+
**`options`** · [`ThreadedRodOptions`](ThreadedRodOptions.md) · Required
|
|
14
|
+
|
|
15
|
+
- [`length`](ThreadedRodOptions.md#length) · `number` · Required
|
|
16
|
+
|
|
17
|
+
Total threaded axial length in millimetres.
|
|
18
|
+
|
|
19
|
+
- [`profile`](ThreadedRodOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
|
|
20
|
+
|
|
21
|
+
Validated periodic profile repeated around the shaft.
|
|
22
|
+
|
|
23
|
+
- [`nominalMajorDiameter`](ThreadedRodOptions.md#nominalmajordiameter) · `number` · Required
|
|
24
|
+
|
|
25
|
+
Nominal major diameter before male compensation.
|
|
26
|
+
|
|
27
|
+
- [`ends`](ThreadedRodOptions.md#ends) · [`ThreadEndTreatmentOptions`](ThreadEndTreatmentOptions.md) · Optional
|
|
28
|
+
|
|
29
|
+
Optional bottom/top ridge-end treatments. Standalone ridges honor the requested boundaries;
|
|
30
|
+
BOSL2-style non-cut lead-in scaling is available on complete thread solids.
|
|
31
|
+
|
|
32
|
+
- [`handedness`](ThreadedRodOptions.md#handedness) · [`ThreadHandedness`](ThreadHandedness.md) · Optional
|
|
33
|
+
|
|
34
|
+
Helix direction. Default: `right`.
|
|
35
|
+
|
|
36
|
+
- [`limits`](ThreadedRodOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
|
|
37
|
+
|
|
38
|
+
Explicit output and circular allocation ceilings.
|
|
39
|
+
|
|
40
|
+
- [`phaseDegrees`](ThreadedRodOptions.md#phasedegrees) · `number` · Optional
|
|
41
|
+
|
|
42
|
+
Angular offset of the first start in degrees. Default: `0`.
|
|
43
|
+
|
|
44
|
+
- [`resolution`](ThreadedRodOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
45
|
+
|
|
46
|
+
Optional circular-resolution policy.
|
|
47
|
+
|
|
48
|
+
- [`starts`](ThreadedRodOptions.md#starts) · `number` · Optional
|
|
49
|
+
|
|
50
|
+
Number of evenly phased starts. Default: `1`.
|
|
51
|
+
|
|
52
|
+
- [`tolerance`](ThreadedRodOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
|
|
53
|
+
|
|
54
|
+
Optional numerical tolerance overrides.
|
|
55
|
+
|
|
56
|
+
- [`bevelBottom`](ThreadedRodOptions.md#bevelbottom) · `boolean` · Optional
|
|
57
|
+
|
|
58
|
+
Apply a 45-degree bevel at Z=0.
|
|
59
|
+
|
|
60
|
+
- [`bevelSize`](ThreadedRodOptions.md#bevelsize) · `number` · Optional
|
|
61
|
+
|
|
62
|
+
Axial bevel extent in millimetres. Active blunt ends default to one sixth of the compensated
|
|
63
|
+
male minor radius or female major radius; other ends default to the profile depth.
|
|
64
|
+
|
|
65
|
+
- [`bevelTop`](ThreadedRodOptions.md#beveltop) · `boolean` · Optional
|
|
66
|
+
|
|
67
|
+
Apply a 45-degree bevel at Z=length.
|
|
68
|
+
|
|
69
|
+
- [`fit`](ThreadedRodOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
|
|
70
|
+
|
|
71
|
+
Printable fit or caller-calibrated allowances. Default: `normal`.
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
## Returns
|
|
76
|
+
|
|
77
|
+
[`HelicalThreadSolidMeshPreflight`](HelicalThreadSolidMeshPreflight.md)
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
## Related APIs
|
|
81
|
+
|
|
82
|
+
- [HelicalThreadSolidMeshPreflight](HelicalThreadSolidMeshPreflight.md)
|
|
83
|
+
- [ThreadedRodOptions](ThreadedRodOptions.md)
|
|
84
|
+
|
|
85
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# projectOntoPlane3
|
|
2
|
+
|
|
3
|
+
Removes the component parallel to a normalized plane normal.
|
|
4
|
+
|
|
5
|
+
`const` **projectOntoPlane3**: (`vector`: [`Vector3`](Vector3.md), `normal`: [`Vector3`](Vector3.md)) => [`Vector3`](Vector3.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
<a id="vector"></a>
|
|
12
|
+
|
|
13
|
+
**`vector`** · [`Vector3`](Vector3.md) · Required
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
<a id="normal"></a>
|
|
18
|
+
|
|
19
|
+
**`normal`** · [`Vector3`](Vector3.md) · Required
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Returns
|
|
24
|
+
|
|
25
|
+
[`Vector3`](Vector3.md)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## Related APIs
|
|
29
|
+
|
|
30
|
+
- [Vector3](Vector3.md)
|
|
31
|
+
|
|
32
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# radialPatternTransforms
|
|
2
|
+
|
|
3
|
+
Rotations about an explicit axis; angles use degrees and the first placement is identity.
|
|
4
|
+
|
|
5
|
+
**radialPatternTransforms**(`options`: [`RadialPatternOptions`](RadialPatternOptions.md)): readonly [`Transform3`](Transform3.md)[]
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
<a id="options"></a>
|
|
12
|
+
|
|
13
|
+
**`options`** · [`RadialPatternOptions`](RadialPatternOptions.md) · Required
|
|
14
|
+
|
|
15
|
+
- [`count`](RadialPatternOptions.md#count) · `number` · Required
|
|
16
|
+
|
|
17
|
+
Number of solids to return, including the original.
|
|
18
|
+
|
|
19
|
+
- [`axis`](RadialPatternOptions.md#axis) · [`Vector3`](Vector3.md) · Required
|
|
20
|
+
|
|
21
|
+
Axis of the right-handed rotation. Its magnitude is ignored.
|
|
22
|
+
|
|
23
|
+
- [`angleDegrees`](RadialPatternOptions.md#angledegrees) · `number` · Required
|
|
24
|
+
|
|
25
|
+
Signed rotation from one copy to the next, in degrees.
|
|
26
|
+
|
|
27
|
+
- [`center`](RadialPatternOptions.md#center) · [`Vector3`](Vector3.md) · Optional
|
|
28
|
+
|
|
29
|
+
Rotation center in world coordinates. Defaults to the origin.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## Returns
|
|
34
|
+
|
|
35
|
+
readonly [`Transform3`](Transform3.md)[]
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## Related APIs
|
|
39
|
+
|
|
40
|
+
- [RadialPatternOptions](RadialPatternOptions.md)
|
|
41
|
+
- [Transform3](Transform3.md)
|
|
42
|
+
|
|
43
|
+
## Guides
|
|
44
|
+
|
|
45
|
+
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
46
|
+
|
|
47
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# rectangleContour
|
|
2
|
+
|
|
3
|
+
Creates an immutable CCW rectangle loop. Round radius zero is square; tangent saturated endpoints occur once.
|
|
4
|
+
|
|
5
|
+
**rectangleContour**(`options`: [`RectangleContourOptions`](RectangleContourOptions.md)): [`Contour`](Contour.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example: Rounded rectangle outline
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
rectangleContour({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
<a id="options"></a>
|
|
18
|
+
|
|
19
|
+
**`options`** · [`RectangleContourOptions`](RectangleContourOptions.md) · Required
|
|
20
|
+
|
|
21
|
+
- [`size`](RectangleContourOptions.md#size) · `number` \| [`Vector2`](Vector2.md) · Required
|
|
22
|
+
|
|
23
|
+
Positive uniform size or explicit XY extents in millimetres.
|
|
24
|
+
|
|
25
|
+
- [`center`](RectangleContourOptions.md#center) · `boolean` · Optional
|
|
26
|
+
|
|
27
|
+
Center on XY; otherwise the minimum corner is the origin. Defaults to true.
|
|
28
|
+
|
|
29
|
+
- [`treatment`](RectangleContourOptions.md#treatment) · [`EdgeTreatment`](EdgeTreatment.md) \| [`RectangleCornerTreatments`](RectangleCornerTreatments.md) · Optional
|
|
30
|
+
|
|
31
|
+
Uniform treatment or four corner treatments. Exact round segments describe a complete circle and must divide by four.
|
|
32
|
+
|
|
33
|
+
- [`limits`](RectangleContourOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
34
|
+
|
|
35
|
+
Explicit sampling ceiling for the complete output profile.
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
## Returns
|
|
40
|
+
|
|
41
|
+
[`Contour`](Contour.md)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## Related APIs
|
|
45
|
+
|
|
46
|
+
- [Contour](Contour.md)
|
|
47
|
+
- [RectangleContourOptions](RectangleContourOptions.md)
|
|
48
|
+
|
|
49
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# rectangleProfile
|
|
2
|
+
|
|
3
|
+
Creates an identified rectangle whose edge/corner spans survive zero and saturated round radii. Outer winding is CCW.
|
|
4
|
+
|
|
5
|
+
**rectangleProfile**(`options`: [`RectangleProfileOptions`](RectangleProfileOptions.md)): [`Profile`](Profile.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example: Retain rectangle landmarks
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
rectangleProfile({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
<a id="options"></a>
|
|
18
|
+
|
|
19
|
+
**`options`** · [`RectangleProfileOptions`](RectangleProfileOptions.md) · Required
|
|
20
|
+
|
|
21
|
+
- [`size`](RectangleProfileOptions.md#size) · `number` \| [`Vector2`](Vector2.md) · Required
|
|
22
|
+
|
|
23
|
+
Positive uniform size or explicit XY extents in millimetres.
|
|
24
|
+
|
|
25
|
+
- [`center`](RectangleProfileOptions.md#center) · `boolean` · Optional
|
|
26
|
+
|
|
27
|
+
Center on XY; otherwise the minimum corner is the origin. Defaults to true.
|
|
28
|
+
|
|
29
|
+
- [`treatment`](RectangleProfileOptions.md#treatment) · [`EdgeTreatment`](EdgeTreatment.md) \| [`RectangleCornerTreatments`](RectangleCornerTreatments.md) · Optional
|
|
30
|
+
|
|
31
|
+
Uniform treatment or four corner treatments. Exact round segments describe a complete circle and must divide by four.
|
|
32
|
+
|
|
33
|
+
- [`limits`](RectangleProfileOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
34
|
+
|
|
35
|
+
Explicit sampling ceiling for the complete output profile.
|
|
36
|
+
|
|
37
|
+
- [`id`](RectangleProfileOptions.md#id) · `string` · Optional
|
|
38
|
+
|
|
39
|
+
Canonical component identity of at most 64 characters. Defaults to body.
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
## Returns
|
|
44
|
+
|
|
45
|
+
[`Profile`](Profile.md)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
## Related APIs
|
|
49
|
+
|
|
50
|
+
- [Profile](Profile.md)
|
|
51
|
+
- [RectangleProfileOptions](RectangleProfileOptions.md)
|
|
52
|
+
|
|
53
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# regionArea
|
|
2
|
+
|
|
3
|
+
Returns the total filled area of a normalized region in square millimetres.
|
|
4
|
+
|
|
5
|
+
**regionArea**(`region`: [`Region`](Region.md)): `number`
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Each polygon contributes its outer-loop area minus the areas of its holes. An empty region has
|
|
10
|
+
zero area. Call [normalizeRegion](normalizeRegion.md) first when input winding or topology is not already
|
|
11
|
+
canonical.
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
<a id="region"></a>
|
|
16
|
+
|
|
17
|
+
**`region`** · [`Region`](Region.md) · Required
|
|
18
|
+
|
|
19
|
+
Normalized disjoint polygons with CCW outers and clockwise holes.
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Returns
|
|
24
|
+
|
|
25
|
+
`number`
|
|
26
|
+
|
|
27
|
+
Total filled area in square millimetres.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## Related APIs
|
|
31
|
+
|
|
32
|
+
- [Region](Region.md)
|
|
33
|
+
|
|
34
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# regionBounds
|
|
2
|
+
|
|
3
|
+
Returns finite axis-aligned bounds for a non-empty region.
|
|
4
|
+
|
|
5
|
+
**regionBounds**(`region`: [`Region`](Region.md)): [`Bounds2`](Bounds2.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
<a id="region"></a>
|
|
12
|
+
|
|
13
|
+
**`region`** · [`Region`](Region.md) · Required
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## Returns
|
|
18
|
+
|
|
19
|
+
[`Bounds2`](Bounds2.md)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Related APIs
|
|
23
|
+
|
|
24
|
+
- [Bounds2](Bounds2.md)
|
|
25
|
+
- [Region](Region.md)
|
|
26
|
+
|
|
27
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# regularPolygonContour
|
|
2
|
+
|
|
3
|
+
Creates a centered CCW point loop with vertex or face radial sizing and an implicit seam.
|
|
4
|
+
|
|
5
|
+
`const` **regularPolygonContour**: (`options`: [`RegularPolygonContourOptions`](RegularPolygonContourOptions.md)) => readonly [`Vector2`](Vector2.md)[]
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example: Hexagon sized to its faces
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
regularPolygonContour({ radius: 10, sides: 6, sizing: "face" });
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
<a id="options"></a>
|
|
18
|
+
|
|
19
|
+
**`options`** · [`RegularPolygonContourOptions`](RegularPolygonContourOptions.md) · Required
|
|
20
|
+
|
|
21
|
+
- [`radius`](RegularPolygonContourOptions.md#radius) · `number` · Required
|
|
22
|
+
|
|
23
|
+
Positive nominal radius in millimetres, interpreted according to sizing.
|
|
24
|
+
|
|
25
|
+
- [`sides`](RegularPolygonContourOptions.md#sides) · `number` · Required
|
|
26
|
+
|
|
27
|
+
Exact side count from three through the selected profile sampling ceiling.
|
|
28
|
+
|
|
29
|
+
- [`limits`](RegularPolygonContourOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
30
|
+
|
|
31
|
+
Explicit sampling ceilings; bound modeling operations may only lower the host policy.
|
|
32
|
+
|
|
33
|
+
- [`sizing`](RegularPolygonContourOptions.md#sizing) · [`RadialSizing`](RadialSizing.md) · Optional
|
|
34
|
+
|
|
35
|
+
Vertex sizing is inscribed; face sizing circumscribes the nominal radius. Defaults to vertex.
|
|
36
|
+
|
|
37
|
+
- [`rotationDegrees`](RegularPolygonContourOptions.md#rotationdegrees) · `number` · Optional
|
|
38
|
+
|
|
39
|
+
Counterclockwise rotation in degrees; defaults to zero with a vertex on +X.
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
## Returns
|
|
44
|
+
|
|
45
|
+
readonly [`Vector2`](Vector2.md)[]
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
## Related APIs
|
|
49
|
+
|
|
50
|
+
- [RegularPolygonContourOptions](RegularPolygonContourOptions.md)
|
|
51
|
+
- [Vector2](Vector2.md)
|
|
52
|
+
|
|
53
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# resamplePolyline2
|
|
2
|
+
|
|
3
|
+
Resamples a planar polyline with the same point, tangent, seam and budget guarantees as 3D.
|
|
4
|
+
|
|
5
|
+
**resamplePolyline2**(`path`: readonly [`Vector2`](Vector2.md)[], `options?`: [`PolylineResamplingOptions`](PolylineResamplingOptions.md)): [`SampledCurve2`](SampledCurve2.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
const loop = resamplePolyline2([[0,0],[5,0],[5,5],[0,5]], {closed: true, segments: 20});
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
<a id="path"></a>
|
|
18
|
+
|
|
19
|
+
**`path`** · readonly [`Vector2`](Vector2.md)[] · Required
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
<a id="options"></a>
|
|
24
|
+
|
|
25
|
+
**`options`** · [`PolylineResamplingOptions`](PolylineResamplingOptions.md) · Optional
|
|
26
|
+
|
|
27
|
+
- [`resolution`](PolylineResamplingOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
28
|
+
|
|
29
|
+
Millimetre sampling policy; circularSegments applies only to arcs.
|
|
30
|
+
|
|
31
|
+
- [`maximumVertices`](PolylineResamplingOptions.md#maximumvertices) · `number` · Optional
|
|
32
|
+
|
|
33
|
+
Output vertex ceiling of at least two; may only lower limits.maxPathPoints.
|
|
34
|
+
|
|
35
|
+
- [`limits`](PolylineResamplingOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
36
|
+
|
|
37
|
+
Explicit sampling ceilings; omitted values use package defaults without ambient state.
|
|
38
|
+
|
|
39
|
+
- [`segments`](PolylineResamplingOptions.md#segments) · `number` · Optional
|
|
40
|
+
|
|
41
|
+
Exact equal arc-length intervals; closed paths require at least three.
|
|
42
|
+
|
|
43
|
+
- [`closed`](PolylineResamplingOptions.md#closed) · `boolean` · Optional
|
|
44
|
+
|
|
45
|
+
Includes the closing edge without repeating the first output point; defaults to false.
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## Returns
|
|
50
|
+
|
|
51
|
+
[`SampledCurve2`](SampledCurve2.md)
|
|
52
|
+
|
|
53
|
+
## Remarks
|
|
54
|
+
|
|
55
|
+
Only final 2D output vectors are copied and frozen. No immutable 3D intermediate is built.
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
## Related APIs
|
|
59
|
+
|
|
60
|
+
- [PolylineResamplingOptions](PolylineResamplingOptions.md)
|
|
61
|
+
- [SampledCurve2](SampledCurve2.md)
|
|
62
|
+
- [Vector2](Vector2.md)
|
|
63
|
+
|
|
64
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# resamplePolyline3
|
|
2
|
+
|
|
3
|
+
Resamples a spatial polyline at equal arc lengths with directed outgoing tangents.
|
|
4
|
+
|
|
5
|
+
**resamplePolyline3**(`path`: readonly [`Vector3`](Vector3.md)[], `options?`: [`PolylineResamplingOptions`](PolylineResamplingOptions.md)): [`SampledCurve3`](SampledCurve3.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
const path = resamplePolyline3([[0,0,0],[10,0,0],[10,10,0]], {segments: 8});
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
<a id="path"></a>
|
|
18
|
+
|
|
19
|
+
**`path`** · readonly [`Vector3`](Vector3.md)[] · Required
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
<a id="options"></a>
|
|
24
|
+
|
|
25
|
+
**`options`** · [`PolylineResamplingOptions`](PolylineResamplingOptions.md) · Optional
|
|
26
|
+
|
|
27
|
+
- [`resolution`](PolylineResamplingOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
28
|
+
|
|
29
|
+
Millimetre sampling policy; circularSegments applies only to arcs.
|
|
30
|
+
|
|
31
|
+
- [`maximumVertices`](PolylineResamplingOptions.md#maximumvertices) · `number` · Optional
|
|
32
|
+
|
|
33
|
+
Output vertex ceiling of at least two; may only lower limits.maxPathPoints.
|
|
34
|
+
|
|
35
|
+
- [`limits`](PolylineResamplingOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
36
|
+
|
|
37
|
+
Explicit sampling ceilings; omitted values use package defaults without ambient state.
|
|
38
|
+
|
|
39
|
+
- [`segments`](PolylineResamplingOptions.md#segments) · `number` · Optional
|
|
40
|
+
|
|
41
|
+
Exact equal arc-length intervals; closed paths require at least three.
|
|
42
|
+
|
|
43
|
+
- [`closed`](PolylineResamplingOptions.md#closed) · `boolean` · Optional
|
|
44
|
+
|
|
45
|
+
Includes the closing edge without repeating the first output point; defaults to false.
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## Returns
|
|
50
|
+
|
|
51
|
+
[`SampledCurve3`](SampledCurve3.md)
|
|
52
|
+
|
|
53
|
+
## Remarks
|
|
54
|
+
|
|
55
|
+
Open paths retain both endpoints; closed paths include the closing edge and omit the
|
|
56
|
+
repeated seam. Repeated adjacent inputs and explicit closing duplicates are removed. Physical
|
|
57
|
+
maxSegmentLength bounds arc-length intervals; exact counts override that policy. Output edges
|
|
58
|
+
may bridge original corners. Sampling never silently lowers the requested detail to fit its budget.
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
## Related APIs
|
|
62
|
+
|
|
63
|
+
- [PolylineResamplingOptions](PolylineResamplingOptions.md)
|
|
64
|
+
- [SampledCurve3](SampledCurve3.md)
|
|
65
|
+
- [Vector3](Vector3.md)
|
|
66
|
+
|
|
67
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,79 @@
|
|
|
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
|
+
- [`limits`](AlignedCircularSegmentsOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
43
|
+
|
|
44
|
+
Explicit sampling allocation ceilings.
|
|
45
|
+
|
|
46
|
+
- [`minimumSegments`](AlignedCircularSegmentsOptions.md#minimumsegments) · `number` · Optional · Default: `3`
|
|
47
|
+
|
|
48
|
+
Additional full-circle segment floor, as a safe integer of at least three.
|
|
49
|
+
|
|
50
|
+
- [`segments`](AlignedCircularSegmentsOptions.md#segments) · `number` · Optional
|
|
51
|
+
|
|
52
|
+
Exact full-circle segment count.
|
|
53
|
+
|
|
54
|
+
This takes precedence over `resolution.circularSegments` and adaptive sampling, and must
|
|
55
|
+
already satisfy every alignment factor and `minimumSegments`.
|
|
56
|
+
|
|
57
|
+
- [`resolution`](AlignedCircularSegmentsOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
58
|
+
|
|
59
|
+
Operation-level physical tessellation policy over the active model-wide policy.
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
## Returns
|
|
64
|
+
|
|
65
|
+
`number`
|
|
66
|
+
|
|
67
|
+
An aligned full-circle segment count.
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
## Throws
|
|
71
|
+
|
|
72
|
+
- GeometryError when radius, alignment factors, segment floors, or resolution are invalid, or alignment exceeds safe integer or configured complexity limits.
|
|
73
|
+
|
|
74
|
+
## Related APIs
|
|
75
|
+
|
|
76
|
+
- [AlignedCircularSegmentsOptions](AlignedCircularSegmentsOptions.md)
|
|
77
|
+
- [resolveCircularSegments](resolveCircularSegments.md)
|
|
78
|
+
|
|
79
|
+
Package: `@metamesh/modeling@0.13.0`.
|