@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,50 @@
|
|
|
1
|
+
# roundClosedPolylinePath
|
|
2
|
+
|
|
3
|
+
Replaces each vertex of a non-duplicated closed polyline with a sampled quadratic corner in the same coordinate system as the input.
|
|
4
|
+
|
|
5
|
+
`const` **roundClosedPolylinePath**: (`points`: readonly [`Vector3`](Vector3.md)[], `radius`: `number`, `segmentsPerCorner`: `number`, `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => readonly [`Vector3`](Vector3.md)[]
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
`radius` is the desired tangent distance for a right angle and is capped to
|
|
10
|
+
45% of adjacent segment lengths to prevent neighboring corners from crossing.
|
|
11
|
+
The returned path does not duplicate its closing point.
|
|
12
|
+
Coordinates and radius must be finite; input and output are each limited by maxPathPoints (default 100000).
|
|
13
|
+
|
|
14
|
+
## Parameters
|
|
15
|
+
|
|
16
|
+
<a id="points"></a>
|
|
17
|
+
|
|
18
|
+
**`points`** · readonly [`Vector3`](Vector3.md)[] · Required
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
<a id="radius"></a>
|
|
23
|
+
|
|
24
|
+
**`radius`** · `number` · Required
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
<a id="segmentspercorner"></a>
|
|
29
|
+
|
|
30
|
+
**`segmentsPerCorner`** · `number` · Required
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
<a id="limits"></a>
|
|
35
|
+
|
|
36
|
+
**`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
## Returns
|
|
41
|
+
|
|
42
|
+
readonly [`Vector3`](Vector3.md)[]
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
## Related APIs
|
|
46
|
+
|
|
47
|
+
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
48
|
+
- [Vector3](Vector3.md)
|
|
49
|
+
|
|
50
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# sampleContour
|
|
2
|
+
|
|
3
|
+
Samples 2–32 connected line/cubic segments into a simple, nonzero-area, immutable CCW XY loop. Physical scaling precedes adaptive curve sampling; the final end must repeat start exactly. Shared anchors and the closing seam are emitted once. Winding normalization may change the starting vertex. The sampled loop is checked for self-intersection and degeneracy by `normalizeContour`; this is a single contour without holes. No editor modes or normalized coordinate range are required. No native engine, SDK, or ambient resolution is used.
|
|
4
|
+
|
|
5
|
+
**sampleContour**(`curve`: [`ContourCurve`](ContourCurve.md), `options?`: [`SampleContourOptions`](SampleContourOptions.md)): [`Contour`](Contour.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
const section = sampleContour({
|
|
13
|
+
start: { x: 0, y: 0 },
|
|
14
|
+
segments: [
|
|
15
|
+
{ type: "line", end: { x: 1, y: 0 } },
|
|
16
|
+
{ type: "line", end: { x: 0.5, y: 1 } },
|
|
17
|
+
{ type: "line", end: { x: 0, y: 0 } },
|
|
18
|
+
],
|
|
19
|
+
}, { widthScale: 20, heightScale: 12 });
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Parameters
|
|
23
|
+
|
|
24
|
+
<a id="curve"></a>
|
|
25
|
+
|
|
26
|
+
**`curve`** · [`ContourCurve`](ContourCurve.md) · Required
|
|
27
|
+
|
|
28
|
+
Closed contour in millimetres unless positive scales convert its coordinates.
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<a id="options"></a>
|
|
33
|
+
|
|
34
|
+
**`options`** · [`SampleContourOptions`](SampleContourOptions.md) · Optional
|
|
35
|
+
|
|
36
|
+
Physical resolution and unique vertex budget; defaults to 4096 vertices.
|
|
37
|
+
|
|
38
|
+
- [`widthScale`](SampleContourOptions.md#widthscale) · `number` · Optional
|
|
39
|
+
|
|
40
|
+
Positive horizontal scale; normalized inputs span this width envelope. Defaults to 1.
|
|
41
|
+
|
|
42
|
+
- [`heightScale`](SampleContourOptions.md#heightscale) · `number` · Optional
|
|
43
|
+
|
|
44
|
+
Positive vertical scale; normalized inputs span this height envelope. Defaults to 1.
|
|
45
|
+
|
|
46
|
+
- [`resolution`](SampleContourOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
47
|
+
|
|
48
|
+
Physical policy evaluated after scaling, using the shared curve sampler.
|
|
49
|
+
|
|
50
|
+
- [`maximumVertices`](SampleContourOptions.md#maximumvertices) · `number` · Optional
|
|
51
|
+
|
|
52
|
+
Unique output vertex ceiling, at least three, within maxProfilePoints. Defaults to min(4096, maxProfilePoints).
|
|
53
|
+
|
|
54
|
+
- [`limits`](SampleContourOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
55
|
+
|
|
56
|
+
Selected profile and per-segment path ceilings; omitted values use package defaults.
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
## Returns
|
|
61
|
+
|
|
62
|
+
[`Contour`](Contour.md)
|
|
63
|
+
|
|
64
|
+
Frozen counterclockwise loop in millimetres, without a repeated seam endpoint.
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
## Throws
|
|
68
|
+
|
|
69
|
+
- GeometryError for invalid data, topology, scale, or exceeded sampling budgets.
|
|
70
|
+
|
|
71
|
+
## Related APIs
|
|
72
|
+
|
|
73
|
+
- [Contour](Contour.md)
|
|
74
|
+
- [ContourCurve](ContourCurve.md)
|
|
75
|
+
- [SampleContourOptions](SampleContourOptions.md)
|
|
76
|
+
|
|
77
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# sampleCurve2
|
|
2
|
+
|
|
3
|
+
Samples a planar curve with the same guarantees and policy as spatial sampling.
|
|
4
|
+
|
|
5
|
+
**sampleCurve2**(`curve`: [`Curve2`](Curve2.md), `options?`: [`CurveSamplingOptions`](CurveSamplingOptions.md)): [`SampledCurve2`](SampledCurve2.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
const turn = sampleCurve2({kind: "arc", center: [0,0], radius: 10, sweepDegrees: 90});
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
<a id="curve"></a>
|
|
18
|
+
|
|
19
|
+
**`curve`** · [`Curve2`](Curve2.md) · Required
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
<a id="options"></a>
|
|
24
|
+
|
|
25
|
+
**`options`** · [`CurveSamplingOptions`](CurveSamplingOptions.md) · Optional
|
|
26
|
+
|
|
27
|
+
- [`segments`](CurveSamplingOptions.md#segments) · `number` · Optional
|
|
28
|
+
|
|
29
|
+
Exact segment count overrides physical criteria; curve parameters are spaced uniformly.
|
|
30
|
+
|
|
31
|
+
- [`resolution`](CurveSamplingOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
32
|
+
|
|
33
|
+
Millimetre sampling policy; circularSegments applies only to arcs.
|
|
34
|
+
|
|
35
|
+
- [`maximumVertices`](CurveSamplingOptions.md#maximumvertices) · `number` · Optional
|
|
36
|
+
|
|
37
|
+
Output vertex ceiling of at least two; may only lower limits.maxPathPoints.
|
|
38
|
+
|
|
39
|
+
- [`limits`](CurveSamplingOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
40
|
+
|
|
41
|
+
Explicit sampling ceilings; omitted values use package defaults without ambient state.
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
## Returns
|
|
46
|
+
|
|
47
|
+
[`SampledCurve2`](SampledCurve2.md)
|
|
48
|
+
|
|
49
|
+
## Remarks
|
|
50
|
+
|
|
51
|
+
Private spatial scratch math is shared, while only final planar vectors are copied and
|
|
52
|
+
frozen. At stationary tangents, outgoing secants are preferred and endpoints use a backward fallback.
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
## Related APIs
|
|
56
|
+
|
|
57
|
+
- [Curve2](Curve2.md)
|
|
58
|
+
- [CurveSamplingOptions](CurveSamplingOptions.md)
|
|
59
|
+
- [SampledCurve2](SampledCurve2.md)
|
|
60
|
+
|
|
61
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# sampleCurve3
|
|
2
|
+
|
|
3
|
+
Samples a spatial curve, preserving endpoints and directed unit tangents.
|
|
4
|
+
|
|
5
|
+
**sampleCurve3**(`curve`: [`Curve3`](Curve3.md), `options?`: [`CurveSamplingOptions`](CurveSamplingOptions.md)): [`SampledCurve3`](SampledCurve3.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
const path = sampleCurve3({kind: "cubic", start: [0,0,0], control1: [5,0,0], control2: [5,5,5], end: [10,5,5]});
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
<a id="curve"></a>
|
|
18
|
+
|
|
19
|
+
**`curve`** · [`Curve3`](Curve3.md) · Required
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
<a id="options"></a>
|
|
24
|
+
|
|
25
|
+
**`options`** · [`CurveSamplingOptions`](CurveSamplingOptions.md) · Optional
|
|
26
|
+
|
|
27
|
+
- [`segments`](CurveSamplingOptions.md#segments) · `number` · Optional
|
|
28
|
+
|
|
29
|
+
Exact segment count overrides physical criteria; curve parameters are spaced uniformly.
|
|
30
|
+
|
|
31
|
+
- [`resolution`](CurveSamplingOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
32
|
+
|
|
33
|
+
Millimetre sampling policy; circularSegments applies only to arcs.
|
|
34
|
+
|
|
35
|
+
- [`maximumVertices`](CurveSamplingOptions.md#maximumvertices) · `number` · Optional
|
|
36
|
+
|
|
37
|
+
Output vertex ceiling of at least two; may only lower limits.maxPathPoints.
|
|
38
|
+
|
|
39
|
+
- [`limits`](CurveSamplingOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
40
|
+
|
|
41
|
+
Explicit sampling ceilings; omitted values use package defaults without ambient state.
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
## Returns
|
|
46
|
+
|
|
47
|
+
[`SampledCurve3`](SampledCurve3.md)
|
|
48
|
+
|
|
49
|
+
## Remarks
|
|
50
|
+
|
|
51
|
+
Exact counts use uniform curve parameters, not equal physical distances. Adaptive cubics
|
|
52
|
+
bound the full control hull. Full-circle arcs repeat their endpoint; closed polylines do not.
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
## Related APIs
|
|
56
|
+
|
|
57
|
+
- [Curve3](Curve3.md)
|
|
58
|
+
- [CurveSamplingOptions](CurveSamplingOptions.md)
|
|
59
|
+
- [SampledCurve3](SampledCurve3.md)
|
|
60
|
+
|
|
61
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# sampleCylindricalGearOutline
|
|
2
|
+
|
|
3
|
+
Samples a complete external involute gear boundary in the XY plane.
|
|
4
|
+
|
|
5
|
+
**sampleCylindricalGearOutline**(`spec`: [`CylindricalGearSpec`](CylindricalGearSpec.md), `options?`: [`CylindricalGearOutlineOptions`](CylindricalGearOutlineOptions.md)): [`Contour`](Contour.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
The returned loop is counter-clockwise, closed implicitly without a repeated
|
|
10
|
+
seam point, and contains no holes. Its center is the origin and its axis is
|
|
11
|
+
+Z. Bore, hub, keyway, twist, and face-width choices remain generator-owned.
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
<a id="spec"></a>
|
|
16
|
+
|
|
17
|
+
**`spec`** · [`CylindricalGearSpec`](CylindricalGearSpec.md) · Required
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
<a id="options"></a>
|
|
22
|
+
|
|
23
|
+
**`options`** · [`CylindricalGearOutlineOptions`](CylindricalGearOutlineOptions.md) · Optional
|
|
24
|
+
|
|
25
|
+
- [`flankSamples`](CylindricalGearOutlineOptions.md#flanksamples) · `number` · Optional
|
|
26
|
+
|
|
27
|
+
Exact samples per involute flank, at least two, within the aggregate profile ceiling.
|
|
28
|
+
|
|
29
|
+
- [`rootArcSamples`](CylindricalGearOutlineOptions.md#rootarcsamples) · `number` · Optional
|
|
30
|
+
|
|
31
|
+
Exact samples along each bottom land, at least one, within selected circular/profile ceilings.
|
|
32
|
+
|
|
33
|
+
- [`limits`](CylindricalGearOutlineOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
34
|
+
|
|
35
|
+
Explicit profile and circular allocation ceilings.
|
|
36
|
+
|
|
37
|
+
- [`resolution`](CylindricalGearOutlineOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
38
|
+
|
|
39
|
+
Explicit physical sampling policy for adaptive defaults.
|
|
40
|
+
|
|
41
|
+
- [`tipArcSamples`](CylindricalGearOutlineOptions.md#tiparcsamples) · `number` · Optional
|
|
42
|
+
|
|
43
|
+
Exact samples along each tooth tip, at least one, within selected circular/profile ceilings.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
## Returns
|
|
48
|
+
|
|
49
|
+
[`Contour`](Contour.md)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
## Related APIs
|
|
53
|
+
|
|
54
|
+
- [Contour](Contour.md)
|
|
55
|
+
- [CylindricalGearOutlineOptions](CylindricalGearOutlineOptions.md)
|
|
56
|
+
- [CylindricalGearSpec](CylindricalGearSpec.md)
|
|
57
|
+
|
|
58
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# sampleHelix
|
|
2
|
+
|
|
3
|
+
Creates `segments + 1` points including exact helix endpoints from finite positive dimensions. Integrated weights must remain finite. The maxPathPoints ceiling defaults to 100000; excessive exact counts reject before evaluating axial weights or allocating sample arrays.
|
|
4
|
+
|
|
5
|
+
`const` **sampleHelix**: (`{
|
|
6
|
+
turns,
|
|
7
|
+
radius,
|
|
8
|
+
height,
|
|
9
|
+
segments,
|
|
10
|
+
limits,
|
|
11
|
+
axialWeight,
|
|
12
|
+
}`: [`SampleHelixOptions`](SampleHelixOptions.md)) => readonly [`Vector3`](Vector3.md)[]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
## Parameters
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
**`{
|
|
21
|
+
turns,
|
|
22
|
+
radius,
|
|
23
|
+
height,
|
|
24
|
+
segments,
|
|
25
|
+
limits,
|
|
26
|
+
axialWeight,
|
|
27
|
+
}`** · [`SampleHelixOptions`](SampleHelixOptions.md) · Required
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## Returns
|
|
32
|
+
|
|
33
|
+
readonly [`Vector3`](Vector3.md)[]
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## Related APIs
|
|
37
|
+
|
|
38
|
+
- [SampleHelixOptions](SampleHelixOptions.md)
|
|
39
|
+
- [Vector3](Vector3.md)
|
|
40
|
+
|
|
41
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# sampleInternalCylindricalGearSpaceOutline
|
|
2
|
+
|
|
3
|
+
Samples the center opening and tooth spaces used to subtract an internal ring gear.
|
|
4
|
+
|
|
5
|
+
**sampleInternalCylindricalGearSpaceOutline**(`spec`: [`CylindricalGearSpec`](CylindricalGearSpec.md), `options?`: [`CylindricalGearOutlineOptions`](CylindricalGearOutlineOptions.md)): [`Contour`](Contour.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Internal tooth tips lie one addendum below the pitch radius and their roots lie one
|
|
10
|
+
dedendum above it. At the pitch circle, positive backlash widens each sampled space
|
|
11
|
+
tangentially. The returned CCW loop encloses the center and is intended to be reversed
|
|
12
|
+
when used as a region hole.
|
|
13
|
+
|
|
14
|
+
## Parameters
|
|
15
|
+
|
|
16
|
+
<a id="spec"></a>
|
|
17
|
+
|
|
18
|
+
**`spec`** · [`CylindricalGearSpec`](CylindricalGearSpec.md) · Required
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
<a id="options"></a>
|
|
23
|
+
|
|
24
|
+
**`options`** · [`CylindricalGearOutlineOptions`](CylindricalGearOutlineOptions.md) · Optional
|
|
25
|
+
|
|
26
|
+
- [`flankSamples`](CylindricalGearOutlineOptions.md#flanksamples) · `number` · Optional
|
|
27
|
+
|
|
28
|
+
Exact samples per involute flank, at least two, within the aggregate profile ceiling.
|
|
29
|
+
|
|
30
|
+
- [`rootArcSamples`](CylindricalGearOutlineOptions.md#rootarcsamples) · `number` · Optional
|
|
31
|
+
|
|
32
|
+
Exact samples along each bottom land, at least one, within selected circular/profile ceilings.
|
|
33
|
+
|
|
34
|
+
- [`limits`](CylindricalGearOutlineOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
35
|
+
|
|
36
|
+
Explicit profile and circular allocation ceilings.
|
|
37
|
+
|
|
38
|
+
- [`resolution`](CylindricalGearOutlineOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
39
|
+
|
|
40
|
+
Explicit physical sampling policy for adaptive defaults.
|
|
41
|
+
|
|
42
|
+
- [`tipArcSamples`](CylindricalGearOutlineOptions.md#tiparcsamples) · `number` · Optional
|
|
43
|
+
|
|
44
|
+
Exact samples along each tooth tip, at least one, within selected circular/profile ceilings.
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
## Returns
|
|
49
|
+
|
|
50
|
+
[`Contour`](Contour.md)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
## Related APIs
|
|
54
|
+
|
|
55
|
+
- [Contour](Contour.md)
|
|
56
|
+
- [CylindricalGearOutlineOptions](CylindricalGearOutlineOptions.md)
|
|
57
|
+
- [CylindricalGearSpec](CylindricalGearSpec.md)
|
|
58
|
+
|
|
59
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# sampleRackToothPath
|
|
2
|
+
|
|
3
|
+
Samples the open top boundary of a finite rack in its XY pitch plane.
|
|
4
|
+
|
|
5
|
+
**sampleRackToothPath**(`spec`: [`RackPitchSpec`](RackPitchSpec.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): [`Path2`](Path2.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
X follows rack travel, Y is tooth height, and the pitch line is `Y = 0`.
|
|
10
|
+
The path begins and ends on the root line, omits duplicate adjacent points,
|
|
11
|
+
and leaves base thickness, mounting features, extrusion, and helical sweep to
|
|
12
|
+
the owning generator.
|
|
13
|
+
|
|
14
|
+
## Parameters
|
|
15
|
+
|
|
16
|
+
<a id="spec"></a>
|
|
17
|
+
|
|
18
|
+
**`spec`** · [`RackPitchSpec`](RackPitchSpec.md) · Required
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
<a id="limits"></a>
|
|
23
|
+
|
|
24
|
+
**`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## Returns
|
|
29
|
+
|
|
30
|
+
[`Path2`](Path2.md)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## Related APIs
|
|
34
|
+
|
|
35
|
+
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
36
|
+
- [Path2](Path2.md)
|
|
37
|
+
- [RackPitchSpec](RackPitchSpec.md)
|
|
38
|
+
|
|
39
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# sampleSideProfile
|
|
2
|
+
|
|
3
|
+
Samples 1–31 line/cubic segments into a deeply immutable open [radius,height] polyline. Anchors must progress strictly upward; nonnegative-radius cubic controls must have ordered heights between their endpoints. Cubics use de Casteljau subdivision with a conservative control-hull chord-error bound. Lines also obey the optional physical edge-length ceiling. Neither normalized coordinates nor editor metadata are required. Endpoints are retained once; no axis closure, winding normalization, or manufacturing repair is performed.
|
|
4
|
+
|
|
5
|
+
**sampleSideProfile**(`curve`: [`SideProfileCurve`](SideProfileCurve.md), `options?`: [`SampleSideProfileOptions`](SampleSideProfileOptions.md)): readonly [`Vector2`](Vector2.md)[]
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
const side = sampleSideProfile({
|
|
13
|
+
start: { radius: 0.5, height: 0 },
|
|
14
|
+
segments: [{ type: "line", end: { radius: 1, height: 1 } }],
|
|
15
|
+
}, { radiusScale: 12, heightScale: 30 });
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Parameters
|
|
19
|
+
|
|
20
|
+
<a id="curve"></a>
|
|
21
|
+
|
|
22
|
+
**`curve`** · [`SideProfileCurve`](SideProfileCurve.md) · Required
|
|
23
|
+
|
|
24
|
+
Open outline in millimetres unless the positive scales convert its coordinates.
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
<a id="options"></a>
|
|
29
|
+
|
|
30
|
+
**`options`** · [`SampleSideProfileOptions`](SampleSideProfileOptions.md) · Optional
|
|
31
|
+
|
|
32
|
+
Physical resolution and output budget; defaults to 4096 vertices.
|
|
33
|
+
|
|
34
|
+
- [`radiusScale`](SampleSideProfileOptions.md#radiusscale) · `number` · Optional
|
|
35
|
+
|
|
36
|
+
Positive radius scale; use the desired maximum radius for normalized coordinates. Defaults to 1.
|
|
37
|
+
|
|
38
|
+
- [`heightScale`](SampleSideProfileOptions.md#heightscale) · `number` · Optional
|
|
39
|
+
|
|
40
|
+
Positive height scale; use the desired total height for normalized coordinates. Defaults to 1.
|
|
41
|
+
|
|
42
|
+
- [`resolution`](SampleSideProfileOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
43
|
+
|
|
44
|
+
Shared physical policy, evaluated after scaling; exact circular counts do not affect curves.
|
|
45
|
+
|
|
46
|
+
- [`maximumVertices`](SampleSideProfileOptions.md#maximumvertices) · `number` · Optional
|
|
47
|
+
|
|
48
|
+
Maximum output vertex count within maxProfilePoints. Defaults to the smaller of 4096 and that ceiling.
|
|
49
|
+
|
|
50
|
+
- [`limits`](SampleSideProfileOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
51
|
+
|
|
52
|
+
Explicit profile and circular allocation ceilings.
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
## Returns
|
|
57
|
+
|
|
58
|
+
readonly [`Vector2`](Vector2.md)[]
|
|
59
|
+
|
|
60
|
+
Frozen open polyline in millimetres, ordered from lowest to highest anchor.
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
## Throws
|
|
64
|
+
|
|
65
|
+
- GeometryError for invalid coordinates, order, scale, or exceeded subdivision budget.
|
|
66
|
+
|
|
67
|
+
## Related APIs
|
|
68
|
+
|
|
69
|
+
- [SampleSideProfileOptions](SampleSideProfileOptions.md)
|
|
70
|
+
- [SideProfileCurve](SideProfileCurve.md)
|
|
71
|
+
- [Vector2](Vector2.md)
|
|
72
|
+
|
|
73
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# sampleTextContours
|
|
2
|
+
|
|
3
|
+
Samples a prepared text layout without shaping text again or loading a font.
|
|
4
|
+
|
|
5
|
+
**sampleTextContours**(`layout`: [`VectorTextLayout`](VectorTextLayout.md), `resolution?`: [`GeometryResolution`](GeometryResolution.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): readonly [`Contour`](Contour.md)[]
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
<a id="layout"></a>
|
|
12
|
+
|
|
13
|
+
**`layout`** · [`VectorTextLayout`](VectorTextLayout.md) · Required
|
|
14
|
+
|
|
15
|
+
Immutable millimetre paths and measurements retained from text preparation.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
<a id="resolution"></a>
|
|
20
|
+
|
|
21
|
+
**`resolution`** · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
22
|
+
|
|
23
|
+
Explicit curve sampling policy; omitted uses the pure default policy.
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
<a id="limits"></a>
|
|
28
|
+
|
|
29
|
+
**`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
30
|
+
|
|
31
|
+
Explicit profile and circular allocation ceilings.
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Returns
|
|
36
|
+
|
|
37
|
+
readonly [`Contour`](Contour.md)[]
|
|
38
|
+
|
|
39
|
+
Frozen contours with original glyph winding and no repeated closing vertex.
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## Throws
|
|
43
|
+
|
|
44
|
+
- GeometryError for empty outlines, invalid paths or policies, over 1000 paths or selected sampling ceilings.
|
|
45
|
+
|
|
46
|
+
## Related APIs
|
|
47
|
+
|
|
48
|
+
- [Contour](Contour.md)
|
|
49
|
+
- [GeometryResolution](GeometryResolution.md)
|
|
50
|
+
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
51
|
+
- [VectorTextLayout](VectorTextLayout.md)
|
|
52
|
+
|
|
53
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# sampleThreadHelices
|
|
2
|
+
|
|
3
|
+
Samples evenly phased thread helices with finite `lead = pitch * starts`. All starts together respect maxPathPoints (default 100000); excessive counts fail before allocation.
|
|
4
|
+
|
|
5
|
+
**sampleThreadHelices**(`options`: [`ThreadHelixOptions`](ThreadHelixOptions.md)): [`SampledThreadHelices`](SampledThreadHelices.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
<a id="options"></a>
|
|
12
|
+
|
|
13
|
+
**`options`** · [`ThreadHelixOptions`](ThreadHelixOptions.md) · Required
|
|
14
|
+
|
|
15
|
+
- [`length`](ThreadHelixOptions.md#length) · `number` · Required
|
|
16
|
+
|
|
17
|
+
Total sampled axial length in millimetres.
|
|
18
|
+
|
|
19
|
+
- [`pitch`](ThreadHelixOptions.md#pitch) · `number` · Required
|
|
20
|
+
|
|
21
|
+
Adjacent axial thread spacing in millimetres.
|
|
22
|
+
|
|
23
|
+
- [`radius`](ThreadHelixOptions.md#radius) · `number` · Required
|
|
24
|
+
|
|
25
|
+
Radial distance from the +Z axis in millimetres.
|
|
26
|
+
|
|
27
|
+
- [`handedness`](ThreadHelixOptions.md#handedness) · [`ThreadHandedness`](ThreadHandedness.md) · Optional
|
|
28
|
+
|
|
29
|
+
Helix direction. Default: `right`.
|
|
30
|
+
|
|
31
|
+
- [`limits`](ThreadHelixOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
32
|
+
|
|
33
|
+
Explicit aggregate path allocation ceilings across all starts.
|
|
34
|
+
|
|
35
|
+
- [`phaseDegrees`](ThreadHelixOptions.md#phasedegrees) · `number` · Optional
|
|
36
|
+
|
|
37
|
+
Angular offset of the first start in degrees. Default: `0`.
|
|
38
|
+
|
|
39
|
+
- [`segmentsPerTurn`](ThreadHelixOptions.md#segmentsperturn) · `number` · Optional
|
|
40
|
+
|
|
41
|
+
Angular sampling density for each revolution. Default: `32`.
|
|
42
|
+
|
|
43
|
+
- [`starts`](ThreadHelixOptions.md#starts) · `number` · Optional
|
|
44
|
+
|
|
45
|
+
Number of evenly phased helices. Default: `1`.
|
|
46
|
+
|
|
47
|
+
- [`tolerance`](ThreadHelixOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
|
|
48
|
+
|
|
49
|
+
Optional numerical tolerance overrides.
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
## Returns
|
|
54
|
+
|
|
55
|
+
[`SampledThreadHelices`](SampledThreadHelices.md)
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
## Related APIs
|
|
59
|
+
|
|
60
|
+
- [SampledThreadHelices](SampledThreadHelices.md)
|
|
61
|
+
- [ThreadHelixOptions](ThreadHelixOptions.md)
|
|
62
|
+
|
|
63
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# scale3
|
|
2
|
+
|
|
3
|
+
Multiplies a vector by a dimensionless scalar.
|
|
4
|
+
|
|
5
|
+
`const` **scale3**: (`vector`: [`Vector3`](Vector3.md), `scale`: `number`) => [`Vector3`](Vector3.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
scale3([1, 2, 3], 2); // [2, 4, 6]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
<a id="vector"></a>
|
|
18
|
+
|
|
19
|
+
**`vector`** · [`Vector3`](Vector3.md) · Required
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
<a id="scale"></a>
|
|
24
|
+
|
|
25
|
+
**`scale`** · `number` · Required
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## Returns
|
|
30
|
+
|
|
31
|
+
[`Vector3`](Vector3.md)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## Related APIs
|
|
35
|
+
|
|
36
|
+
- [Vector3](Vector3.md)
|
|
37
|
+
|
|
38
|
+
Package: `@metamesh/modeling@0.13.0`.
|