@metamesh/modeling 0.17.0 → 0.18.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 +153 -0
- package/README.md +137 -163
- package/dist/api/engine.d.ts +128 -65
- package/dist/api/geometry.d.ts +246 -457
- package/dist/api/index.d.ts +394 -419
- package/dist/api/mesh.d.ts +460 -0
- package/dist/api/text.d.ts +1 -1
- package/dist/docs/guides/concepts.md +126 -86
- package/dist/docs/guides/fonts.md +11 -10
- package/dist/docs/guides/fundamentals.md +30 -29
- package/dist/docs/guides/generation.md +44 -31
- package/dist/docs/guides/hosting.md +122 -46
- package/dist/docs/guides/recipes.md +65 -54
- package/dist/docs/guides/standalone-model.md +8 -7
- package/dist/docs/manifest.json +2740 -902
- package/dist/docs/reference/engine/Export3mfOptions.md +19 -2
- package/dist/docs/reference/engine/ExportMeshPart.md +5 -39
- package/dist/docs/reference/engine/GenerationOptions.md +4 -3
- package/dist/docs/reference/engine/GeometryResource.md +13 -13
- package/dist/docs/reference/engine/ModelDependencies.md +1 -1
- package/dist/docs/reference/engine/ModelEngine.md +26 -23
- package/dist/docs/reference/engine/ModelEngineOptions.md +6 -1
- package/dist/docs/reference/engine/ModelPart.md +108 -0
- package/dist/docs/reference/engine/ModelResult.md +175 -0
- package/dist/docs/reference/engine/ModelRunArguments.md +28 -0
- package/dist/docs/reference/engine/ModelRunOptions.md +104 -0
- package/dist/docs/reference/engine/ModelSession.md +16 -16
- package/dist/docs/reference/engine/ModelingLimits.md +121 -0
- package/dist/docs/reference/engine/SessionOptions.md +13 -8
- package/dist/docs/reference/engine/categories/host-lifecycle.md +25 -15
- package/dist/docs/reference/engine/checkModel.md +43 -0
- package/dist/docs/reference/engine/createModelEngine.md +4 -13
- package/dist/docs/reference/engine/defaultModelingLimits.md +8 -1
- package/dist/docs/reference/engine/export3mf.md +55 -0
- package/dist/docs/reference/engine/modelingWasmUrl.md +1 -1
- package/dist/docs/reference/engine.md +8 -15
- package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +1 -1
- package/dist/docs/reference/geometry/Anchor3-type.md +1 -1
- package/dist/docs/reference/geometry/ArcCurve2.md +1 -1
- package/dist/docs/reference/geometry/ArcCurve3.md +1 -1
- package/dist/docs/reference/geometry/AttachOptions.md +1 -1
- package/dist/docs/reference/geometry/AxisAngleRotation3.md +1 -1
- package/dist/docs/reference/geometry/Bevel.md +18 -0
- package/dist/docs/reference/geometry/BevelSize.md +14 -0
- package/dist/docs/reference/geometry/Bounds2-type.md +1 -1
- package/dist/docs/reference/geometry/Bounds2Data.md +1 -1
- package/dist/docs/reference/geometry/Bounds2Input.md +1 -1
- package/dist/docs/reference/geometry/Bounds2Options.md +48 -8
- package/dist/docs/reference/geometry/Bounds3-type.md +1 -1
- package/dist/docs/reference/geometry/Bounds3Data.md +1 -1
- package/dist/docs/reference/geometry/Bounds3Input.md +1 -1
- package/dist/docs/reference/geometry/Bounds3Options.md +48 -8
- package/dist/docs/reference/geometry/BoundsFit2.md +1 -1
- package/dist/docs/reference/geometry/BoundsFit3.md +1 -1
- package/dist/docs/reference/geometry/BoundsFitOptions.md +1 -1
- package/dist/docs/reference/geometry/BoxAnchorFace.md +1 -1
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +4 -4
- package/dist/docs/reference/geometry/BoxEdge.md +1 -1
- package/dist/docs/reference/geometry/BoxEdgeSelection.md +1 -1
- package/dist/docs/reference/geometry/BoxEdgeTreatments.md +1 -1
- package/dist/docs/reference/geometry/BoxOptions.md +3 -3
- package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +1 -1
- package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/CircleContourOptions.md +1 -1
- package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +1 -3
- package/dist/docs/reference/geometry/CircularResolutionOptions.md +1 -1
- package/dist/docs/reference/geometry/CircularSampling.md +1 -1
- package/dist/docs/reference/geometry/CircularSamplingOptions.md +1 -1
- package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +1 -1
- package/dist/docs/reference/geometry/ClearanceHoleFit.md +1 -1
- package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +1 -1
- package/dist/docs/reference/geometry/Contour.md +1 -1
- package/dist/docs/reference/geometry/ContourCurve.md +1 -1
- package/dist/docs/reference/geometry/ContourPoint.md +1 -1
- package/dist/docs/reference/geometry/ContourSegment.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingComponent.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingContour.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingProfile.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +1 -1
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +1 -1
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +1 -1
- package/dist/docs/reference/geometry/Curve2.md +1 -1
- package/dist/docs/reference/geometry/Curve3.md +1 -1
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +1 -1
- package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +1 -1
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +3 -3
- package/dist/docs/reference/geometry/CylinderOptions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearDimensions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearSpec.md +1 -1
- package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +1 -1
- package/dist/docs/reference/geometry/EdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/EllipseContourOptions.md +3 -3
- package/dist/docs/reference/geometry/EndTreatments.md +1 -1
- package/dist/docs/reference/geometry/ExtrudeMeshOptions.md +130 -0
- package/dist/docs/reference/geometry/ExtrudeOptions.md +17 -9
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +3 -3
- package/dist/docs/reference/geometry/FittedTextLayout.md +1 -1
- package/dist/docs/reference/geometry/Frame3.md +1 -1
- package/dist/docs/reference/geometry/GeometryError.md +1 -1
- package/dist/docs/reference/geometry/GeometryErrorCode.md +1 -1
- package/dist/docs/reference/geometry/GeometryErrorContext.md +1 -1
- package/dist/docs/reference/geometry/GeometryResolution.md +1 -1
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +1 -1
- package/dist/docs/reference/geometry/GridPatternOptions.md +1 -1
- package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +1 -1
- package/dist/docs/reference/geometry/HeightfieldOptions.md +3 -2
- package/dist/docs/reference/geometry/HeightfieldPreflight.md +1 -1
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +1 -1
- package/dist/docs/reference/geometry/ImmutableBuffer-type.md +108 -0
- package/dist/docs/reference/geometry/ImmutableTriangleMesh.md +43 -0
- package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +52 -83
- package/dist/docs/reference/geometry/KnuckleHingeBaseSpec.md +1 -1
- package/dist/docs/reference/geometry/KnuckleHingeDimensions.md +1 -1
- package/dist/docs/reference/geometry/KnuckleHingeInterval.md +1 -1
- package/dist/docs/reference/geometry/KnuckleHingeSamplingOptions.md +1 -1
- package/dist/docs/reference/geometry/KnuckleHingeSpec.md +1 -1
- package/dist/docs/reference/geometry/LineCurve2.md +1 -1
- package/dist/docs/reference/geometry/LineCurve3.md +1 -1
- package/dist/docs/reference/geometry/LinearPatternOptions.md +1 -1
- package/dist/docs/reference/geometry/LoftCorrespondence.md +1 -1
- package/dist/docs/reference/geometry/LoftMeshStation.md +1 -1
- package/dist/docs/reference/geometry/LoftOptions.md +3 -3
- package/dist/docs/reference/geometry/LoftPlacement.md +1 -1
- package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +1 -1
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +1 -1
- package/dist/docs/reference/geometry/MetricFastenerSize.md +1 -1
- package/dist/docs/reference/geometry/MetricFastenerStandard.md +1 -1
- package/dist/docs/reference/geometry/MetricHexNutDimensions.md +1 -1
- package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +1 -1
- package/dist/docs/reference/geometry/ModelingLimits.md +1 -1
- package/dist/docs/reference/geometry/NumericArray.md +14 -0
- package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +1 -1
- package/dist/docs/reference/geometry/Path2-type.md +1 -1
- package/dist/docs/reference/geometry/Path2Data.md +1 -1
- package/dist/docs/reference/geometry/Path2Input.md +1 -1
- package/dist/docs/reference/geometry/Path3-type.md +1 -1
- package/dist/docs/reference/geometry/Path3Data.md +1 -1
- package/dist/docs/reference/geometry/Path3Input.md +1 -1
- package/dist/docs/reference/geometry/PathFrame.md +1 -1
- package/dist/docs/reference/geometry/PathLocation.md +1 -1
- package/dist/docs/reference/geometry/PathNormalGuide.md +1 -1
- package/dist/docs/reference/geometry/PathOptions.md +1 -1
- package/dist/docs/reference/geometry/PathPatternOptions.md +1 -1
- package/dist/docs/reference/geometry/PathPlacement.md +1 -1
- package/dist/docs/reference/geometry/PathResamplingOptions.md +1 -1
- package/dist/docs/reference/geometry/Pivot2Options.md +1 -1
- package/dist/docs/reference/geometry/Pivot3Options.md +1 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +1 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +1 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +1 -1
- package/dist/docs/reference/geometry/PlanarPatchQuality.md +1 -1
- package/dist/docs/reference/geometry/PolygonData.md +1 -1
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +1 -1
- package/dist/docs/reference/geometry/PrimitiveAttachment.md +1 -3
- package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +1 -1
- package/dist/docs/reference/geometry/PrintableThreadFit.md +1 -1
- package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +1 -1
- package/dist/docs/reference/geometry/Profile.md +1 -1
- package/dist/docs/reference/geometry/ProfileComponent2.md +1 -1
- package/dist/docs/reference/geometry/ProfileContour2.md +1 -1
- package/dist/docs/reference/geometry/ProfileSpan2.md +1 -1
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/RackPitchDimensions.md +1 -1
- package/dist/docs/reference/geometry/RackPitchSpec.md +1 -1
- package/dist/docs/reference/geometry/RadialPatternOptions.md +1 -1
- package/dist/docs/reference/geometry/RadialSizing.md +1 -1
- package/dist/docs/reference/geometry/RadialSizingOptions.md +1 -1
- package/dist/docs/reference/geometry/RectangleContourOptions.md +3 -3
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +1 -1
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +1 -1
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +3 -3
- package/dist/docs/reference/geometry/RegionData.md +1 -1
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +1 -1
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/RevolveOptions.md +2 -2
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/RowLayoutOptions.md +1 -1
- package/dist/docs/reference/geometry/SampleContourOptions.md +1 -1
- package/dist/docs/reference/geometry/SampleHelixOptions.md +1 -1
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +1 -1
- package/dist/docs/reference/geometry/SampledCurve2.md +1 -1
- package/dist/docs/reference/geometry/SampledCurve3.md +1 -1
- package/dist/docs/reference/geometry/SampledThreadHelices.md +1 -1
- package/dist/docs/reference/geometry/SideProfileCurve.md +1 -1
- package/dist/docs/reference/geometry/SideProfilePoint.md +1 -1
- package/dist/docs/reference/geometry/SideProfileSegment.md +1 -1
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +1 -1
- package/dist/docs/reference/geometry/SphereOptions.md +1 -1
- package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/StarContourOptions.md +74 -0
- package/dist/docs/reference/geometry/StrokeCap.md +1 -1
- package/dist/docs/reference/geometry/StrokeJoin.md +1 -1
- package/dist/docs/reference/geometry/StrokeOptions.md +1 -1
- package/dist/docs/reference/geometry/SvgImportOptions.md +1 -1
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +1 -1
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +1 -1
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +1 -1
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +1 -1
- package/dist/docs/reference/geometry/SweepOptions.md +1 -1
- package/dist/docs/reference/geometry/SweepOrientation.md +1 -1
- package/dist/docs/reference/geometry/ThreadBevelOptions.md +7 -30
- package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +1 -1
- package/dist/docs/reference/geometry/ThreadCompensationOptions.md +1 -1
- package/dist/docs/reference/geometry/ThreadEndStyle.md +1 -1
- package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +1 -1
- package/dist/docs/reference/geometry/ThreadHandedness.md +1 -1
- package/dist/docs/reference/geometry/ThreadHelixOptions.md +1 -1
- package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +1 -1
- package/dist/docs/reference/geometry/ThreadLeadInShape.md +1 -1
- package/dist/docs/reference/geometry/ThreadProfile-type.md +2 -2
- package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +1 -1
- package/dist/docs/reference/geometry/ThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/{HelicalThreadRidgeMeshOptions.md → ThreadRidgeOptions.md} +4 -4
- package/dist/docs/reference/geometry/ThreadRole.md +1 -1
- package/dist/docs/reference/geometry/{HelicalThreadSolidMeshOptions.md → ThreadSolidOptions.md} +18 -65
- package/dist/docs/reference/geometry/{HelicalThreadSolidMeshPreflight.md → ThreadSolidPreflight.md} +2 -2
- package/dist/docs/reference/geometry/ThreadedNutOptions.md +75 -86
- package/dist/docs/reference/geometry/ThreadedNutPreflight.md +18 -6
- package/dist/docs/reference/geometry/ThreadedNutShape.md +1 -1
- package/dist/docs/reference/geometry/ThreadedRodOptions.md +52 -83
- package/dist/docs/reference/geometry/TorusOptions.md +1 -1
- package/dist/docs/reference/geometry/Transform2-type.md +1 -1
- package/dist/docs/reference/geometry/Transform2Data.md +1 -1
- package/dist/docs/reference/geometry/Transform2Input.md +1 -1
- package/dist/docs/reference/geometry/Transform3-type.md +1 -1
- package/dist/docs/reference/geometry/Transform3Data.md +1 -1
- package/dist/docs/reference/geometry/Transform3Input.md +1 -1
- package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/TriangleMesh.md +3 -8
- package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +10 -4
- package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +2 -2
- package/dist/docs/reference/geometry/TriangleMeshInput.md +19 -0
- package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshSignature.md +3 -3
- package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshTopologyAnalysis.md +131 -0
- package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +1 -1
- package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/TubeOptions.md +10 -86
- package/dist/docs/reference/geometry/Vector2-type.md +1 -1
- package/dist/docs/reference/geometry/Vector2Data.md +1 -1
- package/dist/docs/reference/geometry/Vector2Input.md +1 -1
- package/dist/docs/reference/geometry/Vector3-type.md +1 -1
- package/dist/docs/reference/geometry/Vector3Data.md +1 -1
- package/dist/docs/reference/geometry/Vector3Input.md +1 -1
- package/dist/docs/reference/geometry/VectorTextArcBaseline.md +1 -1
- package/dist/docs/reference/geometry/VectorTextLayout.md +1 -1
- package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +3 -3
- package/dist/docs/reference/geometry/VectorTextMetrics.md +1 -1
- package/dist/docs/reference/geometry/VectorTextOptions.md +1 -1
- package/dist/docs/reference/geometry/add2.md +1 -1
- package/dist/docs/reference/geometry/add3.md +1 -1
- package/dist/docs/reference/geometry/anchor3.md +1 -1
- package/dist/docs/reference/geometry/anchorFrame3.md +1 -1
- package/dist/docs/reference/geometry/applyTransformDirection3.md +1 -1
- package/dist/docs/reference/geometry/applyTransformPoint3.md +1 -1
- package/dist/docs/reference/geometry/attachmentTransform3.md +1 -1
- package/dist/docs/reference/geometry/bounds2.md +4 -4
- package/dist/docs/reference/geometry/bounds3.md +4 -4
- package/dist/docs/reference/geometry/boundsCenter.md +1 -1
- package/dist/docs/reference/geometry/boundsSize.md +1 -1
- package/dist/docs/reference/geometry/boxAnchor3.md +3 -3
- package/dist/docs/reference/geometry/categories/bounds-layout.md +3 -3
- package/dist/docs/reference/geometry/categories/curves-paths.md +2 -2
- package/dist/docs/reference/geometry/categories/mechanical.md +8 -10
- package/dist/docs/reference/geometry/categories/meshes.md +19 -32
- package/dist/docs/reference/geometry/categories/pattern-placement.md +2 -2
- package/dist/docs/reference/geometry/categories/primitive-options.md +3 -3
- package/dist/docs/reference/geometry/categories/profiles-regions.md +5 -4
- package/dist/docs/reference/geometry/categories/resolution-errors.md +3 -3
- package/dist/docs/reference/geometry/categories/transforms-math.md +3 -2
- package/dist/docs/reference/geometry/categories/vector-import.md +3 -3
- package/dist/docs/reference/geometry/circleContour.md +1 -1
- package/dist/docs/reference/geometry/closeToAxis.md +1 -1
- package/dist/docs/reference/geometry/compensateThreadDiameters.md +1 -1
- package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +1 -1
- package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +1 -1
- package/dist/docs/reference/geometry/composeTransform3.md +1 -1
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +1 -1
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +1 -1
- package/dist/docs/reference/geometry/contourContainsPoint.md +1 -1
- package/dist/docs/reference/geometry/cross2.md +1 -1
- package/dist/docs/reference/geometry/cross3.md +1 -1
- package/dist/docs/reference/geometry/cylinderAnchor3.md +2 -2
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/geometry/distance2.md +1 -1
- package/dist/docs/reference/geometry/distance3.md +1 -1
- package/dist/docs/reference/geometry/distributeAlongPath.md +1 -1
- package/dist/docs/reference/geometry/dot2.md +1 -1
- package/dist/docs/reference/geometry/dot3.md +1 -1
- package/dist/docs/reference/geometry/ellipseContour.md +1 -1
- package/dist/docs/reference/geometry/eulerTransform3.md +1 -1
- package/dist/docs/reference/geometry/fitBounds.md +1 -1
- package/dist/docs/reference/geometry/fitTextLayout.md +1 -1
- package/dist/docs/reference/geometry/frameTransform3.md +1 -1
- package/dist/docs/reference/geometry/getMetricClearanceHoleDiameter.md +1 -1
- package/dist/docs/reference/geometry/getMetricFastenerStandard.md +1 -1
- package/dist/docs/reference/geometry/gridPatternTransforms.md +1 -1
- package/dist/docs/reference/geometry/immutableBuffer.md +49 -0
- package/dist/docs/reference/geometry/inverseTransform3.md +1 -1
- package/dist/docs/reference/geometry/isGeometryError.md +1 -1
- package/dist/docs/reference/geometry/layoutRow.md +1 -1
- package/dist/docs/reference/geometry/length2.md +1 -1
- package/dist/docs/reference/geometry/length3.md +1 -1
- package/dist/docs/reference/geometry/lerp2.md +1 -1
- package/dist/docs/reference/geometry/lerp3.md +1 -1
- package/dist/docs/reference/geometry/linearPatternTransforms.md +1 -1
- package/dist/docs/reference/geometry/matchProfiles.md +1 -1
- package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +1 -1
- package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +1 -1
- package/dist/docs/reference/geometry/normalize2.md +1 -1
- package/dist/docs/reference/geometry/normalize3.md +1 -1
- package/dist/docs/reference/geometry/normalizeContour.md +1 -1
- package/dist/docs/reference/geometry/normalizePolygon.md +1 -1
- package/dist/docs/reference/geometry/normalizeRegion.md +1 -1
- package/dist/docs/reference/geometry/path2.md +1 -1
- package/dist/docs/reference/geometry/path3.md +1 -1
- package/dist/docs/reference/geometry/pathPatternTransforms.md +1 -1
- package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +18 -25
- package/dist/docs/reference/geometry/preflightSvgRegion.md +1 -1
- package/dist/docs/reference/geometry/preflightThreadedNut.md +24 -26
- package/dist/docs/reference/geometry/preflightThreadedRod.md +18 -25
- package/dist/docs/reference/geometry/projectOntoPlane3.md +1 -1
- package/dist/docs/reference/geometry/radialPatternTransforms.md +1 -1
- package/dist/docs/reference/geometry/rectangleContour.md +10 -5
- package/dist/docs/reference/geometry/rectangleProfile.md +2 -2
- package/dist/docs/reference/geometry/regionArea.md +1 -1
- package/dist/docs/reference/geometry/regionBounds.md +1 -1
- package/dist/docs/reference/geometry/regularPolygonContour.md +2 -2
- package/dist/docs/reference/geometry/resamplePolyline2.md +1 -1
- package/dist/docs/reference/geometry/resamplePolyline3.md +1 -1
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +1 -1
- package/dist/docs/reference/geometry/resolveArcSegments.md +1 -1
- package/dist/docs/reference/geometry/resolveCircularSampling.md +1 -1
- package/dist/docs/reference/geometry/resolveCircularSegments.md +1 -1
- package/dist/docs/reference/geometry/resolveCylindricalGear.md +1 -1
- package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +1 -1
- package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +1 -1
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/resolveKnuckleHinge.md +1 -1
- package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +1 -1
- package/dist/docs/reference/geometry/resolveRackPitch.md +1 -1
- package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +1 -1
- package/dist/docs/reference/geometry/rotate2.md +1 -1
- package/dist/docs/reference/geometry/rotationTransform3.md +1 -1
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +1 -1
- package/dist/docs/reference/geometry/sampleContour.md +1 -1
- package/dist/docs/reference/geometry/sampleCurve2.md +1 -1
- package/dist/docs/reference/geometry/sampleCurve3.md +1 -1
- package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +1 -1
- package/dist/docs/reference/geometry/sampleHelix.md +1 -1
- package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +1 -1
- package/dist/docs/reference/geometry/sampleRackToothPath.md +1 -1
- package/dist/docs/reference/geometry/sampleSideProfile.md +1 -1
- package/dist/docs/reference/geometry/sampleTextContours.md +1 -1
- package/dist/docs/reference/geometry/sampleThreadHelices.md +1 -1
- package/dist/docs/reference/geometry/scale2.md +1 -1
- package/dist/docs/reference/geometry/scale3.md +1 -1
- package/dist/docs/reference/geometry/scaleTransform3.md +1 -1
- package/dist/docs/reference/geometry/signedContourArea.md +1 -1
- package/dist/docs/reference/geometry/starContour.md +17 -15
- package/dist/docs/reference/geometry/strokeRegionData.md +1 -1
- package/dist/docs/reference/geometry/subtract2.md +1 -1
- package/dist/docs/reference/geometry/subtract3.md +1 -1
- package/dist/docs/reference/geometry/threadProfile.md +1 -1
- package/dist/docs/reference/geometry/transform2.md +1 -1
- package/dist/docs/reference/geometry/transform3.md +1 -1
- package/dist/docs/reference/geometry/transformDeterminant3.md +1 -1
- package/dist/docs/reference/geometry/transformRegionData.md +1 -1
- package/dist/docs/reference/geometry/translationTransform3.md +1 -1
- package/dist/docs/reference/geometry/triangulateContour.md +1 -1
- package/dist/docs/reference/geometry/validateRigidTransform3.md +35 -0
- package/dist/docs/reference/geometry/validateTransform3.md +1 -1
- package/dist/docs/reference/geometry/vector2.md +1 -1
- package/dist/docs/reference/geometry/vector3.md +1 -1
- package/dist/docs/reference/geometry.md +9 -9
- package/dist/docs/reference/mesh/AcmeThreadProfileSpec.md +79 -0
- package/dist/docs/reference/mesh/Bevel.md +18 -0
- package/dist/docs/reference/mesh/BevelSize.md +14 -0
- package/dist/docs/reference/mesh/Bounds2.md +125 -0
- package/dist/docs/reference/mesh/Bounds2Data.md +43 -0
- package/dist/docs/reference/mesh/Bounds2Input.md +19 -0
- package/dist/docs/reference/mesh/Bounds3.md +125 -0
- package/dist/docs/reference/mesh/Bounds3Data.md +43 -0
- package/dist/docs/reference/mesh/Bounds3Input.md +19 -0
- package/dist/docs/reference/mesh/ButtressPressureFlankSide.md +14 -0
- package/dist/docs/reference/mesh/ButtressThreadProfileSpec.md +97 -0
- package/dist/docs/reference/mesh/CircularPrimitiveOptions.md +60 -0
- package/dist/docs/reference/mesh/CurveSamplingOptions.md +69 -0
- package/dist/docs/reference/mesh/CustomThreadProfileSpec.md +77 -0
- package/dist/docs/reference/mesh/ExtrudeMeshOptions.md +129 -0
- package/dist/docs/reference/mesh/ExtrusionSamplingOptions.md +81 -0
- package/dist/docs/reference/mesh/Frame3.md +62 -0
- package/dist/docs/reference/mesh/GeometryResolution.md +74 -0
- package/dist/docs/reference/mesh/GeometrySamplingLimits.md +66 -0
- package/dist/docs/reference/mesh/GeometryToleranceOptions.md +46 -0
- package/dist/docs/reference/mesh/HeightfieldMeshLimits.md +18 -0
- package/dist/docs/reference/mesh/HeightfieldOptions.md +72 -0
- package/dist/docs/reference/mesh/HeightfieldPreflight.md +58 -0
- package/dist/docs/reference/mesh/ImmutableBuffer.md +108 -0
- package/dist/docs/reference/mesh/ImmutableTriangleMesh.md +43 -0
- package/dist/docs/reference/mesh/LoftCorrespondence.md +24 -0
- package/dist/docs/reference/mesh/LoftMeshStation.md +31 -0
- package/dist/docs/reference/mesh/LoftOptions.md +88 -0
- package/dist/docs/reference/mesh/LoftPlacement.md +70 -0
- package/dist/docs/reference/mesh/ModelingLimits.md +130 -0
- package/dist/docs/reference/mesh/NumericArray.md +14 -0
- package/dist/docs/reference/mesh/Path2.md +197 -0
- package/dist/docs/reference/mesh/Path2Data.md +50 -0
- package/dist/docs/reference/mesh/Path2Input.md +20 -0
- package/dist/docs/reference/mesh/Path3.md +197 -0
- package/dist/docs/reference/mesh/Path3Data.md +50 -0
- package/dist/docs/reference/mesh/Path3Input.md +20 -0
- package/dist/docs/reference/mesh/PathLocation.md +69 -0
- package/dist/docs/reference/mesh/PathNormalGuide.md +43 -0
- package/dist/docs/reference/mesh/PathResamplingOptions.md +84 -0
- package/dist/docs/reference/mesh/Pivot2Options.md +26 -0
- package/dist/docs/reference/mesh/Pivot3Options.md +26 -0
- package/dist/docs/reference/mesh/PlanarMeshOptimizationFallbackReason.md +14 -0
- package/dist/docs/reference/mesh/PlanarMeshOptimizationOptions.md +160 -0
- package/dist/docs/reference/mesh/PlanarMeshOptimizationResult.md +124 -0
- package/dist/docs/reference/mesh/PlanarPatchQuality.md +194 -0
- package/dist/docs/reference/mesh/RevolveOptions.md +91 -0
- package/dist/docs/reference/mesh/SolidMeshValidationOptions.md +38 -0
- package/dist/docs/reference/mesh/SquareThreadProfileSpec.md +79 -0
- package/dist/docs/reference/mesh/SweepOptions.md +113 -0
- package/dist/docs/reference/mesh/SweepOrientation.md +113 -0
- package/dist/docs/reference/mesh/ThreadEndStyle.md +14 -0
- package/dist/docs/reference/mesh/ThreadEndTreatmentOptions.md +117 -0
- package/dist/docs/reference/mesh/ThreadHandedness.md +14 -0
- package/dist/docs/reference/mesh/ThreadLeadInEnvelope.md +14 -0
- package/dist/docs/reference/mesh/ThreadLeadInShape.md +14 -0
- package/dist/docs/reference/mesh/ThreadProfile.md +86 -0
- package/dist/docs/reference/mesh/ThreadProfileBaseSpec.md +53 -0
- package/dist/docs/reference/mesh/ThreadProfileSpec.md +23 -0
- package/dist/docs/reference/{model/HelicalThreadRidgeMeshOptions.md → mesh/ThreadRidgeOptions.md} +14 -10
- package/dist/docs/reference/mesh/ThreadSolidOptions.md +222 -0
- package/dist/docs/reference/mesh/ThreadSolidPreflight.md +58 -0
- package/dist/docs/reference/mesh/Transform2.md +256 -0
- package/dist/docs/reference/mesh/Transform2Data.md +14 -0
- package/dist/docs/reference/mesh/Transform2Input.md +19 -0
- package/dist/docs/reference/mesh/Transform3.md +296 -0
- package/dist/docs/reference/mesh/Transform3Data.md +17 -0
- package/dist/docs/reference/mesh/Transform3Input.md +19 -0
- package/dist/docs/reference/mesh/TrapezoidalThreadProfileSpec.md +96 -0
- package/dist/docs/reference/mesh/TriangleMesh.md +34 -0
- package/dist/docs/reference/mesh/TriangleMeshAnalysis.md +129 -0
- package/dist/docs/reference/mesh/TriangleMeshAnalysisOptions.md +79 -0
- package/dist/docs/reference/mesh/TriangleMeshInput.md +19 -0
- package/dist/docs/reference/mesh/TriangleMeshMeasurements.md +79 -0
- package/dist/docs/reference/mesh/TriangleMeshQualityOptions.md +43 -0
- package/dist/docs/reference/mesh/TriangleMeshQualityReport.md +194 -0
- package/dist/docs/reference/mesh/TriangleMeshSignature.md +111 -0
- package/dist/docs/reference/mesh/TriangleMeshSignatureOptions.md +46 -0
- package/dist/docs/reference/mesh/TriangleMeshSignatureTolerances.md +34 -0
- package/dist/docs/reference/mesh/TriangleMeshTopologyAnalysis.md +131 -0
- package/dist/docs/reference/mesh/TriangleMeshValidationOptions.md +55 -0
- package/dist/docs/reference/mesh/TriangularThreadProfileSpec.md +95 -0
- package/dist/docs/reference/mesh/Vector2.md +270 -0
- package/dist/docs/reference/mesh/Vector2Data.md +14 -0
- package/dist/docs/reference/mesh/Vector2Input.md +19 -0
- package/dist/docs/reference/mesh/Vector3.md +282 -0
- package/dist/docs/reference/mesh/Vector3Data.md +14 -0
- package/dist/docs/reference/mesh/Vector3Input.md +19 -0
- package/dist/docs/reference/mesh/analyze.md +96 -0
- package/dist/docs/reference/{geometry/analyzeTriangleMeshQuality.md → mesh/analyzeQuality.md} +9 -9
- package/dist/docs/reference/mesh/bounds.md +39 -0
- package/dist/docs/reference/mesh/categories/operations.md +147 -0
- package/dist/docs/reference/{geometry/computeTriangleMeshCentroid.md → mesh/centroid.md} +7 -7
- package/dist/docs/reference/mesh/extrude.md +73 -0
- package/dist/docs/reference/{geometry/heightfieldMesh.md → mesh/heightfield.md} +7 -8
- package/dist/docs/reference/mesh/immutable.md +47 -0
- package/dist/docs/reference/{geometry/joinTriangleMeshes.md → mesh/join.md} +7 -6
- package/dist/docs/reference/{geometry/loftMesh.md → mesh/loft.md} +15 -15
- package/dist/docs/reference/mesh/optimizePlanarPatches.md +96 -0
- package/dist/docs/reference/{geometry → mesh}/preflightHeightfield.md +5 -6
- package/dist/docs/reference/mesh/preflightThreadSolid.md +90 -0
- package/dist/docs/reference/{geometry/reverseTriangleMesh.md → mesh/reverse.md} +6 -5
- package/dist/docs/reference/{geometry/revolveMesh.md → mesh/revolve.md} +13 -13
- package/dist/docs/reference/{geometry/computeTriangleMeshSignature.md → mesh/signature.md} +11 -11
- package/dist/docs/reference/mesh/sweep.md +86 -0
- package/dist/docs/reference/mesh/threadRidge.md +72 -0
- package/dist/docs/reference/mesh/threadSolid.md +90 -0
- package/dist/docs/reference/{geometry/transformTriangleMesh.md → mesh/transform.md} +7 -6
- package/dist/docs/reference/{geometry/validateTriangleMesh.md → mesh/validate.md} +17 -11
- package/dist/docs/reference/{geometry/validateSolidMesh.md → mesh/validateSolid.md} +15 -9
- package/dist/docs/reference/mesh.md +21 -0
- package/dist/docs/reference/model/AcmeThreadProfileSpec.md +80 -0
- package/dist/docs/reference/model/Anchor3.md +1 -1
- package/dist/docs/reference/model/AttachOptions.md +1 -1
- package/dist/docs/reference/model/Bevel.md +19 -0
- package/dist/docs/reference/model/{ThreadedNutBevel.md → BevelSize.md} +4 -4
- package/dist/docs/reference/model/Bounds2-type.md +1 -1
- package/dist/docs/reference/model/Bounds2Data.md +1 -1
- package/dist/docs/reference/model/Bounds2Input.md +1 -1
- package/dist/docs/reference/model/Bounds2Options.md +48 -8
- package/dist/docs/reference/model/Bounds3-type.md +1 -1
- package/dist/docs/reference/model/Bounds3Data.md +1 -1
- package/dist/docs/reference/model/Bounds3Input.md +1 -1
- package/dist/docs/reference/model/Bounds3Options.md +48 -8
- package/dist/docs/reference/model/BoxEdge.md +1 -1
- package/dist/docs/reference/model/BoxEdgeSelection.md +1 -1
- package/dist/docs/reference/model/BoxEdgeTreatments.md +1 -1
- package/dist/docs/reference/model/BoxOptions.md +3 -3
- package/dist/docs/reference/model/ButtressPressureFlankSide.md +15 -0
- package/dist/docs/reference/model/ButtressThreadProfileSpec.md +98 -0
- package/dist/docs/reference/model/ChamferedEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/CircleContourOptions.md +1 -1
- package/dist/docs/reference/model/CircleOptions.md +1 -1
- package/dist/docs/reference/model/CircularPrimitiveOptions.md +1 -3
- package/dist/docs/reference/model/Computed.md +7 -3
- package/dist/docs/reference/model/ComputedValue.md +1 -1
- package/dist/docs/reference/model/Contour.md +1 -1
- package/dist/docs/reference/model/CorrespondingComponent.md +1 -1
- package/dist/docs/reference/model/CorrespondingContour.md +1 -1
- package/dist/docs/reference/model/CorrespondingProfile.md +1 -1
- package/dist/docs/reference/model/CorrespondingProfileStation.md +1 -1
- package/dist/docs/reference/model/CurveSamplingOptions.md +68 -0
- package/dist/docs/reference/model/CustomThreadProfileSpec.md +78 -0
- package/dist/docs/reference/model/CylinderOptions.md +1 -1
- package/dist/docs/reference/model/DiagnosticOptions.md +15 -1
- package/dist/docs/reference/model/EdgeTreatment.md +1 -1
- package/dist/docs/reference/model/EllipseContourOptions.md +3 -3
- package/dist/docs/reference/model/EllipseOptions.md +1 -1
- package/dist/docs/reference/model/EndTreatments.md +1 -1
- package/dist/docs/reference/model/ExtrudeMeshOptions.md +133 -0
- package/dist/docs/reference/model/ExtrudeOptions.md +17 -8
- package/dist/docs/reference/model/ExtrusionSamplingOptions.md +84 -0
- package/dist/docs/reference/model/Frame3.md +1 -1
- package/dist/docs/reference/model/GenerateCallback.md +5 -5
- package/dist/docs/reference/model/GenerateContext.md +15 -63
- package/dist/docs/reference/model/GenerationDiagnostic.md +13 -1
- package/dist/docs/reference/model/GenerationError.md +1 -1
- package/dist/docs/reference/model/GeometryError.md +102 -0
- package/dist/docs/reference/model/GeometryErrorCode.md +15 -0
- package/dist/docs/reference/model/GeometryErrorContext.md +35 -0
- package/dist/docs/reference/model/GeometryResolution.md +1 -1
- package/dist/docs/reference/model/GeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/model/GeometryToleranceOptions.md +1 -1
- package/dist/docs/reference/model/GridPatternOptions.md +1 -1
- package/dist/docs/reference/model/HeightfieldOptions.md +3 -2
- package/dist/docs/reference/model/HoleCutterOptions.md +1 -1
- package/dist/docs/reference/model/HoleCutterOverrun.md +1 -1
- package/dist/docs/reference/model/HoleCutterRecess.md +1 -1
- package/dist/docs/reference/model/HullOptions.md +1 -1
- package/dist/docs/reference/model/ImmutableBuffer-type.md +27 -3
- package/dist/docs/reference/model/ImmutableTriangleMesh.md +8 -3
- package/dist/docs/reference/model/ImmutableValue.md +20 -0
- package/dist/docs/reference/model/ImplicitOptions.md +1 -1
- package/dist/docs/reference/model/InternalThreadCutterOptions.md +54 -84
- package/dist/docs/reference/model/KnuckleHinge-type.md +1 -1
- package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +1 -1
- package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +1 -1
- package/dist/docs/reference/model/KnuckleHingeOptions.md +1 -1
- package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +1 -1
- package/dist/docs/reference/model/KnuckleHingeSpec.md +1 -1
- package/dist/docs/reference/model/KnuckleHingeWeb.md +1 -1
- package/dist/docs/reference/model/LinearPatternOptions.md +1 -1
- package/dist/docs/reference/model/LoftCorrespondence.md +1 -1
- package/dist/docs/reference/model/LoftOptions.md +3 -3
- package/dist/docs/reference/model/LoftPlacement.md +1 -1
- package/dist/docs/reference/model/LoftStation.md +1 -1
- package/dist/docs/reference/model/MatchProfilesOptions.md +1 -1
- package/dist/docs/reference/model/ModelProgram.md +2 -2
- package/dist/docs/reference/model/ModelingLimits.md +1 -1
- package/dist/docs/reference/model/NumericArray.md +1 -1
- package/dist/docs/reference/model/{GeneratedPart.md → PartDeclaration.md} +8 -23
- package/dist/docs/reference/model/PartGeometry.md +2 -2
- package/dist/docs/reference/model/PartOptions.md +8 -19
- package/dist/docs/reference/model/Path2-type.md +1 -1
- package/dist/docs/reference/model/Path2Data.md +1 -1
- package/dist/docs/reference/model/Path2Input.md +1 -1
- package/dist/docs/reference/model/Path3-type.md +1 -1
- package/dist/docs/reference/model/Path3Data.md +1 -1
- package/dist/docs/reference/model/Path3Input.md +1 -1
- package/dist/docs/reference/model/PathLocation.md +1 -1
- package/dist/docs/reference/model/PathNormalGuide.md +1 -1
- package/dist/docs/reference/model/PathOptions.md +1 -1
- package/dist/docs/reference/model/PathPatternOptions.md +1 -1
- package/dist/docs/reference/model/PathResamplingOptions.md +7 -6
- package/dist/docs/reference/model/PatternSource.md +1 -1
- package/dist/docs/reference/model/Pivot2Options.md +1 -1
- package/dist/docs/reference/model/Pivot3Options.md +1 -1
- package/dist/docs/reference/model/PlaneOptions.md +1 -1
- package/dist/docs/reference/model/PolygonData.md +1 -1
- package/dist/docs/reference/model/PolygonOptions.md +1 -1
- package/dist/docs/reference/model/PrimitiveAttachment.md +1 -3
- package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +1 -1
- package/dist/docs/reference/model/PrintableThreadFit.md +1 -1
- package/dist/docs/reference/model/PrintableThreadFitPolicy.md +1 -1
- package/dist/docs/reference/model/Profile.md +1 -1
- package/dist/docs/reference/model/ProfileComponent2.md +1 -1
- package/dist/docs/reference/model/ProfileContour2.md +1 -1
- package/dist/docs/reference/model/ProfileSpan2.md +1 -1
- package/dist/docs/reference/model/ProfiledEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/RadialPatternOptions.md +1 -1
- package/dist/docs/reference/model/RadialSizing.md +1 -1
- package/dist/docs/reference/model/RadialSizingOptions.md +1 -1
- package/dist/docs/reference/model/RectangleContourOptions.md +3 -3
- package/dist/docs/reference/model/RectangleCornerTreatment.md +1 -1
- package/dist/docs/reference/model/RectangleCornerTreatments.md +1 -1
- package/dist/docs/reference/model/RectangleOptions.md +3 -3
- package/dist/docs/reference/model/RegionData.md +1 -1
- package/dist/docs/reference/model/RegularPolygonOptions.md +1 -1
- package/dist/docs/reference/model/RevolveOptions.md +2 -2
- package/dist/docs/reference/model/RoundedEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/Section.md +131 -6
- package/dist/docs/reference/model/SectionHullOptions.md +1 -1
- package/dist/docs/reference/model/SectionInspection.md +5 -17
- package/dist/docs/reference/model/SectionOffsetJoin.md +1 -1
- package/dist/docs/reference/model/SectionOffsetOptions.md +1 -1
- package/dist/docs/reference/model/SmoothEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/Solid.md +245 -8
- package/dist/docs/reference/model/SolidInspection.md +5 -17
- package/dist/docs/reference/model/SolidSegmentHit.md +5 -1
- package/dist/docs/reference/model/SphereOptions.md +1 -1
- package/dist/docs/reference/model/SquareThreadProfileSpec.md +80 -0
- package/dist/docs/reference/model/StarContourOptions.md +81 -0
- package/dist/docs/reference/model/StarOptions.md +38 -16
- package/dist/docs/reference/model/StrokeCap.md +1 -1
- package/dist/docs/reference/model/StrokeJoin.md +1 -1
- package/dist/docs/reference/model/StrokeOptions.md +1 -1
- package/dist/docs/reference/model/SvgOrigin.md +1 -1
- package/dist/docs/reference/model/SvgPathSectionOptions.md +1 -1
- package/dist/docs/reference/model/SvgSectionOptions.md +1 -1
- package/dist/docs/reference/model/SweepOptions.md +1 -1
- package/dist/docs/reference/model/SweepOrientation.md +1 -1
- package/dist/docs/reference/model/TextSectionOptions.md +1 -1
- package/dist/docs/reference/model/ThreadBevelOptions.md +35 -0
- package/dist/docs/reference/model/ThreadEndStyle.md +1 -1
- package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +1 -1
- package/dist/docs/reference/model/ThreadHandedness.md +1 -1
- package/dist/docs/reference/model/ThreadLeadInEnvelope.md +1 -1
- package/dist/docs/reference/model/ThreadLeadInShape.md +1 -1
- package/dist/docs/reference/model/ThreadProfile.md +2 -2
- package/dist/docs/reference/model/ThreadProfileBaseSpec.md +54 -0
- package/dist/docs/reference/model/ThreadProfileSpec.md +24 -0
- package/dist/docs/reference/model/ThreadRidgeOptions.md +126 -4
- package/dist/docs/reference/model/{HelicalThreadSolidMeshPreflight.md → ThreadSolidPreflight.md} +2 -2
- package/dist/docs/reference/model/ThreadedNutOptions.md +75 -86
- package/dist/docs/reference/model/ThreadedNutPreflight.md +18 -6
- package/dist/docs/reference/model/ThreadedNutShape.md +1 -1
- package/dist/docs/reference/model/ThreadedRodOptions.md +54 -84
- package/dist/docs/reference/model/TorusOptions.md +1 -1
- package/dist/docs/reference/model/Transform2-type.md +1 -1
- package/dist/docs/reference/model/Transform2Data.md +1 -1
- package/dist/docs/reference/model/Transform2Input.md +1 -1
- package/dist/docs/reference/model/Transform3-type.md +1 -1
- package/dist/docs/reference/model/Transform3Data.md +1 -1
- package/dist/docs/reference/model/Transform3Input.md +1 -1
- package/dist/docs/reference/model/TrapezoidalThreadProfileSpec.md +97 -0
- package/dist/docs/reference/model/TriangleMesh.md +3 -11
- package/dist/docs/reference/model/TriangleMeshAnalysis.md +10 -4
- package/dist/docs/reference/model/TriangleMeshMeasurements.md +1 -1
- package/dist/docs/reference/model/TriangleMeshTopologyAnalysis.md +131 -0
- package/dist/docs/reference/model/TriangularThreadProfileSpec.md +96 -0
- package/dist/docs/reference/model/TubeOptions.md +10 -86
- package/dist/docs/reference/model/Vector2-type.md +1 -1
- package/dist/docs/reference/model/Vector2Data.md +1 -1
- package/dist/docs/reference/model/Vector2Input.md +1 -1
- package/dist/docs/reference/model/Vector3-type.md +1 -1
- package/dist/docs/reference/model/Vector3Data.md +1 -1
- package/dist/docs/reference/model/Vector3Input.md +1 -1
- package/dist/docs/reference/model/VectorTextLayout.md +1 -1
- package/dist/docs/reference/model/VectorTextMetrics.md +1 -1
- package/dist/docs/reference/model/bounds2.md +4 -4
- package/dist/docs/reference/model/bounds3.md +4 -4
- package/dist/docs/reference/model/box.md +2 -2
- package/dist/docs/reference/model/categories/boolean-operations.md +6 -10
- package/dist/docs/reference/model/categories/bounded-surfaces.md +1 -1
- package/dist/docs/reference/model/categories/bounds.md +2 -2
- package/dist/docs/reference/model/categories/contracts.md +3 -5
- package/dist/docs/reference/model/categories/core-values-errors.md +17 -3
- package/dist/docs/reference/model/categories/explicit-profiles.md +1 -1
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +10 -8
- package/dist/docs/reference/model/categories/generation.md +8 -8
- package/dist/docs/reference/model/categories/hinges.md +1 -1
- package/dist/docs/reference/model/categories/mesh-inspection.md +15 -6
- package/dist/docs/reference/model/categories/paths.md +4 -3
- package/dist/docs/reference/model/categories/primitives.md +5 -5
- package/dist/docs/reference/model/categories/resolution.md +1 -1
- package/dist/docs/reference/model/categories/sections.md +4 -3
- package/dist/docs/reference/model/categories/threads.md +16 -6
- package/dist/docs/reference/model/categories/transforms-placement.md +2 -3
- package/dist/docs/reference/model/circle.md +1 -1
- package/dist/docs/reference/model/cylinder.md +1 -1
- package/dist/docs/reference/model/ellipse.md +1 -1
- package/dist/docs/reference/model/extrude.md +5 -4
- package/dist/docs/reference/model/generate.md +4 -4
- package/dist/docs/reference/model/gridPattern.md +1 -1
- package/dist/docs/reference/model/heightfield.md +1 -1
- package/dist/docs/reference/model/holeCutter.md +12 -2
- package/dist/docs/reference/model/hull.md +1 -1
- package/dist/docs/reference/model/immutableBuffer.md +5 -4
- package/dist/docs/reference/model/implicit.md +1 -1
- package/dist/docs/reference/model/internalThreadCutter.md +12 -20
- package/dist/docs/reference/model/intersect.md +3 -3
- package/dist/docs/reference/model/isGeometryError.md +34 -0
- package/dist/docs/reference/model/knuckleHinge.md +2 -2
- package/dist/docs/reference/model/linearPattern.md +1 -1
- package/dist/docs/reference/model/loft.md +6 -5
- package/dist/docs/reference/model/matchProfiles.md +1 -1
- package/dist/docs/reference/model/minkowskiSum.md +1 -1
- package/dist/docs/reference/model/path2.md +1 -1
- package/dist/docs/reference/model/path3.md +1 -1
- package/dist/docs/reference/model/pathPattern.md +1 -1
- package/dist/docs/reference/model/polygon.md +1 -1
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +15 -23
- package/dist/docs/reference/model/preflightThreadedNut.md +22 -25
- package/dist/docs/reference/model/preflightThreadedRod.md +15 -23
- package/dist/docs/reference/model/radialPattern.md +1 -1
- package/dist/docs/reference/model/rectangle.md +2 -2
- package/dist/docs/reference/model/regularPolygon.md +1 -1
- package/dist/docs/reference/model/revolve.md +6 -5
- package/dist/docs/reference/model/solidFromMesh.md +7 -6
- package/dist/docs/reference/model/sphere.md +1 -1
- package/dist/docs/reference/model/star.md +7 -7
- package/dist/docs/reference/model/stroke.md +1 -1
- package/dist/docs/reference/model/svgPathSection.md +1 -1
- package/dist/docs/reference/model/svgSection.md +1 -1
- package/dist/docs/reference/model/sweep.md +5 -4
- package/dist/docs/reference/model/textSection.md +1 -1
- package/dist/docs/reference/model/threadRidge.md +14 -14
- package/dist/docs/reference/model/threadedNut.md +22 -25
- package/dist/docs/reference/model/threadedRod.md +12 -20
- package/dist/docs/reference/model/torus.md +1 -1
- package/dist/docs/reference/model/transform2.md +1 -1
- package/dist/docs/reference/model/transform3.md +1 -1
- package/dist/docs/reference/model/tube.md +1 -36
- package/dist/docs/reference/model/union.md +3 -3
- package/dist/docs/reference/model/vector2.md +1 -1
- package/dist/docs/reference/model/vector3.md +1 -1
- package/dist/docs/reference/model.md +15 -19
- package/dist/docs/reference/text/Bounds2Data.md +1 -1
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +2 -2
- package/dist/docs/reference/text/Vector2Data.md +1 -1
- package/dist/docs/reference/text/VectorFont.md +7 -7
- package/dist/docs/reference/text/VectorFontOptions.md +1 -1
- package/dist/docs/reference/text/VectorTextArcBaseline.md +1 -1
- package/dist/docs/reference/text/VectorTextLayout.md +1 -1
- package/dist/docs/reference/text/VectorTextLayoutOptions.md +3 -3
- package/dist/docs/reference/text/VectorTextMetrics.md +1 -1
- package/dist/docs/reference/text/VectorTextOptions.md +1 -1
- package/dist/docs/reference/text/categories/font-preparation.md +3 -3
- package/dist/docs/reference/text/prepareVectorFont.md +1 -1
- package/dist/docs/reference/text.md +4 -4
- package/dist/engine/execution.js +10 -6
- package/dist/engine/export-3mf.js +22 -115
- package/dist/engine/finalization.js +10 -10
- package/dist/engine/index.js +25 -31
- package/dist/engine/model-parts.js +8 -0
- package/dist/engine/model-summary.js +5 -5
- package/dist/engine/native/index.js +1 -1
- package/dist/engine/native/material-components.js +3 -3
- package/dist/engine/native/operations.js +0 -7
- package/dist/engine/native/scoped-primitives.js +5 -4
- package/dist/engine/native/threads.js +14 -14
- package/dist/engine/{construction-operations.js → operations/construction.js} +25 -23
- package/dist/engine/{modeling-context.js → operations/context.js} +10 -10
- package/dist/engine/{operation-environment.js → operations/environment.js} +2 -2
- package/dist/engine/{extrusion-finishing.js → operations/extrusion-finishing.js} +7 -7
- package/dist/engine/{hole-cutter-operation.js → operations/hole-cutter.js} +3 -3
- package/dist/engine/{inspection-operations.js → operations/inspection.js} +6 -6
- package/dist/engine/{knuckle-hinge-operation.js → operations/knuckle-hinge.js} +4 -4
- package/dist/engine/{loft-operations.js → operations/loft.js} +13 -12
- package/dist/engine/{mechanical-operations.js → operations/mechanical.js} +2 -2
- package/dist/engine/{pattern-operations.js → operations/patterns.js} +4 -4
- package/dist/engine/{primitive-anchors.js → operations/primitives/anchors.js} +9 -4
- package/dist/engine/{primitive-operations.js → operations/primitives/construction.js} +18 -19
- package/dist/engine/{primitive-correspondence.js → operations/primitives/correspondence.js} +4 -4
- package/dist/engine/{profile-mesh.js → operations/primitives/profile-mesh.js} +12 -12
- package/dist/engine/{primitive-profiles.js → operations/primitives/profiles.js} +7 -7
- package/dist/engine/{section-operations.js → operations/sections.js} +8 -8
- package/dist/engine/{transform-operations.js → operations/transforms.js} +8 -8
- package/dist/engine/placement.js +3 -4
- package/dist/engine/recipe-realization.js +1 -1
- package/dist/engine/serialize-3mf.js +116 -0
- package/dist/engine/{deferred-context.js → session/deferred-context.js} +4 -4
- package/dist/engine/{model-dependencies.js → session/dependencies.js} +1 -1
- package/dist/engine/{session-graph.js → session/graph.js} +13 -11
- package/dist/engine/{session-native.js → session/native-cache.js} +1 -1
- package/dist/engine/{session.js → session/session.js} +16 -10
- package/dist/engine/{session-snapshot.js → session/snapshot-cache.js} +29 -59
- package/dist/geometry/anchors.js +4 -11
- package/dist/geometry/bounds-value.js +20 -10
- package/dist/geometry/heightfield.js +10 -12
- package/dist/{model → geometry}/immutable-buffer.js +28 -7
- package/dist/geometry/index.js +16 -22
- package/dist/geometry/loft/loft.js +11 -6
- package/dist/geometry/mechanical/index.js +5 -5
- package/dist/geometry/mechanical/threads/bevel.js +24 -0
- package/dist/geometry/mechanical/{threads.js → threads/fit.js} +4 -4
- package/dist/geometry/mechanical/{thread-helices.js → threads/helices.js} +3 -3
- package/dist/geometry/mechanical/{thread-mesh-plan.js → threads/mesh-plan.js} +38 -53
- package/dist/geometry/mechanical/{thread-mesh.js → threads/mesh.js} +9 -9
- package/dist/geometry/mechanical/{thread-profiles.js → threads/profiles.js} +3 -3
- package/dist/geometry/mechanical/{thread-solids.js → threads/solids.js} +58 -89
- package/dist/geometry/mechanical/{thread-surface.js → threads/surface.js} +7 -8
- package/dist/geometry/mesh/mesh-centroid.js +3 -2
- package/dist/geometry/mesh/mesh-planar.js +27 -8
- package/dist/geometry/mesh/mesh-quality.js +2 -1
- package/dist/geometry/mesh/mesh-signature.js +7 -6
- package/dist/geometry/mesh/mesh-solid.js +2 -3
- package/dist/geometry/mesh/mesh-types.js +1 -0
- package/dist/geometry/mesh/mesh.js +13 -22
- package/dist/geometry/mesh-api.js +14 -0
- package/dist/geometry/primitive-resolvers.js +42 -14
- package/dist/geometry/profiles/primitives/circle.js +19 -0
- package/dist/geometry/profiles/{shapes.js → primitives/ellipse.js} +6 -10
- package/dist/geometry/profiles/{rectangle.js → primitives/rectangle.js} +14 -12
- package/dist/geometry/profiles/primitives/regular-polygon.js +33 -0
- package/dist/geometry/profiles/primitives/star.js +28 -0
- package/dist/geometry/revolve/revolve-mesh.js +1 -1
- package/dist/geometry/{svg-import.js → svg/import.js} +10 -10
- package/dist/geometry/sweeps/sweep-mesh.js +1 -1
- package/dist/geometry/transform3.js +29 -0
- package/dist/index.js +2 -1
- package/dist/model/diagnostic-path.js +26 -0
- package/dist/model/execution-binding.js +3 -3
- package/dist/model/generation.js +8 -2
- package/dist/model/geometry-recipes.js +1 -1
- package/dist/model/immutable-generation-data.js +33 -2
- package/dist/model/operations.js +14 -144
- package/dist/model/recipe-declaration.js +6 -2
- package/dist/model/shape-handles.js +30 -7
- package/dist/text/index.js +1 -1
- package/package.json +21 -11
- package/dist/docs/reference/engine/ModelSnapshot.md +0 -184
- package/dist/docs/reference/engine/SnapshotPart.md +0 -133
- package/dist/docs/reference/engine/validateModel.md +0 -48
- package/dist/docs/reference/geometry/ThreadedNutBevel.md +0 -14
- package/dist/docs/reference/geometry/analyzeTriangleMesh.md +0 -61
- package/dist/docs/reference/geometry/extrudeMesh.md +0 -77
- package/dist/docs/reference/geometry/helicalThreadRidgeMesh.md +0 -72
- package/dist/docs/reference/geometry/helicalThreadSolidMesh.md +0 -106
- package/dist/docs/reference/geometry/meshBounds.md +0 -39
- package/dist/docs/reference/geometry/optimizePlanarPatches.md +0 -95
- package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +0 -105
- package/dist/docs/reference/geometry/sweepMesh.md +0 -86
- package/dist/docs/reference/model/FinalizedModel.md +0 -131
- package/dist/docs/reference/model/FinalizedPart.md +0 -87
- package/dist/docs/reference/model/anchor.md +0 -47
- package/dist/docs/reference/model/castSegment.md +0 -40
- package/dist/docs/reference/model/categories/inspection.md +0 -29
- package/dist/docs/reference/model/components.md +0 -71
- package/dist/docs/reference/model/compose.md +0 -31
- package/dist/docs/reference/model/distance.md +0 -45
- package/dist/docs/reference/model/immutableMesh.md +0 -44
- package/dist/docs/reference/model/inspectSection.md +0 -38
- package/dist/docs/reference/model/inspectSolid.md +0 -38
- package/dist/docs/reference/model/isEmpty.md +0 -39
- package/dist/docs/reference/model/split.md +0 -54
- package/dist/docs/reference/model/splitByPlane.md +0 -66
- package/dist/geometry/profiles/profiles.js +0 -71
- /package/dist/engine/{primitive-profile-types.js → operations/primitives/profile-types.js} +0 -0
- /package/dist/geometry/profiles/{matched.js → match-profiles.js} +0 -0
package/dist/api/geometry.d.ts
CHANGED
|
@@ -50,37 +50,6 @@ export declare interface AlignedCircularSegmentsOptions {
|
|
|
50
50
|
readonly resolution?: GeometryResolution;
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
/**
|
|
54
|
-
* Validates and measures a mesh in one position and one triangle traversal.
|
|
55
|
-
*
|
|
56
|
-
* Bounds, area in square model units and signed volume in cubic model units are computed without
|
|
57
|
-
* copying or changing the input buffers. Volume is meaningful for consistently wound closed
|
|
58
|
-
* geometry; `requireClosed` checks oriented edge closure. Optional indexed topology counts require
|
|
59
|
-
* every position vertex to be referenced and do not establish freedom from self-intersections.
|
|
60
|
-
* Results and nested bounds are immutable snapshots. Caller-owned mutable meshes are freshly
|
|
61
|
-
* inspected on every call, never cached.
|
|
62
|
-
*/
|
|
63
|
-
export declare function analyzeTriangleMesh(
|
|
64
|
-
mesh: TriangleMesh,
|
|
65
|
-
options?: TriangleMeshAnalysisOptions,
|
|
66
|
-
): TriangleMeshAnalysis;
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Measures triangle shape, edge topology, vertex concentration, and connected planar patches.
|
|
70
|
-
*
|
|
71
|
-
* Positions are never welded: valence and manifold status describe the supplied indexed topology.
|
|
72
|
-
* Degenerate triangles are reported rather than rejected, while malformed buffers, non-finite
|
|
73
|
-
* positions, missing vertex references, and the configured complexity limit throw.
|
|
74
|
-
*
|
|
75
|
-
* @param mesh - Indexed triangle mesh in arbitrary consistent model units.
|
|
76
|
-
* @param options - Scale-aware tolerance and analysis budget.
|
|
77
|
-
* @returns A deterministic report without mutating or copying the mesh.
|
|
78
|
-
*/
|
|
79
|
-
export declare function analyzeTriangleMeshQuality(
|
|
80
|
-
mesh: TriangleMesh,
|
|
81
|
-
options?: TriangleMeshQualityOptions,
|
|
82
|
-
): TriangleMeshQualityReport;
|
|
83
|
-
|
|
84
53
|
/**
|
|
85
54
|
* An attachment pose on a solid or assembly.
|
|
86
55
|
*
|
|
@@ -235,6 +204,13 @@ export declare type AxisAngleRotation3 =
|
|
|
235
204
|
readonly degrees?: never;
|
|
236
205
|
};
|
|
237
206
|
|
|
207
|
+
/** One size for both ends, or independent sizes in bottom/top order. Zero disables an end. */
|
|
208
|
+
export declare type Bevel =
|
|
209
|
+
BevelSize | readonly [bottom: BevelSize, top: BevelSize];
|
|
210
|
+
|
|
211
|
+
/** Nonnegative 45-degree axial/radial bevel size in millimetres, or factory automatic sizing. */
|
|
212
|
+
export declare type BevelSize = number | "auto";
|
|
213
|
+
|
|
238
214
|
/** Immutable finite XY bounds in millimetres, with tuple coordinates for data interoperability. */
|
|
239
215
|
export declare interface Bounds2 extends Bounds2Data {
|
|
240
216
|
/** Returns nonnegative X/Y dimensions in millimetres, including zero extents. */
|
|
@@ -254,9 +230,9 @@ export declare interface Bounds2 extends Bounds2Data {
|
|
|
254
230
|
* overflowing extents throw `INVALID_ARGUMENT` GeometryError. Use `toData()` for plain records.
|
|
255
231
|
* Size construction centers on the origin unless `center` is false. Size and extrema are exclusive.
|
|
256
232
|
* Compiled Generator packages passing these values to host recipes or computed data require
|
|
257
|
-
* runtime
|
|
233
|
+
* runtime 10.0.0 or newer in major 10.
|
|
258
234
|
*/
|
|
259
|
-
export declare function bounds2(input: Bounds2Options): Bounds2;
|
|
235
|
+
export declare function bounds2(input: Bounds2Options | Bounds2): Bounds2;
|
|
260
236
|
|
|
261
237
|
/** Plain axis-aligned XY bounds for interchange; use bounds2 for immutable measurement methods. */
|
|
262
238
|
export declare interface Bounds2Data {
|
|
@@ -271,15 +247,19 @@ export declare type Bounds2Input = Bounds2 | Bounds2Data;
|
|
|
271
247
|
|
|
272
248
|
/** XY bounds construction from existing extrema or nonnegative dimensions, never both. */
|
|
273
249
|
export declare type Bounds2Options =
|
|
274
|
-
|
|
|
275
|
-
/**
|
|
276
|
-
readonly
|
|
277
|
-
/**
|
|
278
|
-
readonly
|
|
279
|
-
|
|
250
|
+
| {
|
|
251
|
+
/** Inclusive minimum XY coordinates in millimetres. */
|
|
252
|
+
readonly min: Vector2Input;
|
|
253
|
+
/** Inclusive maximum XY coordinates in millimetres. */
|
|
254
|
+
readonly max: Vector2Input;
|
|
255
|
+
/** Size construction cannot be combined with extrema. */
|
|
256
|
+
readonly size?: never;
|
|
257
|
+
/** Center applies only to size construction. */
|
|
258
|
+
readonly center?: never;
|
|
259
|
+
}
|
|
280
260
|
| {
|
|
281
261
|
/** Nonnegative XY dimensions in millimetres. */
|
|
282
|
-
readonly size:
|
|
262
|
+
readonly size: Vector2Input;
|
|
283
263
|
/** Center on the origin; false starts at the origin. Defaults to true. */
|
|
284
264
|
readonly center?: boolean;
|
|
285
265
|
/** Minimum coordinates are unavailable when size is supplied. */
|
|
@@ -307,9 +287,9 @@ export declare interface Bounds3 extends Bounds3Data {
|
|
|
307
287
|
* overflowing extents throw `INVALID_ARGUMENT` GeometryError. Use `toData()` for plain records.
|
|
308
288
|
* Size construction centers on the origin unless `center` is false. Size and extrema are exclusive.
|
|
309
289
|
* Compiled Generator packages passing these values to host recipes or computed data require
|
|
310
|
-
* runtime
|
|
290
|
+
* runtime 10.0.0 or newer in major 10.
|
|
311
291
|
*/
|
|
312
|
-
export declare function bounds3(input: Bounds3Options): Bounds3;
|
|
292
|
+
export declare function bounds3(input: Bounds3Options | Bounds3): Bounds3;
|
|
313
293
|
|
|
314
294
|
/** Plain axis-aligned XYZ bounds for interchange; use bounds3 for immutable measurement methods. */
|
|
315
295
|
export declare interface Bounds3Data {
|
|
@@ -324,15 +304,19 @@ export declare type Bounds3Input = Bounds3 | Bounds3Data;
|
|
|
324
304
|
|
|
325
305
|
/** XYZ bounds construction from existing extrema or nonnegative dimensions, never both. */
|
|
326
306
|
export declare type Bounds3Options =
|
|
327
|
-
|
|
|
328
|
-
/**
|
|
329
|
-
readonly
|
|
330
|
-
/**
|
|
331
|
-
readonly
|
|
332
|
-
|
|
307
|
+
| {
|
|
308
|
+
/** Inclusive minimum XYZ coordinates in millimetres. */
|
|
309
|
+
readonly min: Vector3Input;
|
|
310
|
+
/** Inclusive maximum XYZ coordinates in millimetres. */
|
|
311
|
+
readonly max: Vector3Input;
|
|
312
|
+
/** Size construction cannot be combined with extrema. */
|
|
313
|
+
readonly size?: never;
|
|
314
|
+
/** Center applies only to size construction. */
|
|
315
|
+
readonly center?: never;
|
|
316
|
+
}
|
|
333
317
|
| {
|
|
334
318
|
/** Nonnegative XYZ dimensions in millimetres. */
|
|
335
|
-
readonly size:
|
|
319
|
+
readonly size: Vector3Input;
|
|
336
320
|
/** Center on the origin; false starts at the origin. Defaults to true. */
|
|
337
321
|
readonly center?: boolean;
|
|
338
322
|
/** Minimum coordinates are unavailable when size is supplied. */
|
|
@@ -392,13 +376,13 @@ export declare type BoxAnchorFace =
|
|
|
392
376
|
/** Box dimensions and construction origin for one named face anchor. */
|
|
393
377
|
export declare interface BoxAnchorOptions {
|
|
394
378
|
/** XYZ dimensions, or one uniform dimension, in millimetres. */
|
|
395
|
-
readonly size: number |
|
|
379
|
+
readonly size: number | Vector3Input;
|
|
396
380
|
/** Named outward face whose center is the attachment point. */
|
|
397
381
|
readonly face: BoxAnchorFace;
|
|
398
382
|
/** Centers the box around its construction origin; defaults to true, matching box(). */
|
|
399
383
|
readonly center?: boolean;
|
|
400
384
|
/** Construction origin; centered-box center or noncentered minimum corner. Defaults to zero. */
|
|
401
|
-
readonly origin?:
|
|
385
|
+
readonly origin?: Vector3Input;
|
|
402
386
|
}
|
|
403
387
|
|
|
404
388
|
/** Box edges use +Z top, +Y front and +X right; vertical names list front/back first. */
|
|
@@ -436,7 +420,7 @@ export declare interface BoxOptions extends PrimitiveAttachment {
|
|
|
436
420
|
*/
|
|
437
421
|
readonly center?: boolean;
|
|
438
422
|
/** Positive uniform size or explicit `[X, Y, Z]` extents in millimetres. */
|
|
439
|
-
readonly size: number |
|
|
423
|
+
readonly size: number | Vector3Input;
|
|
440
424
|
/** Uniform treatment or independent disjoint nominal edge/group treatments. */
|
|
441
425
|
readonly treatment?: EdgeTreatment | BoxEdgeTreatments;
|
|
442
426
|
}
|
|
@@ -660,37 +644,6 @@ export declare const computeParallelTransportFrames: (
|
|
|
660
644
|
limits?: Partial<GeometrySamplingLimits>,
|
|
661
645
|
) => readonly PathFrame[];
|
|
662
646
|
|
|
663
|
-
/**
|
|
664
|
-
* Computes the uniform-density volume centroid of an oriented closed solid, including cavity shells.
|
|
665
|
-
*
|
|
666
|
-
* Coordinates are millimetres. Indexed closure and positive aggregate volume are required; callers
|
|
667
|
-
* may use validateSolidMesh first when geometric intersections and shell orientation are untrusted.
|
|
668
|
-
* Fresh mutable input is inspected on every call, and buffers are never changed.
|
|
669
|
-
*
|
|
670
|
-
* @param mesh - Consistently oriented closed mesh with positive enclosed volume.
|
|
671
|
-
* @returns A fresh immutable XYZ volume centroid.
|
|
672
|
-
*/
|
|
673
|
-
export declare function computeTriangleMeshCentroid(
|
|
674
|
-
mesh: TriangleMesh,
|
|
675
|
-
): Vector3Data;
|
|
676
|
-
|
|
677
|
-
/**
|
|
678
|
-
* Creates an order-independent regression signature for a manufacturing mesh.
|
|
679
|
-
*
|
|
680
|
-
* The input must be non-empty, closed, consistently wound, and have no unreferenced vertices.
|
|
681
|
-
* Vertex and triangle order do not affect the fingerprint; winding, quantized geometry, and
|
|
682
|
-
* connectivity metrics do. The fingerprint is a regression aid, not a cryptographic digest.
|
|
683
|
-
*
|
|
684
|
-
* @param mesh - Closed oriented mesh to measure without mutation.
|
|
685
|
-
* @param options - Absolute quantization and complexity limits.
|
|
686
|
-
* @returns Compact counts, bounds, volume, topology, tolerances, and canonical fingerprint.
|
|
687
|
-
* @throws {@link GeometryError} When validation, topology, tolerance, or complexity checks fail.
|
|
688
|
-
*/
|
|
689
|
-
export declare function computeTriangleMeshSignature(
|
|
690
|
-
mesh: TriangleMesh,
|
|
691
|
-
options?: TriangleMeshSignatureOptions,
|
|
692
|
-
): TriangleMeshSignature;
|
|
693
|
-
|
|
694
647
|
/**
|
|
695
648
|
* A sampled closed two-dimensional boundary whose first point is not repeated at the end.
|
|
696
649
|
*
|
|
@@ -875,7 +828,7 @@ export declare interface CylinderAnchorOptions {
|
|
|
875
828
|
/** Centers the cylinder along Z; defaults to true, matching cylinder(). */
|
|
876
829
|
readonly center?: boolean;
|
|
877
830
|
/** Construction origin; centered-axis midpoint or noncentered bottom axis. Defaults to zero. */
|
|
878
|
-
readonly origin?:
|
|
831
|
+
readonly origin?: Vector3Input;
|
|
879
832
|
}
|
|
880
833
|
|
|
881
834
|
/**
|
|
@@ -1112,13 +1065,13 @@ export declare type EllipseContourOptions = CircularPrimitiveOptions &
|
|
|
1112
1065
|
(
|
|
1113
1066
|
| {
|
|
1114
1067
|
/** Positive XY radii in millimetres; mutually exclusive with size. */
|
|
1115
|
-
readonly radius:
|
|
1068
|
+
readonly radius: Vector2Input;
|
|
1116
1069
|
/** Full XY extents are unavailable when radius is supplied. */
|
|
1117
1070
|
readonly size?: never;
|
|
1118
1071
|
}
|
|
1119
1072
|
| {
|
|
1120
1073
|
/** Positive full XY extents in millimetres; mutually exclusive with radius. */
|
|
1121
|
-
readonly size:
|
|
1074
|
+
readonly size: Vector2Input;
|
|
1122
1075
|
/** XY radii are unavailable when size is supplied. */
|
|
1123
1076
|
readonly radius?: never;
|
|
1124
1077
|
}
|
|
@@ -1150,28 +1103,17 @@ export declare function eulerTransform3(
|
|
|
1150
1103
|
): Transform3Data;
|
|
1151
1104
|
|
|
1152
1105
|
/**
|
|
1153
|
-
*
|
|
1154
|
-
* Path2 profiles must be closed; raw point collections have an implicit closing edge.
|
|
1155
|
-
*
|
|
1156
|
-
* @example Extrude point data without an engine
|
|
1157
|
-
* ```ts
|
|
1158
|
-
* const outline = rectangleContour({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
|
|
1159
|
-
* extrudeMesh(outline, { height: 8 });
|
|
1160
|
-
* ```
|
|
1161
|
-
*/
|
|
1162
|
-
export declare function extrudeMesh(
|
|
1163
|
-
input: Path2Input,
|
|
1164
|
-
options: ExtrudeOptions,
|
|
1165
|
-
): TriangleMesh;
|
|
1166
|
-
|
|
1167
|
-
/**
|
|
1168
|
-
* Dimensions and sampling shared by native and pure +Z extrusion.
|
|
1106
|
+
* Dimensions and sampling for pure +Z mesh extrusion, without end treatments.
|
|
1169
1107
|
*/
|
|
1170
|
-
export declare interface
|
|
1108
|
+
export declare interface ExtrudeMeshOptions extends ExtrusionSamplingOptions {
|
|
1171
1109
|
/** Positive extrusion height in millimetres. */
|
|
1172
1110
|
readonly height: number;
|
|
1173
1111
|
/** Center the extrusion on Z; otherwise its bottom is at zero. Defaults to false. */
|
|
1174
1112
|
readonly center?: boolean;
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1115
|
+
/** Native +Z extrusion with optional inward end treatments. */
|
|
1116
|
+
export declare interface ExtrudeOptions extends ExtrudeMeshOptions {
|
|
1175
1117
|
/** Independent inward end treatments on straight convex single-contour extrusions. */
|
|
1176
1118
|
readonly ends?: EndTreatments;
|
|
1177
1119
|
}
|
|
@@ -1391,28 +1333,6 @@ export declare function gridPatternTransforms(
|
|
|
1391
1333
|
options: GridPatternOptions,
|
|
1392
1334
|
): readonly Transform3Data[];
|
|
1393
1335
|
|
|
1394
|
-
/**
|
|
1395
|
-
* Builds a closed indexed mesh from a rectilinear top, matched boundary walls, and flat base.
|
|
1396
|
-
*
|
|
1397
|
-
* Heights run once per grid point after preflight; center-error adds one evaluation per cell.
|
|
1398
|
-
* Top winding is +Z, the base is -Z, and sides face outward. Coordinates and heights must fit
|
|
1399
|
-
* Float32 storage. Explicit axes are captured before sampling; shared wall vertices prevent cracks.
|
|
1400
|
-
*
|
|
1401
|
-
* @see {@link preflightHeightfield}
|
|
1402
|
-
*
|
|
1403
|
-
* @example Sample a closed wavy mesh
|
|
1404
|
-
* ```ts
|
|
1405
|
-
* heightfieldMesh({
|
|
1406
|
-
* size: [30, 20], segments: [24, 16],
|
|
1407
|
-
* height: ([x, y]) => 3 + Math.cos(x / 5) * Math.cos(y / 5),
|
|
1408
|
-
* });
|
|
1409
|
-
* ```
|
|
1410
|
-
*/
|
|
1411
|
-
export declare function heightfieldMesh(
|
|
1412
|
-
options: HeightfieldOptions,
|
|
1413
|
-
limits?: HeightfieldMeshLimits,
|
|
1414
|
-
): TriangleMesh;
|
|
1415
|
-
|
|
1416
1336
|
/** Trusted output ceilings for pure construction; omitted fields use engine defaults. */
|
|
1417
1337
|
export declare type HeightfieldMeshLimits = Partial<
|
|
1418
1338
|
Pick<ModelingLimits, "maxVertices" | "maxTriangles" | "maxBytes">
|
|
@@ -1442,11 +1362,11 @@ export declare type HeightfieldOptions = {
|
|
|
1442
1362
|
} & (
|
|
1443
1363
|
| {
|
|
1444
1364
|
/** Positive XY footprint for uniform sampling. */
|
|
1445
|
-
readonly size:
|
|
1365
|
+
readonly size: Vector2Input;
|
|
1446
1366
|
/** Exact positive integer X/Y interval counts. */
|
|
1447
1367
|
readonly segments: readonly [x: number, y: number];
|
|
1448
1368
|
/** Lower-left footprint XY. Omitted centers the footprint on XY. */
|
|
1449
|
-
readonly origin?:
|
|
1369
|
+
readonly origin?: Vector2Input;
|
|
1450
1370
|
/** Explicit coordinates cannot be combined with uniform sampling. */
|
|
1451
1371
|
readonly coordinates?: never;
|
|
1452
1372
|
}
|
|
@@ -1482,93 +1402,55 @@ export declare interface HeightfieldPreflight {
|
|
|
1482
1402
|
readonly byteCount: number;
|
|
1483
1403
|
}
|
|
1484
1404
|
|
|
1485
|
-
/**
|
|
1486
|
-
|
|
1487
|
-
* shaft's radial/axial frame. The mesh is intended for union with its
|
|
1488
|
-
* minor-envelope cylinder and never owns WASM objects.
|
|
1489
|
-
*/
|
|
1490
|
-
export declare function helicalThreadRidgeMesh(
|
|
1491
|
-
options: HelicalThreadRidgeMeshOptions,
|
|
1492
|
-
): TriangleMesh;
|
|
1405
|
+
/** Identity transform, safe to share because it is frozen. */
|
|
1406
|
+
export declare const IDENTITY_TRANSFORM3: Transform3Data;
|
|
1493
1407
|
|
|
1494
|
-
/**
|
|
1495
|
-
export declare interface
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
/** Helix direction. Default: `right`. */
|
|
1502
|
-
readonly handedness?: ThreadHandedness;
|
|
1503
|
-
/** Total threaded axial length in millimetres. */
|
|
1408
|
+
/** Owned immutable numeric data. Iterate without copying; use copy() for mutable storage. */
|
|
1409
|
+
export declare interface ImmutableBuffer<
|
|
1410
|
+
T extends NumericArray,
|
|
1411
|
+
> extends Iterable<number> {
|
|
1412
|
+
/** Opaque element-storage brand; construct buffers with immutableBuffer(). */
|
|
1413
|
+
readonly [immutableBufferBrand]: T;
|
|
1414
|
+
/** Number of numeric elements, independent of their byte width. */
|
|
1504
1415
|
readonly length: number;
|
|
1505
|
-
/**
|
|
1506
|
-
|
|
1507
|
-
/**
|
|
1508
|
-
|
|
1509
|
-
/**
|
|
1510
|
-
|
|
1511
|
-
/** Validated periodic profile repeated around the shaft. */
|
|
1512
|
-
readonly profile: ThreadProfile;
|
|
1513
|
-
/** Optional circular-resolution policy. */
|
|
1514
|
-
readonly resolution?: GeometryResolution;
|
|
1515
|
-
/** Number of evenly phased starts. Default: `1`. */
|
|
1516
|
-
readonly starts?: number;
|
|
1517
|
-
/** Optional numerical tolerance overrides. */
|
|
1518
|
-
readonly tolerance?: GeometryToleranceOptions;
|
|
1416
|
+
/** Reads an integer offset; negative offsets count from the end. Invalid offsets return undefined. */
|
|
1417
|
+
at(this: void, index: number): number | undefined;
|
|
1418
|
+
/** Returns a fresh mutable array of the original numeric type; never exposes cached storage. */
|
|
1419
|
+
copy(this: void): T;
|
|
1420
|
+
/** Returns an independent read-only iterator over the numeric elements without copying them. */
|
|
1421
|
+
[Symbol.iterator](this: void): IterableIterator<number>;
|
|
1519
1422
|
}
|
|
1520
1423
|
|
|
1521
1424
|
/**
|
|
1522
|
-
*
|
|
1523
|
-
*
|
|
1524
|
-
*
|
|
1525
|
-
*
|
|
1526
|
-
*
|
|
1527
|
-
*
|
|
1528
|
-
*
|
|
1425
|
+
* Copies numeric data once into private storage. This pure helper needs no active generation.
|
|
1426
|
+
* @example
|
|
1427
|
+
* ```ts
|
|
1428
|
+
* import { immutableBuffer } from "@metamesh/modeling";
|
|
1429
|
+
* const heights = immutableBuffer(new Float32Array([2, 4, 6]));
|
|
1430
|
+
* const count = heights.length;
|
|
1431
|
+
* const first = heights.at(0);
|
|
1432
|
+
* const doubled = Array.from(heights, (height) => height * 2);
|
|
1433
|
+
* const editable = heights.copy();
|
|
1434
|
+
* editable[0] = 8; // heights still contains 2, 4, 6.
|
|
1435
|
+
* ```
|
|
1529
1436
|
*/
|
|
1530
|
-
export declare function
|
|
1531
|
-
|
|
1532
|
-
):
|
|
1437
|
+
export declare function immutableBuffer<T extends NumericArray>(
|
|
1438
|
+
source: T,
|
|
1439
|
+
): ImmutableBuffer<T>;
|
|
1533
1440
|
|
|
1534
|
-
|
|
1535
|
-
export declare interface HelicalThreadSolidMeshOptions extends HelicalThreadRidgeMeshOptions {
|
|
1536
|
-
/** Apply a 45-degree radial bevel at the lower target face. */
|
|
1537
|
-
readonly bevelBottom?: boolean;
|
|
1538
|
-
/** Lower bevel size override. Takes precedence over `bevelSize`. */
|
|
1539
|
-
readonly bevelBottomSize?: number;
|
|
1540
|
-
/** Distance of each bevel target face inward from the corresponding mesh end. */
|
|
1541
|
-
readonly bevelOffset?: number;
|
|
1542
|
-
/** `inset` trims an external rod; `outset` expands an internal cutter. */
|
|
1543
|
-
readonly bevelMode?: "inset" | "outset";
|
|
1544
|
-
/** Axial and radial bevel size. Defaults to the profile depth. */
|
|
1545
|
-
readonly bevelSize?: number;
|
|
1546
|
-
/** Apply a 45-degree radial bevel at the upper target face. */
|
|
1547
|
-
readonly bevelTop?: boolean;
|
|
1548
|
-
/** Upper bevel size override. Takes precedence over `bevelSize`. */
|
|
1549
|
-
readonly bevelTopSize?: number;
|
|
1550
|
-
}
|
|
1441
|
+
declare const immutableBufferBrand: unique symbol;
|
|
1551
1442
|
|
|
1552
|
-
/**
|
|
1553
|
-
export declare interface
|
|
1554
|
-
/**
|
|
1555
|
-
readonly
|
|
1556
|
-
/**
|
|
1557
|
-
readonly
|
|
1558
|
-
/** Conservative surface-row count across profile breaks, ends, and bevel stations. */
|
|
1559
|
-
readonly estimatedRows: number;
|
|
1560
|
-
/** Conservative triangle count used by the selected output allocation policy. */
|
|
1561
|
-
readonly estimatedTriangles: number;
|
|
1443
|
+
/** Immutable local XYZ positions and triangle indices, suitable for a computed value or part. */
|
|
1444
|
+
export declare interface ImmutableTriangleMesh {
|
|
1445
|
+
/** Packed XYZ coordinates in millimetres. */
|
|
1446
|
+
readonly positions: ImmutableBuffer<Float32Array>;
|
|
1447
|
+
/** Zero-based vertex indices, three per triangle. */
|
|
1448
|
+
readonly indices: ImmutableBuffer<Uint32Array>;
|
|
1562
1449
|
}
|
|
1563
1450
|
|
|
1564
|
-
/** Identity transform, safe to share because it is frozen. */
|
|
1565
|
-
export declare const IDENTITY_TRANSFORM3: Transform3Data;
|
|
1566
|
-
|
|
1567
1451
|
/** Options for a compensated internal-thread subtraction tool along +Z. */
|
|
1568
1452
|
export declare interface InternalThreadCutterOptions
|
|
1569
|
-
extends
|
|
1570
|
-
Omit<HelicalThreadRidgeMeshOptions, "majorDiameter">,
|
|
1571
|
-
ThreadBevelOptions {
|
|
1453
|
+
extends Omit<ThreadRidgeOptions, "majorDiameter">, ThreadBevelOptions {
|
|
1572
1454
|
/** Printable fit or caller-calibrated allowances. Default: `normal`. */
|
|
1573
1455
|
readonly fit?: PrintableThreadFit | PrintableThreadFitPolicy;
|
|
1574
1456
|
/** Nominal major diameter before female compensation and faceting correction. */
|
|
@@ -1593,19 +1475,6 @@ export declare function inverseTransform3(
|
|
|
1593
1475
|
*/
|
|
1594
1476
|
export declare function isGeometryError(value: unknown): value is GeometryError;
|
|
1595
1477
|
|
|
1596
|
-
/**
|
|
1597
|
-
* Concatenates meshes into one indexed mesh without welding coincident vertices.
|
|
1598
|
-
*
|
|
1599
|
-
* Inputs are validated and never mutated. Face order and winding remain stable.
|
|
1600
|
-
*
|
|
1601
|
-
* @param meshes - One or more meshes to concatenate.
|
|
1602
|
-
* @returns Fresh typed arrays with indices offset to their source vertex ranges.
|
|
1603
|
-
* @throws {@link GeometryError} When no mesh is supplied or an input is invalid.
|
|
1604
|
-
*/
|
|
1605
|
-
export declare function joinTriangleMeshes(
|
|
1606
|
-
meshes: readonly TriangleMesh[],
|
|
1607
|
-
): TriangleMesh;
|
|
1608
|
-
|
|
1609
1478
|
/** Shared knuckle-joint dimensions in millimetres, independent of mounting geometry. */
|
|
1610
1479
|
export declare interface KnuckleHingeBaseSpec {
|
|
1611
1480
|
/** Total extent along the +X pin axis, centered at the origin. */
|
|
@@ -1804,28 +1673,6 @@ export declare interface LineCurve3 {
|
|
|
1804
1673
|
export declare type LoftCorrespondence =
|
|
1805
1674
|
"direct" | "reindex" | "fast-distance" | "distance";
|
|
1806
1675
|
|
|
1807
|
-
/**
|
|
1808
|
-
* Lofts simple point loops at z heights or explicit right-handed frames, in input order.
|
|
1809
|
-
*
|
|
1810
|
-
* An explicit correspondence method is required. CCW-normalized loops retain their
|
|
1811
|
-
* seam and original vertices; unequal counts gain subdivisions or repeated fan slots.
|
|
1812
|
-
* Both ends use ear-clipped caps, supporting concave profiles without center fans.
|
|
1813
|
-
* Intermediate slices interpolate placed world vertices, never frame axes.
|
|
1814
|
-
* Transformed coordinates must fit finite Float32 mesh storage.
|
|
1815
|
-
* Path2 profiles must be closed; raw point collections are interpreted as closed.
|
|
1816
|
-
*
|
|
1817
|
-
* @example Loft with explicit point correspondence
|
|
1818
|
-
* ```ts
|
|
1819
|
-
* const bottom = rectangleContour({ size: [20, 12] });
|
|
1820
|
-
* const top = rectangleContour({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
|
|
1821
|
-
* loftMesh([{ profile: bottom, z: 0 }, { profile: top, z: 30 }], { correspondence: "reindex" });
|
|
1822
|
-
* ```
|
|
1823
|
-
*/
|
|
1824
|
-
export declare function loftMesh(
|
|
1825
|
-
stations: readonly LoftMeshStation[],
|
|
1826
|
-
options: LoftOptions,
|
|
1827
|
-
): TriangleMesh;
|
|
1828
|
-
|
|
1829
1676
|
/** One point-data profile at a height or explicit right-handed spatial frame. */
|
|
1830
1677
|
export declare type LoftMeshStation = LoftPlacement & {
|
|
1831
1678
|
/** Closed Path2 or ordered finite XY boundary points with an implicit closing edge. */
|
|
@@ -1833,10 +1680,10 @@ export declare type LoftMeshStation = LoftPlacement & {
|
|
|
1833
1680
|
};
|
|
1834
1681
|
|
|
1835
1682
|
/**
|
|
1836
|
-
* Shared controls for native and pure lofts. Point data and arbitrary Sections
|
|
1683
|
+
* Shared controls for native and pure lofts. Point data and arbitrary Sections default to direct correspondence.
|
|
1837
1684
|
*/
|
|
1838
1685
|
export declare interface LoftOptions {
|
|
1839
|
-
/** One method or one per consecutive station gap. Omitted preserves known landmarks, including circle/ellipse-to-rectangle corners,
|
|
1686
|
+
/** One method or one per consecutive station gap. Omitted preserves known primitive landmarks, including circle/ellipse-to-rectangle corners, and otherwise uses direct correspondence with the supplied seams. */
|
|
1840
1687
|
readonly correspondence?: LoftCorrespondence | readonly LoftCorrespondence[];
|
|
1841
1688
|
/** Extra points follow edge length or distribute equally across existing segments. Defaults to perimeter for direct/reindex, or segments when any distance method is selected; distance methods require segments. */
|
|
1842
1689
|
readonly distribution?: "perimeter" | "segments";
|
|
@@ -1910,15 +1757,6 @@ export declare function measureInternalCylindricalGearPairMotion(
|
|
|
1910
1757
|
options?: CylindricalGearPairMotionOptions,
|
|
1911
1758
|
): CylindricalGearPairMotionReport;
|
|
1912
1759
|
|
|
1913
|
-
/**
|
|
1914
|
-
* Computes axis-aligned bounds for a non-empty mesh.
|
|
1915
|
-
*
|
|
1916
|
-
* @param mesh - Mesh whose finite complete vertices will be measured.
|
|
1917
|
-
* @returns Fresh immutable minimum and maximum XYZ tuples.
|
|
1918
|
-
* @throws {@link GeometryError} When the mesh is structurally invalid.
|
|
1919
|
-
*/
|
|
1920
|
-
export declare const meshBounds: (mesh: TriangleMesh) => Bounds3Data;
|
|
1921
|
-
|
|
1922
1760
|
/**
|
|
1923
1761
|
* Curated metric modeling dimensions for clearance holes, regular hex nuts,
|
|
1924
1762
|
* and socket-head cap screws.
|
|
@@ -2063,23 +1901,9 @@ export declare function normalizeRegion(
|
|
|
2063
1901
|
tolerance?: GeometryToleranceOptions,
|
|
2064
1902
|
): RegionData;
|
|
2065
1903
|
|
|
2066
|
-
/**
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
* The operation changes indices only: it never moves, adds, welds, or removes vertices; never
|
|
2070
|
-
* crosses a coplanar-patch boundary; and never changes the face count. Each accepted flip improves
|
|
2071
|
-
* a deterministic ordering of triangle angles, aspect ratio, diagonal locality, and local
|
|
2072
|
-
* incidence/valence concentration. Unsupported input or a failed final integrity check returns the
|
|
2073
|
-
* exact original mesh object. Malformed buffers and the configured analysis complexity limit throw.
|
|
2074
|
-
*
|
|
2075
|
-
* @param mesh - Closed, consistently wound indexed triangle mesh in arbitrary consistent units.
|
|
2076
|
-
* @param options - Patch eligibility, numeric tolerance, and deterministic work bounds.
|
|
2077
|
-
* @returns Optimized connectivity and before/after diagnostics, or an unchanged safe fallback.
|
|
2078
|
-
*/
|
|
2079
|
-
export declare function optimizePlanarPatches(
|
|
2080
|
-
mesh: TriangleMesh,
|
|
2081
|
-
options?: PlanarMeshOptimizationOptions,
|
|
2082
|
-
): PlanarMeshOptimizationResult;
|
|
1904
|
+
/** Numeric storage supported by immutable generation buffers. */
|
|
1905
|
+
export declare type NumericArray =
|
|
1906
|
+
Float32Array | Float64Array | Uint32Array | Uint8Array | Int32Array;
|
|
2083
1907
|
|
|
2084
1908
|
/** Immutable directed XY polyline. Closure is explicit and does not imply a filled Section. */
|
|
2085
1909
|
export declare interface Path2 {
|
|
@@ -2381,33 +2205,6 @@ export declare interface PolylineResamplingOptions extends CurveSamplingOptions
|
|
|
2381
2205
|
readonly closed?: boolean;
|
|
2382
2206
|
}
|
|
2383
2207
|
|
|
2384
|
-
/**
|
|
2385
|
-
* Checks grid options, Float32 axis precision, and output limits; returns exact mesh buffer counts.
|
|
2386
|
-
*
|
|
2387
|
-
* This pure operation needs no engine and neither evaluates `height` nor allocates mesh buffers.
|
|
2388
|
-
* Successful preflight leaves height values, Float32 base storage, and generated mesh validity to
|
|
2389
|
-
* construction. `byteCount` covers position and index buffers, not total working memory.
|
|
2390
|
-
*
|
|
2391
|
-
* @see {@link heightfieldMesh}
|
|
2392
|
-
*/
|
|
2393
|
-
export declare function preflightHeightfield(
|
|
2394
|
-
options: HeightfieldOptions,
|
|
2395
|
-
limits?: HeightfieldMeshLimits,
|
|
2396
|
-
): HeightfieldPreflight;
|
|
2397
|
-
|
|
2398
|
-
/**
|
|
2399
|
-
* Checks thread dimensions, profile, end treatments, sampling, and conservative estimates against output limits.
|
|
2400
|
-
*
|
|
2401
|
-
* This pure operation needs no engine and constructs planning data without vertex or index buffers.
|
|
2402
|
-
* `circularSegments` is the selected count; row and triangle counts are conservative estimates.
|
|
2403
|
-
* Successful preflight leaves generated coordinate and topology checks to mesh construction.
|
|
2404
|
-
*
|
|
2405
|
-
* @see {@link helicalThreadSolidMesh}
|
|
2406
|
-
*/
|
|
2407
|
-
export declare function preflightHelicalThreadSolidMesh(
|
|
2408
|
-
options: HelicalThreadSolidMeshOptions,
|
|
2409
|
-
): HelicalThreadSolidMeshPreflight;
|
|
2410
|
-
|
|
2411
2208
|
/**
|
|
2412
2209
|
* Resolves compensated cutter dimensions and checks extended mesh estimates against output limits.
|
|
2413
2210
|
*
|
|
@@ -2416,12 +2213,12 @@ export declare function preflightHelicalThreadSolidMesh(
|
|
|
2416
2213
|
* creates planning data without mesh buffers or native objects. Row and triangle counts are
|
|
2417
2214
|
* estimates; mesh validity and native construction are checked later.
|
|
2418
2215
|
*
|
|
2419
|
-
*
|
|
2420
|
-
*
|
|
2216
|
+
* See `mesh.preflightThreadSolid` for standalone mesh estimates.
|
|
2217
|
+
* See `mesh.threadSolid` for standalone mesh construction.
|
|
2421
2218
|
*/
|
|
2422
2219
|
export declare function preflightInternalThreadCutter(
|
|
2423
2220
|
options: InternalThreadCutterOptions,
|
|
2424
|
-
):
|
|
2221
|
+
): ThreadSolidPreflight;
|
|
2425
2222
|
|
|
2426
2223
|
/**
|
|
2427
2224
|
* Parses and validates bounded SVG input, constructing its normalized sampled region and diagnostics.
|
|
@@ -2452,7 +2249,7 @@ export declare function preflightSvgRegion(
|
|
|
2452
2249
|
* `thread` contains conservative cutter estimates, excluding the body and Boolean result.
|
|
2453
2250
|
* Successful preflight leaves mesh validity, native construction, and manufacturing fit to later checks.
|
|
2454
2251
|
*
|
|
2455
|
-
*
|
|
2252
|
+
* See `mesh.preflightThreadSolid` for standalone mesh estimates.
|
|
2456
2253
|
*/
|
|
2457
2254
|
export declare function preflightThreadedNut(
|
|
2458
2255
|
options: ThreadedNutOptions,
|
|
@@ -2465,12 +2262,12 @@ export declare function preflightThreadedNut(
|
|
|
2465
2262
|
* host execution. It creates planning data without mesh buffers or native objects; returned row
|
|
2466
2263
|
* and triangle counts are estimates. Mesh validity and native construction are checked later.
|
|
2467
2264
|
*
|
|
2468
|
-
*
|
|
2469
|
-
*
|
|
2265
|
+
* See `mesh.preflightThreadSolid` for standalone mesh estimates.
|
|
2266
|
+
* See `mesh.threadSolid` for standalone mesh construction.
|
|
2470
2267
|
*/
|
|
2471
2268
|
export declare function preflightThreadedRod(
|
|
2472
2269
|
options: ThreadedRodOptions,
|
|
2473
|
-
):
|
|
2270
|
+
): ThreadSolidPreflight;
|
|
2474
2271
|
|
|
2475
2272
|
/** Anchor attachment shared by solid and filled-section factories. */
|
|
2476
2273
|
export declare interface PrimitiveAttachment {
|
|
@@ -2696,7 +2493,11 @@ export declare interface RadialSizingOptions {
|
|
|
2696
2493
|
}
|
|
2697
2494
|
|
|
2698
2495
|
/**
|
|
2699
|
-
* Creates an immutable sampled CCW rectangle boundary.
|
|
2496
|
+
* Creates an immutable sampled CCW rectangle boundary.
|
|
2497
|
+
*
|
|
2498
|
+
* @remarks
|
|
2499
|
+
* A zero round radius leaves square corners. When rounded corners meet, their shared endpoints
|
|
2500
|
+
* appear once.
|
|
2700
2501
|
*
|
|
2701
2502
|
* Use [rectangle](/docs/reference/model/rectangle) for a filled Section.
|
|
2702
2503
|
*
|
|
@@ -2716,7 +2517,7 @@ export declare function rectangleContour(
|
|
|
2716
2517
|
*/
|
|
2717
2518
|
export declare interface RectangleContourOptions {
|
|
2718
2519
|
/** Positive uniform size or explicit XY extents in millimetres. */
|
|
2719
|
-
readonly size: number |
|
|
2520
|
+
readonly size: number | Vector2Input;
|
|
2720
2521
|
/** Center on XY; otherwise the minimum corner is the origin. Defaults to true. */
|
|
2721
2522
|
readonly center?: boolean;
|
|
2722
2523
|
/** Uniform treatment or four corner treatments. Exact round segments describe a complete circle and must divide by four. */
|
|
@@ -2788,7 +2589,7 @@ export declare function regionBounds(region: RegionData): Bounds2Data;
|
|
|
2788
2589
|
export declare type RegionData = readonly PolygonData[];
|
|
2789
2590
|
|
|
2790
2591
|
/**
|
|
2791
|
-
* Creates
|
|
2592
|
+
* Creates an immutable centered CCW point loop with vertex or face radial sizing and an implicit seam.
|
|
2792
2593
|
*
|
|
2793
2594
|
* @example Hexagon sized to its faces
|
|
2794
2595
|
* ```ts
|
|
@@ -3050,40 +2851,6 @@ export declare function resolveThreadCircularSegments(
|
|
|
3050
2851
|
options: ThreadCircularSegmentsOptions,
|
|
3051
2852
|
): number;
|
|
3052
2853
|
|
|
3053
|
-
/**
|
|
3054
|
-
* Returns a copy of a mesh with every triangle winding reversed.
|
|
3055
|
-
*
|
|
3056
|
-
* @param mesh - Mesh to copy and reverse.
|
|
3057
|
-
* @returns Fresh position and index buffers; the input remains unchanged.
|
|
3058
|
-
*/
|
|
3059
|
-
export declare function reverseTriangleMesh(mesh: TriangleMesh): TriangleMesh;
|
|
3060
|
-
|
|
3061
|
-
/**
|
|
3062
|
-
* Revolves a non-duplicated closed `[radius, z]` profile around +Z.
|
|
3063
|
-
*
|
|
3064
|
-
* The profile is ordered counter-clockwise when radius points right and Z
|
|
3065
|
-
* points up. Angular and profile seams wrap by index. A profile point on the
|
|
3066
|
-
* axis is emitted once and joined as a triangle fan, avoiding coincident seam
|
|
3067
|
-
* vertices and zero-area quads. Profile edges that lie entirely on the axis
|
|
3068
|
-
* collapse to the solid's interior and are intentionally omitted.
|
|
3069
|
-
* Profile coordinates must fit finite Float32 mesh storage.
|
|
3070
|
-
* Path2 profiles must be closed; raw point collections have an implicit closing edge.
|
|
3071
|
-
*
|
|
3072
|
-
* @param profile - Closed CCW `[radius, z]` profile without a duplicated seam point.
|
|
3073
|
-
* @param options - Optional physical or exact circumferential sampling controls. Defaults to `{}`.
|
|
3074
|
-
* @returns A closed indexed triangle mesh revolved counter-clockwise around +Z.
|
|
3075
|
-
*
|
|
3076
|
-
* @example Partial revolution with end caps
|
|
3077
|
-
* ```ts
|
|
3078
|
-
* // Each point is [radius, Z]; the profile seam is implicit.
|
|
3079
|
-
* revolveMesh([[0, 0], [12, 0], [8, 20], [0, 20]], { degrees: 270 });
|
|
3080
|
-
* ```
|
|
3081
|
-
*/
|
|
3082
|
-
export declare const revolveMesh: (
|
|
3083
|
-
input: Path2Input,
|
|
3084
|
-
options?: RevolveOptions,
|
|
3085
|
-
) => TriangleMesh;
|
|
3086
|
-
|
|
3087
2854
|
/**
|
|
3088
2855
|
* Circumferential sampling and degree sweep shared by pure and filled revolution.
|
|
3089
2856
|
*/
|
|
@@ -3093,7 +2860,7 @@ export declare interface RevolveOptions extends CircularPrimitiveOptions {
|
|
|
3093
2860
|
* smaller sweeps form partial revolutions with end caps.
|
|
3094
2861
|
* Segment counts describe a complete circle and scale to this angular span. Native filled
|
|
3095
2862
|
* revolutions require at least three sweep intervals: adaptive sampling refines to that floor,
|
|
3096
|
-
* while exact counts that imply fewer intervals reject. Pure
|
|
2863
|
+
* while exact counts that imply fewer intervals reject. Pure mesh.revolve supports one interval.
|
|
3097
2864
|
* @defaultValue `360`
|
|
3098
2865
|
*/
|
|
3099
2866
|
readonly degrees?: number;
|
|
@@ -3516,20 +3283,31 @@ export declare interface SquareThreadProfileSpec extends ThreadProfileBaseSpec {
|
|
|
3516
3283
|
}
|
|
3517
3284
|
|
|
3518
3285
|
/**
|
|
3519
|
-
* Creates
|
|
3286
|
+
* Creates an immutable centered CCW alternating-radius star within the selected profile sampling ceiling.
|
|
3520
3287
|
*
|
|
3521
3288
|
* @example Five-point outline
|
|
3522
3289
|
* ```ts
|
|
3523
|
-
* starContour(12,
|
|
3290
|
+
* starContour({ outerRadius: 12, innerRadius: 6, points: 5 });
|
|
3524
3291
|
* ```
|
|
3525
3292
|
*/
|
|
3526
3293
|
export declare const starContour: (
|
|
3527
|
-
|
|
3528
|
-
points: number,
|
|
3529
|
-
innerRadius?: number,
|
|
3530
|
-
limits?: Partial<GeometrySamplingLimits>,
|
|
3294
|
+
options: StarContourOptions,
|
|
3531
3295
|
) => readonly Vector2Data[];
|
|
3532
3296
|
|
|
3297
|
+
/** Alternating vertex radii and exact point count for a centered XY star. */
|
|
3298
|
+
export declare interface StarContourOptions {
|
|
3299
|
+
/** Positive outer vertex radius in millimetres. */
|
|
3300
|
+
readonly outerRadius: number;
|
|
3301
|
+
/** Positive inner vertex radius in millimetres, smaller than the outer radius. */
|
|
3302
|
+
readonly innerRadius: number;
|
|
3303
|
+
/** Integer outer point count, at least three; output contains twice as many vertices. */
|
|
3304
|
+
readonly points: number;
|
|
3305
|
+
/** Counterclockwise rotation in degrees; defaults to zero with an outer vertex on +X. */
|
|
3306
|
+
readonly rotation?: number;
|
|
3307
|
+
/** Explicit sampling ceilings, bounded by the host policy during modeling. */
|
|
3308
|
+
readonly limits?: Partial<GeometrySamplingLimits>;
|
|
3309
|
+
}
|
|
3310
|
+
|
|
3533
3311
|
/** End-cap treatment for an open stroked path. */
|
|
3534
3312
|
export declare type StrokeCap = "butt" | "round" | "square";
|
|
3535
3313
|
|
|
@@ -3664,23 +3442,6 @@ export declare interface SvgRegionPreflightSourceMetrics {
|
|
|
3664
3442
|
readonly parsedVertexCount: number;
|
|
3665
3443
|
}
|
|
3666
3444
|
|
|
3667
|
-
/**
|
|
3668
|
-
* Sweeps one explicitly ordered point loop, with caps or a geometrically matching closed seam.
|
|
3669
|
-
*
|
|
3670
|
-
* @example Sweep point data along a bent path
|
|
3671
|
-
* ```ts
|
|
3672
|
-
* const profile = rectangleContour({ size: [6, 3] });
|
|
3673
|
-
* sweepMesh(profile, [[0, 0, 0], [0, 0, 15], [10, 0, 25]], {
|
|
3674
|
-
* orientation: { kind: "transport", initialNormal: [0, 1, 0] },
|
|
3675
|
-
* });
|
|
3676
|
-
* ```
|
|
3677
|
-
*/
|
|
3678
|
-
export declare function sweepMesh(
|
|
3679
|
-
profile: Path2Input,
|
|
3680
|
-
path: Path3Input,
|
|
3681
|
-
options?: SweepOptions,
|
|
3682
|
-
): TriangleMesh;
|
|
3683
|
-
|
|
3684
3445
|
/**
|
|
3685
3446
|
* Controls shared by pure mesh construction and filled modeling sweeps.
|
|
3686
3447
|
*/
|
|
@@ -3730,17 +3491,11 @@ export declare type SweepOrientation =
|
|
|
3730
3491
|
readonly kind: "frenet";
|
|
3731
3492
|
};
|
|
3732
3493
|
|
|
3733
|
-
/**
|
|
3494
|
+
/** 45-degree end bevels for compensated rods and cutters. */
|
|
3734
3495
|
export declare interface ThreadBevelOptions {
|
|
3735
|
-
/**
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
* Axial bevel extent in millimetres. Active blunt ends default to one sixth of the compensated
|
|
3739
|
-
* male minor radius or female major radius; other ends default to the profile depth.
|
|
3740
|
-
*/
|
|
3741
|
-
readonly bevelSize?: number;
|
|
3742
|
-
/** Apply a 45-degree bevel at Z=length. */
|
|
3743
|
-
readonly bevelTop?: boolean;
|
|
3496
|
+
/** Bottom/top sizes in millimetres. Omitted disables both. Auto uses profile depth for standard/tapered ends,
|
|
3497
|
+
* or one sixth of the compensated male minor/female major radius for blunt ends. */
|
|
3498
|
+
readonly bevel?: Bevel;
|
|
3744
3499
|
}
|
|
3745
3500
|
|
|
3746
3501
|
/** Inputs for resolving one shared circular facet count for a mating thread pair. */
|
|
@@ -3779,25 +3534,20 @@ export declare interface ThreadCompensationOptions {
|
|
|
3779
3534
|
readonly tolerance?: GeometryToleranceOptions;
|
|
3780
3535
|
}
|
|
3781
3536
|
|
|
3782
|
-
/** Nut-edge bevel selection. */
|
|
3783
|
-
export declare type ThreadedNutBevel =
|
|
3784
|
-
"automatic" | "both" | "inside" | "none" | "outside";
|
|
3785
|
-
|
|
3786
3537
|
/**
|
|
3787
3538
|
* Options for a compensated nut with an internal thread.
|
|
3788
3539
|
*/
|
|
3789
3540
|
export declare interface ThreadedNutOptions extends Omit<
|
|
3790
3541
|
InternalThreadCutterOptions,
|
|
3791
|
-
"
|
|
3542
|
+
"bevel" | "length"
|
|
3792
3543
|
> {
|
|
3793
|
-
/**
|
|
3794
|
-
readonly
|
|
3544
|
+
/** Opening bevels in [bottom, top] order. Omitted or auto uses min(profile.depth, thickness/4); zero disables. */
|
|
3545
|
+
readonly innerBevel?: Bevel;
|
|
3546
|
+
/** Body bevels in [bottom, top] order. Omitted or auto uses min(profile.depth, thickness/4).
|
|
3547
|
+
* Use [0, "auto"] to keep the outside bottom flat without disabling its inner opening bevel. */
|
|
3548
|
+
readonly outerBevel?: Bevel;
|
|
3795
3549
|
/** Optional physical policy for a round body, independent of the thread's matched facet grid. */
|
|
3796
3550
|
readonly bodyResolution?: GeometryResolution;
|
|
3797
|
-
/** 45-degree body chamfer extent. Default: `min(profile.depth, thickness/4)`. */
|
|
3798
|
-
readonly chamferSize?: number;
|
|
3799
|
-
/** Leave the bottom outside edge flat for build-plate adhesion. Default: `false`. */
|
|
3800
|
-
readonly flushBuildPlateBottom?: boolean;
|
|
3801
3551
|
/** Nut body shape. */
|
|
3802
3552
|
readonly shape: ThreadedNutShape;
|
|
3803
3553
|
/** Nut thickness along +Z in millimetres. */
|
|
@@ -3810,8 +3560,10 @@ export declare interface ThreadedNutOptions extends Omit<
|
|
|
3810
3560
|
export declare interface ThreadedNutPreflight {
|
|
3811
3561
|
/** Polygon segment count used by the nut body. */
|
|
3812
3562
|
readonly bodySegments: number;
|
|
3813
|
-
/**
|
|
3814
|
-
readonly
|
|
3563
|
+
/** Resolved opening bevel sizes in millimetres, [bottom, top]. */
|
|
3564
|
+
readonly innerBevel: readonly [bottom: number, top: number];
|
|
3565
|
+
/** Resolved body bevel sizes in millimetres, [bottom, top]. */
|
|
3566
|
+
readonly outerBevel: readonly [bottom: number, top: number];
|
|
3815
3567
|
/** Maximum compensated cutter radius at either requested face. */
|
|
3816
3568
|
readonly cutterFaceRadius: number;
|
|
3817
3569
|
/** Minimum nut-body inradius across the requested top and bottom faces. */
|
|
@@ -3819,7 +3571,7 @@ export declare interface ThreadedNutPreflight {
|
|
|
3819
3571
|
/** Smallest radial wall left between the body and cutter at either requested face. */
|
|
3820
3572
|
readonly minimumFaceWall: number;
|
|
3821
3573
|
/** Conservative allocation estimates for the extended cutter; excludes the body and Boolean result. */
|
|
3822
|
-
readonly thread:
|
|
3574
|
+
readonly thread: ThreadSolidPreflight;
|
|
3823
3575
|
/** Start-aligned circular facet count used by the compensated thread cutter. */
|
|
3824
3576
|
readonly threadCircularSegments: number;
|
|
3825
3577
|
}
|
|
@@ -3833,9 +3585,7 @@ export declare type ThreadedNutShape = "hex" | "round" | "square";
|
|
|
3833
3585
|
* Options for a compensated external threaded rod along +Z.
|
|
3834
3586
|
*/
|
|
3835
3587
|
export declare interface ThreadedRodOptions
|
|
3836
|
-
extends
|
|
3837
|
-
Omit<HelicalThreadRidgeMeshOptions, "majorDiameter">,
|
|
3838
|
-
ThreadBevelOptions {
|
|
3588
|
+
extends Omit<ThreadRidgeOptions, "majorDiameter">, ThreadBevelOptions {
|
|
3839
3589
|
/** Printable fit or caller-calibrated allowances. Default: `normal`. */
|
|
3840
3590
|
readonly fit?: PrintableThreadFit | PrintableThreadFitPolicy;
|
|
3841
3591
|
/** Nominal major diameter before male compensation. */
|
|
@@ -3966,9 +3716,58 @@ export declare type ThreadProfileSpec =
|
|
|
3966
3716
|
| TrapezoidalThreadProfileSpec
|
|
3967
3717
|
| TriangularThreadProfileSpec;
|
|
3968
3718
|
|
|
3719
|
+
/** Runtime-neutral options for the dedicated helical ridge mesher. */
|
|
3720
|
+
export declare interface ThreadRidgeOptions {
|
|
3721
|
+
/**
|
|
3722
|
+
* Optional bottom/top ridge-end treatments. Standalone ridges honor the requested boundaries;
|
|
3723
|
+
* BOSL2-style non-cut lead-in scaling is available on complete thread solids.
|
|
3724
|
+
*/
|
|
3725
|
+
readonly ends?: ThreadEndTreatmentOptions;
|
|
3726
|
+
/** Helix direction. Default: `right`. */
|
|
3727
|
+
readonly handedness?: ThreadHandedness;
|
|
3728
|
+
/** Total threaded axial length in millimetres. */
|
|
3729
|
+
readonly length: number;
|
|
3730
|
+
/** Explicit output and circular allocation ceilings. */
|
|
3731
|
+
readonly limits?: Partial<ModelingLimits>;
|
|
3732
|
+
/** Nominal major diameter before any caller-owned fit compensation. */
|
|
3733
|
+
readonly majorDiameter: number;
|
|
3734
|
+
/** Angular offset of the first start in degrees. Default: `0`. */
|
|
3735
|
+
readonly phase?: number;
|
|
3736
|
+
/** Validated periodic profile repeated around the shaft. */
|
|
3737
|
+
readonly profile: ThreadProfile;
|
|
3738
|
+
/** Optional circular-resolution policy. */
|
|
3739
|
+
readonly resolution?: GeometryResolution;
|
|
3740
|
+
/** Number of evenly phased starts. Default: `1`. */
|
|
3741
|
+
readonly starts?: number;
|
|
3742
|
+
/** Optional numerical tolerance overrides. */
|
|
3743
|
+
readonly tolerance?: GeometryToleranceOptions;
|
|
3744
|
+
}
|
|
3745
|
+
|
|
3969
3746
|
/** Whether compensation is being applied to an external or internal thread. */
|
|
3970
3747
|
export declare type ThreadRole = "male" | "female";
|
|
3971
3748
|
|
|
3749
|
+
/** Options for a complete threaded-cylinder mesh; base semantics match the ridge builder. */
|
|
3750
|
+
export declare interface ThreadSolidOptions extends ThreadRidgeOptions {
|
|
3751
|
+
/** Independent 45-degree bottom/top bevels; omitted disables both. Auto uses profile depth. */
|
|
3752
|
+
readonly bevel?: Bevel;
|
|
3753
|
+
/** Distance of each bevel target face inward from the corresponding mesh end. */
|
|
3754
|
+
readonly bevelOffset?: number;
|
|
3755
|
+
/** `inset` trims an external rod; `outset` expands an internal cutter. */
|
|
3756
|
+
readonly bevelMode?: "inset" | "outset";
|
|
3757
|
+
}
|
|
3758
|
+
|
|
3759
|
+
/** Selected sampling counts and conservative allocation estimates, before thread mesh construction. */
|
|
3760
|
+
export declare interface ThreadSolidPreflight {
|
|
3761
|
+
/** Uniform axial intervals required only by a requested physical segment-length limit. */
|
|
3762
|
+
readonly axialIntervals: number;
|
|
3763
|
+
/** Start-aligned full-circle segment count used by the surface mesh. */
|
|
3764
|
+
readonly circularSegments: number;
|
|
3765
|
+
/** Conservative surface-row count across profile breaks, ends, and bevel stations. */
|
|
3766
|
+
readonly estimatedRows: number;
|
|
3767
|
+
/** Conservative triangle count used by the selected output allocation policy. */
|
|
3768
|
+
readonly estimatedTriangles: number;
|
|
3769
|
+
}
|
|
3770
|
+
|
|
3972
3771
|
/**
|
|
3973
3772
|
* Dimensions and independent ring/profile tessellation for a torus around the Z axis.
|
|
3974
3773
|
*/
|
|
@@ -4146,21 +3945,6 @@ export declare function transformRegionData(
|
|
|
4146
3945
|
tolerance?: GeometryToleranceOptions,
|
|
4147
3946
|
): RegionData;
|
|
4148
3947
|
|
|
4149
|
-
/**
|
|
4150
|
-
* Applies an affine transform to a mesh and preserves outward face orientation.
|
|
4151
|
-
*
|
|
4152
|
-
* A transform with a negative linear determinant reflects space, so this helper
|
|
4153
|
-
* automatically reverses every triangle. Singular transforms are rejected.
|
|
4154
|
-
*
|
|
4155
|
-
* @param mesh - Mesh to transform without mutation.
|
|
4156
|
-
* @param placement - Immutable spatial placement or canonical row-major affine matrix.
|
|
4157
|
-
* @returns A mesh with fresh transformed positions and copied or reversed indices.
|
|
4158
|
-
*/
|
|
4159
|
-
export declare function transformTriangleMesh(
|
|
4160
|
-
mesh: TriangleMesh,
|
|
4161
|
-
placement: Transform3Input,
|
|
4162
|
-
): TriangleMesh;
|
|
4163
|
-
|
|
4164
3948
|
/**
|
|
4165
3949
|
* Creates an immutable translation transform.
|
|
4166
3950
|
*
|
|
@@ -4188,13 +3972,11 @@ export declare interface TrapezoidalThreadProfileSpec extends ThreadProfileBaseS
|
|
|
4188
3972
|
readonly includedAngle?: number;
|
|
4189
3973
|
}
|
|
4190
3974
|
|
|
4191
|
-
/**
|
|
4192
|
-
* A topology-preserving indexed triangle mesh with XYZ vertex positions.
|
|
4193
|
-
*/
|
|
3975
|
+
/** A topology-preserving indexed triangle mesh with mutable owned XYZ buffers. */
|
|
4194
3976
|
export declare interface TriangleMesh {
|
|
4195
3977
|
/** Three unsigned vertex indices per triangle. */
|
|
4196
3978
|
readonly indices: Uint32Array;
|
|
4197
|
-
/** Flat XYZ coordinates
|
|
3979
|
+
/** Flat XYZ coordinates in millimetres. */
|
|
4198
3980
|
readonly positions: Float32Array;
|
|
4199
3981
|
}
|
|
4200
3982
|
|
|
@@ -4202,8 +3984,9 @@ export declare interface TriangleMesh {
|
|
|
4202
3984
|
* Measurements and optional edge-connected topology from one validated mesh traversal.
|
|
4203
3985
|
*/
|
|
4204
3986
|
export declare interface TriangleMeshAnalysis extends TriangleMeshMeasurements {
|
|
4205
|
-
/** Number of
|
|
4206
|
-
|
|
3987
|
+
/** Number of surface shells connected by shared indexed edges when includeTopology is requested.
|
|
3988
|
+
* Cavities count separately; shells may be open unless requireClosed is enabled. Coordinates are not welded. */
|
|
3989
|
+
readonly shellCount?: number;
|
|
4207
3990
|
/** Number of distinct indexed undirected edges when `includeTopology` is requested. */
|
|
4208
3991
|
readonly edgeCount?: number;
|
|
4209
3992
|
}
|
|
@@ -4212,10 +3995,13 @@ export declare interface TriangleMeshAnalysis extends TriangleMeshMeasurements {
|
|
|
4212
3995
|
* Validation and optional connectivity controls for a shared mesh analysis.
|
|
4213
3996
|
*/
|
|
4214
3997
|
export declare interface TriangleMeshAnalysisOptions extends TriangleMeshValidationOptions {
|
|
4215
|
-
/** Compute indexed edge/
|
|
3998
|
+
/** Compute indexed edge/shell counts and reject unreferenced vertices; defaults to false. */
|
|
4216
3999
|
readonly includeTopology?: boolean;
|
|
4217
4000
|
}
|
|
4218
4001
|
|
|
4002
|
+
/** Raw construction buffers or immutable captured geometry accepted by mesh utilities. */
|
|
4003
|
+
export declare type TriangleMeshInput = TriangleMesh | ImmutableTriangleMesh;
|
|
4004
|
+
|
|
4219
4005
|
/**
|
|
4220
4006
|
* Geometric measurements derived from a validated, non-empty triangle mesh.
|
|
4221
4007
|
*/
|
|
@@ -4279,7 +4065,7 @@ export declare interface TriangleMeshSignature {
|
|
|
4279
4065
|
/** Axis-aligned bounds quantized by `tolerances.position`. */
|
|
4280
4066
|
readonly bounds: Bounds3Data;
|
|
4281
4067
|
/** Number of edge-connected closed boundary shells; cavities count separately. */
|
|
4282
|
-
readonly
|
|
4068
|
+
readonly shellCount: number;
|
|
4283
4069
|
/** Total orientable genus across all connected components. */
|
|
4284
4070
|
readonly genus: number;
|
|
4285
4071
|
/** Order-independent hash of quantized vertices and oriented triangles. */
|
|
@@ -4312,6 +4098,14 @@ export declare interface TriangleMeshSignatureTolerances {
|
|
|
4312
4098
|
readonly signedVolume: number;
|
|
4313
4099
|
}
|
|
4314
4100
|
|
|
4101
|
+
/** Mesh measurements with the indexed surface-shell and edge counts requested by includeTopology. */
|
|
4102
|
+
export declare interface TriangleMeshTopologyAnalysis extends TriangleMeshAnalysis {
|
|
4103
|
+
/** Number of surface shells connected by shared indexed edges; cavities count separately. */
|
|
4104
|
+
readonly shellCount: number;
|
|
4105
|
+
/** Number of distinct indexed undirected edges. */
|
|
4106
|
+
readonly edgeCount: number;
|
|
4107
|
+
}
|
|
4108
|
+
|
|
4315
4109
|
/** Options controlling structural and manufacturing validation of a mesh. */
|
|
4316
4110
|
export declare interface TriangleMeshValidationOptions {
|
|
4317
4111
|
/** Permit an empty position and index buffer. Defaults to `false`. */
|
|
@@ -4346,40 +4140,52 @@ export declare function triangulateContour(loop: Contour): Uint32Array;
|
|
|
4346
4140
|
/**
|
|
4347
4141
|
* Dimensions, placement, and tessellation for a hollow Z-axis tube.
|
|
4348
4142
|
*/
|
|
4349
|
-
export declare
|
|
4350
|
-
|
|
4351
|
-
|
|
4352
|
-
|
|
4353
|
-
|
|
4354
|
-
|
|
4355
|
-
|
|
4356
|
-
|
|
4357
|
-
|
|
4358
|
-
|
|
4359
|
-
|
|
4360
|
-
|
|
4361
|
-
|
|
4362
|
-
}
|
|
4143
|
+
export declare type TubeOptions = CircularPrimitiveOptions &
|
|
4144
|
+
PrimitiveAttachment & {
|
|
4145
|
+
/**
|
|
4146
|
+
* Centers the tube on the Z origin when `true`; otherwise its bottom is at `Z = 0`.
|
|
4147
|
+
* @defaultValue `true`
|
|
4148
|
+
*/
|
|
4149
|
+
readonly center?: boolean;
|
|
4150
|
+
/** Total height along Z in millimetres. */
|
|
4151
|
+
readonly height: number;
|
|
4152
|
+
/** Inner nominal dimension meets polygon vertices or faces; defaults to vertex. */
|
|
4153
|
+
readonly innerSizing?: RadialSizing;
|
|
4154
|
+
/** Outer nominal dimension meets polygon vertices or faces; defaults to vertex. */
|
|
4155
|
+
readonly outerSizing?: RadialSizing;
|
|
4156
|
+
} & (
|
|
4157
|
+
| {
|
|
4158
|
+
/** Positive nominal inner radius in millimetres. */
|
|
4159
|
+
readonly innerRadius: number;
|
|
4160
|
+
/** Nominal outer radius in millimetres, greater than innerRadius. */
|
|
4161
|
+
readonly outerRadius: number;
|
|
4162
|
+
/** Diameter dimensions cannot be combined with radius dimensions. */
|
|
4163
|
+
readonly innerDiameter?: never;
|
|
4164
|
+
/** Diameter dimensions cannot be combined with radius dimensions. */
|
|
4165
|
+
readonly outerDiameter?: never;
|
|
4166
|
+
}
|
|
4167
|
+
| {
|
|
4168
|
+
/** Positive nominal inner diameter in millimetres. */
|
|
4169
|
+
readonly innerDiameter: number;
|
|
4170
|
+
/** Nominal outer diameter in millimetres, greater than innerDiameter. */
|
|
4171
|
+
readonly outerDiameter: number;
|
|
4172
|
+
/** Radius dimensions cannot be combined with diameter dimensions. */
|
|
4173
|
+
readonly innerRadius?: never;
|
|
4174
|
+
/** Radius dimensions cannot be combined with diameter dimensions. */
|
|
4175
|
+
readonly outerRadius?: never;
|
|
4176
|
+
}
|
|
4177
|
+
);
|
|
4363
4178
|
|
|
4364
4179
|
/**
|
|
4365
|
-
*
|
|
4366
|
-
*
|
|
4367
|
-
*
|
|
4368
|
-
* intersect, or overlap as material. Indexed neighbours may share their own vertex or edge.
|
|
4369
|
-
*
|
|
4370
|
-
* Uses bounded floating-point tests, not exact predicates or repair. Contacts within the selected
|
|
4371
|
-
* tolerance reject conservatively. At most 200,000 triangles and 2,000,000 spatial/containment tests
|
|
4372
|
-
* are supported; exhausting a ceiling throws COMPLEXITY_LIMIT rather than claiming validity.
|
|
4373
|
-
* Input buffers are freshly inspected and never modified; units are millimetres.
|
|
4180
|
+
* Validates a proper rigid transform: finite translation and a right-handed orthonormal rotation.
|
|
4181
|
+
* Scale, shear, reflection, and perspective are rejected within the default angular tolerance.
|
|
4182
|
+
* Returns the original row-major 4x4 matrix without copying or normalizing it.
|
|
4374
4183
|
*
|
|
4375
|
-
* @
|
|
4376
|
-
* @param options - Optional lower work ceiling and numeric comparison policy.
|
|
4377
|
-
* @returns The original mesh after every requested check succeeds.
|
|
4184
|
+
* @throws {@link GeometryError} For a malformed, non-finite, or non-rigid matrix.
|
|
4378
4185
|
*/
|
|
4379
|
-
export declare function
|
|
4380
|
-
|
|
4381
|
-
|
|
4382
|
-
): TriangleMesh;
|
|
4186
|
+
export declare function validateRigidTransform3(
|
|
4187
|
+
transform: Transform3Data,
|
|
4188
|
+
): Transform3Data;
|
|
4383
4189
|
|
|
4384
4190
|
/**
|
|
4385
4191
|
* Validates that a transform is finite, affine, and non-singular.
|
|
@@ -4394,23 +4200,6 @@ export declare function validateTransform3(
|
|
|
4394
4200
|
tolerance?: GeometryToleranceOptions,
|
|
4395
4201
|
): Transform3Data;
|
|
4396
4202
|
|
|
4397
|
-
/**
|
|
4398
|
-
* Validates mesh buffers, indices, triangle area, and optionally closed topology.
|
|
4399
|
-
*
|
|
4400
|
-
* Closed validation requires exactly two oppositely directed uses per edge, rejecting boundary
|
|
4401
|
-
* and non-manifold edges. It establishes edge connectivity without detecting geometric
|
|
4402
|
-
* self-intersections between faces. The mesh is neither mutated nor copied.
|
|
4403
|
-
*
|
|
4404
|
-
* @param mesh - Mesh to inspect.
|
|
4405
|
-
* @param options - Empty-mesh, topology, and tolerance policy.
|
|
4406
|
-
* @returns The original mesh after successful validation.
|
|
4407
|
-
* @throws {@link GeometryError} When any requested invariant fails.
|
|
4408
|
-
*/
|
|
4409
|
-
export declare function validateTriangleMesh(
|
|
4410
|
-
mesh: TriangleMesh,
|
|
4411
|
-
options?: TriangleMeshValidationOptions,
|
|
4412
|
-
): TriangleMesh;
|
|
4413
|
-
|
|
4414
4203
|
/** Immutable XY arithmetic; vector operations return new values and measurements return numbers. */
|
|
4415
4204
|
export declare interface Vector2 {
|
|
4416
4205
|
/** X coordinate in the vector's coordinate units. */
|