@metamesh/modeling 0.17.0 → 0.19.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 +186 -0
- package/README.md +147 -157
- package/dist/api/engine.d.ts +106 -83
- package/dist/api/export-3mf.d.ts +2 -0
- package/dist/api/export-glb.d.ts +2 -0
- package/dist/api/export-stl.d.ts +2 -0
- package/dist/api/export.d.ts +160 -0
- package/dist/api/geometry.d.ts +250 -461
- package/dist/api/index.d.ts +470 -445
- package/dist/api/mesh.d.ts +489 -0
- package/dist/api/text.d.ts +1 -1
- package/dist/docs/guides/concepts.md +32 -495
- package/dist/docs/guides/fonts.md +14 -13
- package/dist/docs/guides/fundamentals.md +30 -29
- package/dist/docs/guides/generation.md +84 -64
- package/dist/docs/guides/geometry-values.md +193 -0
- package/dist/docs/guides/hosting.md +147 -48
- package/dist/docs/guides/profiles-and-extrusion.md +252 -0
- package/dist/docs/guides/recipes.md +33 -769
- package/dist/docs/guides/resolution-and-inspection.md +133 -0
- package/dist/docs/guides/solid-joins.md +126 -0
- package/dist/docs/guides/standalone-model.md +8 -7
- package/dist/docs/guides/svg-and-text.md +215 -0
- package/dist/docs/guides/sweeps-and-lofts.md +179 -0
- package/dist/docs/guides/transforms-and-placement.md +313 -0
- package/dist/docs/manifest.json +3224 -4430
- package/dist/docs/reference/engine/GenerationOptions.md +12 -5
- package/dist/docs/reference/engine/GeometryResource.md +19 -13
- package/dist/docs/reference/engine/ModelDependencies.md +9 -3
- package/dist/docs/reference/engine/ModelEngine.md +33 -24
- package/dist/docs/reference/engine/ModelEngineOptions.md +13 -2
- package/dist/docs/reference/engine/ModelPart.md +114 -0
- package/dist/docs/reference/engine/ModelResult.md +181 -0
- package/dist/docs/reference/engine/ModelRunArguments.md +34 -0
- package/dist/docs/reference/engine/ModelRunOptions.md +110 -0
- package/dist/docs/reference/engine/ModelSession.md +22 -16
- package/dist/docs/reference/engine/SessionOptions.md +21 -10
- package/dist/docs/reference/engine/categories/host-lifecycle.md +20 -15
- package/dist/docs/reference/engine/checkModel.md +49 -0
- package/dist/docs/reference/engine/createModelEngine.md +11 -13
- package/dist/docs/reference/engine/defaultModelingLimits.md +15 -2
- package/dist/docs/reference/engine/modelingWasmUrl.md +7 -1
- package/dist/docs/reference/engine.md +8 -15
- package/dist/docs/reference/export/Export3mfOptions.md +24 -0
- package/dist/docs/reference/export/ExportDiagnostic.md +59 -0
- package/dist/docs/reference/export/ExportFormat.md +25 -0
- package/dist/docs/reference/export/ExportGeometry.md +39 -0
- package/dist/docs/reference/export/ExportGlbOptions.md +118 -0
- package/dist/docs/reference/export/ExportLimits.md +83 -0
- package/dist/docs/reference/export/ExportMaterial.md +47 -0
- package/dist/docs/reference/export/ExportOptions.md +94 -0
- package/dist/docs/reference/export/ExportPart.md +88 -0
- package/dist/docs/reference/export/ExportReport.md +82 -0
- package/dist/docs/reference/export/ExportSink.md +39 -0
- package/dist/docs/reference/export/ExportStlOptions.md +24 -0
- package/dist/docs/reference/export/ExportedFile.md +110 -0
- package/dist/docs/reference/export/categories/mesh-serialization.md +47 -0
- package/dist/docs/reference/export/defaultExportLimits.md +20 -0
- package/dist/docs/reference/export/export3mf.md +64 -0
- package/dist/docs/reference/export/exportGlb.md +68 -0
- package/dist/docs/reference/export/exportStl.md +64 -0
- package/dist/docs/reference/export/write3mf.md +71 -0
- package/dist/docs/reference/export/writeGlb.md +75 -0
- package/dist/docs/reference/export/writeStl.md +71 -0
- package/dist/docs/reference/export.md +21 -0
- package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +16 -2
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +7 -1
- package/dist/docs/reference/geometry/Anchor3-type.md +13 -3
- package/dist/docs/reference/geometry/ArcCurve2.md +8 -2
- package/dist/docs/reference/geometry/ArcCurve3.md +8 -2
- package/dist/docs/reference/geometry/AttachOptions.md +13 -3
- package/dist/docs/reference/geometry/AxisAngleRotation3.md +9 -3
- package/dist/docs/reference/geometry/Bevel.md +32 -0
- package/dist/docs/reference/geometry/BevelSize.md +28 -0
- package/dist/docs/reference/geometry/Bounds2-type.md +18 -4
- package/dist/docs/reference/geometry/Bounds2Data.md +22 -4
- package/dist/docs/reference/geometry/Bounds2Input.md +18 -4
- package/dist/docs/reference/geometry/Bounds2Options.md +61 -11
- package/dist/docs/reference/geometry/Bounds3-type.md +18 -4
- package/dist/docs/reference/geometry/Bounds3Data.md +18 -4
- package/dist/docs/reference/geometry/Bounds3Input.md +18 -4
- package/dist/docs/reference/geometry/Bounds3Options.md +61 -11
- package/dist/docs/reference/geometry/BoundsFit2.md +10 -4
- package/dist/docs/reference/geometry/BoundsFit3.md +10 -4
- package/dist/docs/reference/geometry/BoundsFitOptions.md +10 -4
- package/dist/docs/reference/geometry/BoxAnchorFace.md +9 -3
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +12 -6
- package/dist/docs/reference/geometry/BoxEdge.md +11 -1
- package/dist/docs/reference/geometry/BoxEdgeSelection.md +11 -1
- package/dist/docs/reference/geometry/BoxEdgeTreatments.md +11 -1
- package/dist/docs/reference/geometry/BoxOptions.md +13 -3
- package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +16 -2
- package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +16 -2
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +11 -1
- package/dist/docs/reference/geometry/CircleContourOptions.md +12 -2
- package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +15 -3
- package/dist/docs/reference/geometry/CircularResolutionOptions.md +7 -1
- package/dist/docs/reference/geometry/CircularSampling.md +7 -1
- package/dist/docs/reference/geometry/CircularSamplingOptions.md +7 -1
- package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +8 -2
- package/dist/docs/reference/geometry/ClearanceHoleFit.md +8 -2
- package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +8 -2
- package/dist/docs/reference/geometry/Contour.md +12 -2
- package/dist/docs/reference/geometry/ContourCurve.md +8 -2
- package/dist/docs/reference/geometry/ContourPoint.md +8 -2
- package/dist/docs/reference/geometry/ContourSegment.md +8 -2
- package/dist/docs/reference/geometry/CorrespondingComponent.md +12 -2
- package/dist/docs/reference/geometry/CorrespondingContour.md +12 -2
- package/dist/docs/reference/geometry/CorrespondingProfile.md +12 -2
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +12 -2
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +8 -2
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +8 -2
- package/dist/docs/reference/geometry/Curve2.md +8 -2
- package/dist/docs/reference/geometry/Curve3.md +8 -2
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +16 -2
- package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +16 -2
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +9 -3
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +11 -5
- package/dist/docs/reference/geometry/CylinderOptions.md +11 -1
- package/dist/docs/reference/geometry/CylindricalGearDimensions.md +8 -2
- package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +8 -2
- package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +8 -2
- package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +8 -2
- package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +8 -2
- package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +8 -2
- package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +8 -2
- package/dist/docs/reference/geometry/CylindricalGearSpec.md +8 -2
- package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +7 -1
- package/dist/docs/reference/geometry/EdgeTreatment.md +11 -1
- package/dist/docs/reference/geometry/EllipseContourOptions.md +14 -4
- package/dist/docs/reference/geometry/EndTreatments.md +12 -2
- package/dist/docs/reference/{model/ExtrudeOptions.md → geometry/ExtrudeMeshOptions.md} +30 -26
- package/dist/docs/reference/geometry/ExtrudeOptions.md +29 -11
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +18 -4
- package/dist/docs/reference/geometry/FittedTextLayout.md +8 -2
- package/dist/docs/reference/geometry/Frame3.md +16 -2
- package/dist/docs/reference/geometry/GeometryError.md +11 -1
- package/dist/docs/reference/geometry/GeometryErrorCode.md +11 -1
- package/dist/docs/reference/geometry/GeometryErrorContext.md +11 -1
- package/dist/docs/reference/geometry/GeometryResolution.md +15 -1
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +16 -2
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +15 -1
- package/dist/docs/reference/geometry/GridPatternOptions.md +12 -2
- package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +12 -2
- package/dist/docs/reference/geometry/HeightfieldOptions.md +18 -3
- package/dist/docs/reference/geometry/HeightfieldPreflight.md +12 -2
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +9 -3
- package/dist/docs/reference/geometry/ImmutableBuffer-type.md +110 -0
- package/dist/docs/reference/geometry/ImmutableTriangleMesh.md +57 -0
- package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +63 -84
- package/dist/docs/reference/geometry/KnuckleHingeBaseSpec.md +12 -2
- package/dist/docs/reference/geometry/KnuckleHingeDimensions.md +8 -2
- package/dist/docs/reference/geometry/KnuckleHingeInterval.md +8 -2
- package/dist/docs/reference/geometry/KnuckleHingeSamplingOptions.md +12 -2
- package/dist/docs/reference/geometry/KnuckleHingeSpec.md +12 -2
- package/dist/docs/reference/geometry/LineCurve2.md +8 -2
- package/dist/docs/reference/geometry/LineCurve3.md +8 -2
- package/dist/docs/reference/geometry/LinearPatternOptions.md +12 -2
- package/dist/docs/reference/geometry/LoftCorrespondence.md +16 -2
- package/dist/docs/reference/geometry/LoftMeshStation.md +12 -2
- package/dist/docs/reference/geometry/LoftOptions.md +18 -4
- package/dist/docs/reference/geometry/LoftPlacement.md +16 -2
- package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +8 -2
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +12 -2
- package/dist/docs/reference/geometry/MetricFastenerSize.md +8 -2
- package/dist/docs/reference/geometry/MetricFastenerStandard.md +8 -2
- package/dist/docs/reference/geometry/MetricHexNutDimensions.md +8 -2
- package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +8 -2
- package/dist/docs/reference/geometry/ModelingLimits.md +19 -1
- package/dist/docs/reference/geometry/NumericArray.md +28 -0
- package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +8 -2
- package/dist/docs/reference/geometry/Path2-type.md +16 -2
- package/dist/docs/reference/geometry/Path2Data.md +16 -2
- package/dist/docs/reference/geometry/Path2Input.md +16 -2
- package/dist/docs/reference/geometry/Path3-type.md +16 -2
- package/dist/docs/reference/geometry/Path3Data.md +16 -2
- package/dist/docs/reference/geometry/Path3Input.md +16 -2
- package/dist/docs/reference/geometry/PathFrame.md +8 -2
- package/dist/docs/reference/geometry/PathLocation.md +16 -2
- package/dist/docs/reference/geometry/PathNormalGuide.md +16 -2
- package/dist/docs/reference/geometry/PathOptions.md +12 -2
- package/dist/docs/reference/geometry/PathPatternOptions.md +12 -2
- package/dist/docs/reference/geometry/PathPlacement.md +8 -2
- package/dist/docs/reference/geometry/PathResamplingOptions.md +16 -2
- package/dist/docs/reference/geometry/Pivot2Options.md +17 -3
- package/dist/docs/reference/geometry/Pivot3Options.md +17 -3
- package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +12 -2
- package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +12 -2
- package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +12 -2
- package/dist/docs/reference/geometry/PlanarPatchQuality.md +12 -2
- package/dist/docs/reference/geometry/PolygonData.md +12 -2
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +8 -2
- package/dist/docs/reference/geometry/PrimitiveAttachment.md +11 -3
- package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +11 -1
- package/dist/docs/reference/geometry/PrintableThreadFit.md +12 -2
- package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +12 -2
- package/dist/docs/reference/geometry/Profile.md +8 -2
- package/dist/docs/reference/geometry/ProfileComponent2.md +12 -2
- package/dist/docs/reference/geometry/ProfileContour2.md +12 -2
- package/dist/docs/reference/geometry/ProfileSpan2.md +12 -2
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +11 -1
- package/dist/docs/reference/geometry/RackPitchDimensions.md +8 -2
- package/dist/docs/reference/geometry/RackPitchSpec.md +8 -2
- package/dist/docs/reference/geometry/RadialPatternOptions.md +12 -2
- package/dist/docs/reference/geometry/RadialSizing.md +11 -1
- package/dist/docs/reference/geometry/RadialSizingOptions.md +11 -1
- package/dist/docs/reference/geometry/RectangleContourOptions.md +14 -4
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +12 -2
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +12 -2
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +10 -4
- package/dist/docs/reference/geometry/RegionData.md +12 -2
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +8 -2
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +7 -1
- package/dist/docs/reference/geometry/RevolveOptions.md +17 -3
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +11 -1
- package/dist/docs/reference/geometry/RowLayoutOptions.md +10 -4
- package/dist/docs/reference/geometry/SampleContourOptions.md +8 -2
- package/dist/docs/reference/geometry/SampleHelixOptions.md +8 -2
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +8 -2
- package/dist/docs/reference/geometry/SampledCurve2.md +8 -2
- package/dist/docs/reference/geometry/SampledCurve3.md +8 -2
- package/dist/docs/reference/geometry/SampledThreadHelices.md +8 -2
- package/dist/docs/reference/geometry/SideProfileCurve.md +8 -2
- package/dist/docs/reference/geometry/SideProfilePoint.md +8 -2
- package/dist/docs/reference/geometry/SideProfileSegment.md +8 -2
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +11 -1
- package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +12 -2
- package/dist/docs/reference/geometry/SphereOptions.md +11 -1
- package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +16 -2
- package/dist/docs/reference/geometry/StarContourOptions.md +84 -0
- package/dist/docs/reference/geometry/StrokeCap.md +12 -2
- package/dist/docs/reference/geometry/StrokeJoin.md +12 -2
- package/dist/docs/reference/geometry/StrokeOptions.md +12 -2
- package/dist/docs/reference/geometry/SvgImportOptions.md +8 -2
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +8 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +8 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +8 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +8 -2
- package/dist/docs/reference/geometry/SweepOptions.md +16 -2
- package/dist/docs/reference/geometry/SweepOrientation.md +16 -2
- package/dist/docs/reference/geometry/ThreadBevelOptions.md +18 -31
- package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +8 -2
- package/dist/docs/reference/geometry/ThreadCompensationOptions.md +8 -2
- package/dist/docs/reference/geometry/ThreadEndStyle.md +16 -2
- package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +16 -2
- package/dist/docs/reference/geometry/ThreadHandedness.md +16 -2
- package/dist/docs/reference/geometry/ThreadHelixOptions.md +8 -2
- package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +16 -2
- package/dist/docs/reference/geometry/ThreadLeadInShape.md +16 -2
- package/dist/docs/reference/geometry/ThreadProfile-type.md +17 -3
- package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +16 -2
- package/dist/docs/reference/geometry/ThreadProfileSpec.md +16 -2
- package/dist/docs/reference/geometry/{HelicalThreadRidgeMeshOptions.md → ThreadRidgeOptions.md} +19 -5
- package/dist/docs/reference/geometry/ThreadRole.md +8 -2
- package/dist/docs/reference/geometry/{HelicalThreadSolidMeshOptions.md → ThreadSolidOptions.md} +29 -66
- package/dist/docs/reference/geometry/{HelicalThreadSolidMeshPreflight.md → ThreadSolidPreflight.md} +17 -3
- package/dist/docs/reference/geometry/ThreadedNutOptions.md +86 -87
- package/dist/docs/reference/geometry/ThreadedNutPreflight.md +29 -7
- package/dist/docs/reference/geometry/ThreadedNutShape.md +12 -2
- package/dist/docs/reference/geometry/ThreadedRodOptions.md +63 -84
- package/dist/docs/reference/geometry/TorusOptions.md +11 -1
- package/dist/docs/reference/geometry/Transform2-type.md +17 -3
- package/dist/docs/reference/geometry/Transform2Data.md +17 -3
- package/dist/docs/reference/geometry/Transform2Input.md +17 -3
- package/dist/docs/reference/geometry/Transform3-type.md +17 -3
- package/dist/docs/reference/geometry/Transform3Data.md +17 -3
- package/dist/docs/reference/geometry/Transform3Input.md +17 -3
- package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +16 -2
- package/dist/docs/reference/geometry/TriangleMesh.md +19 -6
- package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +25 -5
- package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +13 -3
- package/dist/docs/reference/geometry/TriangleMeshInput.md +29 -0
- package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +16 -2
- package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +12 -2
- package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +12 -2
- package/dist/docs/reference/geometry/TriangleMeshSignature.md +14 -4
- package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +12 -2
- package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +12 -2
- package/dist/docs/reference/geometry/TriangleMeshTopologyAnalysis.md +145 -0
- package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +12 -2
- package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +16 -2
- package/dist/docs/reference/geometry/TubeOptions.md +20 -86
- package/dist/docs/reference/geometry/Vector2-type.md +17 -3
- package/dist/docs/reference/geometry/Vector2Data.md +21 -3
- package/dist/docs/reference/geometry/Vector2Input.md +17 -3
- package/dist/docs/reference/geometry/Vector3-type.md +17 -3
- package/dist/docs/reference/geometry/Vector3Data.md +17 -3
- package/dist/docs/reference/geometry/Vector3Input.md +17 -3
- package/dist/docs/reference/geometry/VectorTextArcBaseline.md +12 -2
- package/dist/docs/reference/geometry/VectorTextLayout.md +16 -2
- package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +14 -4
- package/dist/docs/reference/geometry/VectorTextMetrics.md +16 -2
- package/dist/docs/reference/geometry/VectorTextOptions.md +12 -2
- package/dist/docs/reference/geometry/add2.md +9 -3
- package/dist/docs/reference/geometry/add3.md +9 -3
- package/dist/docs/reference/geometry/anchor3.md +9 -3
- package/dist/docs/reference/geometry/anchorFrame3.md +8 -2
- package/dist/docs/reference/geometry/applyTransformDirection3.md +9 -3
- package/dist/docs/reference/geometry/applyTransformPoint3.md +9 -3
- package/dist/docs/reference/geometry/attachmentTransform3.md +9 -3
- package/dist/docs/reference/geometry/bounds2.md +18 -8
- package/dist/docs/reference/geometry/bounds3.md +18 -8
- package/dist/docs/reference/geometry/boundsCenter.md +10 -4
- package/dist/docs/reference/geometry/boundsSize.md +10 -4
- package/dist/docs/reference/geometry/boxAnchor3.md +11 -5
- package/dist/docs/reference/geometry/categories/bounds-layout.md +6 -6
- package/dist/docs/reference/geometry/categories/curves-paths.md +3 -3
- package/dist/docs/reference/geometry/categories/mechanical.md +9 -11
- package/dist/docs/reference/geometry/categories/meshes.md +20 -33
- package/dist/docs/reference/geometry/categories/pattern-placement.md +3 -3
- package/dist/docs/reference/geometry/categories/primitive-options.md +4 -4
- package/dist/docs/reference/geometry/categories/profiles-regions.md +6 -5
- package/dist/docs/reference/geometry/categories/resolution-errors.md +3 -3
- package/dist/docs/reference/geometry/categories/transforms-math.md +5 -4
- package/dist/docs/reference/geometry/categories/vector-import.md +4 -4
- package/dist/docs/reference/geometry/circleContour.md +8 -2
- package/dist/docs/reference/geometry/closeToAxis.md +8 -2
- package/dist/docs/reference/geometry/compensateThreadDiameters.md +8 -2
- package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +8 -2
- package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +8 -2
- package/dist/docs/reference/geometry/composeTransform3.md +9 -3
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +8 -2
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +8 -2
- package/dist/docs/reference/geometry/contourContainsPoint.md +8 -2
- package/dist/docs/reference/geometry/cross2.md +9 -3
- package/dist/docs/reference/geometry/cross3.md +9 -3
- package/dist/docs/reference/geometry/cylinderAnchor3.md +10 -4
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +8 -2
- package/dist/docs/reference/geometry/distance2.md +9 -3
- package/dist/docs/reference/geometry/distance3.md +9 -3
- package/dist/docs/reference/geometry/distributeAlongPath.md +8 -2
- package/dist/docs/reference/geometry/dot2.md +9 -3
- package/dist/docs/reference/geometry/dot3.md +9 -3
- package/dist/docs/reference/geometry/ellipseContour.md +8 -2
- package/dist/docs/reference/geometry/eulerTransform3.md +9 -3
- package/dist/docs/reference/geometry/fitBounds.md +10 -4
- package/dist/docs/reference/geometry/fitTextLayout.md +8 -2
- package/dist/docs/reference/geometry/frameTransform3.md +9 -3
- package/dist/docs/reference/geometry/getMetricClearanceHoleDiameter.md +8 -2
- package/dist/docs/reference/geometry/getMetricFastenerStandard.md +8 -2
- package/dist/docs/reference/geometry/gridPatternTransforms.md +8 -2
- package/dist/docs/reference/{model → geometry}/immutableBuffer.md +13 -2
- package/dist/docs/reference/geometry/inverseTransform3.md +9 -3
- package/dist/docs/reference/geometry/isGeometryError.md +11 -1
- package/dist/docs/reference/geometry/layoutRow.md +10 -4
- package/dist/docs/reference/geometry/length2.md +9 -3
- package/dist/docs/reference/geometry/length3.md +9 -3
- package/dist/docs/reference/geometry/lerp2.md +9 -3
- package/dist/docs/reference/geometry/lerp3.md +9 -3
- package/dist/docs/reference/geometry/linearPatternTransforms.md +8 -2
- package/dist/docs/reference/geometry/matchProfiles.md +8 -2
- package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +8 -2
- package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +8 -2
- package/dist/docs/reference/geometry/normalize2.md +9 -3
- package/dist/docs/reference/geometry/normalize3.md +9 -3
- package/dist/docs/reference/geometry/normalizeContour.md +8 -2
- package/dist/docs/reference/geometry/normalizePolygon.md +8 -2
- package/dist/docs/reference/geometry/normalizeRegion.md +8 -2
- package/dist/docs/reference/geometry/path2.md +12 -2
- package/dist/docs/reference/geometry/path3.md +12 -2
- package/dist/docs/reference/geometry/pathPatternTransforms.md +8 -2
- package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +25 -26
- package/dist/docs/reference/geometry/preflightSvgRegion.md +8 -2
- package/dist/docs/reference/geometry/preflightThreadedNut.md +31 -27
- package/dist/docs/reference/geometry/preflightThreadedRod.md +25 -26
- package/dist/docs/reference/geometry/projectOntoPlane3.md +9 -3
- package/dist/docs/reference/geometry/radialPatternTransforms.md +8 -2
- package/dist/docs/reference/geometry/rectangleContour.md +17 -6
- package/dist/docs/reference/geometry/rectangleProfile.md +9 -3
- package/dist/docs/reference/geometry/regionArea.md +8 -2
- package/dist/docs/reference/geometry/regionBounds.md +8 -2
- package/dist/docs/reference/geometry/regularPolygonContour.md +9 -3
- package/dist/docs/reference/geometry/resamplePolyline2.md +8 -2
- package/dist/docs/reference/geometry/resamplePolyline3.md +8 -2
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +7 -1
- package/dist/docs/reference/geometry/resolveArcSegments.md +7 -1
- package/dist/docs/reference/geometry/resolveCircularSampling.md +7 -1
- package/dist/docs/reference/geometry/resolveCircularSegments.md +7 -1
- package/dist/docs/reference/geometry/resolveCylindricalGear.md +8 -2
- package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +8 -2
- package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +8 -2
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +8 -2
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +7 -1
- package/dist/docs/reference/geometry/resolveKnuckleHinge.md +8 -2
- package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +8 -2
- package/dist/docs/reference/geometry/resolveRackPitch.md +8 -2
- package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +8 -2
- package/dist/docs/reference/geometry/rotate2.md +9 -3
- package/dist/docs/reference/geometry/rotationTransform3.md +9 -3
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +8 -2
- package/dist/docs/reference/geometry/sampleContour.md +8 -2
- package/dist/docs/reference/geometry/sampleCurve2.md +8 -2
- package/dist/docs/reference/geometry/sampleCurve3.md +8 -2
- package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +8 -2
- package/dist/docs/reference/geometry/sampleHelix.md +8 -2
- package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +8 -2
- package/dist/docs/reference/geometry/sampleRackToothPath.md +8 -2
- package/dist/docs/reference/geometry/sampleSideProfile.md +8 -2
- package/dist/docs/reference/geometry/sampleTextContours.md +8 -2
- package/dist/docs/reference/geometry/sampleThreadHelices.md +8 -2
- package/dist/docs/reference/geometry/scale2.md +9 -3
- package/dist/docs/reference/geometry/scale3.md +9 -3
- package/dist/docs/reference/geometry/scaleTransform3.md +9 -3
- package/dist/docs/reference/geometry/signedContourArea.md +8 -2
- package/dist/docs/reference/geometry/starContour.md +24 -16
- package/dist/docs/reference/geometry/strokeRegionData.md +8 -2
- package/dist/docs/reference/geometry/subtract2.md +9 -3
- package/dist/docs/reference/geometry/subtract3.md +9 -3
- package/dist/docs/reference/geometry/threadProfile.md +8 -2
- package/dist/docs/reference/geometry/transform2.md +13 -3
- package/dist/docs/reference/geometry/transform3.md +13 -3
- package/dist/docs/reference/geometry/transformDeterminant3.md +9 -3
- package/dist/docs/reference/geometry/transformRegionData.md +8 -2
- package/dist/docs/reference/geometry/translationTransform3.md +9 -3
- package/dist/docs/reference/geometry/triangulateContour.md +8 -2
- package/dist/docs/reference/geometry/validateRigidTransform3.md +41 -0
- package/dist/docs/reference/geometry/validateTransform3.md +9 -3
- package/dist/docs/reference/geometry/vector2.md +13 -3
- package/dist/docs/reference/geometry/vector3.md +13 -3
- package/dist/docs/reference/geometry.md +10 -10
- package/dist/docs/reference/mesh/MeshRenderOptions.md +28 -0
- package/dist/docs/reference/mesh/RenderMesh.md +68 -0
- package/dist/docs/reference/mesh/analyze.md +102 -0
- package/dist/docs/reference/mesh/analyzeQuality.md +62 -0
- package/dist/docs/reference/mesh/bounds.md +45 -0
- package/dist/docs/reference/mesh/categories/operations.md +57 -0
- package/dist/docs/reference/mesh/centroid.md +45 -0
- package/dist/docs/reference/mesh/extrude.md +79 -0
- package/dist/docs/reference/mesh/heightfield.md +57 -0
- package/dist/docs/reference/mesh/immutable.md +51 -0
- package/dist/docs/reference/mesh/join.md +47 -0
- package/dist/docs/reference/mesh/loft.md +83 -0
- package/dist/docs/reference/mesh/optimizePlanarPatches.md +102 -0
- package/dist/docs/reference/mesh/preflightHeightfield.md +48 -0
- package/dist/docs/reference/mesh/preflightThreadSolid.md +96 -0
- package/dist/docs/reference/mesh/render.md +57 -0
- package/dist/docs/reference/mesh/reverse.md +41 -0
- package/dist/docs/reference/{geometry/revolveMesh.md → mesh/revolve.md} +23 -17
- package/dist/docs/reference/mesh/signature.md +70 -0
- package/dist/docs/reference/mesh/sweep.md +92 -0
- package/dist/docs/reference/mesh/threadRidge.md +78 -0
- package/dist/docs/reference/mesh/threadSolid.md +96 -0
- package/dist/docs/reference/mesh/transform.md +53 -0
- package/dist/docs/reference/mesh/validate.md +75 -0
- package/dist/docs/reference/{geometry/validateSolidMesh.md → mesh/validateSolid.md} +23 -11
- package/dist/docs/reference/mesh.md +21 -0
- package/dist/docs/reference/model/CircleOptions.md +13 -7
- package/dist/docs/reference/model/DiagnosticOptions.md +21 -1
- package/dist/docs/reference/model/EllipseOptions.md +13 -7
- package/dist/docs/reference/model/GenerateCallback.md +11 -5
- package/dist/docs/reference/model/GenerateContext.md +26 -99
- package/dist/docs/reference/model/GenerationDiagnostic.md +19 -1
- package/dist/docs/reference/model/GenerationError.md +8 -2
- package/dist/docs/reference/model/HoleCutterOptions.md +17 -10
- package/dist/docs/reference/model/HoleCutterOverrun.md +10 -3
- package/dist/docs/reference/model/HoleCutterRecess.md +10 -3
- package/dist/docs/reference/model/HullOptions.md +13 -6
- package/dist/docs/reference/model/ImmutableValue.md +26 -0
- package/dist/docs/reference/model/ImplicitOptions.md +12 -6
- package/dist/docs/reference/model/JoinOptions.md +76 -0
- package/dist/docs/reference/model/JoinTransition.md +54 -0
- package/dist/docs/reference/model/KnuckleHinge-type.md +9 -3
- package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +7 -1
- package/dist/docs/reference/model/KnuckleHingeOptions.md +10 -4
- package/dist/docs/reference/model/KnuckleHingeWeb.md +7 -1
- package/dist/docs/reference/model/LoftStation.md +16 -9
- package/dist/docs/reference/model/Memo.md +54 -0
- package/dist/docs/reference/model/ModelProgram.md +8 -2
- package/dist/docs/reference/model/PartDeclaration.md +87 -0
- package/dist/docs/reference/model/PartGeometry.md +10 -4
- package/dist/docs/reference/model/PartOptions.md +16 -22
- package/dist/docs/reference/model/PatternSource.md +10 -4
- package/dist/docs/reference/model/PlaneOptions.md +11 -4
- package/dist/docs/reference/model/PolygonOptions.md +20 -14
- package/dist/docs/reference/model/Profile.md +10 -4
- package/dist/docs/reference/model/RectangleOptions.md +28 -22
- package/dist/docs/reference/model/RegularPolygonOptions.md +13 -7
- package/dist/docs/reference/model/Section.md +196 -77
- package/dist/docs/reference/model/SectionHullOptions.md +13 -6
- package/dist/docs/reference/model/SectionInspection.md +12 -18
- package/dist/docs/reference/model/SectionOffsetJoin.md +10 -4
- package/dist/docs/reference/model/SectionOffsetOptions.md +12 -6
- package/dist/docs/reference/model/Solid.md +339 -54
- package/dist/docs/reference/model/SolidInspection.md +12 -18
- package/dist/docs/reference/model/SolidSegmentHit.md +14 -4
- package/dist/docs/reference/model/StarOptions.md +53 -25
- package/dist/docs/reference/model/SvgOrigin.md +10 -4
- package/dist/docs/reference/model/SvgPathSectionOptions.md +14 -8
- package/dist/docs/reference/model/SvgSectionOptions.md +16 -10
- package/dist/docs/reference/model/TextSectionOptions.md +14 -8
- package/dist/docs/reference/model/box.md +18 -11
- package/dist/docs/reference/model/categories/boolean-operations.md +13 -11
- package/dist/docs/reference/model/categories/bounded-surfaces.md +1 -7
- package/dist/docs/reference/model/categories/explicit-profiles.md +1 -14
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +11 -23
- package/dist/docs/reference/model/categories/generation.md +10 -15
- package/dist/docs/reference/model/categories/hinges.md +1 -4
- package/dist/docs/reference/model/categories/mesh-inspection.md +14 -9
- package/dist/docs/reference/model/categories/primitives.md +8 -24
- package/dist/docs/reference/model/categories/sections.md +6 -16
- package/dist/docs/reference/model/categories/threads.md +3 -30
- package/dist/docs/reference/model/categories/transforms-placement.md +5 -35
- package/dist/docs/reference/model/circle.md +10 -4
- package/dist/docs/reference/model/cylinder.md +13 -6
- package/dist/docs/reference/model/ellipse.md +10 -4
- package/dist/docs/reference/model/extrude.md +28 -20
- package/dist/docs/reference/model/generate.md +10 -4
- package/dist/docs/reference/model/gridPattern.md +15 -9
- package/dist/docs/reference/model/heightfield.md +10 -4
- package/dist/docs/reference/model/holeCutter.md +21 -4
- package/dist/docs/reference/model/hull.md +9 -2
- package/dist/docs/reference/model/implicit.md +9 -3
- package/dist/docs/reference/model/internalThreadCutter.md +31 -33
- package/dist/docs/reference/model/intersect.md +11 -4
- package/dist/docs/reference/model/join.md +89 -0
- package/dist/docs/reference/model/knuckleHinge.md +8 -2
- package/dist/docs/reference/model/linearPattern.md +15 -9
- package/dist/docs/reference/model/loft.md +36 -28
- package/dist/docs/reference/model/matchProfiles.md +14 -8
- package/dist/docs/reference/model/minkowskiSum.md +9 -2
- package/dist/docs/reference/model/pathPattern.md +25 -19
- package/dist/docs/reference/model/polygon.md +13 -7
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +33 -35
- package/dist/docs/reference/model/preflightThreadedNut.md +43 -40
- package/dist/docs/reference/model/preflightThreadedRod.md +33 -35
- package/dist/docs/reference/model/radialPattern.md +15 -9
- package/dist/docs/reference/model/rectangle.md +14 -8
- package/dist/docs/reference/model/regularPolygon.md +10 -4
- package/dist/docs/reference/model/revolve.md +25 -17
- package/dist/docs/reference/model/solidFromMesh.md +16 -9
- package/dist/docs/reference/model/sphere.md +13 -6
- package/dist/docs/reference/model/star.md +17 -11
- package/dist/docs/reference/model/stroke.md +21 -15
- package/dist/docs/reference/model/svgPathSection.md +12 -6
- package/dist/docs/reference/model/svgSection.md +13 -7
- package/dist/docs/reference/model/sweep.md +29 -21
- package/dist/docs/reference/model/textSection.md +15 -9
- package/dist/docs/reference/model/threadRidge.md +21 -15
- package/dist/docs/reference/model/threadedNut.md +41 -38
- package/dist/docs/reference/model/threadedRod.md +31 -33
- package/dist/docs/reference/model/torus.md +20 -13
- package/dist/docs/reference/model/tube.md +13 -41
- package/dist/docs/reference/model/union.md +11 -4
- package/dist/docs/reference/model.md +11 -20
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +8 -2
- package/dist/docs/reference/text/VectorFont.md +39 -33
- package/dist/docs/reference/text/VectorFontOptions.md +7 -1
- package/dist/docs/reference/text/categories/font-preparation.md +3 -15
- package/dist/docs/reference/text/prepareVectorFont.md +7 -1
- package/dist/docs/reference/text.md +4 -4
- package/dist/engine/execution.js +10 -6
- package/dist/engine/finalization.js +2 -74
- package/dist/engine/index.js +24 -30
- package/dist/engine/model-parts.js +8 -0
- package/dist/engine/model-summary.js +5 -5
- package/dist/engine/native/construction-mesh.js +41 -0
- package/dist/engine/native/index.js +1 -1
- package/dist/engine/native/material-components.js +5 -54
- package/dist/engine/native/mesh-observation.js +55 -0
- package/dist/engine/native/operations.js +0 -7
- package/dist/engine/native/regions.js +2 -1
- 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} +12 -10
- package/dist/engine/{operation-environment.js → operations/environment.js} +2 -2
- package/dist/engine/{extrusion-finishing.js → operations/extrusion-finishing.js} +23 -22
- 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/operations/join-collar-profile.js +120 -0
- package/dist/engine/operations/join.js +508 -0
- 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 +2 -2
- package/dist/engine/{deferred-context.js → session/deferred-context.js} +4 -4
- package/dist/engine/session/dependencies.js +93 -0
- package/dist/engine/session/graph.js +428 -0
- package/dist/engine/{session-native.js → session/native-cache.js} +2 -2
- package/dist/engine/{session.js → session/session.js} +20 -14
- package/dist/engine/{session-snapshot.js → session/snapshot-cache.js} +30 -60
- package/dist/export/3mf.js +190 -0
- package/dist/export/capture.js +178 -0
- package/dist/export/glb.js +209 -0
- package/dist/export/index.js +5 -0
- package/dist/export/limits.js +18 -0
- package/dist/export/stl.js +105 -0
- package/dist/export/types.js +1 -0
- package/dist/export/writer.js +54 -0
- package/dist/geometry/anchors.js +4 -11
- package/dist/geometry/bounds-value.js +22 -12
- package/dist/geometry/heightfield.js +10 -12
- package/dist/{model → geometry}/immutable-buffer.js +31 -12
- package/dist/geometry/index.js +16 -22
- package/dist/geometry/join-geometry.js +839 -0
- 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-render.js +205 -0
- package/dist/geometry/mesh/mesh-signature.js +7 -6
- package/dist/geometry/mesh/mesh-solid-intersections.js +43 -17
- package/dist/geometry/mesh/mesh-solid.js +8 -5
- package/dist/geometry/mesh/mesh-types.js +1 -0
- package/dist/geometry/mesh/mesh.js +13 -22
- package/dist/geometry/mesh-api.js +15 -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/region-offset.js +278 -0
- package/dist/geometry/regions.js +11 -1
- 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 +9 -3
- package/dist/model/geometry-recipes.js +1 -1
- package/dist/model/immutable-generation-data.js +45 -14
- package/dist/model/join.js +1 -0
- package/dist/model/operations.js +34 -144
- package/dist/model/recipe-declaration.js +7 -2
- package/dist/model/shape-handles.js +31 -7
- package/dist/text/index.js +1 -1
- package/package.json +38 -11
- package/dist/docs/reference/engine/Export3mfOptions.md +0 -29
- package/dist/docs/reference/engine/ExportMeshPart.md +0 -65
- 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/analyzeTriangleMeshQuality.md +0 -56
- package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +0 -39
- package/dist/docs/reference/geometry/computeTriangleMeshSignature.md +0 -64
- package/dist/docs/reference/geometry/extrudeMesh.md +0 -77
- package/dist/docs/reference/geometry/heightfieldMesh.md +0 -52
- package/dist/docs/reference/geometry/helicalThreadRidgeMesh.md +0 -72
- package/dist/docs/reference/geometry/helicalThreadSolidMesh.md +0 -106
- package/dist/docs/reference/geometry/joinTriangleMeshes.md +0 -40
- package/dist/docs/reference/geometry/loftMesh.md +0 -77
- package/dist/docs/reference/geometry/meshBounds.md +0 -39
- package/dist/docs/reference/geometry/optimizePlanarPatches.md +0 -95
- package/dist/docs/reference/geometry/preflightHeightfield.md +0 -43
- package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +0 -105
- package/dist/docs/reference/geometry/reverseTriangleMesh.md +0 -34
- package/dist/docs/reference/geometry/sweepMesh.md +0 -86
- package/dist/docs/reference/geometry/transformTriangleMesh.md +0 -46
- package/dist/docs/reference/geometry/validateTriangleMesh.md +0 -63
- package/dist/docs/reference/model/Anchor3.md +0 -55
- package/dist/docs/reference/model/AttachOptions.md +0 -69
- package/dist/docs/reference/model/Bounds2-type.md +0 -125
- package/dist/docs/reference/model/Bounds2Data.md +0 -44
- package/dist/docs/reference/model/Bounds2Input.md +0 -19
- package/dist/docs/reference/model/Bounds2Options.md +0 -70
- package/dist/docs/reference/model/Bounds3-type.md +0 -125
- package/dist/docs/reference/model/Bounds3Data.md +0 -44
- package/dist/docs/reference/model/Bounds3Input.md +0 -19
- package/dist/docs/reference/model/Bounds3Options.md +0 -70
- package/dist/docs/reference/model/BoxEdge.md +0 -15
- package/dist/docs/reference/model/BoxEdgeSelection.md +0 -19
- package/dist/docs/reference/model/BoxEdgeTreatments.md +0 -20
- package/dist/docs/reference/model/BoxOptions.md +0 -92
- package/dist/docs/reference/model/ChamferedEdgeTreatment.md +0 -35
- package/dist/docs/reference/model/CircleContourOptions.md +0 -21
- package/dist/docs/reference/model/CircularPrimitiveOptions.md +0 -64
- package/dist/docs/reference/model/Computed.md +0 -40
- package/dist/docs/reference/model/ComputedValue.md +0 -24
- package/dist/docs/reference/model/Contour.md +0 -24
- package/dist/docs/reference/model/CorrespondingComponent.md +0 -46
- package/dist/docs/reference/model/CorrespondingContour.md +0 -46
- package/dist/docs/reference/model/CorrespondingProfile.md +0 -22
- package/dist/docs/reference/model/CorrespondingProfileStation.md +0 -27
- package/dist/docs/reference/model/CylinderOptions.md +0 -58
- package/dist/docs/reference/model/EdgeTreatment.md +0 -22
- package/dist/docs/reference/model/EllipseContourOptions.md +0 -21
- package/dist/docs/reference/model/EndTreatments.md +0 -39
- package/dist/docs/reference/model/FinalizedModel.md +0 -131
- package/dist/docs/reference/model/FinalizedPart.md +0 -87
- package/dist/docs/reference/model/Frame3.md +0 -63
- package/dist/docs/reference/model/GeneratedPart.md +0 -97
- package/dist/docs/reference/model/GeometryResolution.md +0 -70
- package/dist/docs/reference/model/GeometrySamplingLimits.md +0 -62
- package/dist/docs/reference/model/GeometryToleranceOptions.md +0 -46
- package/dist/docs/reference/model/GridPatternOptions.md +0 -50
- package/dist/docs/reference/model/HeightfieldOptions.md +0 -67
- package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +0 -141
- package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +0 -59
- package/dist/docs/reference/model/ImmutableBuffer-type.md +0 -84
- package/dist/docs/reference/model/ImmutableTriangleMesh.md +0 -38
- package/dist/docs/reference/model/InternalThreadCutterOptions.md +0 -246
- package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +0 -77
- package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +0 -47
- package/dist/docs/reference/model/KnuckleHingeSpec.md +0 -18
- package/dist/docs/reference/model/LinearPatternOptions.md +0 -39
- package/dist/docs/reference/model/LoftCorrespondence.md +0 -27
- package/dist/docs/reference/model/LoftOptions.md +0 -91
- package/dist/docs/reference/model/LoftPlacement.md +0 -73
- package/dist/docs/reference/model/MatchProfilesOptions.md +0 -35
- package/dist/docs/reference/model/ModelingLimits.md +0 -126
- package/dist/docs/reference/model/NumericArray.md +0 -14
- package/dist/docs/reference/model/Path2-type.md +0 -196
- package/dist/docs/reference/model/Path2Data.md +0 -50
- package/dist/docs/reference/model/Path2Input.md +0 -20
- package/dist/docs/reference/model/Path3-type.md +0 -196
- package/dist/docs/reference/model/Path3Data.md +0 -50
- package/dist/docs/reference/model/Path3Input.md +0 -20
- package/dist/docs/reference/model/PathLocation.md +0 -69
- package/dist/docs/reference/model/PathNormalGuide.md +0 -46
- package/dist/docs/reference/model/PathOptions.md +0 -38
- package/dist/docs/reference/model/PathPatternOptions.md +0 -48
- package/dist/docs/reference/model/PathResamplingOptions.md +0 -83
- package/dist/docs/reference/model/Pivot2Options.md +0 -28
- package/dist/docs/reference/model/Pivot3Options.md +0 -28
- package/dist/docs/reference/model/PolygonData.md +0 -44
- package/dist/docs/reference/model/PrimitiveAttachment.md +0 -41
- package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +0 -110
- package/dist/docs/reference/model/PrintableThreadFit.md +0 -15
- package/dist/docs/reference/model/PrintableThreadFitPolicy.md +0 -51
- package/dist/docs/reference/model/ProfileComponent2.md +0 -46
- package/dist/docs/reference/model/ProfileContour2.md +0 -36
- package/dist/docs/reference/model/ProfileSpan2.md +0 -47
- package/dist/docs/reference/model/ProfiledEdgeTreatment.md +0 -41
- package/dist/docs/reference/model/RadialPatternOptions.md +0 -59
- package/dist/docs/reference/model/RadialSizing.md +0 -15
- package/dist/docs/reference/model/RadialSizingOptions.md +0 -40
- package/dist/docs/reference/model/RectangleContourOptions.md +0 -72
- package/dist/docs/reference/model/RectangleCornerTreatment.md +0 -40
- package/dist/docs/reference/model/RectangleCornerTreatments.md +0 -20
- package/dist/docs/reference/model/RegionData.md +0 -19
- package/dist/docs/reference/model/RevolveOptions.md +0 -94
- package/dist/docs/reference/model/RoundedEdgeTreatment.md +0 -96
- package/dist/docs/reference/model/SmoothEdgeTreatment.md +0 -76
- package/dist/docs/reference/model/SphereOptions.md +0 -20
- package/dist/docs/reference/model/StrokeCap.md +0 -16
- package/dist/docs/reference/model/StrokeJoin.md +0 -16
- package/dist/docs/reference/model/StrokeOptions.md +0 -91
- package/dist/docs/reference/model/SweepOptions.md +0 -116
- package/dist/docs/reference/model/SweepOrientation.md +0 -116
- package/dist/docs/reference/model/ThreadEndStyle.md +0 -15
- package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +0 -118
- package/dist/docs/reference/model/ThreadHandedness.md +0 -15
- package/dist/docs/reference/model/ThreadLeadInEnvelope.md +0 -15
- package/dist/docs/reference/model/ThreadLeadInShape.md +0 -15
- package/dist/docs/reference/model/ThreadProfile.md +0 -87
- package/dist/docs/reference/model/ThreadRidgeOptions.md +0 -19
- package/dist/docs/reference/model/ThreadedNutBevel.md +0 -15
- package/dist/docs/reference/model/ThreadedNutOptions.md +0 -274
- package/dist/docs/reference/model/ThreadedNutPreflight.md +0 -99
- package/dist/docs/reference/model/ThreadedNutShape.md +0 -15
- package/dist/docs/reference/model/ThreadedRodOptions.md +0 -246
- package/dist/docs/reference/model/TorusOptions.md +0 -110
- package/dist/docs/reference/model/Transform2-type.md +0 -257
- package/dist/docs/reference/model/Transform2Data.md +0 -16
- package/dist/docs/reference/model/Transform2Input.md +0 -21
- package/dist/docs/reference/model/Transform3-type.md +0 -297
- package/dist/docs/reference/model/Transform3Data.md +0 -19
- package/dist/docs/reference/model/Transform3Input.md +0 -21
- package/dist/docs/reference/model/TriangleMesh.md +0 -42
- package/dist/docs/reference/model/TriangleMeshAnalysis.md +0 -123
- package/dist/docs/reference/model/TriangleMeshMeasurements.md +0 -79
- package/dist/docs/reference/model/TubeOptions.md +0 -143
- package/dist/docs/reference/model/Vector2-type.md +0 -271
- package/dist/docs/reference/model/Vector2Data.md +0 -15
- package/dist/docs/reference/model/Vector2Input.md +0 -21
- package/dist/docs/reference/model/Vector3-type.md +0 -283
- package/dist/docs/reference/model/Vector3Data.md +0 -15
- package/dist/docs/reference/model/Vector3Input.md +0 -21
- package/dist/docs/reference/model/VectorTextLayout.md +0 -40
- package/dist/docs/reference/model/VectorTextMetrics.md +0 -100
- package/dist/docs/reference/model/anchor.md +0 -47
- package/dist/docs/reference/model/bounds2.md +0 -37
- package/dist/docs/reference/model/bounds3.md +0 -37
- package/dist/docs/reference/model/castSegment.md +0 -40
- package/dist/docs/reference/model/categories/bounds.md +0 -38
- package/dist/docs/reference/model/categories/contracts.md +0 -18
- package/dist/docs/reference/model/categories/core-values-errors.md +0 -30
- package/dist/docs/reference/model/categories/inspection.md +0 -29
- package/dist/docs/reference/model/categories/paths.md +0 -41
- package/dist/docs/reference/model/categories/resolution.md +0 -20
- 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/path2.md +0 -54
- package/dist/docs/reference/model/path3.md +0 -49
- package/dist/docs/reference/model/split.md +0 -54
- package/dist/docs/reference/model/splitByPlane.md +0 -66
- package/dist/docs/reference/model/transform2.md +0 -46
- package/dist/docs/reference/model/transform3.md +0 -48
- package/dist/docs/reference/model/vector2.md +0 -40
- package/dist/docs/reference/model/vector3.md +0 -47
- package/dist/docs/reference/text/Bounds2Data.md +0 -34
- package/dist/docs/reference/text/Vector2Data.md +0 -7
- package/dist/docs/reference/text/VectorTextArcBaseline.md +0 -53
- package/dist/docs/reference/text/VectorTextLayout.md +0 -34
- package/dist/docs/reference/text/VectorTextLayoutOptions.md +0 -111
- package/dist/docs/reference/text/VectorTextMetrics.md +0 -94
- package/dist/docs/reference/text/VectorTextOptions.md +0 -50
- package/dist/engine/export-3mf.js +0 -116
- package/dist/engine/model-dependencies.js +0 -46
- package/dist/engine/session-graph.js +0 -449
- package/dist/geometry/profiles/profiles.js +0 -71
- /package/dist/engine/{primitive-profile-types.js → operations/primitives/profile-types.js} +0 -0
- /package/dist/{engine → geometry/mesh}/mesh-view-cache.js +0 -0
- /package/dist/geometry/profiles/{matched.js → match-profiles.js} +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Primitives
|
|
2
2
|
|
|
3
|
-
Create
|
|
3
|
+
Create basic solids with explicit dimensions and tessellation.
|
|
4
4
|
|
|
5
5
|
All primitives use millimetres and one options object. Boxes, cylinders, and tubes are centered by default.
|
|
6
6
|
|
|
7
7
|
- **Dimensions:** `box` accepts a scalar or XYZ size. `cylinder` accepts exactly one radius or diameter, uniform or a bottom/top tuple along +Z. Radial sizing selects polygon vertices or compensated faces.
|
|
8
|
-
- **Treatments:** choose `{ kind: "round", radius }`, `{ kind: "chamfer", distance }`, `{ kind: "smooth", distance }`, or `{ kind: "profile", profile }`. Boxes support named edges; cylinders and straight
|
|
8
|
+
- **Treatments:** choose `{ kind: "round", radius }`, `{ kind: "chamfer", distance }`, `{ kind: "smooth", distance }`, or `{ kind: "profile", profile }`. Boxes support named edges; cylinders and straight extrusions support independent bottom/top treatments. Straight extrusion finishing admits concavity, holes, and disconnected components when every boundary survives without contact or collapse.
|
|
9
9
|
- **Placement:** `attachment` maps a named or explicit local anchor onto a world anchor after construction.
|
|
10
10
|
|
|
11
11
|
Use imported primitives inside generation:
|
|
@@ -15,7 +15,7 @@ import { box, cylinder, generate } from "@metamesh/modeling";
|
|
|
15
15
|
export default generate(({ part }) => {
|
|
16
16
|
const plate = box({ size: [30, 20, 6], treatment: { kind: "chamfer", distance: 0.5 } });
|
|
17
17
|
const bore = cylinder({ radius: 3, height: 8, sizing: "face" });
|
|
18
|
-
return [part("plate", plate.subtract(
|
|
18
|
+
return [part("plate", plate.subtract(bore))];
|
|
19
19
|
});
|
|
20
20
|
```
|
|
21
21
|
|
|
@@ -27,7 +27,7 @@ A zero round radius or zero chamfer/smooth setback leaves a feature untreated. S
|
|
|
27
27
|
| --- | --- |
|
|
28
28
|
| [box](../box.md) | Axis-aligned box with uniform or disjoint named edge/group treatments. |
|
|
29
29
|
| [cylinder](../cylinder.md) | +Z cylinder or frustum. Face sizing compensates polygon faceting. |
|
|
30
|
-
| [holeCutter](../holeCutter.md) | Declares a +Z hole or blind-pocket cutter with explicit end overrun in millimetres.
|
|
30
|
+
| [holeCutter](../holeCutter.md) | Declares a +Z hole or blind-pocket cutter with explicit end overrun in millimetres. |
|
|
31
31
|
| [sphere](../sphere.md) | Origin-centered sphere. |
|
|
32
32
|
| [torus](../torus.md) | Torus around +Z. |
|
|
33
33
|
| [tube](../tube.md) | Hollow +Z tube. |
|
|
@@ -37,17 +37,7 @@ A zero round radius or zero chamfer/smooth setback leaves a feature untreated. S
|
|
|
37
37
|
| API | Summary |
|
|
38
38
|
| --- | --- |
|
|
39
39
|
| [Solid](../Solid.md) | Immutable deferred solid recipe. |
|
|
40
|
-
| [BoxOptions](../BoxOptions.md) | Dimensions, placement, and uniform or independently selected finishing for an axis-aligned box. |
|
|
41
|
-
| [ChamferedEdgeTreatment](../ChamferedEdgeTreatment.md) | A planar edge or corner chamfer with equal or independent surface setbacks. |
|
|
42
|
-
| [CircularPrimitiveOptions](../CircularPrimitiveOptions.md) | Tessellation controls shared by circular primitives across Geometry entry points. |
|
|
43
40
|
| [HoleCutterOverrun](../HoleCutterOverrun.md) | Explicit extra cutter length outside the nominal Z=0..height interval, in millimetres. |
|
|
44
|
-
| [EndTreatments](../EndTreatments.md) | Independent inward finishing on primitive or straight convex extrusion ends. Zero amounts leave the end untreated, including when all ends are disabled. |
|
|
45
|
-
| [RadialSizingOptions](../RadialSizingOptions.md) | Nominal radial sizing shared by circular and regular polygon construction. |
|
|
46
|
-
| [RoundedEdgeTreatment](../RoundedEdgeTreatment.md) | A circular edge or corner roundover with explicit physical sampling. |
|
|
47
|
-
| [TorusOptions](../TorusOptions.md) | Dimensions and independent ring/profile tessellation for a torus around the Z axis. |
|
|
48
|
-
| [TubeOptions](../TubeOptions.md) | Dimensions, placement, and tessellation for a hollow Z-axis tube. |
|
|
49
|
-
| [SmoothEdgeTreatment](../SmoothEdgeTreatment.md) | A cubic corner transition with zero curvature at its straight tangent joins. |
|
|
50
|
-
| [ProfiledEdgeTreatment](../ProfiledEdgeTreatment.md) | A deliberately sampled, inward-only corner profile with exact polyline geometry. |
|
|
51
41
|
|
|
52
42
|
## Type aliases
|
|
53
43
|
|
|
@@ -55,17 +45,11 @@ A zero round radius or zero chamfer/smooth setback leaves a feature untreated. S
|
|
|
55
45
|
| --- | --- |
|
|
56
46
|
| [HoleCutterOptions](../HoleCutterOptions.md) | A deferred +Z hole or pocket cutter, with exactly one circular diameter or existing Section. Profile entry chamfers expand one strictly convex contour without holes by parallel-edge offsets; the supplied sampled boundary remains authoritative. Plain profile cutters accept any Section. Circular entry chamfers retain nominal circular/frustum radii under the selected radial sizing. |
|
|
57
47
|
| [HoleCutterRecess](../HoleCutterRecess.md) | Circular screw seating dimensions in millimetres; allowances belong to the caller. |
|
|
58
|
-
| [CylinderOptions](../CylinderOptions.md) | Dimensions, placement, independent end finishing, and tessellation for a Z-axis cylinder or frustum. |
|
|
59
|
-
| [EdgeTreatment](../EdgeTreatment.md) | Uniform finishing vocabulary shared by applicable solid edges and profile corners. |
|
|
60
|
-
| [RadialSizing](../RadialSizing.md) | Radial dimensions refer to polygon vertices or compensate faceting to meet polygon faces. |
|
|
61
|
-
| [SphereOptions](../SphereOptions.md) | Exactly one radius or diameter, placement, and tessellation for an origin-centered sphere. |
|
|
62
|
-
| [BoxEdge](../BoxEdge.md) | Box edges use +Z top, +Y front and +X right; vertical names list front/back first. |
|
|
63
|
-
| [BoxEdgeSelection](../BoxEdgeSelection.md) | Named individual edges or top/bottom rims and all four vertical edges. |
|
|
64
|
-
| [BoxEdgeTreatments](../BoxEdgeTreatments.md) | Independent treatments for disjoint named edge selections; overlapping selections fail. |
|
|
65
48
|
|
|
66
49
|
## Guides
|
|
67
50
|
|
|
68
|
-
- [Choose a primitive](../../../guides/
|
|
69
|
-
- [Treated boxes, frustums, and mirrored arrays](../../../guides/
|
|
51
|
+
- [Choose a primitive](../../../guides/profiles-and-extrusion.md#choose-a-primitive)
|
|
52
|
+
- [Treated boxes, frustums, and mirrored arrays](../../../guides/profiles-and-extrusion.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
53
|
+
- [Finish a profile with a hole](../../../guides/profiles-and-extrusion.md#finish-a-profile-with-a-hole)
|
|
70
54
|
|
|
71
|
-
Package: `@metamesh/modeling@0.
|
|
55
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Create immutable filled XY shapes, including prepared text and bounded painted SVG.
|
|
4
4
|
|
|
5
|
-
`Section` is an immutable filled XY shape with holes and disconnected components. `RegionData` is its serialized polygon data.
|
|
5
|
+
`Section` is an immutable filled XY shape with holes and disconnected components. `RegionData` is its serialized polygon data. You can construct and compose Sections without an engine; the host handles native evaluation.
|
|
6
6
|
|
|
7
7
|
- **Construct:** use `polygon(points)`, `polygon({ outer, holes })`, `polygon({ contours, fillRule })`, or `polygon({ polygons: data })`. Explicit topology validates boundaries and winding. Compound contours default to `nonzero` fill; select `evenodd` when needed.
|
|
8
8
|
- **Inspect:** call `section.toRegionData()` during synchronous host execution.
|
|
9
|
-
- **Build solids:** extrusion, revolution, and sweeps preserve filled topology. Compatible primitive Sections retain loft landmarks; arbitrary Sections
|
|
9
|
+
- **Build solids:** extrusion, revolution, and sweeps preserve filled topology. Compatible primitive Sections retain loft landmarks; arbitrary Sections use direct correspondence by default.
|
|
10
10
|
- **Add text:** `textSection` consumes a prepared `VectorTextLayout` without shaping again.
|
|
11
11
|
|
|
12
12
|
## Functions
|
|
@@ -29,29 +29,19 @@ Create immutable filled XY shapes, including prepared text and bounded painted S
|
|
|
29
29
|
| API | Summary |
|
|
30
30
|
| --- | --- |
|
|
31
31
|
| [Section](../Section.md) | Immutable deferred filled XY section recipe. |
|
|
32
|
-
| [StrokeOptions](../StrokeOptions.md) | Physical stroke and topology controls shared by pure regions and native Sections. |
|
|
33
|
-
| [RectangleContourOptions](../RectangleContourOptions.md) | Shared rectangle dimensions, origin and uniform or per-corner treatment. |
|
|
34
32
|
| [RectangleOptions](../RectangleOptions.md) | Rectangle dimensions, placement and uniform or per-corner treatment. |
|
|
35
33
|
| [SectionOffsetOptions](../SectionOffsetOptions.md) | Options controlling robust Clipper2 region offsets. |
|
|
36
34
|
| [StarOptions](../StarOptions.md) | Alternating outer and inner vertices, centered on the XY origin. |
|
|
37
35
|
| [SvgPathSectionOptions](../SvgPathSectionOptions.md) | Bounded filled SVG path sampling. Path scale converts user units to millimetres. |
|
|
38
36
|
| [SvgSectionOptions](../SvgSectionOptions.md) | Bounded SVG document sampling. Center origin uses the final painted bounds. |
|
|
39
37
|
| [TextSectionOptions](../TextSectionOptions.md) | Physical curve sampling applied to already prepared vector text. |
|
|
40
|
-
| [VectorTextLayout](../VectorTextLayout.md) | Immutable vector layout with no browser, font parser, or kernel ownership. |
|
|
41
|
-
| [VectorTextMetrics](../VectorTextMetrics.md) | Text measurements from the same immutable layout that supplies geometry and SVG outlines. |
|
|
42
38
|
|
|
43
39
|
## Type aliases
|
|
44
40
|
|
|
45
41
|
| API | Summary |
|
|
46
42
|
| --- | --- |
|
|
47
|
-
| [StrokeCap](../StrokeCap.md) | End-cap treatment for an open stroked path. |
|
|
48
|
-
| [StrokeJoin](../StrokeJoin.md) | Join treatment where adjacent stroked path segments meet. |
|
|
49
|
-
| [CircleContourOptions](../CircleContourOptions.md) | Circular profile dimensions with exactly one radius or diameter and explicit sampling. |
|
|
50
43
|
| [CircleOptions](../CircleOptions.md) | Circular dimensions with exactly one nominal radius or diameter. |
|
|
51
|
-
| [EllipseContourOptions](../EllipseContourOptions.md) | Ellipse dimensions with exactly one XY radii or full-size tuple and explicit sampling. |
|
|
52
44
|
| [EllipseOptions](../EllipseOptions.md) | Ellipse dimensions in local XY, with exactly one radii or full-size tuple. |
|
|
53
|
-
| [RectangleCornerTreatment](../RectangleCornerTreatment.md) | A rectangle corner, including an explicitly untreated corner in a treatment tuple. |
|
|
54
|
-
| [RectangleCornerTreatments](../RectangleCornerTreatments.md) | Corner treatments ordered top-right, top-left, bottom-left, bottom-right. |
|
|
55
45
|
| [RegularPolygonOptions](../RegularPolygonOptions.md) | Regular polygon dimensions, radial convention and degree rotation. |
|
|
56
46
|
| [SectionOffsetJoin](../SectionOffsetJoin.md) | Clipper2 join styles accepted by robust region offsets. |
|
|
57
47
|
| [PolygonOptions](../PolygonOptions.md) | Explicit polygon topology or compound contours; all closing edges are implicit. |
|
|
@@ -59,8 +49,8 @@ Create immutable filled XY shapes, including prepared text and bounded painted S
|
|
|
59
49
|
|
|
60
50
|
## Guides
|
|
61
51
|
|
|
62
|
-
- [Section, hole, offset, and extrusion](../../../guides/
|
|
63
|
-
- [SVG sections: fills and strokes are different inputs](../../../guides/
|
|
64
|
-
- [Text and font variability](../../../guides/
|
|
52
|
+
- [Section, hole, offset, and extrusion](../../../guides/profiles-and-extrusion.md#section-hole-offset-and-extrusion)
|
|
53
|
+
- [SVG sections: fills and strokes are different inputs](../../../guides/svg-and-text.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
54
|
+
- [Text and font variability](../../../guides/svg-and-text.md#text-and-font-variability)
|
|
65
55
|
|
|
66
|
-
Package: `@metamesh/modeling@0.
|
|
56
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -4,7 +4,7 @@ Construct compensated thread forms and inspect bounded preflight facts.
|
|
|
4
4
|
|
|
5
5
|
Thread pitch is adjacent axial spacing; lead is `pitch × starts`. Prepare shared dimensions once. Native rods, internal cutters, and nuts share printable fit and end-treatment options.
|
|
6
6
|
|
|
7
|
-
Constructors enforce safety automatically.
|
|
7
|
+
Constructors enforce safety automatically. Use optional preflight to estimate resources or validate individual controls before construction. These forms do not certify a structural rating or metrology class.
|
|
8
8
|
|
|
9
9
|
## Functions
|
|
10
10
|
|
|
@@ -18,36 +18,9 @@ Constructors enforce safety automatically. Optional preflight provides resource
|
|
|
18
18
|
| [threadedRod](../threadedRod.md) | Compensated external threaded rod. |
|
|
19
19
|
| [threadRidge](../threadRidge.md) | Helical ridge mesh construction. |
|
|
20
20
|
|
|
21
|
-
## Interfaces
|
|
22
|
-
|
|
23
|
-
| API | Summary |
|
|
24
|
-
| --- | --- |
|
|
25
|
-
| [HelicalThreadRidgeMeshOptions](../HelicalThreadRidgeMeshOptions.md) | Runtime-neutral options for the dedicated helical ridge mesher. |
|
|
26
|
-
| [HelicalThreadSolidMeshPreflight](../HelicalThreadSolidMeshPreflight.md) | Selected sampling counts and conservative allocation estimates, before thread mesh construction. |
|
|
27
|
-
| [InternalThreadCutterOptions](../InternalThreadCutterOptions.md) | Options for a compensated internal-thread subtraction tool along +Z. |
|
|
28
|
-
| [PrintableThreadFitPolicy](../PrintableThreadFitPolicy.md) | Explicit radial and axial allowances for a mating printed thread pair. |
|
|
29
|
-
| [ThreadedNutOptions](../ThreadedNutOptions.md) | Options for a compensated nut with an internal thread. |
|
|
30
|
-
| [ThreadedNutPreflight](../ThreadedNutPreflight.md) | Resolved body and end-face dimensions plus conservative allocation estimates for the thread cutter. |
|
|
31
|
-
| [ThreadedRodOptions](../ThreadedRodOptions.md) | Options for a compensated external threaded rod along +Z. |
|
|
32
|
-
| [ThreadEndTreatmentOptions](../ThreadEndTreatmentOptions.md) | Axial end controls for a generated ridge. |
|
|
33
|
-
| [ThreadProfile](../ThreadProfile.md) | A validated immutable periodic thread profile in `[axial, radial]` millimetres. |
|
|
34
|
-
|
|
35
|
-
## Type aliases
|
|
36
|
-
|
|
37
|
-
| API | Summary |
|
|
38
|
-
| --- | --- |
|
|
39
|
-
| [PrintableThreadFit](../PrintableThreadFit.md) | Named baseline fit policies for calibrated FDM-style printed threads. |
|
|
40
|
-
| [ThreadedNutBevel](../ThreadedNutBevel.md) | Nut-edge bevel selection. |
|
|
41
|
-
| [ThreadedNutShape](../ThreadedNutShape.md) | Supported printable nut body shapes. |
|
|
42
|
-
| [ThreadEndStyle](../ThreadEndStyle.md) | End shape of a generated helical ridge. |
|
|
43
|
-
| [ThreadHandedness](../ThreadHandedness.md) | Direction in which a conventional helical thread advances around +Z. |
|
|
44
|
-
| [ThreadLeadInEnvelope](../ThreadLeadInEnvelope.md) | Radial envelope toward which a blunt lead-in collapses. |
|
|
45
|
-
| [ThreadLeadInShape](../ThreadLeadInShape.md) | BOSL2-compatible cross-section scaling curve for a blunt thread lead-in. |
|
|
46
|
-
| [ThreadRidgeOptions](../ThreadRidgeOptions.md) | Parameters for a helical ridge before solid construction. |
|
|
47
|
-
|
|
48
21
|
## Guides
|
|
49
22
|
|
|
50
23
|
- [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
|
|
51
|
-
- [Preflight guarantees and host settings](../../../guides/
|
|
24
|
+
- [Preflight guarantees and host settings](../../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
52
25
|
|
|
53
|
-
Package: `@metamesh/modeling@0.
|
|
26
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Transforms, vectors, and placement
|
|
2
2
|
|
|
3
|
-
Calculate with immutable vectors, reuse transforms, and
|
|
3
|
+
Calculate with immutable vectors, reuse transforms, and position geometry.
|
|
4
4
|
|
|
5
5
|
Use `vector2`/`vector3` for immutable arithmetic and `transform2`/`transform3` for reusable placements. Tuples are accepted as operands; `dot()`, `length()`, and `distance()` return numbers. Shape `transform()` methods accept matching transforms directly.
|
|
6
6
|
|
|
@@ -15,51 +15,21 @@ Use `vector2`/`vector3` for immutable arithmetic and `transform2`/`transform3` f
|
|
|
15
15
|
|
|
16
16
|
| API | Summary |
|
|
17
17
|
| --- | --- |
|
|
18
|
-
| [transform2](../transform2.md) | Creates an immutable XY transform, identity by default. |
|
|
19
|
-
| [transform3](../transform3.md) | Creates an immutable XYZ transform, identity by default. |
|
|
20
|
-
| [vector2](../vector2.md) | Creates immutable XY arithmetic from a finite tuple or vector, snapshotting the coordinates. |
|
|
21
|
-
| [vector3](../vector3.md) | Creates immutable XYZ arithmetic from a finite tuple or vector, snapshotting the coordinates. |
|
|
22
|
-
| [anchor](../anchor.md) | Reads a copied, immutable named anchor from this exact active generation. |
|
|
23
18
|
| [gridPattern](../gridPattern.md) | XY or XYZ copies, optionally centered or placed in an explicit frame. |
|
|
24
19
|
| [linearPattern](../linearPattern.md) | Repeats one solid along a normalized direction. |
|
|
25
20
|
| [pathPattern](../pathPattern.md) | Physical arc-length copies along a sampled path, with optional tangent orientation. |
|
|
26
21
|
| [radialPattern](../radialPattern.md) | Repeats one solid about an axis. |
|
|
27
22
|
|
|
28
|
-
## Interfaces
|
|
29
|
-
|
|
30
|
-
| API | Summary |
|
|
31
|
-
| --- | --- |
|
|
32
|
-
| [Transform2](../Transform2-type.md) | Immutable reusable XY placement. Methods apply in written order; angles are degrees. |
|
|
33
|
-
| [Transform3](../Transform3-type.md) | Immutable reusable XYZ placement. Methods apply in written order; angles are degrees. |
|
|
34
|
-
| [Pivot2Options](../Pivot2Options.md) | A fixed XY point in world coordinates; omitted pivots use the coordinate origin. |
|
|
35
|
-
| [Pivot3Options](../Pivot3Options.md) | A fixed XYZ point in world coordinates; omitted pivots use the coordinate origin. |
|
|
36
|
-
| [Vector2](../Vector2-type.md) | Immutable XY arithmetic; vector operations return new values and measurements return numbers. |
|
|
37
|
-
| [Vector3](../Vector3-type.md) | Immutable XYZ arithmetic; vector operations return new values and measurements return numbers. |
|
|
38
|
-
| [Anchor3](../Anchor3.md) | An attachment pose on a solid or assembly. |
|
|
39
|
-
| [AttachOptions](../AttachOptions.md) | Options controlling how one anchor is attached to another. |
|
|
40
|
-
| [PathPatternOptions](../PathPatternOptions.md) | Equal physical arc-length placements along an open or implicitly closed sampled path. |
|
|
41
|
-
| [PrimitiveAttachment](../PrimitiveAttachment.md) | Anchor attachment shared by solid and filled-section factories. |
|
|
42
|
-
| [PrimitiveAttachmentOptions](../PrimitiveAttachmentOptions.md) | Maps an explicit or named shape-local attachment anchor onto a world-space anchor. |
|
|
43
|
-
|
|
44
23
|
## Type aliases
|
|
45
24
|
|
|
46
25
|
| API | Summary |
|
|
47
26
|
| --- | --- |
|
|
48
|
-
| [Transform2Input](../Transform2Input.md) | An immutable XY transform or its canonical row-major matrix for interchange. |
|
|
49
|
-
| [Transform3Input](../Transform3Input.md) | An immutable XYZ transform or its canonical row-major matrix for interchange. |
|
|
50
|
-
| [Vector2Input](../Vector2Input.md) | An XY tuple or immutable fluent vector accepted by vector operations. |
|
|
51
|
-
| [Vector3Input](../Vector3Input.md) | An XYZ tuple or immutable fluent vector accepted by vector operations. |
|
|
52
|
-
| [GridPatternOptions](../GridPatternOptions.md) | XY or XYZ grid with X varying fastest. The first item starts at the local origin. Dimension 2 restricts counts and spacing to XY; any frame must preserve the XY plane. |
|
|
53
|
-
| [LinearPatternOptions](../LinearPatternOptions.md) | Equal linear intervals determined by exactly two of count, spacing and total length. Dimension defaults to 3; Section patterns use 2 and accept XY vector directions. |
|
|
54
27
|
| [PatternSource](../PatternSource.md) | One immutable shape, or a synchronous factory called once per copy in index order. |
|
|
55
|
-
| [RadialPatternOptions](../RadialPatternOptions.md) | Degree rotations about a fixed world-space pivot; XY patterns use the implicit +Z axis. |
|
|
56
|
-
| [Transform2Data](../Transform2Data.md) | A row-major affine 3x3 XY matrix applied to column vectors. Translation occupies indices 2 and 5; the final row is `[0, 0, 1]`. |
|
|
57
|
-
| [Transform3Data](../Transform3Data.md) | A row-major affine 4x4 matrix applied to column vectors. |
|
|
58
28
|
|
|
59
29
|
## Guides
|
|
60
30
|
|
|
61
|
-
- [Named anchors and custom frames](../../../guides/
|
|
62
|
-
- [Primitive booleans and repeated placement](../../../guides/
|
|
63
|
-
- [Fluent values and standalone algorithms](../../../guides/
|
|
31
|
+
- [Named anchors and custom frames](../../../guides/transforms-and-placement.md#named-anchors-and-custom-frames)
|
|
32
|
+
- [Primitive booleans and repeated placement](../../../guides/transforms-and-placement.md#primitive-booleans-and-repeated-placement)
|
|
33
|
+
- [Fluent values and standalone algorithms](../../../guides/geometry-values.md#choose-fluent-values-or-standalone-algorithms)
|
|
64
34
|
|
|
65
|
-
Package: `@metamesh/modeling@0.
|
|
35
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -32,8 +32,14 @@ circle({ diameter: 12, sizing: "face" });
|
|
|
32
32
|
|
|
33
33
|
## Guides
|
|
34
34
|
|
|
35
|
-
- [Section, hole, offset, and extrusion](../../guides/
|
|
36
|
-
- [SVG sections: fills and strokes are different inputs](../../guides/
|
|
37
|
-
- [Text and font variability](../../guides/
|
|
35
|
+
- [Section, hole, offset, and extrusion](../../guides/profiles-and-extrusion.md#section-hole-offset-and-extrusion)
|
|
36
|
+
- [SVG sections: fills and strokes are different inputs](../../guides/svg-and-text.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
37
|
+
- [Text and font variability](../../guides/svg-and-text.md#text-and-font-variability)
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
## Supported imports
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
import { circle } from "@metamesh/modeling";
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
+Z cylinder or frustum. Face sizing compensates polygon faceting.
|
|
4
4
|
|
|
5
|
-
**cylinder**(`options`: [`CylinderOptions`](CylinderOptions.md)): [`Solid`](Solid.md)
|
|
5
|
+
**cylinder**(`options`: [`CylinderOptions`](../geometry/CylinderOptions.md)): [`Solid`](Solid.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -30,7 +30,7 @@ cylinder({ height: 20, radius: [10, 0] });
|
|
|
30
30
|
|
|
31
31
|
<a id="options"></a>
|
|
32
32
|
|
|
33
|
-
**`options`** · [`CylinderOptions`](CylinderOptions.md) · Required
|
|
33
|
+
**`options`** · [`CylinderOptions`](../geometry/CylinderOptions.md) · Required
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
|
|
@@ -41,12 +41,19 @@ cylinder({ height: 20, radius: [10, 0] });
|
|
|
41
41
|
|
|
42
42
|
## Related APIs
|
|
43
43
|
|
|
44
|
-
- [CylinderOptions](CylinderOptions.md)
|
|
44
|
+
- [CylinderOptions](../geometry/CylinderOptions.md)
|
|
45
45
|
- [Solid](Solid.md)
|
|
46
46
|
|
|
47
47
|
## Guides
|
|
48
48
|
|
|
49
|
-
- [Choose a primitive](../../guides/
|
|
50
|
-
- [Treated boxes, frustums, and mirrored arrays](../../guides/
|
|
49
|
+
- [Choose a primitive](../../guides/profiles-and-extrusion.md#choose-a-primitive)
|
|
50
|
+
- [Treated boxes, frustums, and mirrored arrays](../../guides/profiles-and-extrusion.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
51
|
+
- [Finish a profile with a hole](../../guides/profiles-and-extrusion.md#finish-a-profile-with-a-hole)
|
|
51
52
|
|
|
52
|
-
|
|
53
|
+
## Supported imports
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
import { cylinder } from "@metamesh/modeling";
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -32,8 +32,14 @@ ellipse({ size: [30, 20] });
|
|
|
32
32
|
|
|
33
33
|
## Guides
|
|
34
34
|
|
|
35
|
-
- [Section, hole, offset, and extrusion](../../guides/
|
|
36
|
-
- [SVG sections: fills and strokes are different inputs](../../guides/
|
|
37
|
-
- [Text and font variability](../../guides/
|
|
35
|
+
- [Section, hole, offset, and extrusion](../../guides/profiles-and-extrusion.md#section-hole-offset-and-extrusion)
|
|
36
|
+
- [SVG sections: fills and strokes are different inputs](../../guides/svg-and-text.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
37
|
+
- [Text and font variability](../../guides/svg-and-text.md#text-and-font-variability)
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
## Supported imports
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
import { ellipse } from "@metamesh/modeling";
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# extrude
|
|
2
2
|
|
|
3
|
-
Extrudes explicit corresponding contours along +Z with degree twist and top scaling.
|
|
3
|
+
Extrudes a filled Section or explicit corresponding contours along +Z with degree twist and top scaling. Use `section.extrude(options)` in fluent sequences, or this function for generic profile inputs.
|
|
4
4
|
|
|
5
|
-
**extrude**(`shape`: [`CorrespondingProfile`](CorrespondingProfile.md), `options`: [`ExtrudeOptions`](ExtrudeOptions.md)): [`Solid`](Solid.md)
|
|
5
|
+
**extrude**(`shape`: [`Section`](Section.md) \| [`CorrespondingProfile`](../geometry/CorrespondingProfile.md), `options`: [`ExtrudeOptions`](../geometry/ExtrudeOptions.md)): [`Solid`](Solid.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -20,43 +20,43 @@ extrude(profile!, { height: 8 });
|
|
|
20
20
|
|
|
21
21
|
<a id="shape"></a>
|
|
22
22
|
|
|
23
|
-
**`shape`** · [`CorrespondingProfile`](CorrespondingProfile.md) · Required
|
|
23
|
+
**`shape`** · [`Section`](Section.md) \| [`CorrespondingProfile`](../geometry/CorrespondingProfile.md) · Required
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
<a id="options"></a>
|
|
28
28
|
|
|
29
|
-
**`options`** · [`ExtrudeOptions`](ExtrudeOptions.md) · Required
|
|
29
|
+
**`options`** · [`ExtrudeOptions`](../geometry/ExtrudeOptions.md) · Required
|
|
30
30
|
|
|
31
|
-
- [`height`](ExtrudeOptions.md#height) · `number` · Required
|
|
31
|
+
- [`height`](../geometry/ExtrudeOptions.md#height) · `number` · Required
|
|
32
32
|
|
|
33
33
|
Positive extrusion height in millimetres.
|
|
34
34
|
|
|
35
|
-
- [`center`](ExtrudeOptions.md#center) · `boolean` · Optional
|
|
35
|
+
- [`center`](../geometry/ExtrudeOptions.md#center) · `boolean` · Optional
|
|
36
36
|
|
|
37
37
|
Center the extrusion on Z; otherwise its bottom is at zero. Defaults to false.
|
|
38
38
|
|
|
39
|
-
- [`ends`](ExtrudeOptions.md#ends) · [`EndTreatments`](EndTreatments.md) · Optional
|
|
39
|
+
- [`ends`](../geometry/ExtrudeOptions.md#ends) · [`EndTreatments`](../geometry/EndTreatments.md) · Optional
|
|
40
40
|
|
|
41
|
-
Independent inward
|
|
41
|
+
Independent inward treatments on every material rim of a straight, topology-preserving extrusion.
|
|
42
42
|
|
|
43
|
-
- [`divisions`](ExtrudeOptions.md#divisions) · `number` · Optional
|
|
43
|
+
- [`divisions`](../geometry/ExtrudeOptions.md#divisions) · `number` · Optional
|
|
44
44
|
|
|
45
45
|
Exact number of intermediate profiles, nonnegative; overrides physical sampling.
|
|
46
46
|
|
|
47
|
-
- [`limits`](ExtrudeOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
|
|
47
|
+
- [`limits`](../geometry/ExtrudeOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
|
|
48
48
|
|
|
49
49
|
Explicit output and sampling allocation ceilings.
|
|
50
50
|
|
|
51
|
-
- [`resolution`](ExtrudeOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
51
|
+
- [`resolution`](../geometry/ExtrudeOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
|
|
52
52
|
|
|
53
53
|
Operation-level physical policy over the nearest model scope.
|
|
54
54
|
|
|
55
|
-
- [`scaleTop`](ExtrudeOptions.md#scaletop) · `number` \| [`Vector2Input`](Vector2Input.md) · Optional
|
|
55
|
+
- [`scaleTop`](../geometry/ExtrudeOptions.md#scaletop) · `number` \| [`Vector2Input`](../geometry/Vector2Input.md) · Optional
|
|
56
56
|
|
|
57
57
|
Finite uniform or XY scale of the top profile; defaults to one.
|
|
58
58
|
|
|
59
|
-
- [`twist`](ExtrudeOptions.md#twist) · `number` · Optional
|
|
59
|
+
- [`twist`](../geometry/ExtrudeOptions.md#twist) · `number` · Optional
|
|
60
60
|
|
|
61
61
|
Finite rotation of the top profile about +Z, in degrees; defaults to zero.
|
|
62
62
|
|
|
@@ -69,15 +69,23 @@ extrude(profile!, { height: 8 });
|
|
|
69
69
|
|
|
70
70
|
## Related APIs
|
|
71
71
|
|
|
72
|
-
- [CorrespondingProfile](CorrespondingProfile.md)
|
|
73
|
-
- [ExtrudeOptions](ExtrudeOptions.md)
|
|
72
|
+
- [CorrespondingProfile](../geometry/CorrespondingProfile.md)
|
|
73
|
+
- [ExtrudeOptions](../geometry/ExtrudeOptions.md)
|
|
74
|
+
- [Section](Section.md)
|
|
74
75
|
- [Solid](Solid.md)
|
|
75
76
|
|
|
76
77
|
## Guides
|
|
77
78
|
|
|
78
|
-
- [
|
|
79
|
-
- [
|
|
80
|
-
- [
|
|
81
|
-
- [
|
|
79
|
+
- [Finish a profile with a hole](../../guides/profiles-and-extrusion.md#finish-a-profile-with-a-hole)
|
|
80
|
+
- [Revolve a radial profile](../../guides/profiles-and-extrusion.md#revolve-a-radial-profile)
|
|
81
|
+
- [Rotation-minimizing path sweep](../../guides/sweeps-and-lofts.md#rotation-minimizing-path-sweep)
|
|
82
|
+
- [Matched-section loft](../../guides/sweeps-and-lofts.md#matched-section-loft)
|
|
83
|
+
- [Choose a modeling path](../../guides/recipes.md#choose-a-technique)
|
|
82
84
|
|
|
83
|
-
|
|
85
|
+
## Supported imports
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
import { extrude } from "@metamesh/modeling";
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# generate
|
|
2
2
|
|
|
3
|
-
Defines a typed model without executing it. Use `
|
|
3
|
+
Defines a typed model without executing it. Parameters are an object map of capturable data; runtime capture rejects arrays at the root, ordinary class instances, mutable buffers, and functions. Supply live capabilities through services. Use `memo` only for work worth reusing.
|
|
4
4
|
|
|
5
|
-
**generate**\<`P`, `S` = `Record`\<`never`, `never`\>\>(`callback`: [`GenerateCallback`](GenerateCallback.md)\<`P`, `S`\>): [`ModelProgram`](ModelProgram.md)\<`P`, `S`\>
|
|
5
|
+
**generate**\<`P` *extends* `object`, `S` = `Record`\<`never`, `never`\>\>(`callback`: [`GenerateCallback`](GenerateCallback.md)\<`P`, `S`\>): [`ModelProgram`](ModelProgram.md)\<`P`, `S`\>
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -19,7 +19,7 @@ const model = generate<{ height: number }>(({ params, part, assert }) => {
|
|
|
19
19
|
|
|
20
20
|
### P
|
|
21
21
|
|
|
22
|
-
`P`
|
|
22
|
+
`P` *extends* `object`
|
|
23
23
|
|
|
24
24
|
### S
|
|
25
25
|
|
|
@@ -47,4 +47,10 @@ const model = generate<{ height: number }>(({ params, part, assert }) => {
|
|
|
47
47
|
|
|
48
48
|
- [Complete standalone model example](../../guides/standalone-model.md#minimal-model-entry)
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
## Supported imports
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
import { generate } from "@metamesh/modeling";
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -6,7 +6,7 @@ XY or XYZ copies, optionally centered or placed in an explicit frame.
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
**gridPattern**(`source`: [`PatternSource`](PatternSource.md), `options`: [`GridPatternOptions`](GridPatternOptions.md)): readonly [`Solid`](Solid.md)[]
|
|
9
|
+
**gridPattern**(`source`: [`PatternSource`](PatternSource.md), `options`: [`GridPatternOptions`](../geometry/GridPatternOptions.md)): readonly [`Solid`](Solid.md)[]
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
@@ -28,7 +28,7 @@ XY or XYZ copies, optionally centered or placed in an explicit frame.
|
|
|
28
28
|
|
|
29
29
|
<a id="options"></a>
|
|
30
30
|
|
|
31
|
-
**`options`** · [`GridPatternOptions`](GridPatternOptions.md) · Required
|
|
31
|
+
**`options`** · [`GridPatternOptions`](../geometry/GridPatternOptions.md) · Required
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
|
|
@@ -40,7 +40,7 @@ readonly [`Solid`](Solid.md)[]
|
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
|
|
43
|
-
**gridPattern**(`source`: [`PatternSource`](PatternSource.md)\<[`Section`](Section.md)\>, `options`: [`GridPatternOptions`](GridPatternOptions.md)\<`2`\>): readonly [`Section`](Section.md)[]
|
|
43
|
+
**gridPattern**(`source`: [`PatternSource`](PatternSource.md)\<[`Section`](Section.md)\>, `options`: [`GridPatternOptions`](../geometry/GridPatternOptions.md)\<`2`\>): readonly [`Section`](Section.md)[]
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
|
|
@@ -56,7 +56,7 @@ Repeats a filled Section on an XY grid; any explicit frame must preserve the XY
|
|
|
56
56
|
|
|
57
57
|
<a id="options-1"></a>
|
|
58
58
|
|
|
59
|
-
**`options`** · [`GridPatternOptions`](GridPatternOptions.md)\<`2`\> · Required
|
|
59
|
+
**`options`** · [`GridPatternOptions`](../geometry/GridPatternOptions.md)\<`2`\> · Required
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
|
|
@@ -67,15 +67,21 @@ readonly [`Section`](Section.md)[]
|
|
|
67
67
|
|
|
68
68
|
## Related APIs
|
|
69
69
|
|
|
70
|
-
- [GridPatternOptions](GridPatternOptions.md)
|
|
70
|
+
- [GridPatternOptions](../geometry/GridPatternOptions.md)
|
|
71
71
|
- [PatternSource](PatternSource.md)
|
|
72
72
|
- [Section](Section.md)
|
|
73
73
|
- [Solid](Solid.md)
|
|
74
74
|
|
|
75
75
|
## Guides
|
|
76
76
|
|
|
77
|
-
- [Named anchors and custom frames](../../guides/
|
|
78
|
-
- [Primitive booleans and repeated placement](../../guides/
|
|
79
|
-
- [Fluent values and standalone algorithms](../../guides/
|
|
77
|
+
- [Named anchors and custom frames](../../guides/transforms-and-placement.md#named-anchors-and-custom-frames)
|
|
78
|
+
- [Primitive booleans and repeated placement](../../guides/transforms-and-placement.md#primitive-booleans-and-repeated-placement)
|
|
79
|
+
- [Fluent values and standalone algorithms](../../guides/geometry-values.md#choose-fluent-values-or-standalone-algorithms)
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
## Supported imports
|
|
82
|
+
|
|
83
|
+
```ts
|
|
84
|
+
import { gridPattern } from "@metamesh/modeling";
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Closed rectilinear top above a flat base, with uniform or explicit XY coordinates.
|
|
4
4
|
|
|
5
|
-
**heightfield**(`options`: [`HeightfieldOptions`](HeightfieldOptions.md)): [`Solid`](Solid.md)
|
|
5
|
+
**heightfield**(`options`: [`HeightfieldOptions`](../geometry/HeightfieldOptions.md)): [`Solid`](Solid.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -26,7 +26,7 @@ The retained callback must capture independent immutable inputs, not live sessio
|
|
|
26
26
|
|
|
27
27
|
<a id="options"></a>
|
|
28
28
|
|
|
29
|
-
**`options`** · [`HeightfieldOptions`](HeightfieldOptions.md) · Required
|
|
29
|
+
**`options`** · [`HeightfieldOptions`](../geometry/HeightfieldOptions.md) · Required
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
|
|
@@ -37,7 +37,13 @@ The retained callback must capture independent immutable inputs, not live sessio
|
|
|
37
37
|
|
|
38
38
|
## Related APIs
|
|
39
39
|
|
|
40
|
-
- [HeightfieldOptions](HeightfieldOptions.md)
|
|
40
|
+
- [HeightfieldOptions](../geometry/HeightfieldOptions.md)
|
|
41
41
|
- [Solid](Solid.md)
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
## Supported imports
|
|
44
|
+
|
|
45
|
+
```ts
|
|
46
|
+
import { heightfield } from "@metamesh/modeling";
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# holeCutter
|
|
2
2
|
|
|
3
|
-
Declares a +Z hole or blind-pocket cutter with explicit end overrun in millimetres.
|
|
3
|
+
Declares a +Z hole or blind-pocket cutter with explicit end overrun in millimetres.
|
|
4
4
|
|
|
5
5
|
**holeCutter**(`options`: [`HoleCutterOptions`](HoleCutterOptions.md)): [`Solid`](Solid.md)
|
|
6
6
|
|
|
@@ -31,6 +31,16 @@ holeCutter({
|
|
|
31
31
|
|
|
32
32
|
[`Solid`](Solid.md)
|
|
33
33
|
|
|
34
|
+
## Remarks
|
|
35
|
+
|
|
36
|
+
Choose exactly one circular diameter or existing Section. A 45-degree entry chamfer
|
|
37
|
+
supports one strictly convex contour without holes; plain profiles may have any topology.
|
|
38
|
+
Circular entries retain nominal frustum radii; profile entries offset the supplied polygon edges.
|
|
39
|
+
Circular head recesses are mutually exclusive with entryChamfer. Both overrun ends default
|
|
40
|
+
to zero, so the nominal bottom remains at Z=0 and blind pocket floors are preserved.
|
|
41
|
+
Existing Section samples are authoritative; limits and unspecified circular sampling belong
|
|
42
|
+
to the evaluating host.
|
|
43
|
+
|
|
34
44
|
|
|
35
45
|
## Related APIs
|
|
36
46
|
|
|
@@ -39,7 +49,14 @@ holeCutter({
|
|
|
39
49
|
|
|
40
50
|
## Guides
|
|
41
51
|
|
|
42
|
-
- [Choose a primitive](../../guides/
|
|
43
|
-
- [Treated boxes, frustums, and mirrored arrays](../../guides/
|
|
52
|
+
- [Choose a primitive](../../guides/profiles-and-extrusion.md#choose-a-primitive)
|
|
53
|
+
- [Treated boxes, frustums, and mirrored arrays](../../guides/profiles-and-extrusion.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
54
|
+
- [Finish a profile with a hole](../../guides/profiles-and-extrusion.md#finish-a-profile-with-a-hole)
|
|
55
|
+
|
|
56
|
+
## Supported imports
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
import { holeCutter } from "@metamesh/modeling";
|
|
60
|
+
```
|
|
44
61
|
|
|
45
|
-
Package: `@metamesh/modeling@0.
|
|
62
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -69,6 +69,13 @@ Convex filled XY hull of finite points or filled section recipes.
|
|
|
69
69
|
## Guides
|
|
70
70
|
|
|
71
71
|
- [Choose the Boolean by the material you want](../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
|
|
72
|
-
- [Primitive booleans and repeated placement](../../guides/
|
|
72
|
+
- [Primitive booleans and repeated placement](../../guides/transforms-and-placement.md#primitive-booleans-and-repeated-placement)
|
|
73
|
+
- [Join an independently modeled feature](../../guides/solid-joins.md#join-an-independently-modeled-feature)
|
|
73
74
|
|
|
74
|
-
|
|
75
|
+
## Supported imports
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
import { hull } from "@metamesh/modeling";
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Package: `@metamesh/modeling@0.19.0`.
|