brepjs 18.6.1 → 18.14.3
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/README.md +6 -0
- package/dist/{sketching/sketcher2d.d.ts → 2d/blueprints/baseSketcher2d.d.ts} +4 -91
- package/dist/2d/blueprints/blueprint.d.ts +0 -1
- package/dist/2d/blueprints/blueprintApproximations.d.ts +0 -1
- package/dist/2d/blueprints/blueprintCustomCorners.d.ts +0 -1
- package/dist/2d/blueprints/blueprintFns.d.ts +0 -1
- package/dist/2d/blueprints/blueprintOffset.d.ts +0 -1
- package/dist/2d/blueprints/blueprintSketcher.d.ts +29 -0
- package/dist/2d/blueprints/blueprints.d.ts +0 -1
- package/dist/2d/blueprints/boolean2D.d.ts +0 -1
- package/dist/2d/blueprints/booleanHelpers.d.ts +0 -1
- package/dist/2d/blueprints/booleanOperations.d.ts +0 -1
- package/dist/2d/blueprints/cannedBlueprints.d.ts +0 -1
- package/dist/2d/blueprints/compoundBlueprint.d.ts +0 -1
- package/dist/{sketching → 2d/blueprints}/ellipseUtils.d.ts +19 -2
- package/dist/{sketching/sketcherlib.d.ts → 2d/blueprints/genericSketcher.d.ts} +1 -20
- package/dist/2d/blueprints/index.d.ts +0 -1
- package/dist/2d/blueprints/intersectionSegments.d.ts +0 -1
- package/dist/2d/blueprints/lib.d.ts +0 -1
- package/dist/2d/blueprints/segmentAssembly.d.ts +0 -1
- package/dist/2d/blueprints/svg.d.ts +0 -1
- package/dist/2d/curve2dGeometryFns.d.ts +0 -1
- package/dist/2d/curves.d.ts +0 -1
- package/dist/2d/lib/approximations.d.ts +0 -1
- package/dist/2d/lib/boundingBox2d.d.ts +0 -1
- package/dist/2d/lib/curve2D.d.ts +0 -1
- package/dist/2d/lib/curve2dFns.d.ts +0 -1
- package/dist/2d/lib/customCorners.d.ts +0 -1
- package/dist/2d/lib/definitions.d.ts +0 -1
- package/dist/2d/lib/index.d.ts +0 -1
- package/dist/2d/lib/intersections.d.ts +0 -1
- package/dist/2d/lib/makeCurves.d.ts +0 -1
- package/dist/2d/lib/offset.d.ts +0 -1
- package/dist/2d/lib/precision.d.ts +0 -1
- package/dist/2d/lib/stitching.d.ts +0 -1
- package/dist/2d/lib/svgPath.d.ts +0 -1
- package/dist/2d/lib/utils.d.ts +0 -1
- package/dist/2d/lib/vectorOperations.d.ts +0 -1
- package/dist/2d.cjs +19 -18
- package/dist/2d.d.ts +0 -1
- package/dist/2d.js +6 -5
- package/dist/{blueprint-C5LxqHCa.cjs → blueprint-B8ogGJiQ.cjs} +6 -6
- package/dist/{blueprint-CBairprN.js → blueprint-Dv45Evnu.js} +6 -6
- package/dist/{blueprintFns-CwbDuLxf.cjs → blueprintFns-BK3FYYjO.cjs} +3 -3
- package/dist/{blueprintFns-D8ST0Cf4.js → blueprintFns-a9C2g8_E.js} +2 -2
- package/dist/{boolean2D-DxZ3Kwlq.cjs → blueprintSketcher-Bei866Bt.cjs} +53 -1373
- package/dist/{boolean2D-A5u9tJYl.js → blueprintSketcher-xDsl9GXO.js} +59 -1307
- package/dist/boolean2D-DGuiEJHA.cjs +902 -0
- package/dist/boolean2D-Z7P0c012.js +855 -0
- package/dist/{booleanFns-DjZF4MJ5.js → booleanFns-CRa80qMX.js} +5 -5
- package/dist/{booleanFns-DWQMtFDN.cjs → booleanFns-qmgMQyDl.cjs} +8 -8
- package/dist/brepjs.cjs +742 -92
- package/dist/brepjs.js +662 -22
- package/dist/cameraFns-1y1NyACI.cjs +315 -0
- package/dist/cameraFns-CUzI5RKS.js +274 -0
- package/dist/core/constants.d.ts +0 -1
- package/dist/core/curve2dHandle.d.ts +0 -1
- package/dist/core/dimensionTypes.d.ts +0 -1
- package/dist/core/disposal.d.ts +0 -1
- package/dist/core/errors.d.ts +0 -1
- package/dist/core/kernelBoundary.d.ts +0 -1
- package/dist/core/kernelCall.d.ts +0 -1
- package/dist/core/kernelErrorTranslation.d.ts +0 -1
- package/dist/core/planeOps.d.ts +0 -1
- package/dist/core/planeTypes.d.ts +0 -1
- package/dist/core/result.d.ts +0 -1
- package/dist/core/shapeTypeCache.d.ts +0 -1
- package/dist/core/shapeTypes.d.ts +0 -1
- package/dist/core/typeDiscriminants.d.ts +0 -1
- package/dist/core/types.d.ts +0 -1
- package/dist/core/validityTypes.d.ts +0 -1
- package/dist/core/vecOps.d.ts +0 -1
- package/dist/core.cjs +1 -1
- package/dist/core.d.ts +0 -1
- package/dist/core.js +1 -1
- package/dist/{cornerFinder-B2CpcVV9.cjs → cornerFinder-CC8EBRCR.cjs} +2 -2
- package/dist/{cornerFinder-DGvOt2ab.js → cornerFinder-Dix2ghke.js} +2 -2
- package/dist/{curveFns-DZYE3BGO.js → curveFns-B4tWuinR.js} +1 -1
- package/dist/{curveFns-B8KJKr8-.cjs → curveFns-CD20-4fM.cjs} +1 -1
- package/dist/{drawFns-Bl865kUL.js → drawFns-BsarLfUN.js} +155 -762
- package/dist/{drawFns-h8gJBx-H.cjs → drawFns-LlOZoFyp.cjs} +193 -976
- package/dist/{extrudeFns-O2s-SFf-.js → extrudeFns-7pE8dIWz.js} +1 -1
- package/dist/{extrudeFns-BlJKAnW8.cjs → extrudeFns-DD36mWKv.cjs} +1 -1
- package/dist/faceFns-BFWz17_E.js +218 -0
- package/dist/faceFns-DP7i60yJ.cjs +343 -0
- package/dist/gear/gearFns.d.ts +129 -0
- package/dist/gear/gearMath.d.ts +88 -0
- package/dist/gear/gearProfile.d.ts +16 -0
- package/dist/gear/index.d.ts +3 -0
- package/dist/{helpers-C3smxDtp.cjs → helpers-Cyj6gaqy.cjs} +11 -10
- package/dist/{helpers-DL1f3xp0.js → helpers-vV2ONZwD.js} +6 -5
- package/dist/{historyFns-CD9qXw5j.js → historyFns-DGb61ETW.js} +4 -4
- package/dist/{historyFns-DBdWeo7Y.cjs → historyFns-DfyrPjnK.cjs} +4 -4
- package/dist/{importFns-5tcN3-fK.cjs → importFns-C-p0vl_h.cjs} +3 -3
- package/dist/{importFns-B1p3FiGS.js → importFns-Ci-L2iB3.js} +3 -3
- package/dist/index.d.ts +16 -8
- package/dist/io/dxfExportFns.d.ts +0 -1
- package/dist/io/dxfImportFns.d.ts +0 -1
- package/dist/io/gltfExportFns.d.ts +0 -1
- package/dist/io/gltfImportFns.d.ts +0 -1
- package/dist/io/importFns.d.ts +0 -1
- package/dist/io/ioUtils.d.ts +0 -1
- package/dist/io/objExportFns.d.ts +0 -1
- package/dist/io/objImportFns.d.ts +0 -1
- package/dist/io/stepConfigFns.d.ts +0 -1
- package/dist/io/svgImportFns.d.ts +0 -1
- package/dist/io/threemfExportFns.d.ts +0 -1
- package/dist/io/threemfImportFns.d.ts +0 -1
- package/dist/io.cjs +2 -2
- package/dist/io.d.ts +0 -1
- package/dist/io.js +2 -2
- package/dist/kernel/brepkit/booleanOps.d.ts +23 -1
- package/dist/kernel/brepkit/brepkitAdapter.d.ts +21 -408
- package/dist/kernel/brepkit/brepkitWasmTypes.d.ts +0 -1
- package/dist/kernel/brepkit/constructionOps.d.ts +51 -1
- package/dist/kernel/brepkit/evolutionOps.d.ts +34 -3
- package/dist/kernel/brepkit/geometryOps.d.ts +63 -2
- package/dist/kernel/brepkit/helpers.d.ts +6 -1
- package/dist/kernel/brepkit/internalOps.d.ts +0 -1
- package/dist/kernel/brepkit/ioOps.d.ts +47 -9
- package/dist/kernel/brepkit/kernel2dOps.d.ts +113 -1
- package/dist/kernel/brepkit/measureOps.d.ts +39 -1
- package/dist/kernel/brepkit/meshOps.d.ts +7 -1
- package/dist/kernel/brepkit/modifierOps.d.ts +15 -1
- package/dist/kernel/brepkit/repairOps.d.ts +14 -1
- package/dist/kernel/brepkit/sketchOps.d.ts +3 -1
- package/dist/kernel/brepkit/sweepOps.d.ts +37 -1
- package/dist/kernel/brepkit/topologyOps.d.ts +16 -1
- package/dist/kernel/brepkit/transformOps.d.ts +18 -1
- package/dist/kernel/geometry2d.d.ts +0 -1
- package/dist/kernel/index.d.ts +0 -1
- package/dist/kernel/interfaces/booleanOps.d.ts +0 -1
- package/dist/kernel/interfaces/builderOps.d.ts +0 -1
- package/dist/kernel/interfaces/core.d.ts +0 -1
- package/dist/kernel/interfaces/curveOps.d.ts +0 -1
- package/dist/kernel/interfaces/evolutionOps.d.ts +0 -1
- package/dist/kernel/interfaces/index.d.ts +0 -1
- package/dist/kernel/interfaces/ioOps.d.ts +0 -1
- package/dist/kernel/interfaces/measureOps.d.ts +0 -1
- package/dist/kernel/interfaces/meshOps.d.ts +0 -1
- package/dist/kernel/interfaces/modifierOps.d.ts +0 -1
- package/dist/kernel/interfaces/primitiveOps.d.ts +0 -1
- package/dist/kernel/interfaces/repairOps.d.ts +0 -1
- package/dist/kernel/interfaces/surfaceOps.d.ts +0 -1
- package/dist/kernel/interfaces/sweepOps.d.ts +0 -1
- package/dist/kernel/interfaces/topologyOps.d.ts +0 -1
- package/dist/kernel/interfaces/transformOps.d.ts +0 -1
- package/dist/kernel/kernel2dTypes.d.ts +0 -1
- package/dist/kernel/occt/advancedOps.d.ts +126 -24
- package/dist/kernel/occt/booleanBatchOps.d.ts +0 -1
- package/dist/kernel/occt/booleanOps.d.ts +11 -1
- package/dist/kernel/occt/booleanPipelineOps.d.ts +10 -1
- package/dist/kernel/occt/constructorOps.d.ts +14 -1
- package/dist/kernel/occt/curveOps.d.ts +13 -1
- package/dist/kernel/occt/defaultAdapter.d.ts +10 -441
- package/dist/kernel/occt/evolutionOps.d.ts +0 -1
- package/dist/kernel/occt/extendedConstructorOps.d.ts +31 -1
- package/dist/kernel/occt/geometryQueryOps.d.ts +40 -1
- package/dist/kernel/occt/healingOps.d.ts +6 -1
- package/dist/kernel/occt/historyOps.d.ts +17 -1
- package/dist/kernel/occt/hullOps.d.ts +14 -1
- package/dist/kernel/occt/ioOps.d.ts +9 -1
- package/dist/kernel/occt/kernel2dOps.d.ts +113 -1
- package/dist/kernel/occt/measureOps.d.ts +19 -1
- package/dist/kernel/occt/meshOps.d.ts +5 -1
- package/dist/kernel/occt/modifierOps.d.ts +24 -1
- package/dist/kernel/occt/nurbsQueryOps.d.ts +5 -1
- package/dist/kernel/occt/sweepOps.d.ts +23 -1
- package/dist/kernel/occt/topologyOps.d.ts +10 -1
- package/dist/kernel/occt/transformOps.d.ts +14 -4
- package/dist/kernel/occt/wasmTypes/externals.d.ts +0 -1
- package/dist/kernel/occt/wasmTypes/index.d.ts +0 -1
- package/dist/kernel/occt/wasmTypes/occtBuilders.d.ts +0 -1
- package/dist/kernel/occtWasm/adapterShims.d.ts +0 -1
- package/dist/kernel/occtWasm/booleanOps.d.ts +0 -1
- package/dist/kernel/occtWasm/constructionOps.d.ts +0 -1
- package/dist/kernel/occtWasm/curveOps.d.ts +0 -1
- package/dist/kernel/occtWasm/evolutionOps.d.ts +0 -1
- package/dist/kernel/occtWasm/helpers.d.ts +0 -1
- package/dist/kernel/occtWasm/hullOps.d.ts +0 -1
- package/dist/kernel/occtWasm/ioOps.d.ts +0 -1
- package/dist/kernel/occtWasm/kernel2dOps.d.ts +0 -1
- package/dist/kernel/occtWasm/measureOps.d.ts +0 -1
- package/dist/kernel/occtWasm/meshOps.d.ts +0 -1
- package/dist/kernel/occtWasm/modifierOps.d.ts +0 -1
- package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +0 -1
- package/dist/kernel/occtWasm/occtWasmTypes.d.ts +0 -1
- package/dist/kernel/occtWasm/primitiveOps.d.ts +0 -1
- package/dist/kernel/occtWasm/repairOps.d.ts +0 -1
- package/dist/kernel/occtWasm/surfaceOps.d.ts +0 -1
- package/dist/kernel/occtWasm/sweepOps.d.ts +0 -1
- package/dist/kernel/occtWasm/topologyOps.d.ts +0 -1
- package/dist/kernel/occtWasm/transformOps.d.ts +0 -1
- package/dist/kernel/perfStats.d.ts +0 -1
- package/dist/kernel/solverAdapter.d.ts +0 -1
- package/dist/kernel/types.d.ts +0 -1
- package/dist/{measureFns-CHmy_Inq.cjs → measureFns-6ifSQfJt.cjs} +5 -4
- package/dist/{measureFns-CJi8erDL.js → measureFns-Io2nHE1k.js} +3 -2
- package/dist/measurement/interferenceFns.d.ts +0 -1
- package/dist/measurement/measureCache.d.ts +0 -1
- package/dist/measurement/measureFns.d.ts +0 -1
- package/dist/measurement/measureTypes.d.ts +0 -1
- package/dist/measurement.cjs +1 -1
- package/dist/measurement.d.ts +0 -1
- package/dist/measurement.js +1 -1
- package/dist/{meshFns-t2lR4BDS.cjs → meshFns-BCRVZgPi.cjs} +2 -2
- package/dist/{meshFns-BkY1RAoC.js → meshFns-DSdkRFWq.js} +2 -2
- package/dist/ns/booleans.d.ts +0 -1
- package/dist/ns/construction.d.ts +0 -1
- package/dist/ns/ioNs.d.ts +0 -1
- package/dist/ns/measurement.d.ts +0 -1
- package/dist/ns/modifiers.d.ts +0 -1
- package/dist/ns/patterns.d.ts +0 -1
- package/dist/ns/primitives.d.ts +0 -1
- package/dist/ns/query.d.ts +0 -1
- package/dist/ns/transforms.d.ts +0 -1
- package/dist/operations/api.d.ts +0 -1
- package/dist/operations/assemblyFns.d.ts +0 -1
- package/dist/operations/compoundOpsFns.d.ts +0 -1
- package/dist/operations/convexHullFns.d.ts +0 -1
- package/dist/operations/exporterFns.d.ts +0 -1
- package/dist/operations/exporterUtils.d.ts +0 -1
- package/dist/operations/exporters.d.ts +0 -1
- package/dist/operations/extrudeFns.d.ts +0 -1
- package/dist/operations/extrudeUtils.d.ts +0 -1
- package/dist/operations/guidedSweepFns.d.ts +0 -1
- package/dist/operations/historyFns.d.ts +0 -1
- package/dist/operations/loftFns.d.ts +0 -1
- package/dist/operations/mateFns.d.ts +0 -1
- package/dist/operations/multiSweepFns.d.ts +0 -1
- package/dist/operations/patternFns.d.ts +0 -1
- package/dist/operations/roofFns.d.ts +0 -1
- package/dist/operations/straightSkeleton.d.ts +0 -1
- package/dist/operations/sweepFns.d.ts +0 -1
- package/dist/operations.cjs +2 -2
- package/dist/operations.d.ts +0 -1
- package/dist/operations.js +2 -2
- package/dist/{primitiveFns-DwhN--zB.cjs → primitiveFns-BH-JQPzh.cjs} +18 -17
- package/dist/{primitiveFns-Emvge_71.js → primitiveFns-C1p92ZcD.js} +6 -5
- package/dist/projection/cameraFns.d.ts +0 -1
- package/dist/projection/makeProjectedEdges.d.ts +0 -1
- package/dist/projection/projectionPlanes.d.ts +0 -1
- package/dist/projection.cjs +9 -0
- package/dist/projection.d.ts +11 -0
- package/dist/projection.js +2 -0
- package/dist/query/cornerFinder.d.ts +0 -1
- package/dist/query/directionUtils.d.ts +0 -1
- package/dist/query/edgeFinder.d.ts +0 -1
- package/dist/query/faceFinder.d.ts +0 -1
- package/dist/query/finderCore.d.ts +0 -1
- package/dist/query/finderFns.d.ts +0 -1
- package/dist/query/helpers.d.ts +0 -1
- package/dist/query/shapeDistanceFilter.d.ts +0 -1
- package/dist/query/shapeFinders.d.ts +0 -1
- package/dist/query/vertexFinder.d.ts +0 -1
- package/dist/query/wireFinder.d.ts +0 -1
- package/dist/query.cjs +2 -2
- package/dist/query.d.ts +0 -1
- package/dist/query.js +2 -2
- package/dist/result.d.ts +0 -1
- package/dist/{shapeFns-CObBAJoQ.cjs → shapeFns-B7x82K11.cjs} +15 -15
- package/dist/{shapeFns-DThjHtJI.js → shapeFns-BhZ9weSI.js} +2 -2
- package/dist/shapeRef.cjs +1 -1
- package/dist/shapeRef.d.ts +0 -1
- package/dist/shapeRef.js +1 -1
- package/dist/{shapeRefFns-WMhIFuGW.js → shapeRefFns-B9PsEqWf.js} +4 -3
- package/dist/{shapeRefFns-I0MHjRAq.cjs → shapeRefFns-wDY88A8u.cjs} +6 -5
- package/dist/{shapeTypes-8vB31RfA.cjs → shapeTypes-BTt_LLbk.cjs} +6928 -7750
- package/dist/{shapeTypes-AyL8vv_O.js → shapeTypes-C--1jaT1.js} +6618 -7440
- package/dist/sketching/cannedSketches.d.ts +0 -1
- package/dist/sketching/compoundSketch.d.ts +8 -7
- package/dist/sketching/draw3d.d.ts +1 -2
- package/dist/sketching/drawFns.d.ts +4 -3
- package/dist/sketching/{draw.d.ts → drawing.d.ts} +2 -127
- package/dist/sketching/drawingFactories.d.ts +94 -0
- package/dist/sketching/drawingPen.d.ts +34 -0
- package/dist/sketching/faceSketcher.d.ts +52 -0
- package/dist/sketching/shortcuts.d.ts +0 -1
- package/dist/sketching/sketch.d.ts +64 -10
- package/dist/sketching/sketchFns.d.ts +42 -95
- package/dist/sketching/sketcher.d.ts +2 -3
- package/dist/sketching/sketches.d.ts +5 -6
- package/dist/sketching.cjs +19 -18
- package/dist/sketching.d.ts +8 -5
- package/dist/sketching.js +3 -2
- package/dist/{solidBuilders-Djwgx2mj.cjs → solidBuilders-CX_197Xm.cjs} +2 -2
- package/dist/{solidBuilders-C7Xp_ikW.js → solidBuilders-Xs7VDMGD.js} +2 -2
- package/dist/{surfaceBuilders-BEnsewN9.cjs → surfaceBuilders-CYeTNW33.cjs} +24 -2
- package/dist/{surfaceBuilders-Con0IpLf.js → surfaceBuilders-CinmHCbZ.js} +19 -3
- package/dist/text/fontRegistry.d.ts +22 -0
- package/dist/text/sketchText.d.ts +30 -0
- package/dist/text/textBlueprints.d.ts +0 -91
- package/dist/text/textMetrics.d.ts +39 -0
- package/dist/text.cjs +9 -0
- package/dist/text.d.ts +12 -0
- package/dist/text.js +3 -0
- package/dist/textBlueprints-Do6xNsLt.js +643 -0
- package/dist/textBlueprints-oWhiABaY.cjs +800 -0
- package/dist/textMetrics-BjJ8sn_e.js +69 -0
- package/dist/textMetrics-CUvtglQE.cjs +86 -0
- package/dist/topology/adjacencyFns.d.ts +0 -1
- package/dist/topology/api.d.ts +0 -1
- package/dist/topology/apiTypes.d.ts +0 -1
- package/dist/topology/booleanDiagnosticFns.d.ts +0 -1
- package/dist/topology/booleanFns.d.ts +0 -1
- package/dist/topology/cast.d.ts +0 -1
- package/dist/topology/chamferAngleFns.d.ts +0 -1
- package/dist/topology/compoundOpsFns.d.ts +0 -1
- package/dist/topology/curveBuilders.d.ts +12 -1
- package/dist/topology/curveFns.d.ts +0 -1
- package/dist/topology/evolutionFns.d.ts +0 -1
- package/dist/topology/faceFns.d.ts +0 -1
- package/dist/topology/healingFns.d.ts +0 -1
- package/dist/topology/hullFns.d.ts +0 -1
- package/dist/topology/index.d.ts +0 -1
- package/dist/topology/meshCache.d.ts +0 -1
- package/dist/topology/meshFns.d.ts +0 -1
- package/dist/topology/metadata/colorFns.d.ts +0 -1
- package/dist/topology/metadata/faceTagFns.d.ts +0 -1
- package/dist/topology/metadata/metadataPropagation.d.ts +0 -1
- package/dist/topology/metadata/originTrackingFns.d.ts +0 -1
- package/dist/topology/minkowskiFns.d.ts +0 -1
- package/dist/topology/modifierFns.d.ts +0 -1
- package/dist/topology/nurbsFns.d.ts +0 -1
- package/dist/topology/polyhedronFns.d.ts +0 -1
- package/dist/topology/positionFns.d.ts +0 -1
- package/dist/topology/primitiveFns.d.ts +0 -1
- package/dist/topology/shapeBooleans.d.ts +0 -1
- package/dist/topology/shapeFns.d.ts +0 -1
- package/dist/topology/shapeHelpers.d.ts +0 -1
- package/dist/topology/shapeModifiers.d.ts +0 -1
- package/dist/topology/shapeRef/index.d.ts +0 -1
- package/dist/topology/shapeRef/scoring.d.ts +0 -1
- package/dist/topology/shapeRef/shapeRefFns.d.ts +0 -1
- package/dist/topology/shapeRef/shapeRefTypes.d.ts +0 -1
- package/dist/topology/shapeUtils.d.ts +0 -1
- package/dist/topology/solidBuilders.d.ts +0 -1
- package/dist/topology/surfaceBuilders.d.ts +0 -1
- package/dist/topology/surfaceFns.d.ts +0 -1
- package/dist/topology/threeHelpers.d.ts +0 -1
- package/dist/topology/topologyQueryFns.d.ts +0 -1
- package/dist/topology/transformFns.d.ts +0 -1
- package/dist/topology/wrapperFns.d.ts +0 -1
- package/dist/topology.cjs +18 -17
- package/dist/topology.d.ts +0 -1
- package/dist/topology.js +7 -6
- package/dist/{faceFns-B1H43mZ_.cjs → topologyQueryFns-BU0qdNJP.cjs} +1 -341
- package/dist/{faceFns-acz86gqR.js → topologyQueryFns-Dhf85ZBK.js} +3 -217
- package/dist/utils/arrayAccess.d.ts +0 -1
- package/dist/utils/bug.d.ts +0 -1
- package/dist/utils/ioFilename.d.ts +0 -1
- package/dist/utils/precisionRound.d.ts +0 -1
- package/dist/utils/range.d.ts +0 -1
- package/dist/utils/uuid.d.ts +0 -1
- package/dist/utils/vec2d.d.ts +0 -1
- package/dist/utils/vec3.d.ts +0 -1
- package/dist/utils/zip.d.ts +0 -1
- package/dist/vectors.d.ts +0 -1
- package/dist/worker/index.d.ts +0 -1
- package/dist/worker/protocol.d.ts +0 -1
- package/dist/worker/taskQueue.d.ts +0 -1
- package/dist/worker/workerClient.d.ts +0 -1
- package/dist/worker/workerHandler.d.ts +0 -1
- package/dist/worker.cjs +1 -1
- package/dist/worker.d.ts +0 -1
- package/dist/worker.js +1 -1
- package/package.json +35 -14
- package/dist/2d/blueprints/blueprint.d.ts.map +0 -1
- package/dist/2d/blueprints/blueprintApproximations.d.ts.map +0 -1
- package/dist/2d/blueprints/blueprintCustomCorners.d.ts.map +0 -1
- package/dist/2d/blueprints/blueprintFns.d.ts.map +0 -1
- package/dist/2d/blueprints/blueprintOffset.d.ts.map +0 -1
- package/dist/2d/blueprints/blueprints.d.ts.map +0 -1
- package/dist/2d/blueprints/boolean2D.d.ts.map +0 -1
- package/dist/2d/blueprints/booleanHelpers.d.ts.map +0 -1
- package/dist/2d/blueprints/booleanOperations.d.ts.map +0 -1
- package/dist/2d/blueprints/cannedBlueprints.d.ts.map +0 -1
- package/dist/2d/blueprints/compoundBlueprint.d.ts.map +0 -1
- package/dist/2d/blueprints/index.d.ts.map +0 -1
- package/dist/2d/blueprints/intersectionSegments.d.ts.map +0 -1
- package/dist/2d/blueprints/lib.d.ts.map +0 -1
- package/dist/2d/blueprints/segmentAssembly.d.ts.map +0 -1
- package/dist/2d/blueprints/svg.d.ts.map +0 -1
- package/dist/2d/curve2dGeometryFns.d.ts.map +0 -1
- package/dist/2d/curves.d.ts.map +0 -1
- package/dist/2d/lib/approximations.d.ts.map +0 -1
- package/dist/2d/lib/boundingBox2d.d.ts.map +0 -1
- package/dist/2d/lib/curve2D.d.ts.map +0 -1
- package/dist/2d/lib/curve2dFns.d.ts.map +0 -1
- package/dist/2d/lib/customCorners.d.ts.map +0 -1
- package/dist/2d/lib/definitions.d.ts.map +0 -1
- package/dist/2d/lib/index.d.ts.map +0 -1
- package/dist/2d/lib/intersections.d.ts.map +0 -1
- package/dist/2d/lib/makeCurves.d.ts.map +0 -1
- package/dist/2d/lib/offset.d.ts.map +0 -1
- package/dist/2d/lib/precision.d.ts.map +0 -1
- package/dist/2d/lib/stitching.d.ts.map +0 -1
- package/dist/2d/lib/svgPath.d.ts.map +0 -1
- package/dist/2d/lib/utils.d.ts.map +0 -1
- package/dist/2d/lib/vectorOperations.d.ts.map +0 -1
- package/dist/2d.d.ts.map +0 -1
- package/dist/core/constants.d.ts.map +0 -1
- package/dist/core/curve2dHandle.d.ts.map +0 -1
- package/dist/core/dimensionTypes.d.ts.map +0 -1
- package/dist/core/disposal.d.ts.map +0 -1
- package/dist/core/errors.d.ts.map +0 -1
- package/dist/core/kernelBoundary.d.ts.map +0 -1
- package/dist/core/kernelCall.d.ts.map +0 -1
- package/dist/core/kernelErrorTranslation.d.ts.map +0 -1
- package/dist/core/planeOps.d.ts.map +0 -1
- package/dist/core/planeTypes.d.ts.map +0 -1
- package/dist/core/result.d.ts.map +0 -1
- package/dist/core/shapeTypeCache.d.ts.map +0 -1
- package/dist/core/shapeTypes.d.ts.map +0 -1
- package/dist/core/typeDiscriminants.d.ts.map +0 -1
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/validityTypes.d.ts.map +0 -1
- package/dist/core/vecOps.d.ts.map +0 -1
- package/dist/core.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/io/dxfExportFns.d.ts.map +0 -1
- package/dist/io/dxfImportFns.d.ts.map +0 -1
- package/dist/io/gltfExportFns.d.ts.map +0 -1
- package/dist/io/gltfImportFns.d.ts.map +0 -1
- package/dist/io/importFns.d.ts.map +0 -1
- package/dist/io/ioUtils.d.ts.map +0 -1
- package/dist/io/objExportFns.d.ts.map +0 -1
- package/dist/io/objImportFns.d.ts.map +0 -1
- package/dist/io/stepConfigFns.d.ts.map +0 -1
- package/dist/io/svgImportFns.d.ts.map +0 -1
- package/dist/io/threemfExportFns.d.ts.map +0 -1
- package/dist/io/threemfImportFns.d.ts.map +0 -1
- package/dist/io.d.ts.map +0 -1
- package/dist/kernel/brepkit/booleanOps.d.ts.map +0 -1
- package/dist/kernel/brepkit/brepkitAdapter.d.ts.map +0 -1
- package/dist/kernel/brepkit/brepkitWasmTypes.d.ts.map +0 -1
- package/dist/kernel/brepkit/constructionOps.d.ts.map +0 -1
- package/dist/kernel/brepkit/evolutionOps.d.ts.map +0 -1
- package/dist/kernel/brepkit/geometryOps.d.ts.map +0 -1
- package/dist/kernel/brepkit/helpers.d.ts.map +0 -1
- package/dist/kernel/brepkit/internalOps.d.ts.map +0 -1
- package/dist/kernel/brepkit/ioOps.d.ts.map +0 -1
- package/dist/kernel/brepkit/kernel2dOps.d.ts.map +0 -1
- package/dist/kernel/brepkit/measureOps.d.ts.map +0 -1
- package/dist/kernel/brepkit/meshOps.d.ts.map +0 -1
- package/dist/kernel/brepkit/modifierOps.d.ts.map +0 -1
- package/dist/kernel/brepkit/repairOps.d.ts.map +0 -1
- package/dist/kernel/brepkit/sketchOps.d.ts.map +0 -1
- package/dist/kernel/brepkit/sweepOps.d.ts.map +0 -1
- package/dist/kernel/brepkit/topologyOps.d.ts.map +0 -1
- package/dist/kernel/brepkit/transformOps.d.ts.map +0 -1
- package/dist/kernel/geometry2d.d.ts.map +0 -1
- package/dist/kernel/index.d.ts.map +0 -1
- package/dist/kernel/interfaces/booleanOps.d.ts.map +0 -1
- package/dist/kernel/interfaces/builderOps.d.ts.map +0 -1
- package/dist/kernel/interfaces/core.d.ts.map +0 -1
- package/dist/kernel/interfaces/curveOps.d.ts.map +0 -1
- package/dist/kernel/interfaces/evolutionOps.d.ts.map +0 -1
- package/dist/kernel/interfaces/index.d.ts.map +0 -1
- package/dist/kernel/interfaces/ioOps.d.ts.map +0 -1
- package/dist/kernel/interfaces/measureOps.d.ts.map +0 -1
- package/dist/kernel/interfaces/meshOps.d.ts.map +0 -1
- package/dist/kernel/interfaces/modifierOps.d.ts.map +0 -1
- package/dist/kernel/interfaces/primitiveOps.d.ts.map +0 -1
- package/dist/kernel/interfaces/repairOps.d.ts.map +0 -1
- package/dist/kernel/interfaces/surfaceOps.d.ts.map +0 -1
- package/dist/kernel/interfaces/sweepOps.d.ts.map +0 -1
- package/dist/kernel/interfaces/topologyOps.d.ts.map +0 -1
- package/dist/kernel/interfaces/transformOps.d.ts.map +0 -1
- package/dist/kernel/kernel2dTypes.d.ts.map +0 -1
- package/dist/kernel/occt/advancedOps.d.ts.map +0 -1
- package/dist/kernel/occt/booleanBatchOps.d.ts.map +0 -1
- package/dist/kernel/occt/booleanOps.d.ts.map +0 -1
- package/dist/kernel/occt/booleanPipelineOps.d.ts.map +0 -1
- package/dist/kernel/occt/constructorOps.d.ts.map +0 -1
- package/dist/kernel/occt/curveOps.d.ts.map +0 -1
- package/dist/kernel/occt/defaultAdapter.d.ts.map +0 -1
- package/dist/kernel/occt/evolutionOps.d.ts.map +0 -1
- package/dist/kernel/occt/extendedConstructorOps.d.ts.map +0 -1
- package/dist/kernel/occt/geometryQueryOps.d.ts.map +0 -1
- package/dist/kernel/occt/healingOps.d.ts.map +0 -1
- package/dist/kernel/occt/historyOps.d.ts.map +0 -1
- package/dist/kernel/occt/hullOps.d.ts.map +0 -1
- package/dist/kernel/occt/ioOps.d.ts.map +0 -1
- package/dist/kernel/occt/kernel2dOps.d.ts.map +0 -1
- package/dist/kernel/occt/measureOps.d.ts.map +0 -1
- package/dist/kernel/occt/meshOps.d.ts.map +0 -1
- package/dist/kernel/occt/modifierOps.d.ts.map +0 -1
- package/dist/kernel/occt/nurbsQueryOps.d.ts.map +0 -1
- package/dist/kernel/occt/sweepOps.d.ts.map +0 -1
- package/dist/kernel/occt/topologyOps.d.ts.map +0 -1
- package/dist/kernel/occt/transformOps.d.ts.map +0 -1
- package/dist/kernel/occt/wasmTypes/externals.d.ts.map +0 -1
- package/dist/kernel/occt/wasmTypes/index.d.ts.map +0 -1
- package/dist/kernel/occt/wasmTypes/occtBuilders.d.ts.map +0 -1
- package/dist/kernel/occtWasm/adapterShims.d.ts.map +0 -1
- package/dist/kernel/occtWasm/booleanOps.d.ts.map +0 -1
- package/dist/kernel/occtWasm/constructionOps.d.ts.map +0 -1
- package/dist/kernel/occtWasm/curveOps.d.ts.map +0 -1
- package/dist/kernel/occtWasm/evolutionOps.d.ts.map +0 -1
- package/dist/kernel/occtWasm/helpers.d.ts.map +0 -1
- package/dist/kernel/occtWasm/hullOps.d.ts.map +0 -1
- package/dist/kernel/occtWasm/ioOps.d.ts.map +0 -1
- package/dist/kernel/occtWasm/kernel2dOps.d.ts.map +0 -1
- package/dist/kernel/occtWasm/measureOps.d.ts.map +0 -1
- package/dist/kernel/occtWasm/meshOps.d.ts.map +0 -1
- package/dist/kernel/occtWasm/modifierOps.d.ts.map +0 -1
- package/dist/kernel/occtWasm/occtWasmAdapter.d.ts.map +0 -1
- package/dist/kernel/occtWasm/occtWasmTypes.d.ts.map +0 -1
- package/dist/kernel/occtWasm/primitiveOps.d.ts.map +0 -1
- package/dist/kernel/occtWasm/repairOps.d.ts.map +0 -1
- package/dist/kernel/occtWasm/surfaceOps.d.ts.map +0 -1
- package/dist/kernel/occtWasm/sweepOps.d.ts.map +0 -1
- package/dist/kernel/occtWasm/topologyOps.d.ts.map +0 -1
- package/dist/kernel/occtWasm/transformOps.d.ts.map +0 -1
- package/dist/kernel/perfStats.d.ts.map +0 -1
- package/dist/kernel/solverAdapter.d.ts.map +0 -1
- package/dist/kernel/types.d.ts.map +0 -1
- package/dist/measurement/interferenceFns.d.ts.map +0 -1
- package/dist/measurement/measureCache.d.ts.map +0 -1
- package/dist/measurement/measureFns.d.ts.map +0 -1
- package/dist/measurement/measureTypes.d.ts.map +0 -1
- package/dist/measurement.d.ts.map +0 -1
- package/dist/ns/booleans.d.ts.map +0 -1
- package/dist/ns/construction.d.ts.map +0 -1
- package/dist/ns/ioNs.d.ts.map +0 -1
- package/dist/ns/measurement.d.ts.map +0 -1
- package/dist/ns/modifiers.d.ts.map +0 -1
- package/dist/ns/patterns.d.ts.map +0 -1
- package/dist/ns/primitives.d.ts.map +0 -1
- package/dist/ns/query.d.ts.map +0 -1
- package/dist/ns/transforms.d.ts.map +0 -1
- package/dist/operations/api.d.ts.map +0 -1
- package/dist/operations/assemblyFns.d.ts.map +0 -1
- package/dist/operations/compoundOpsFns.d.ts.map +0 -1
- package/dist/operations/convexHullFns.d.ts.map +0 -1
- package/dist/operations/exporterFns.d.ts.map +0 -1
- package/dist/operations/exporterUtils.d.ts.map +0 -1
- package/dist/operations/exporters.d.ts.map +0 -1
- package/dist/operations/extrudeFns.d.ts.map +0 -1
- package/dist/operations/extrudeUtils.d.ts.map +0 -1
- package/dist/operations/guidedSweepFns.d.ts.map +0 -1
- package/dist/operations/historyFns.d.ts.map +0 -1
- package/dist/operations/loftFns.d.ts.map +0 -1
- package/dist/operations/mateFns.d.ts.map +0 -1
- package/dist/operations/multiSweepFns.d.ts.map +0 -1
- package/dist/operations/patternFns.d.ts.map +0 -1
- package/dist/operations/roofFns.d.ts.map +0 -1
- package/dist/operations/straightSkeleton.d.ts.map +0 -1
- package/dist/operations/sweepFns.d.ts.map +0 -1
- package/dist/operations.d.ts.map +0 -1
- package/dist/projection/cameraFns.d.ts.map +0 -1
- package/dist/projection/makeProjectedEdges.d.ts.map +0 -1
- package/dist/projection/projectionPlanes.d.ts.map +0 -1
- package/dist/query/cornerFinder.d.ts.map +0 -1
- package/dist/query/directionUtils.d.ts.map +0 -1
- package/dist/query/edgeFinder.d.ts.map +0 -1
- package/dist/query/faceFinder.d.ts.map +0 -1
- package/dist/query/finderCore.d.ts.map +0 -1
- package/dist/query/finderFns.d.ts.map +0 -1
- package/dist/query/helpers.d.ts.map +0 -1
- package/dist/query/shapeDistanceFilter.d.ts.map +0 -1
- package/dist/query/shapeFinders.d.ts.map +0 -1
- package/dist/query/vertexFinder.d.ts.map +0 -1
- package/dist/query/wireFinder.d.ts.map +0 -1
- package/dist/query.d.ts.map +0 -1
- package/dist/quick.d.ts.map +0 -1
- package/dist/result.d.ts.map +0 -1
- package/dist/shapeRef.d.ts.map +0 -1
- package/dist/sketching/cannedSketches.d.ts.map +0 -1
- package/dist/sketching/compoundSketch.d.ts.map +0 -1
- package/dist/sketching/draw.d.ts.map +0 -1
- package/dist/sketching/draw3d.d.ts.map +0 -1
- package/dist/sketching/drawFns.d.ts.map +0 -1
- package/dist/sketching/ellipseUtils.d.ts.map +0 -1
- package/dist/sketching/shortcuts.d.ts.map +0 -1
- package/dist/sketching/sketch.d.ts.map +0 -1
- package/dist/sketching/sketchFns.d.ts.map +0 -1
- package/dist/sketching/sketchLib.d.ts +0 -47
- package/dist/sketching/sketchLib.d.ts.map +0 -1
- package/dist/sketching/sketchUtils.d.ts +0 -8
- package/dist/sketching/sketchUtils.d.ts.map +0 -1
- package/dist/sketching/sketcher.d.ts.map +0 -1
- package/dist/sketching/sketcher2d.d.ts.map +0 -1
- package/dist/sketching/sketcherlib.d.ts.map +0 -1
- package/dist/sketching/sketches.d.ts.map +0 -1
- package/dist/sketching.d.ts.map +0 -1
- package/dist/text/textBlueprints.d.ts.map +0 -1
- package/dist/topology/adjacencyFns.d.ts.map +0 -1
- package/dist/topology/api.d.ts.map +0 -1
- package/dist/topology/apiTypes.d.ts.map +0 -1
- package/dist/topology/booleanDiagnosticFns.d.ts.map +0 -1
- package/dist/topology/booleanFns.d.ts.map +0 -1
- package/dist/topology/cast.d.ts.map +0 -1
- package/dist/topology/chamferAngleFns.d.ts.map +0 -1
- package/dist/topology/compoundOpsFns.d.ts.map +0 -1
- package/dist/topology/curveBuilders.d.ts.map +0 -1
- package/dist/topology/curveFns.d.ts.map +0 -1
- package/dist/topology/evolutionFns.d.ts.map +0 -1
- package/dist/topology/faceFns.d.ts.map +0 -1
- package/dist/topology/healingFns.d.ts.map +0 -1
- package/dist/topology/hullFns.d.ts.map +0 -1
- package/dist/topology/index.d.ts.map +0 -1
- package/dist/topology/meshCache.d.ts.map +0 -1
- package/dist/topology/meshFns.d.ts.map +0 -1
- package/dist/topology/metadata/colorFns.d.ts.map +0 -1
- package/dist/topology/metadata/faceTagFns.d.ts.map +0 -1
- package/dist/topology/metadata/metadataPropagation.d.ts.map +0 -1
- package/dist/topology/metadata/originTrackingFns.d.ts.map +0 -1
- package/dist/topology/minkowskiFns.d.ts.map +0 -1
- package/dist/topology/modifierFns.d.ts.map +0 -1
- package/dist/topology/nurbsFns.d.ts.map +0 -1
- package/dist/topology/polyhedronFns.d.ts.map +0 -1
- package/dist/topology/positionFns.d.ts.map +0 -1
- package/dist/topology/primitiveFns.d.ts.map +0 -1
- package/dist/topology/shapeBooleans.d.ts.map +0 -1
- package/dist/topology/shapeFns.d.ts.map +0 -1
- package/dist/topology/shapeHelpers.d.ts.map +0 -1
- package/dist/topology/shapeModifiers.d.ts.map +0 -1
- package/dist/topology/shapeRef/index.d.ts.map +0 -1
- package/dist/topology/shapeRef/scoring.d.ts.map +0 -1
- package/dist/topology/shapeRef/shapeRefFns.d.ts.map +0 -1
- package/dist/topology/shapeRef/shapeRefTypes.d.ts.map +0 -1
- package/dist/topology/shapeUtils.d.ts.map +0 -1
- package/dist/topology/solidBuilders.d.ts.map +0 -1
- package/dist/topology/surfaceBuilders.d.ts.map +0 -1
- package/dist/topology/surfaceFns.d.ts.map +0 -1
- package/dist/topology/threeHelpers.d.ts.map +0 -1
- package/dist/topology/topologyQueryFns.d.ts.map +0 -1
- package/dist/topology/transformFns.d.ts.map +0 -1
- package/dist/topology/wrapperFns.d.ts.map +0 -1
- package/dist/topology.d.ts.map +0 -1
- package/dist/utils/arrayAccess.d.ts.map +0 -1
- package/dist/utils/bug.d.ts.map +0 -1
- package/dist/utils/ioFilename.d.ts.map +0 -1
- package/dist/utils/precisionRound.d.ts.map +0 -1
- package/dist/utils/range.d.ts.map +0 -1
- package/dist/utils/uuid.d.ts.map +0 -1
- package/dist/utils/vec2d.d.ts.map +0 -1
- package/dist/utils/vec3.d.ts.map +0 -1
- package/dist/utils/zip.d.ts.map +0 -1
- package/dist/vectors.d.ts.map +0 -1
- package/dist/worker/index.d.ts.map +0 -1
- package/dist/worker/protocol.d.ts.map +0 -1
- package/dist/worker/taskQueue.d.ts.map +0 -1
- package/dist/worker/workerClient.d.ts.map +0 -1
- package/dist/worker/workerHandler.d.ts.map +0 -1
- package/dist/worker.d.ts.map +0 -1
- /package/dist/{arrayAccess-Br-m2PP7.cjs → arrayAccess-7pTWqkJu.cjs} +0 -0
- /package/dist/{arrayAccess-2G0pRoaC.js → arrayAccess-C5IWcxs9.js} +0 -0
- /package/dist/{workerHandler-sCf818XJ.cjs → workerHandler-C7seK7H-.cjs} +0 -0
- /package/dist/{workerHandler-BndMJVx6.js → workerHandler-DaulgMax.js} +0 -0
|
@@ -1,53 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __exportAll = (all, no_symbols) => {
|
|
9
|
-
let target = {};
|
|
10
|
-
for (var name in all) __defProp(target, name, {
|
|
11
|
-
get: all[name],
|
|
12
|
-
enumerable: true
|
|
13
|
-
});
|
|
14
|
-
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
15
|
-
return target;
|
|
16
|
-
};
|
|
17
|
-
var __copyProps = (to, from, except, desc) => {
|
|
18
|
-
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
19
|
-
key = keys[i];
|
|
20
|
-
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
21
|
-
get: ((k) => from[k]).bind(null, key),
|
|
22
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
return to;
|
|
26
|
-
};
|
|
27
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
28
|
-
value: mod,
|
|
29
|
-
enumerable: true
|
|
30
|
-
}) : target, mod));
|
|
31
|
-
//#endregion
|
|
32
|
-
const require_shapeTypes = require("./shapeTypes-8vB31RfA.cjs");
|
|
1
|
+
const require_textBlueprints = require("./textBlueprints-oWhiABaY.cjs");
|
|
2
|
+
const require_shapeTypes = require("./shapeTypes-BTt_LLbk.cjs");
|
|
33
3
|
const require_vec3 = require("./vec3-S4Oh59IX.cjs");
|
|
34
4
|
const require_errors = require("./errors-Dv6pfNct.cjs");
|
|
35
|
-
const
|
|
5
|
+
const require_topologyQueryFns = require("./topologyQueryFns-BU0qdNJP.cjs");
|
|
36
6
|
const require_constants = require("./constants-DTorLmes.cjs");
|
|
37
7
|
const require_types = require("./types-CDkxah-M.cjs");
|
|
38
8
|
const require_vecOps = require("./vecOps-D7xplSx8.cjs");
|
|
39
9
|
const require_planeOps = require("./planeOps-CH4ruLuj.cjs");
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
const
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
const require_cornerFinder = require("./cornerFinder-
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
opentype_js = __toESM(opentype_js, 1);
|
|
10
|
+
const require_faceFns = require("./faceFns-DP7i60yJ.cjs");
|
|
11
|
+
const require_curveFns = require("./curveFns-CD20-4fM.cjs");
|
|
12
|
+
const require_arrayAccess = require("./arrayAccess-7pTWqkJu.cjs");
|
|
13
|
+
const require_surfaceBuilders = require("./surfaceBuilders-CYeTNW33.cjs");
|
|
14
|
+
const require_blueprintSketcher = require("./blueprintSketcher-Bei866Bt.cjs");
|
|
15
|
+
const require_helpers = require("./helpers-Cyj6gaqy.cjs");
|
|
16
|
+
const require_blueprint = require("./blueprint-B8ogGJiQ.cjs");
|
|
17
|
+
const require_cornerFinder = require("./cornerFinder-CC8EBRCR.cjs");
|
|
18
|
+
const require_boolean2D = require("./boolean2D-DGuiEJHA.cjs");
|
|
19
|
+
const require_cameraFns = require("./cameraFns-1y1NyACI.cjs");
|
|
51
20
|
//#region src/2d/lib/stitching.ts
|
|
52
21
|
/**
|
|
53
22
|
* Group a flat list of curves into connected chains by matching endpoints.
|
|
@@ -62,7 +31,7 @@ opentype_js = __toESM(opentype_js, 1);
|
|
|
62
31
|
* @returns An array of connected curve chains.
|
|
63
32
|
*/
|
|
64
33
|
var stitchCurves = (curves, precision = 1e-7) => {
|
|
65
|
-
const startPoints = new
|
|
34
|
+
const startPoints = new require_blueprintSketcher.Flatbush(curves.length);
|
|
66
35
|
curves.forEach((c) => {
|
|
67
36
|
const [x, y] = c.firstPoint;
|
|
68
37
|
startPoints.add(x - precision, y - precision, x + precision, y + precision);
|
|
@@ -99,172 +68,6 @@ var stitchCurves = (curves, precision = 1e-7) => {
|
|
|
99
68
|
return stitchedCurves;
|
|
100
69
|
};
|
|
101
70
|
//#endregion
|
|
102
|
-
//#region src/sketching/compoundSketch.ts
|
|
103
|
-
var guessFaceFromWires = (wires) => {
|
|
104
|
-
const wireShapes = wires.map((w) => w.wrapped);
|
|
105
|
-
const newFace = require_errors.unwrap(require_faceFns.cast(require_shapeTypes.getKernel().fillSurface(wireShapes)));
|
|
106
|
-
if (!require_shapeTypes.isFace(newFace)) require_errors.bug("guessFaceFromWires", "Failed to create a face");
|
|
107
|
-
return newFace;
|
|
108
|
-
};
|
|
109
|
-
var fixWire = (wire, baseFace) => {
|
|
110
|
-
return require_shapeTypes.createWire(require_shapeTypes.getKernel().fixWireOnFace(wire.wrapped, baseFace.wrapped, 1e-9));
|
|
111
|
-
};
|
|
112
|
-
var faceFromWires = (wires) => {
|
|
113
|
-
let baseFace;
|
|
114
|
-
let holeWires;
|
|
115
|
-
const faceResult = require_surfaceBuilders.makeFace(require_arrayAccess.firstOrThrow(wires));
|
|
116
|
-
if (require_errors.isOk(faceResult)) {
|
|
117
|
-
baseFace = faceResult.value;
|
|
118
|
-
holeWires = wires.slice(1);
|
|
119
|
-
} else {
|
|
120
|
-
baseFace = guessFaceFromWires(wires);
|
|
121
|
-
holeWires = wires.slice(1).map((w) => fixWire(w, baseFace));
|
|
122
|
-
}
|
|
123
|
-
return require_surfaceBuilders.addHolesInFace(baseFace, holeWires);
|
|
124
|
-
};
|
|
125
|
-
var solidFromShellGenerator = (sketches, shellGenerator) => {
|
|
126
|
-
const shells = [];
|
|
127
|
-
const startWires = [];
|
|
128
|
-
const endWires = [];
|
|
129
|
-
sketches.forEach((sketch) => {
|
|
130
|
-
const [shell, startWire, endWire] = require_errors.unwrap(shellGenerator(sketch));
|
|
131
|
-
shells.push(shell);
|
|
132
|
-
startWires.push(startWire);
|
|
133
|
-
endWires.push(endWire);
|
|
134
|
-
});
|
|
135
|
-
const startFace = faceFromWires(startWires);
|
|
136
|
-
const endFace = faceFromWires(endWires);
|
|
137
|
-
return require_errors.unwrap(require_solidBuilders.makeSolid([
|
|
138
|
-
startFace,
|
|
139
|
-
...shells,
|
|
140
|
-
endFace
|
|
141
|
-
]));
|
|
142
|
-
};
|
|
143
|
-
/**
|
|
144
|
-
* Represent a face with holes as a group of sketches (one outer + zero or more inner).
|
|
145
|
-
*
|
|
146
|
-
* All contained sketches must share the same base surface. The first sketch is
|
|
147
|
-
* treated as the outer boundary; subsequent sketches define holes.
|
|
148
|
-
*
|
|
149
|
-
* Typically produced from a {@link CompoundBlueprint} via `sketchOnPlane`.
|
|
150
|
-
*
|
|
151
|
-
* @see {@link Sketch} for single-wire profiles without holes.
|
|
152
|
-
* @category Sketching
|
|
153
|
-
*/
|
|
154
|
-
var CompoundSketch = class {
|
|
155
|
-
sketches;
|
|
156
|
-
constructor(sketches) {
|
|
157
|
-
if (sketches.length === 0) require_errors.bug("CompoundSketch", "Cannot create CompoundSketch with an empty array of sketches");
|
|
158
|
-
this.sketches = sketches;
|
|
159
|
-
}
|
|
160
|
-
/** Release all kernel resources held by every sub-sketch. */
|
|
161
|
-
delete() {
|
|
162
|
-
this.sketches.forEach((sketch) => {
|
|
163
|
-
sketch.delete();
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
/** Get the outer boundary sketch (the first in the array). */
|
|
167
|
-
get outerSketch() {
|
|
168
|
-
return require_arrayAccess.firstOrThrow(this.sketches);
|
|
169
|
-
}
|
|
170
|
-
/** Get the hole sketches (all but the first). */
|
|
171
|
-
get innerSketches() {
|
|
172
|
-
return this.sketches.slice(1);
|
|
173
|
-
}
|
|
174
|
-
/** Return all wires (outer + holes) combined into a compound shape. */
|
|
175
|
-
get wires() {
|
|
176
|
-
return require_solidBuilders.makeCompound(this.sketches.map((s) => s.wire));
|
|
177
|
-
}
|
|
178
|
-
/** Build a face from the outer boundary with inner wires subtracted as holes. */
|
|
179
|
-
face() {
|
|
180
|
-
return require_surfaceBuilders.addHolesInFace(this.outerSketch.face(), this.innerSketches.map((s) => s.wire));
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Extrude the compound face (with holes) along the default or given direction.
|
|
184
|
-
*
|
|
185
|
-
* Supports twist and profile extrusions. For twist/profile modes each
|
|
186
|
-
* sub-sketch is extruded as a shell, then capped into a solid.
|
|
187
|
-
*/
|
|
188
|
-
extrude(extrusionDistance, { extrusionDirection, extrusionProfile, twistAngle, origin } = {}) {
|
|
189
|
-
const extrusionVec = require_vecOps.vecScale(require_vecOps.vecNormalize(extrusionDirection ? require_types.toVec3(extrusionDirection) : this.outerSketch.defaultDirection), extrusionDistance);
|
|
190
|
-
let result;
|
|
191
|
-
if (extrusionProfile && !twistAngle) result = solidFromShellGenerator(this.sketches, (sketch) => require_extrudeFns.complexExtrude(sketch.wire, origin ? require_types.toVec3(origin) : this.outerSketch.defaultOrigin, extrusionVec, extrusionProfile, true));
|
|
192
|
-
else if (twistAngle) result = solidFromShellGenerator(this.sketches, (sketch) => require_extrudeFns.twistExtrude(sketch.wire, twistAngle, origin ? require_types.toVec3(origin) : this.outerSketch.defaultOrigin, extrusionVec, extrusionProfile, true));
|
|
193
|
-
else result = require_errors.unwrap(require_extrudeFns.extrude(this.face(), extrusionVec));
|
|
194
|
-
return result;
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Revolves the drawing on an axis (defined by its direction and an origin
|
|
198
|
-
* (defaults to the sketch origin)
|
|
199
|
-
*/
|
|
200
|
-
revolve(revolutionAxis, { origin } = {}) {
|
|
201
|
-
const center = origin ? require_types.toVec3(origin) : this.outerSketch.defaultOrigin;
|
|
202
|
-
const dir = revolutionAxis ? require_types.toVec3(revolutionAxis) : [
|
|
203
|
-
0,
|
|
204
|
-
0,
|
|
205
|
-
1
|
|
206
|
-
];
|
|
207
|
-
return require_errors.unwrap(require_extrudeFns.revolve(this.face(), center, dir));
|
|
208
|
-
}
|
|
209
|
-
/** Loft between this compound sketch and another with matching sub-sketch counts. */
|
|
210
|
-
loftWith(otherCompound, loftConfig) {
|
|
211
|
-
if (this.sketches.length !== otherCompound.sketches.length) require_errors.bug("CompoundSketch.loftWith", "You need to loft with another compound with the same number of sketches");
|
|
212
|
-
const shells = this.sketches.map((base, cIndex) => {
|
|
213
|
-
const outer = require_arrayAccess.getAtOrThrow(otherCompound.sketches, cIndex);
|
|
214
|
-
const loftOpts = {};
|
|
215
|
-
if (loftConfig.ruled !== void 0) loftOpts.ruled = loftConfig.ruled;
|
|
216
|
-
return base.clone().loftWith(outer.clone(), loftOpts, true);
|
|
217
|
-
});
|
|
218
|
-
const baseFace = require_shapeTypes.createFace(require_errors.unwrap(require_faceFns.downcast(this.face().wrapped)));
|
|
219
|
-
shells.push(baseFace, otherCompound.face());
|
|
220
|
-
return require_errors.unwrap(require_solidBuilders.makeSolid(shells));
|
|
221
|
-
}
|
|
222
|
-
};
|
|
223
|
-
//#endregion
|
|
224
|
-
//#region src/sketching/sketches.ts
|
|
225
|
-
/**
|
|
226
|
-
* Batch wrapper around multiple {@link Sketch} or {@link CompoundSketch} instances.
|
|
227
|
-
*
|
|
228
|
-
* Applies the same operation (extrude, revolve, etc.) to every contained sketch
|
|
229
|
-
* and returns the results combined into a single compound shape.
|
|
230
|
-
*
|
|
231
|
-
* @category Sketching
|
|
232
|
-
*/
|
|
233
|
-
var Sketches = class {
|
|
234
|
-
sketches;
|
|
235
|
-
constructor(sketches) {
|
|
236
|
-
this.sketches = sketches;
|
|
237
|
-
}
|
|
238
|
-
/** Return all wires combined into a single compound shape. */
|
|
239
|
-
wires() {
|
|
240
|
-
return require_solidBuilders.makeCompound(this.sketches.map((s) => s instanceof require_boolean2D.Sketch ? s.wire : s.wires));
|
|
241
|
-
}
|
|
242
|
-
/** Return all sketch faces combined into a single compound shape. */
|
|
243
|
-
faces() {
|
|
244
|
-
return require_solidBuilders.makeCompound(this.sketches.map((s) => s.face()));
|
|
245
|
-
}
|
|
246
|
-
/** Extrudes the sketch to a certain distance (along the default direction
|
|
247
|
-
* and origin of the sketch).
|
|
248
|
-
*
|
|
249
|
-
* You can define another extrusion direction or origin,
|
|
250
|
-
*
|
|
251
|
-
* It is also possible to twist extrude with an angle (in degrees), or to
|
|
252
|
-
* give a profile to the extrusion (the endFactor will scale the face, and
|
|
253
|
-
* the profile will define how the scale is applied (either linearly or with
|
|
254
|
-
* a s-shape).
|
|
255
|
-
*/
|
|
256
|
-
extrude(extrusionDistance, extrusionConfig = {}) {
|
|
257
|
-
return require_solidBuilders.makeCompound(this.sketches.map((s) => s.extrude(extrusionDistance, extrusionConfig)));
|
|
258
|
-
}
|
|
259
|
-
/**
|
|
260
|
-
* Revolves the drawing on an axis (defined by its direction and an origin
|
|
261
|
-
* (defaults to the sketch origin)
|
|
262
|
-
*/
|
|
263
|
-
revolve(revolutionAxis, config) {
|
|
264
|
-
return require_solidBuilders.makeCompound(this.sketches.map((s) => s.revolve(revolutionAxis, config)));
|
|
265
|
-
}
|
|
266
|
-
};
|
|
267
|
-
//#endregion
|
|
268
71
|
//#region src/sketching/sketcher.ts
|
|
269
72
|
/**
|
|
270
73
|
* Build 2D wire profiles on a 3D plane using a builder-pen API.
|
|
@@ -286,7 +89,7 @@ var Sketches = class {
|
|
|
286
89
|
* @see {@link DrawingPen} for the pure-2D equivalent.
|
|
287
90
|
* @category Sketching
|
|
288
91
|
*/
|
|
289
|
-
var Sketcher = class extends
|
|
92
|
+
var Sketcher = class extends require_blueprintSketcher.BaseSketcher2d {
|
|
290
93
|
plane;
|
|
291
94
|
constructor(plane, origin) {
|
|
292
95
|
super();
|
|
@@ -309,19 +112,19 @@ var Sketcher = class extends require_boolean2D.BaseSketcher2d {
|
|
|
309
112
|
}
|
|
310
113
|
buildWire() {
|
|
311
114
|
try {
|
|
312
|
-
var _usingCtx$
|
|
115
|
+
var _usingCtx$4 = require_shapeTypes._usingCtx();
|
|
313
116
|
if (!this.pendingCurves.length) require_errors.bug("Sketcher.buildWire", "No lines to convert into a wire");
|
|
314
|
-
const scope = _usingCtx$
|
|
117
|
+
const scope = _usingCtx$4.u(new require_shapeTypes.DisposalScope());
|
|
315
118
|
return require_errors.unwrap(require_surfaceBuilders.assembleWire(require_blueprint.curvesAsEdgesOnPlane(this.pendingCurves, this.plane).map((e) => scope.register(e))));
|
|
316
119
|
} catch (_) {
|
|
317
|
-
_usingCtx$
|
|
120
|
+
_usingCtx$4.e = _;
|
|
318
121
|
} finally {
|
|
319
|
-
_usingCtx$
|
|
122
|
+
_usingCtx$4.d();
|
|
320
123
|
}
|
|
321
124
|
}
|
|
322
125
|
/** Finish drawing and return the open-wire Sketch (does not close the path). */
|
|
323
126
|
done() {
|
|
324
|
-
return new
|
|
127
|
+
return new require_textBlueprints.Sketch(this.buildWire(), {
|
|
325
128
|
defaultOrigin: this.plane.origin,
|
|
326
129
|
defaultDirection: this.plane.zDir
|
|
327
130
|
});
|
|
@@ -343,7 +146,7 @@ var Sketcher = class extends require_boolean2D.BaseSketcher2d {
|
|
|
343
146
|
const pointer3d = require_planeOps.planeToWorld(this.plane, this.pointer);
|
|
344
147
|
const normal = require_vecOps.vecCross(require_vecOps.vecNormalize(require_vecOps.vecSub(pointer3d, require_planeOps.planeToWorld(this.plane, this.firstPoint))), this.plane.zDir);
|
|
345
148
|
const clonedWrapped = require_errors.unwrap(require_faceFns.downcast(wire.wrapped));
|
|
346
|
-
return new
|
|
149
|
+
return new require_textBlueprints.Sketch(require_errors.unwrap(require_surfaceBuilders.assembleWire([wire, require_shapeTypes.createWire(require_errors.unwrap(require_faceFns.downcast(require_shapeTypes.getKernel().mirror(clonedWrapped, require_types.toVec3(pointer3d), require_types.toVec3(normal)))))])), {
|
|
347
150
|
defaultOrigin: this.plane.origin,
|
|
348
151
|
defaultDirection: this.plane.zDir
|
|
349
152
|
});
|
|
@@ -362,6 +165,122 @@ var Sketcher = class extends require_boolean2D.BaseSketcher2d {
|
|
|
362
165
|
}
|
|
363
166
|
};
|
|
364
167
|
//#endregion
|
|
168
|
+
//#region src/sketching/faceSketcher.ts
|
|
169
|
+
/**
|
|
170
|
+
* The FaceSketcher allows you to sketch on a face that is not planar, for
|
|
171
|
+
* instance the sides of a cylinder.
|
|
172
|
+
*
|
|
173
|
+
* The coordinates passed to the methods corresponds to normalised distances on
|
|
174
|
+
* this surface, between 0 and 1 in both direction.
|
|
175
|
+
*
|
|
176
|
+
* Note that if you are drawing on a closed surface (typically a revolution
|
|
177
|
+
* surface or a cylinder), the first parameters represents the angle and can be
|
|
178
|
+
* smaller than 0 or bigger than 1.
|
|
179
|
+
*
|
|
180
|
+
* @category Sketching
|
|
181
|
+
*/
|
|
182
|
+
var FaceSketcher = class extends require_blueprintSketcher.BaseSketcher2d {
|
|
183
|
+
face;
|
|
184
|
+
_bounds;
|
|
185
|
+
constructor(face, origin = [0, 0]) {
|
|
186
|
+
super(origin);
|
|
187
|
+
this.face = require_shapeTypes.createFace(require_errors.unwrap(require_faceFns.downcast(face.wrapped)));
|
|
188
|
+
this._bounds = require_faceFns.uvBounds(face);
|
|
189
|
+
}
|
|
190
|
+
_convertToUV([x, y]) {
|
|
191
|
+
const { uMin, uMax, vMin, vMax } = this._bounds;
|
|
192
|
+
return [uMin + x * (uMax - uMin), vMin + y * (vMax - vMin)];
|
|
193
|
+
}
|
|
194
|
+
_convertFromUV([u, v]) {
|
|
195
|
+
const { uMin, uMax, vMin, vMax } = this._bounds;
|
|
196
|
+
return [(u - uMin) / (uMax - uMin), (v - vMin) / (vMax - vMin)];
|
|
197
|
+
}
|
|
198
|
+
_adaptSurface() {
|
|
199
|
+
return require_shapeTypes.getKernel().extractSurfaceFromFace(this.face.wrapped);
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* @ignore
|
|
203
|
+
*/
|
|
204
|
+
buildWire() {
|
|
205
|
+
const kernel = require_shapeTypes.getKernel();
|
|
206
|
+
const geomSurf = this._adaptSurface();
|
|
207
|
+
const wire = require_errors.unwrap(require_surfaceBuilders.assembleWire(this.pendingCurves.map((curve) => {
|
|
208
|
+
return require_shapeTypes.createEdge(kernel.buildEdgeOnSurface(curve.wrapped, geomSurf));
|
|
209
|
+
})));
|
|
210
|
+
kernel.buildCurves3d(wire.wrapped);
|
|
211
|
+
return wire;
|
|
212
|
+
}
|
|
213
|
+
/** Finish drawing and return the resulting {@link Sketch} (does not close the path). */
|
|
214
|
+
done() {
|
|
215
|
+
try {
|
|
216
|
+
var _usingCtx$3 = require_shapeTypes._usingCtx();
|
|
217
|
+
const scope = _usingCtx$3.u(new require_shapeTypes.DisposalScope());
|
|
218
|
+
const wire = this.buildWire();
|
|
219
|
+
const sketch = new require_textBlueprints.Sketch(wire);
|
|
220
|
+
if (require_curveFns.curveIsClosed(wire)) {
|
|
221
|
+
const face = scope.register(sketch.clone().face());
|
|
222
|
+
const origin = require_faceFns.pointOnSurface(face, .5, .5);
|
|
223
|
+
const direction = require_vecOps.vecScale(require_faceFns.normalAt(face), -1);
|
|
224
|
+
sketch.defaultOrigin = [
|
|
225
|
+
origin[0],
|
|
226
|
+
origin[1],
|
|
227
|
+
origin[2]
|
|
228
|
+
];
|
|
229
|
+
sketch.defaultDirection = [
|
|
230
|
+
direction[0],
|
|
231
|
+
direction[1],
|
|
232
|
+
direction[2]
|
|
233
|
+
];
|
|
234
|
+
} else {
|
|
235
|
+
const startPoint = require_curveFns.curveStartPoint(wire);
|
|
236
|
+
const normal = require_faceFns.normalAt(this.face, [
|
|
237
|
+
startPoint[0],
|
|
238
|
+
startPoint[1],
|
|
239
|
+
startPoint[2]
|
|
240
|
+
]);
|
|
241
|
+
sketch.defaultOrigin = [
|
|
242
|
+
startPoint[0],
|
|
243
|
+
startPoint[1],
|
|
244
|
+
startPoint[2]
|
|
245
|
+
];
|
|
246
|
+
sketch.defaultDirection = [
|
|
247
|
+
normal[0],
|
|
248
|
+
normal[1],
|
|
249
|
+
normal[2]
|
|
250
|
+
];
|
|
251
|
+
}
|
|
252
|
+
sketch.baseFace = this.face;
|
|
253
|
+
return sketch;
|
|
254
|
+
} catch (_) {
|
|
255
|
+
_usingCtx$3.e = _;
|
|
256
|
+
} finally {
|
|
257
|
+
_usingCtx$3.d();
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
/** Close the path with a straight line to the start point and return the Sketch. */
|
|
261
|
+
close() {
|
|
262
|
+
this._closeSketch();
|
|
263
|
+
return this.done();
|
|
264
|
+
}
|
|
265
|
+
/** Close the path by mirroring all curves about the line from first to last point. */
|
|
266
|
+
closeWithMirror() {
|
|
267
|
+
this._closeWithMirror();
|
|
268
|
+
return this.close();
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Close the path and apply a custom corner treatment between the last and first segments.
|
|
272
|
+
*
|
|
273
|
+
* @param radius - Fillet/chamfer radius, or a custom corner function.
|
|
274
|
+
* @param mode - Corner treatment type.
|
|
275
|
+
* @returns The closed {@link Sketch}.
|
|
276
|
+
*/
|
|
277
|
+
closeWithCustomCorner(radius, mode = "fillet") {
|
|
278
|
+
this._closeSketch();
|
|
279
|
+
this._customCornerLastWithFirst(radius, mode);
|
|
280
|
+
return this.done();
|
|
281
|
+
}
|
|
282
|
+
};
|
|
283
|
+
//#endregion
|
|
365
284
|
//#region src/sketching/cannedSketches.ts
|
|
366
285
|
/**
|
|
367
286
|
* Create a circular Sketch on a given plane.
|
|
@@ -380,7 +299,7 @@ var Sketcher = class extends require_boolean2D.BaseSketcher2d {
|
|
|
380
299
|
*/
|
|
381
300
|
var sketchCircle = (radius, planeConfig = {}) => {
|
|
382
301
|
const plane = planeConfig.plane && typeof planeConfig.plane !== "string" ? { ...planeConfig.plane } : require_errors.unwrap(require_planeOps.resolvePlane(planeConfig.plane ?? "XY", planeConfig.origin));
|
|
383
|
-
return new
|
|
302
|
+
return new require_textBlueprints.Sketch(require_errors.unwrap(require_surfaceBuilders.assembleWire([require_surfaceBuilders.makeCircle(radius, plane.origin, plane.zDir)])), {
|
|
384
303
|
defaultOrigin: [...plane.origin],
|
|
385
304
|
defaultDirection: [...plane.zDir]
|
|
386
305
|
});
|
|
@@ -405,7 +324,7 @@ var sketchEllipse = (xRadius = 1, yRadius = 2, planeConfig = {}) => {
|
|
|
405
324
|
majR = yRadius;
|
|
406
325
|
minR = xRadius;
|
|
407
326
|
}
|
|
408
|
-
return new
|
|
327
|
+
return new require_textBlueprints.Sketch(require_errors.unwrap(require_surfaceBuilders.assembleWire([require_errors.unwrap(require_surfaceBuilders.makeEllipse(majR, minR, plane.origin, plane.zDir, xDir))])), {
|
|
409
328
|
defaultOrigin: [...plane.origin],
|
|
410
329
|
defaultDirection: [...plane.zDir]
|
|
411
330
|
});
|
|
@@ -445,7 +364,7 @@ var sketchRoundedRectangle = (width, height, r = 0, planeConfig = {}) => {
|
|
|
445
364
|
const opts = {};
|
|
446
365
|
if (data.defaultOrigin) opts.defaultOrigin = data.defaultOrigin;
|
|
447
366
|
if (data.defaultDirection) opts.defaultDirection = data.defaultDirection;
|
|
448
|
-
return new
|
|
367
|
+
return new require_textBlueprints.Sketch(data.wire, opts);
|
|
449
368
|
};
|
|
450
369
|
/**
|
|
451
370
|
* Create a regular-polygon Sketch on a given plane.
|
|
@@ -506,7 +425,7 @@ var polysideInnerRadius = (outerRadius, sidesCount, sagitta = 0) => {
|
|
|
506
425
|
var sketchFaceOffset = (face, offset) => {
|
|
507
426
|
const defaultOrigin = [...require_faceFns.faceCenter(face)];
|
|
508
427
|
const defaultDirection = [...require_faceFns.normalAt(face)];
|
|
509
|
-
return new
|
|
428
|
+
return new require_textBlueprints.Sketch(require_errors.unwrap(require_curveFns.offsetWire2D(require_faceFns.outerWire(face), offset)), {
|
|
510
429
|
defaultOrigin,
|
|
511
430
|
defaultDirection
|
|
512
431
|
});
|
|
@@ -533,7 +452,7 @@ var sketchParametricFunction = (func, planeConfig = {}, { pointsCount = 400, sta
|
|
|
533
452
|
const points = [...Array(pointsCount + 1).keys()].map((t) => {
|
|
534
453
|
return require_planeOps.planeToWorld(plane, func(start + t * stepSize));
|
|
535
454
|
});
|
|
536
|
-
return new
|
|
455
|
+
return new require_textBlueprints.Sketch(require_errors.unwrap(require_surfaceBuilders.assembleWire([scope.register(require_errors.unwrap(require_surfaceBuilders.makeBSplineApproximation(points, approximationConfig)))])), {
|
|
537
456
|
defaultOrigin: [...plane.origin],
|
|
538
457
|
defaultDirection: [...plane.zDir]
|
|
539
458
|
});
|
|
@@ -565,7 +484,7 @@ var sketchHelix = (pitch, height, radius, center = [
|
|
|
565
484
|
0,
|
|
566
485
|
1
|
|
567
486
|
], lefthand = false) => {
|
|
568
|
-
return new
|
|
487
|
+
return new require_textBlueprints.Sketch(require_errors.unwrap(require_surfaceBuilders.assembleWire([require_surfaceBuilders.makeHelix(pitch, height, radius, require_types.toVec3(center), require_types.toVec3(dir), lefthand)])));
|
|
569
488
|
};
|
|
570
489
|
//#endregion
|
|
571
490
|
//#region src/sketching/shortcuts.ts
|
|
@@ -683,7 +602,7 @@ function findSelfIntersections(offsettedArray) {
|
|
|
683
602
|
const intersections = allIntersections.get(index) || [];
|
|
684
603
|
allIntersections.set(index, [...intersections, ...newPoints]);
|
|
685
604
|
};
|
|
686
|
-
const spatialIndex = new
|
|
605
|
+
const spatialIndex = new require_blueprintSketcher.Flatbush(offsettedArray.length);
|
|
687
606
|
for (const curve of offsettedArray) {
|
|
688
607
|
const [[xMin, yMin], [xMax, yMax]] = curve.boundingBox.bounds;
|
|
689
608
|
spatialIndex.add(xMin, yMin, xMax, yMax);
|
|
@@ -695,7 +614,7 @@ function findSelfIntersections(offsettedArray) {
|
|
|
695
614
|
for (const secondIndex of candidates) {
|
|
696
615
|
if (secondIndex <= firstIndex) continue;
|
|
697
616
|
const secondCurve = require_errors.safeIndex(offsettedArray, secondIndex, "offsetBlueprint");
|
|
698
|
-
const { intersections: rawIntersections, commonSegmentsPoints } = require_errors.unwrap(
|
|
617
|
+
const { intersections: rawIntersections, commonSegmentsPoints } = require_errors.unwrap(require_blueprintSketcher.intersectCurves(firstCurve, secondCurve, require_helpers.PRECISION_OFFSET));
|
|
699
618
|
const intersections = [...rawIntersections, ...commonSegmentsPoints].filter((intersection) => {
|
|
700
619
|
const onFirstCurveExtremity = samePoint(intersection, firstCurve.firstPoint) || samePoint(intersection, firstCurve.lastPoint);
|
|
701
620
|
const onSecondCurveExtremity = samePoint(intersection, secondCurve.firstPoint) || samePoint(intersection, secondCurve.lastPoint);
|
|
@@ -725,7 +644,7 @@ function findSelfIntersections(offsettedArray) {
|
|
|
725
644
|
function rawOffsets(blueprint, offset, offsetConfig = {}) {
|
|
726
645
|
const correctedOffset = blueprint.orientation === "clockwise" ? -offset : offset;
|
|
727
646
|
const offsetCurves = blueprint.curves.map((c) => ({
|
|
728
|
-
offset:
|
|
647
|
+
offset: require_blueprintSketcher.make2dOffset(c, correctedOffset),
|
|
729
648
|
original: c
|
|
730
649
|
}));
|
|
731
650
|
const offsettedArray = [];
|
|
@@ -756,7 +675,7 @@ function rawOffsets(blueprint, offset, offsetConfig = {}) {
|
|
|
756
675
|
}
|
|
757
676
|
let intersections = [];
|
|
758
677
|
if (previousCurve.offset instanceof require_blueprint.Curve2D && curve.offset instanceof require_blueprint.Curve2D) {
|
|
759
|
-
const { intersections: pointIntersections, commonSegmentsPoints } = require_errors.unwrap(
|
|
678
|
+
const { intersections: pointIntersections, commonSegmentsPoints } = require_errors.unwrap(require_blueprintSketcher.intersectCurves(previousCurve.offset, curve.offset, require_helpers.PRECISION_OFFSET / 100));
|
|
760
679
|
intersections = [...pointIntersections, ...commonSegmentsPoints];
|
|
761
680
|
}
|
|
762
681
|
if (intersections.length > 0) {
|
|
@@ -801,7 +720,7 @@ function offsetBlueprint(blueprint, offset, offsetConfig = {}) {
|
|
|
801
720
|
const intersections = allIntersections.get(index) || [];
|
|
802
721
|
return curve.splitAt(intersections, require_helpers.PRECISION_OFFSET * 100);
|
|
803
722
|
});
|
|
804
|
-
const originalIndex = new
|
|
723
|
+
const originalIndex = new require_blueprintSketcher.Flatbush(blueprint.curves.length);
|
|
805
724
|
for (const c of blueprint.curves) {
|
|
806
725
|
const [[xMin, yMin], [xMax, yMax]] = c.boundingBox.bounds;
|
|
807
726
|
originalIndex.add(xMin, yMin, xMax, yMax);
|
|
@@ -818,7 +737,7 @@ function offsetBlueprint(blueprint, offset, offsetConfig = {}) {
|
|
|
818
737
|
const blueprints = stitchCurves(prunedCurves).filter((c) => c.length > 1).map((c) => new require_blueprint.Blueprint(c)).filter((b) => b.isClosed());
|
|
819
738
|
if (!blueprints.length) return null;
|
|
820
739
|
if (blueprints.length === 1) return require_errors.safeIndex(blueprints, 0, "offsetBlueprint");
|
|
821
|
-
return new
|
|
740
|
+
return new require_blueprintSketcher.Blueprints(blueprints);
|
|
822
741
|
}
|
|
823
742
|
var fuseAll = (blueprints) => {
|
|
824
743
|
let fused = require_errors.safeIndex(blueprints, 0, "fuseAll");
|
|
@@ -844,8 +763,8 @@ var fuseAll = (blueprints) => {
|
|
|
844
763
|
*/
|
|
845
764
|
function offset(bp, offsetDistance, offsetConfig = {}) {
|
|
846
765
|
if (bp instanceof require_blueprint.Blueprint) return offsetBlueprint(bp, offsetDistance, offsetConfig);
|
|
847
|
-
else if (bp instanceof
|
|
848
|
-
else if (bp instanceof
|
|
766
|
+
else if (bp instanceof require_blueprintSketcher.Blueprints) return fuseAll(bp.blueprints.map((b) => offset(b, offsetDistance, offsetConfig)));
|
|
767
|
+
else if (bp instanceof require_blueprintSketcher.CompoundBlueprint) {
|
|
849
768
|
const innerShape = fuseAll(bp.blueprints.slice(1).map((b) => offset(b, -offsetDistance, offsetConfig)));
|
|
850
769
|
return require_boolean2D.cut2D(offset(require_errors.safeIndex(bp.blueprints, 0, "offset"), offsetDistance, offsetConfig), innerShape);
|
|
851
770
|
}
|
|
@@ -866,8 +785,8 @@ function offset(bp, offsetDistance, offsetConfig = {}) {
|
|
|
866
785
|
*/
|
|
867
786
|
function approximateForSVG(bp, options) {
|
|
868
787
|
if (bp instanceof require_blueprint.Blueprint) return new require_blueprint.Blueprint(require_blueprint.approximateAsSvgCompatibleCurve(bp.curves, options));
|
|
869
|
-
else if (bp instanceof
|
|
870
|
-
else if (bp instanceof
|
|
788
|
+
else if (bp instanceof require_blueprintSketcher.CompoundBlueprint) return new require_blueprintSketcher.CompoundBlueprint(bp.blueprints.map((b) => approximateForSVG(b, options)));
|
|
789
|
+
else if (bp instanceof require_blueprintSketcher.Blueprints) return new require_blueprintSketcher.Blueprints(bp.blueprints.map((b) => approximateForSVG(b, options)));
|
|
871
790
|
return bp;
|
|
872
791
|
}
|
|
873
792
|
//#endregion
|
|
@@ -901,8 +820,8 @@ function modifyCorners(makeCorner, blueprint, radius, finder) {
|
|
|
901
820
|
}
|
|
902
821
|
function modifyCorner2D(makeCorner, shape, radius, finder) {
|
|
903
822
|
if (shape instanceof require_blueprint.Blueprint) return modifyCorners(makeCorner, shape, radius, finder);
|
|
904
|
-
if (shape instanceof
|
|
905
|
-
if (shape instanceof
|
|
823
|
+
if (shape instanceof require_blueprintSketcher.CompoundBlueprint) return new require_blueprintSketcher.CompoundBlueprint(shape.blueprints.map((b) => modifyCorners(makeCorner, b, radius, finder)));
|
|
824
|
+
if (shape instanceof require_blueprintSketcher.Blueprints) return new require_blueprintSketcher.Blueprints(shape.blueprints.map((b) => modifyCorner2D(makeCorner, b, radius, finder)).filter((b) => b !== null));
|
|
906
825
|
return null;
|
|
907
826
|
}
|
|
908
827
|
/**
|
|
@@ -918,7 +837,7 @@ function modifyCorner2D(makeCorner, shape, radius, finder) {
|
|
|
918
837
|
* @returns A new shape with filleted corners, or `null` if the input is `null`.
|
|
919
838
|
*/
|
|
920
839
|
function fillet2D(shape, radius, finder) {
|
|
921
|
-
return modifyCorner2D(
|
|
840
|
+
return modifyCorner2D(require_blueprintSketcher.filletCurves, shape, radius, finder);
|
|
922
841
|
}
|
|
923
842
|
/**
|
|
924
843
|
* Apply chamfer (beveled) corners to a 2D shape.
|
|
@@ -933,181 +852,14 @@ function fillet2D(shape, radius, finder) {
|
|
|
933
852
|
* @returns A new shape with chamfered corners, or `null` if the input is `null`.
|
|
934
853
|
*/
|
|
935
854
|
function chamfer2D(shape, radius, finder) {
|
|
936
|
-
return modifyCorner2D(
|
|
937
|
-
}
|
|
938
|
-
//#endregion
|
|
939
|
-
//#region src/sketching/sketchUtils.ts
|
|
940
|
-
/** Wrap SketchData into a Sketch instance. */
|
|
941
|
-
function wrapSketchData(data) {
|
|
942
|
-
const opts = {};
|
|
943
|
-
if (data.defaultOrigin) opts.defaultOrigin = data.defaultOrigin;
|
|
944
|
-
if (data.defaultDirection) opts.defaultDirection = data.defaultDirection;
|
|
945
|
-
const sketch = new require_boolean2D.Sketch(data.wire, opts);
|
|
946
|
-
if (data.baseFace) sketch.baseFace = data.baseFace;
|
|
947
|
-
return sketch;
|
|
948
|
-
}
|
|
949
|
-
/** Wrap an array of SketchData into a CompoundSketch. */
|
|
950
|
-
function wrapSketchDataArray(dataArr) {
|
|
951
|
-
return new CompoundSketch(dataArr.map(wrapSketchData));
|
|
952
|
-
}
|
|
953
|
-
//#endregion
|
|
954
|
-
//#region src/text/textBlueprints.ts
|
|
955
|
-
var FONT_REGISTER = {};
|
|
956
|
-
/**
|
|
957
|
-
* Load and register an OpenType/TrueType font for use with text drawing functions.
|
|
958
|
-
*
|
|
959
|
-
* The font is fetched (if a URL string) or parsed (if an ArrayBuffer) and
|
|
960
|
-
* stored in an internal registry keyed by `fontFamily`. The first font loaded
|
|
961
|
-
* is also registered as `'default'`.
|
|
962
|
-
*
|
|
963
|
-
* @param fontPath - URL string or raw ArrayBuffer of the font file.
|
|
964
|
-
* @param fontFamily - Registry key for later retrieval (defaults to `'default'`).
|
|
965
|
-
* @param force - If true, overwrite a previously loaded font with the same key.
|
|
966
|
-
* @returns The parsed opentype.js Font object.
|
|
967
|
-
*/
|
|
968
|
-
async function loadFont(fontPath, fontFamily = "default", force = false) {
|
|
969
|
-
if (!force && FONT_REGISTER[fontFamily]) return require_errors.ok(FONT_REGISTER[fontFamily]);
|
|
970
|
-
let fontData;
|
|
971
|
-
if (typeof fontPath === "string") {
|
|
972
|
-
let response;
|
|
973
|
-
try {
|
|
974
|
-
response = await fetch(fontPath);
|
|
975
|
-
} catch (e) {
|
|
976
|
-
return require_errors.err(require_errors.ioError(require_errors.BrepErrorCode.FONT_FETCH_FAILED, `Failed to fetch font from ${fontPath}: ${e instanceof Error ? e.message : String(e)}`, e));
|
|
977
|
-
}
|
|
978
|
-
if (!response.ok) return require_errors.err(require_errors.ioError(require_errors.BrepErrorCode.FONT_FETCH_FAILED, `Failed to fetch font from ${fontPath}: HTTP ${response.status} ${response.statusText}`));
|
|
979
|
-
fontData = await response.arrayBuffer();
|
|
980
|
-
} else fontData = fontPath;
|
|
981
|
-
let font;
|
|
982
|
-
try {
|
|
983
|
-
font = opentype_js.default.parse(fontData);
|
|
984
|
-
} catch (e) {
|
|
985
|
-
return require_errors.err(require_errors.ioError(require_errors.BrepErrorCode.FONT_PARSE_FAILED, `Failed to parse font data: ${e instanceof Error ? e.message : String(e)}`, e));
|
|
986
|
-
}
|
|
987
|
-
const typedFont = font;
|
|
988
|
-
FONT_REGISTER[fontFamily] = typedFont;
|
|
989
|
-
if (!FONT_REGISTER["default"]) FONT_REGISTER["default"] = typedFont;
|
|
990
|
-
return require_errors.ok(typedFont);
|
|
991
|
-
}
|
|
992
|
-
/**
|
|
993
|
-
* Retrieve a previously loaded font by family name.
|
|
994
|
-
*
|
|
995
|
-
* @param fontFamily - Registry key (defaults to `'default'`).
|
|
996
|
-
* @returns The opentype.js Font object, or `undefined` if not loaded.
|
|
997
|
-
*/
|
|
998
|
-
var getFont = (fontFamily = "default") => {
|
|
999
|
-
return FONT_REGISTER[fontFamily];
|
|
1000
|
-
};
|
|
1001
|
-
var sketchFontCommands = function* (commands) {
|
|
1002
|
-
let sk = null;
|
|
1003
|
-
let lastPoint = null;
|
|
1004
|
-
for (const command of commands) {
|
|
1005
|
-
if (command.type === "Z") {
|
|
1006
|
-
if (sk) yield sk.close();
|
|
1007
|
-
sk = null;
|
|
1008
|
-
continue;
|
|
1009
|
-
}
|
|
1010
|
-
const p = [-command.x, command.y];
|
|
1011
|
-
if (command.type === "M") {
|
|
1012
|
-
if (sk) yield sk.done();
|
|
1013
|
-
sk = new require_boolean2D.BlueprintSketcher();
|
|
1014
|
-
sk.movePointerTo(p);
|
|
1015
|
-
lastPoint = p;
|
|
1016
|
-
continue;
|
|
1017
|
-
}
|
|
1018
|
-
if (lastPoint && Math.abs(p[0] - lastPoint[0]) < 1e-9 && Math.abs(p[1] - lastPoint[1]) < 1e-9) continue;
|
|
1019
|
-
if (command.type === "L") sk?.lineTo(p);
|
|
1020
|
-
if (command.type === "C") sk?.cubicBezierCurveTo(p, [-command.x1, command.y1], [-command.x2, command.y2]);
|
|
1021
|
-
if (command.type === "Q") sk?.quadraticBezierCurveTo(p, [-command.x1, command.y1]);
|
|
1022
|
-
lastPoint = p;
|
|
1023
|
-
}
|
|
1024
|
-
};
|
|
1025
|
-
/**
|
|
1026
|
-
* Convert a text string into 2D Blueprints using a loaded font.
|
|
1027
|
-
*
|
|
1028
|
-
* Each glyph outline is traced as a series of line/bezier curves, then
|
|
1029
|
-
* organised into a {@link Blueprints} collection (outer contours + holes).
|
|
1030
|
-
*
|
|
1031
|
-
* @param text - The string to render.
|
|
1032
|
-
* @returns A Blueprints instance representing the text outlines.
|
|
1033
|
-
*
|
|
1034
|
-
* @remarks Requires a font to be loaded via {@link loadFont} before use.
|
|
1035
|
-
*/
|
|
1036
|
-
function textBlueprints(text, { startX = 0, startY = 0, fontSize = 16, fontFamily = "default" } = {}) {
|
|
1037
|
-
let font = getFont(fontFamily);
|
|
1038
|
-
if (!font) font = getFont();
|
|
1039
|
-
if (!font) require_errors.bug("text", "No fonts loaded. Call loadFont() before using text functions.");
|
|
1040
|
-
const writtenText = font.getPath(text, -startX, -startY, fontSize);
|
|
1041
|
-
return require_boolean2D.organiseBlueprints(Array.from(sketchFontCommands(writtenText.commands))).mirror([0, 0]);
|
|
1042
|
-
}
|
|
1043
|
-
/**
|
|
1044
|
-
* Render text as 3D sketch outlines on a plane.
|
|
1045
|
-
*
|
|
1046
|
-
* Combines {@link textBlueprints} with `sketchOnPlane` to produce a
|
|
1047
|
-
* {@link Sketches} collection that can be extruded, revolved, etc.
|
|
1048
|
-
*
|
|
1049
|
-
* @param text - The string to render.
|
|
1050
|
-
* @param textConfig - Font size, family, and start position.
|
|
1051
|
-
* @param planeConfig - Plane name / origin to sketch on (defaults to XY at origin).
|
|
1052
|
-
* @returns A {@link Sketches} collection of the text outlines.
|
|
1053
|
-
*
|
|
1054
|
-
* @example
|
|
1055
|
-
* ```ts
|
|
1056
|
-
* await loadFont("/fonts/Roboto.ttf");
|
|
1057
|
-
* const textSketches = sketchText("Hello", { fontSize: 24 });
|
|
1058
|
-
* const solid = textSketches.extrude(2);
|
|
1059
|
-
* ```
|
|
1060
|
-
*/
|
|
1061
|
-
function sketchText(text, textConfig, planeConfig = {}) {
|
|
1062
|
-
const textBp = textBlueprints(text, textConfig);
|
|
1063
|
-
return new Sketches((typeof planeConfig.plane === "string" || planeConfig.plane === void 0 ? textBp.sketchOnPlane(planeConfig.plane, planeConfig.origin) : textBp.sketchOnPlane(planeConfig.plane)).map((item) => Array.isArray(item) ? new CompoundSketch(item.map(wrapSketchData)) : wrapSketchData(item)));
|
|
1064
|
-
}
|
|
1065
|
-
/**
|
|
1066
|
-
* Measure the dimensions of a text string without generating geometry.
|
|
1067
|
-
*
|
|
1068
|
-
* Requires a font to be loaded via {@link loadFont} first.
|
|
1069
|
-
*/
|
|
1070
|
-
function textMetrics(text, options) {
|
|
1071
|
-
const fontSize = options?.fontSize ?? 1;
|
|
1072
|
-
const font = getFont(options?.fontFamily);
|
|
1073
|
-
if (!font) return require_errors.err(require_errors.validationError(require_errors.BrepErrorCode.NO_FONT_LOADED, "No font loaded. Call loadFont() first.", void 0, void 0, "Load a font with loadFont() before calling textMetrics()"));
|
|
1074
|
-
const width = font.getAdvanceWidth(text, fontSize);
|
|
1075
|
-
const scale = fontSize / font.unitsPerEm;
|
|
1076
|
-
const ascender = font.ascender * scale;
|
|
1077
|
-
const descender = font.descender * scale;
|
|
1078
|
-
return require_errors.ok({
|
|
1079
|
-
width,
|
|
1080
|
-
height: ascender - descender,
|
|
1081
|
-
ascender,
|
|
1082
|
-
descender
|
|
1083
|
-
});
|
|
1084
|
-
}
|
|
1085
|
-
/**
|
|
1086
|
-
* Retrieve font-level metrics without referencing specific text.
|
|
1087
|
-
*
|
|
1088
|
-
* Requires a font to be loaded via {@link loadFont} first.
|
|
1089
|
-
*/
|
|
1090
|
-
function fontMetrics(options) {
|
|
1091
|
-
const fontSize = options?.fontSize ?? 1;
|
|
1092
|
-
const font = getFont(options?.fontFamily);
|
|
1093
|
-
if (!font) return require_errors.err(require_errors.validationError(require_errors.BrepErrorCode.NO_FONT_LOADED, "No font loaded. Call loadFont() first.", void 0, void 0, "Load a font with loadFont() before calling fontMetrics()"));
|
|
1094
|
-
const scale = fontSize / font.unitsPerEm;
|
|
1095
|
-
const ascender = font.ascender * scale;
|
|
1096
|
-
const descender = font.descender * scale;
|
|
1097
|
-
const lineGap = (font.tables?.os2?.sTypoLineGap ?? 0) * scale;
|
|
1098
|
-
return require_errors.ok({
|
|
1099
|
-
ascender,
|
|
1100
|
-
descender,
|
|
1101
|
-
unitsPerEm: font.unitsPerEm,
|
|
1102
|
-
lineHeight: ascender - descender + lineGap
|
|
1103
|
-
});
|
|
855
|
+
return modifyCorner2D(require_blueprintSketcher.chamferCurves, shape, radius, finder);
|
|
1104
856
|
}
|
|
1105
857
|
//#endregion
|
|
1106
|
-
//#region src/sketching/
|
|
858
|
+
//#region src/sketching/drawing.ts
|
|
1107
859
|
function wrapBlueprintResult(shape, result) {
|
|
1108
|
-
if (shape instanceof require_blueprint.Blueprint) return wrapSketchData(result);
|
|
1109
|
-
else if (shape instanceof
|
|
1110
|
-
else return new Sketches(result.map((item) => Array.isArray(item) ? wrapSketchDataArray(item) : wrapSketchData(item)));
|
|
860
|
+
if (shape instanceof require_blueprint.Blueprint) return require_textBlueprints.wrapSketchData(result);
|
|
861
|
+
else if (shape instanceof require_blueprintSketcher.CompoundBlueprint) return require_textBlueprints.wrapSketchDataArray(result);
|
|
862
|
+
else return new require_textBlueprints.Sketches(result.map((item) => Array.isArray(item) ? require_textBlueprints.wrapSketchDataArray(item) : require_textBlueprints.wrapSketchData(item)));
|
|
1111
863
|
}
|
|
1112
864
|
/**
|
|
1113
865
|
* @categoryDescription Drawing
|
|
@@ -1145,11 +897,11 @@ var Drawing = class Drawing {
|
|
|
1145
897
|
serialize() {
|
|
1146
898
|
if (!this.innerShape) return JSON.stringify({ type: "Empty" });
|
|
1147
899
|
function serializeHelper(shape) {
|
|
1148
|
-
if (shape instanceof
|
|
900
|
+
if (shape instanceof require_blueprintSketcher.CompoundBlueprint) return {
|
|
1149
901
|
type: "CompoundBlueprint",
|
|
1150
902
|
blueprints: shape.blueprints.map(serializeHelper)
|
|
1151
903
|
};
|
|
1152
|
-
else if (shape instanceof
|
|
904
|
+
else if (shape instanceof require_blueprintSketcher.Blueprints) return {
|
|
1153
905
|
type: "Blueprints",
|
|
1154
906
|
blueprints: shape.blueprints.map(serializeHelper)
|
|
1155
907
|
};
|
|
@@ -1279,20 +1031,35 @@ var Drawing = class Drawing {
|
|
|
1279
1031
|
/** Access the underlying {@link Blueprint}, throwing if the drawing is compound. */
|
|
1280
1032
|
get blueprint() {
|
|
1281
1033
|
if (!(this.innerShape instanceof require_blueprint.Blueprint)) {
|
|
1282
|
-
if (this.innerShape instanceof
|
|
1034
|
+
if (this.innerShape instanceof require_blueprintSketcher.Blueprints && this.innerShape.blueprints.length === 1 && this.innerShape.blueprints[0] instanceof require_blueprint.Blueprint) return this.innerShape.blueprints[0];
|
|
1283
1035
|
require_errors.bug("Drawing.blueprint", "This drawing is not a blueprint");
|
|
1284
1036
|
}
|
|
1285
1037
|
return this.innerShape;
|
|
1286
1038
|
}
|
|
1287
1039
|
};
|
|
1288
1040
|
/**
|
|
1041
|
+
* Deserializes a drawing from a string. String is expected to be in the format
|
|
1042
|
+
* generated by `Drawing.serialize()`.
|
|
1043
|
+
*/
|
|
1044
|
+
function deserializeDrawing(data) {
|
|
1045
|
+
function deserializeHelper(json) {
|
|
1046
|
+
if (json["type"] === "CompoundBlueprint") return new require_blueprintSketcher.CompoundBlueprint(json["blueprints"].map(deserializeHelper));
|
|
1047
|
+
else if (json["type"] === "Blueprints") return new require_blueprintSketcher.Blueprints(json["blueprints"].map(deserializeHelper));
|
|
1048
|
+
else if (json["type"] === "Blueprint") return new require_blueprint.Blueprint(json["curves"].map((c) => require_blueprint.deserializeCurve2D(c)));
|
|
1049
|
+
else require_errors.bug("Drawing.deserialize", "Unknown shape type for deserialization");
|
|
1050
|
+
}
|
|
1051
|
+
return new Drawing(deserializeHelper(JSON.parse(data)));
|
|
1052
|
+
}
|
|
1053
|
+
//#endregion
|
|
1054
|
+
//#region src/sketching/drawingPen.ts
|
|
1055
|
+
/**
|
|
1289
1056
|
* DrawingPen is a helper class to draw in 2D. It is used to create drawings
|
|
1290
1057
|
* by exposing a builder interface. It is not a drawing itself, but it can be
|
|
1291
1058
|
* used to create a drawing.
|
|
1292
1059
|
*
|
|
1293
1060
|
* @category Drawing
|
|
1294
1061
|
*/
|
|
1295
|
-
var DrawingPen = class extends
|
|
1062
|
+
var DrawingPen = class extends require_blueprintSketcher.BaseSketcher2d {
|
|
1296
1063
|
constructor(origin = [0, 0]) {
|
|
1297
1064
|
super();
|
|
1298
1065
|
this.pointer = origin;
|
|
@@ -1327,19 +1094,6 @@ var DrawingPen = class extends require_boolean2D.BaseSketcher2d {
|
|
|
1327
1094
|
}
|
|
1328
1095
|
};
|
|
1329
1096
|
/**
|
|
1330
|
-
* Deserializes a drawing from a string. String is expected to be in the format
|
|
1331
|
-
* generated by `Drawing.serialize()`.
|
|
1332
|
-
*/
|
|
1333
|
-
function deserializeDrawing(data) {
|
|
1334
|
-
function deserializeHelper(json) {
|
|
1335
|
-
if (json["type"] === "CompoundBlueprint") return new require_boolean2D.CompoundBlueprint(json["blueprints"].map(deserializeHelper));
|
|
1336
|
-
else if (json["type"] === "Blueprints") return new require_boolean2D.Blueprints(json["blueprints"].map(deserializeHelper));
|
|
1337
|
-
else if (json["type"] === "Blueprint") return new require_blueprint.Blueprint(json["curves"].map((c) => require_blueprint.deserializeCurve2D(c)));
|
|
1338
|
-
else require_errors.bug("Drawing.deserialize", "Unknown shape type for deserialization");
|
|
1339
|
-
}
|
|
1340
|
-
return new Drawing(deserializeHelper(JSON.parse(data)));
|
|
1341
|
-
}
|
|
1342
|
-
/**
|
|
1343
1097
|
* Creates a drawing pen to programatically draw in 2D.
|
|
1344
1098
|
*
|
|
1345
1099
|
* @category Drawing
|
|
@@ -1349,6 +1103,8 @@ function draw(initialPoint) {
|
|
|
1349
1103
|
if (initialPoint) pen.movePointerTo(initialPoint);
|
|
1350
1104
|
return pen;
|
|
1351
1105
|
}
|
|
1106
|
+
//#endregion
|
|
1107
|
+
//#region src/sketching/drawingFactories.ts
|
|
1352
1108
|
/**
|
|
1353
1109
|
* Creates the `Drawing` of a rectangle with (optional) rounded corners.
|
|
1354
1110
|
*
|
|
@@ -1420,7 +1176,7 @@ function drawPolysides(radius, sidesCount, sagitta = 0) {
|
|
|
1420
1176
|
* @category Drawing
|
|
1421
1177
|
*/
|
|
1422
1178
|
function drawText(text, { startX = 0, startY = 0, fontSize = 16, fontFamily = "default" } = {}) {
|
|
1423
|
-
return new Drawing(textBlueprints(text, {
|
|
1179
|
+
return new Drawing(require_textBlueprints.textBlueprints(text, {
|
|
1424
1180
|
startX,
|
|
1425
1181
|
startY,
|
|
1426
1182
|
fontSize,
|
|
@@ -1458,275 +1214,6 @@ var drawParametricFunction = (func, { pointsCount = 400, start = 0, stop = 1, cl
|
|
|
1458
1214
|
}), approximationConfig, { closeShape });
|
|
1459
1215
|
};
|
|
1460
1216
|
//#endregion
|
|
1461
|
-
//#region src/projection/projectionPlanes.ts
|
|
1462
|
-
/** Lookup table mapping each {@link ProjectionPlane} to its camera configuration. */
|
|
1463
|
-
var PROJECTION_PLANES = {
|
|
1464
|
-
XY: {
|
|
1465
|
-
dir: [
|
|
1466
|
-
0,
|
|
1467
|
-
0,
|
|
1468
|
-
1
|
|
1469
|
-
],
|
|
1470
|
-
xAxis: [
|
|
1471
|
-
1,
|
|
1472
|
-
0,
|
|
1473
|
-
0
|
|
1474
|
-
]
|
|
1475
|
-
},
|
|
1476
|
-
XZ: {
|
|
1477
|
-
dir: [
|
|
1478
|
-
0,
|
|
1479
|
-
-1,
|
|
1480
|
-
0
|
|
1481
|
-
],
|
|
1482
|
-
xAxis: [
|
|
1483
|
-
1,
|
|
1484
|
-
0,
|
|
1485
|
-
0
|
|
1486
|
-
]
|
|
1487
|
-
},
|
|
1488
|
-
YZ: {
|
|
1489
|
-
dir: [
|
|
1490
|
-
1,
|
|
1491
|
-
0,
|
|
1492
|
-
0
|
|
1493
|
-
],
|
|
1494
|
-
xAxis: [
|
|
1495
|
-
0,
|
|
1496
|
-
1,
|
|
1497
|
-
0
|
|
1498
|
-
]
|
|
1499
|
-
},
|
|
1500
|
-
YX: {
|
|
1501
|
-
dir: [
|
|
1502
|
-
0,
|
|
1503
|
-
0,
|
|
1504
|
-
-1
|
|
1505
|
-
],
|
|
1506
|
-
xAxis: [
|
|
1507
|
-
0,
|
|
1508
|
-
1,
|
|
1509
|
-
0
|
|
1510
|
-
]
|
|
1511
|
-
},
|
|
1512
|
-
ZX: {
|
|
1513
|
-
dir: [
|
|
1514
|
-
0,
|
|
1515
|
-
1,
|
|
1516
|
-
0
|
|
1517
|
-
],
|
|
1518
|
-
xAxis: [
|
|
1519
|
-
0,
|
|
1520
|
-
0,
|
|
1521
|
-
1
|
|
1522
|
-
]
|
|
1523
|
-
},
|
|
1524
|
-
ZY: {
|
|
1525
|
-
dir: [
|
|
1526
|
-
-1,
|
|
1527
|
-
0,
|
|
1528
|
-
0
|
|
1529
|
-
],
|
|
1530
|
-
xAxis: [
|
|
1531
|
-
0,
|
|
1532
|
-
0,
|
|
1533
|
-
1
|
|
1534
|
-
]
|
|
1535
|
-
},
|
|
1536
|
-
front: {
|
|
1537
|
-
dir: [
|
|
1538
|
-
0,
|
|
1539
|
-
-1,
|
|
1540
|
-
0
|
|
1541
|
-
],
|
|
1542
|
-
xAxis: [
|
|
1543
|
-
1,
|
|
1544
|
-
0,
|
|
1545
|
-
0
|
|
1546
|
-
]
|
|
1547
|
-
},
|
|
1548
|
-
back: {
|
|
1549
|
-
dir: [
|
|
1550
|
-
0,
|
|
1551
|
-
1,
|
|
1552
|
-
0
|
|
1553
|
-
],
|
|
1554
|
-
xAxis: [
|
|
1555
|
-
-1,
|
|
1556
|
-
0,
|
|
1557
|
-
0
|
|
1558
|
-
]
|
|
1559
|
-
},
|
|
1560
|
-
right: {
|
|
1561
|
-
dir: [
|
|
1562
|
-
-1,
|
|
1563
|
-
0,
|
|
1564
|
-
0
|
|
1565
|
-
],
|
|
1566
|
-
xAxis: [
|
|
1567
|
-
0,
|
|
1568
|
-
-1,
|
|
1569
|
-
0
|
|
1570
|
-
]
|
|
1571
|
-
},
|
|
1572
|
-
left: {
|
|
1573
|
-
dir: [
|
|
1574
|
-
1,
|
|
1575
|
-
0,
|
|
1576
|
-
0
|
|
1577
|
-
],
|
|
1578
|
-
xAxis: [
|
|
1579
|
-
0,
|
|
1580
|
-
1,
|
|
1581
|
-
0
|
|
1582
|
-
]
|
|
1583
|
-
},
|
|
1584
|
-
bottom: {
|
|
1585
|
-
dir: [
|
|
1586
|
-
0,
|
|
1587
|
-
0,
|
|
1588
|
-
1
|
|
1589
|
-
],
|
|
1590
|
-
xAxis: [
|
|
1591
|
-
1,
|
|
1592
|
-
0,
|
|
1593
|
-
0
|
|
1594
|
-
]
|
|
1595
|
-
},
|
|
1596
|
-
top: {
|
|
1597
|
-
dir: [
|
|
1598
|
-
0,
|
|
1599
|
-
0,
|
|
1600
|
-
-1
|
|
1601
|
-
],
|
|
1602
|
-
xAxis: [
|
|
1603
|
-
1,
|
|
1604
|
-
0,
|
|
1605
|
-
0
|
|
1606
|
-
]
|
|
1607
|
-
}
|
|
1608
|
-
};
|
|
1609
|
-
/** Type guard — check if a value is a valid {@link ProjectionPlane} name. */
|
|
1610
|
-
function isProjectionPlane(plane) {
|
|
1611
|
-
return typeof plane === "string" && plane in PROJECTION_PLANES;
|
|
1612
|
-
}
|
|
1613
|
-
//#endregion
|
|
1614
|
-
//#region src/projection/makeProjectedEdges.ts
|
|
1615
|
-
var getEdgesFromOc = (shape) => {
|
|
1616
|
-
if (shape.IsNull()) return [];
|
|
1617
|
-
return require_faceFns.getEdges(require_shapeTypes.castShape(shape));
|
|
1618
|
-
};
|
|
1619
|
-
/**
|
|
1620
|
-
* Project a 3D shape onto a 2D plane using hidden-line removal (HLR).
|
|
1621
|
-
*
|
|
1622
|
-
* @param camera - Camera defining the projection plane.
|
|
1623
|
-
* @param withHiddenLines - If `true`, also returns hidden (occluded) edges.
|
|
1624
|
-
* @returns Separate arrays of visible and hidden projected edges.
|
|
1625
|
-
*/
|
|
1626
|
-
function makeProjectedEdges(shape, camera, withHiddenLines = true) {
|
|
1627
|
-
const projected = require_shapeTypes.getKernel().projectEdges(shape.wrapped, [...camera.position], [...camera.direction], [...camera.xAxis]);
|
|
1628
|
-
return {
|
|
1629
|
-
visible: [
|
|
1630
|
-
...getEdgesFromOc(projected.visible.sharp),
|
|
1631
|
-
...getEdgesFromOc(projected.visible.smooth),
|
|
1632
|
-
...getEdgesFromOc(projected.visible.outline)
|
|
1633
|
-
],
|
|
1634
|
-
hidden: withHiddenLines ? [
|
|
1635
|
-
...getEdgesFromOc(projected.hidden.sharp),
|
|
1636
|
-
...getEdgesFromOc(projected.hidden.smooth),
|
|
1637
|
-
...getEdgesFromOc(projected.hidden.outline)
|
|
1638
|
-
] : []
|
|
1639
|
-
};
|
|
1640
|
-
}
|
|
1641
|
-
//#endregion
|
|
1642
|
-
//#region src/projection/cameraFns.ts
|
|
1643
|
-
/**
|
|
1644
|
-
* Create a camera from position, direction, and an optional X-axis.
|
|
1645
|
-
*
|
|
1646
|
-
* If `xAxis` is omitted, it is derived automatically from the direction.
|
|
1647
|
-
*
|
|
1648
|
-
* @param position - Camera position in world coordinates.
|
|
1649
|
-
* @param direction - View direction (camera looks along this vector).
|
|
1650
|
-
* @param xAxis - Optional horizontal axis; derived automatically if not provided.
|
|
1651
|
-
* @returns `Result<Camera>` -- an error if direction is zero-length.
|
|
1652
|
-
*/
|
|
1653
|
-
function createCamera(position = [
|
|
1654
|
-
0,
|
|
1655
|
-
0,
|
|
1656
|
-
0
|
|
1657
|
-
], direction = [
|
|
1658
|
-
0,
|
|
1659
|
-
0,
|
|
1660
|
-
1
|
|
1661
|
-
], xAxis) {
|
|
1662
|
-
if (require_vecOps.vecLength(direction) < 1e-12) return require_errors.err(require_errors.validationError("CAMERA_ZERO_DIRECTION", "Camera direction cannot be a zero-length vector"));
|
|
1663
|
-
let resolvedXAxis;
|
|
1664
|
-
if (xAxis) resolvedXAxis = require_vecOps.vecNormalize(xAxis);
|
|
1665
|
-
else {
|
|
1666
|
-
let cross = require_vecOps.vecCross([
|
|
1667
|
-
0,
|
|
1668
|
-
0,
|
|
1669
|
-
1
|
|
1670
|
-
], direction);
|
|
1671
|
-
if (require_vecOps.vecLength(cross) < 1e-12) cross = require_vecOps.vecCross([
|
|
1672
|
-
0,
|
|
1673
|
-
1,
|
|
1674
|
-
0
|
|
1675
|
-
], direction);
|
|
1676
|
-
if (require_vecOps.vecLength(cross) < 1e-12) cross = require_vecOps.vecCross([
|
|
1677
|
-
1,
|
|
1678
|
-
0,
|
|
1679
|
-
0
|
|
1680
|
-
], direction);
|
|
1681
|
-
resolvedXAxis = require_vecOps.vecNormalize(cross);
|
|
1682
|
-
}
|
|
1683
|
-
const yAxis = require_vecOps.vecNormalize(require_vecOps.vecCross(direction, resolvedXAxis));
|
|
1684
|
-
return require_errors.ok({
|
|
1685
|
-
position,
|
|
1686
|
-
direction: require_vecOps.vecNormalize(direction),
|
|
1687
|
-
xAxis: resolvedXAxis,
|
|
1688
|
-
yAxis
|
|
1689
|
-
});
|
|
1690
|
-
}
|
|
1691
|
-
/**
|
|
1692
|
-
* Create a new camera oriented to look at a target point from the current position.
|
|
1693
|
-
*
|
|
1694
|
-
* @param camera - Existing camera whose position is preserved.
|
|
1695
|
-
* @param target - World-space point to look at.
|
|
1696
|
-
* @returns `Result<Camera>` with updated direction and derived axes.
|
|
1697
|
-
*/
|
|
1698
|
-
function cameraLookAt(camera, target) {
|
|
1699
|
-
const direction = require_vecOps.vecNormalize(require_vecOps.vecSub(camera.position, target));
|
|
1700
|
-
return createCamera(camera.position, direction);
|
|
1701
|
-
}
|
|
1702
|
-
/**
|
|
1703
|
-
* Create a camera positioned at the origin, looking along a named projection plane.
|
|
1704
|
-
*
|
|
1705
|
-
* @param planeName - Named projection direction (e.g., `'front'`, `'top'`).
|
|
1706
|
-
* @returns `Result<Camera>` configured for that standard view.
|
|
1707
|
-
*/
|
|
1708
|
-
function cameraFromPlane(planeName) {
|
|
1709
|
-
const config = PROJECTION_PLANES[planeName];
|
|
1710
|
-
return createCamera([
|
|
1711
|
-
0,
|
|
1712
|
-
0,
|
|
1713
|
-
0
|
|
1714
|
-
], config.dir, config.xAxis);
|
|
1715
|
-
}
|
|
1716
|
-
/**
|
|
1717
|
-
* Project the edges of a 3D shape onto a 2D plane defined by a {@link Camera}.
|
|
1718
|
-
*
|
|
1719
|
-
* @param shape - The 3D shape to project.
|
|
1720
|
-
* @param camera - Camera defining the projection plane.
|
|
1721
|
-
* @param withHiddenLines - If true, compute hidden-line edges as well.
|
|
1722
|
-
* @returns Separate arrays of visible and hidden projected edges.
|
|
1723
|
-
*
|
|
1724
|
-
* @see {@link drawProjection} for the higher-level Drawing-based API.
|
|
1725
|
-
*/
|
|
1726
|
-
function projectEdges(shape, camera, withHiddenLines = true) {
|
|
1727
|
-
return makeProjectedEdges(shape, camera, withHiddenLines);
|
|
1728
|
-
}
|
|
1729
|
-
//#endregion
|
|
1730
1217
|
//#region src/sketching/draw3d.ts
|
|
1731
1218
|
var edgesToDrawing = (edges) => {
|
|
1732
1219
|
try {
|
|
@@ -1737,7 +1224,7 @@ var edgesToDrawing = (edges) => {
|
|
|
1737
1224
|
const stitchedCurves = stitchCurves(edges.map((e) => require_blueprint.edgeToCurve(e, planeFace))).map((s) => new require_blueprint.Blueprint(s));
|
|
1738
1225
|
if (stitchedCurves.length === 0) return new Drawing();
|
|
1739
1226
|
if (stitchedCurves.length === 1) return new Drawing(stitchedCurves[0]);
|
|
1740
|
-
return new Drawing(new
|
|
1227
|
+
return new Drawing(new require_blueprintSketcher.Blueprints(stitchedCurves));
|
|
1741
1228
|
} catch (_) {
|
|
1742
1229
|
_usingCtx$1.e = _;
|
|
1743
1230
|
} finally {
|
|
@@ -1753,9 +1240,9 @@ var edgesToDrawing = (edges) => {
|
|
|
1753
1240
|
*/
|
|
1754
1241
|
function drawProjection(shape, projectionCamera = "front") {
|
|
1755
1242
|
let camera;
|
|
1756
|
-
if (typeof projectionCamera === "string") camera = require_errors.unwrap(cameraFromPlane(projectionCamera));
|
|
1243
|
+
if (typeof projectionCamera === "string") camera = require_errors.unwrap(require_cameraFns.cameraFromPlane(projectionCamera));
|
|
1757
1244
|
else camera = projectionCamera;
|
|
1758
|
-
const { visible, hidden } = projectEdges(shape, camera);
|
|
1245
|
+
const { visible, hidden } = require_cameraFns.projectEdges(shape, camera);
|
|
1759
1246
|
return {
|
|
1760
1247
|
visible: edgesToDrawing(visible),
|
|
1761
1248
|
hidden: edgesToDrawing(hidden)
|
|
@@ -1771,10 +1258,10 @@ function drawFaceOutline(face) {
|
|
|
1771
1258
|
var _usingCtx3 = require_shapeTypes._usingCtx();
|
|
1772
1259
|
const scope = _usingCtx3.u(new require_shapeTypes.DisposalScope());
|
|
1773
1260
|
const clonedFace = scope.register(require_shapeTypes.createFace(require_errors.unwrap(require_faceFns.downcast(face.wrapped))));
|
|
1774
|
-
const stitchedCurves = stitchCurves(
|
|
1261
|
+
const stitchedCurves = stitchCurves(require_topologyQueryFns.getEdges(scope.register(require_faceFns.outerWire(clonedFace))).map((e) => require_blueprint.edgeToCurve(e, face))).map((s) => new require_blueprint.Blueprint(s));
|
|
1775
1262
|
if (stitchedCurves.length === 0) return new Drawing();
|
|
1776
1263
|
if (stitchedCurves.length === 1) return new Drawing(stitchedCurves[0]);
|
|
1777
|
-
return new Drawing(new
|
|
1264
|
+
return new Drawing(new require_blueprintSketcher.Blueprints(stitchedCurves));
|
|
1778
1265
|
} catch (_) {
|
|
1779
1266
|
_usingCtx3.e = _;
|
|
1780
1267
|
} finally {
|
|
@@ -1782,133 +1269,6 @@ function drawFaceOutline(face) {
|
|
|
1782
1269
|
}
|
|
1783
1270
|
}
|
|
1784
1271
|
//#endregion
|
|
1785
|
-
//#region src/sketching/sketchFns.ts
|
|
1786
|
-
/**
|
|
1787
|
-
* Extrude a sketch to a given distance along its default (or overridden) direction.
|
|
1788
|
-
*
|
|
1789
|
-
* @param sketch - The sketch to extrude. Consumed (deleted) by this call.
|
|
1790
|
-
* @param height - Extrusion distance.
|
|
1791
|
-
* @param config - Optional direction, profile, twist angle, or origin overrides.
|
|
1792
|
-
* @returns The extruded 3D solid.
|
|
1793
|
-
*
|
|
1794
|
-
* @see {@link Sketch.extrude} for the OOP equivalent.
|
|
1795
|
-
*/
|
|
1796
|
-
function sketchExtrude(sketch, height, config) {
|
|
1797
|
-
return sketch.extrude(height, config);
|
|
1798
|
-
}
|
|
1799
|
-
/**
|
|
1800
|
-
* Revolve a sketch around an axis to produce a solid of revolution.
|
|
1801
|
-
*
|
|
1802
|
-
* @param sketch - The sketch to revolve. Consumed (deleted) by this call.
|
|
1803
|
-
* @param revolutionAxis - Axis direction (defaults to sketch default direction).
|
|
1804
|
-
* @param options - Optional origin override.
|
|
1805
|
-
* @returns The revolved 3D solid.
|
|
1806
|
-
*
|
|
1807
|
-
* @see {@link Sketch.revolve} for the OOP equivalent.
|
|
1808
|
-
*/
|
|
1809
|
-
function sketchRevolve(sketch, revolutionAxis, options) {
|
|
1810
|
-
return sketch.revolve(revolutionAxis, options);
|
|
1811
|
-
}
|
|
1812
|
-
/**
|
|
1813
|
-
* Loft between this sketch and one or more other sketches.
|
|
1814
|
-
*
|
|
1815
|
-
* @param sketch - The starting sketch. Consumed by this call.
|
|
1816
|
-
* @param otherSketches - Target sketch(es) to loft toward.
|
|
1817
|
-
* @param loftConfig - Loft options (ruled surface, start/end points, etc.).
|
|
1818
|
-
* @param returnShell - If true, return a shell instead of a solid.
|
|
1819
|
-
* @returns The lofted 3D shape.
|
|
1820
|
-
*
|
|
1821
|
-
* @see {@link Sketch.loftWith} for the OOP equivalent.
|
|
1822
|
-
*/
|
|
1823
|
-
function sketchLoft(sketch, otherSketches, loftConfig, returnShell) {
|
|
1824
|
-
return sketch.loftWith(otherSketches, loftConfig, returnShell);
|
|
1825
|
-
}
|
|
1826
|
-
/**
|
|
1827
|
-
* Sweep a profile sketch along this sketch's wire path.
|
|
1828
|
-
*
|
|
1829
|
-
* @param sketch - The path sketch. Consumed by this call.
|
|
1830
|
-
* @param sketchOnPlane - Function that builds the profile sketch at the sweep start.
|
|
1831
|
-
* @param sweepConfig - Sweep options (auxiliary spine, orthogonality, etc.).
|
|
1832
|
-
* @returns The swept 3D shape.
|
|
1833
|
-
*
|
|
1834
|
-
* @see {@link Sketch.sweepSketch} for the OOP equivalent.
|
|
1835
|
-
*/
|
|
1836
|
-
function sketchSweep(sketch, sketchOnPlane, sweepConfig) {
|
|
1837
|
-
return sketch.sweepSketch(sketchOnPlane, sweepConfig);
|
|
1838
|
-
}
|
|
1839
|
-
/**
|
|
1840
|
-
* Build a face from a sketch's closed wire.
|
|
1841
|
-
*
|
|
1842
|
-
* @param sketch - A sketch with a closed wire.
|
|
1843
|
-
* @returns The planar face.
|
|
1844
|
-
*
|
|
1845
|
-
* @see {@link Sketch.face} for the OOP equivalent.
|
|
1846
|
-
*/
|
|
1847
|
-
function sketchFace(sketch) {
|
|
1848
|
-
return sketch.face();
|
|
1849
|
-
}
|
|
1850
|
-
/**
|
|
1851
|
-
* Get a clone of the wire from a sketch.
|
|
1852
|
-
*
|
|
1853
|
-
* @param sketch - The source sketch.
|
|
1854
|
-
* @returns A cloned wire.
|
|
1855
|
-
*
|
|
1856
|
-
* @see {@link Sketch.wires} for the OOP equivalent.
|
|
1857
|
-
*/
|
|
1858
|
-
function sketchWires(sketch) {
|
|
1859
|
-
return sketch.wires();
|
|
1860
|
-
}
|
|
1861
|
-
/**
|
|
1862
|
-
* Extrude a compound sketch (outer + holes) to a given distance.
|
|
1863
|
-
*
|
|
1864
|
-
* @param sketch - The compound sketch to extrude.
|
|
1865
|
-
* @param height - Extrusion distance.
|
|
1866
|
-
* @param config - Optional direction, profile, twist angle, or origin overrides.
|
|
1867
|
-
* @returns The extruded 3D solid.
|
|
1868
|
-
*
|
|
1869
|
-
* @see {@link CompoundSketch.extrude} for the OOP equivalent.
|
|
1870
|
-
*/
|
|
1871
|
-
function compoundSketchExtrude(sketch, height, config) {
|
|
1872
|
-
return sketch.extrude(height, config);
|
|
1873
|
-
}
|
|
1874
|
-
/**
|
|
1875
|
-
* Revolve a compound sketch around an axis to produce a solid of revolution.
|
|
1876
|
-
*
|
|
1877
|
-
* @param sketch - The compound sketch to revolve.
|
|
1878
|
-
* @param revolutionAxis - Axis direction.
|
|
1879
|
-
* @param options - Optional origin override.
|
|
1880
|
-
* @returns The revolved 3D solid.
|
|
1881
|
-
*
|
|
1882
|
-
* @see {@link CompoundSketch.revolve} for the OOP equivalent.
|
|
1883
|
-
*/
|
|
1884
|
-
function compoundSketchRevolve(sketch, revolutionAxis, options) {
|
|
1885
|
-
return sketch.revolve(revolutionAxis, options);
|
|
1886
|
-
}
|
|
1887
|
-
/**
|
|
1888
|
-
* Build a face from a compound sketch (outer boundary with holes).
|
|
1889
|
-
*
|
|
1890
|
-
* @param sketch - The compound sketch.
|
|
1891
|
-
* @returns A face with inner wires subtracted as holes.
|
|
1892
|
-
*
|
|
1893
|
-
* @see {@link CompoundSketch.face} for the OOP equivalent.
|
|
1894
|
-
*/
|
|
1895
|
-
function compoundSketchFace(sketch) {
|
|
1896
|
-
return sketch.face();
|
|
1897
|
-
}
|
|
1898
|
-
/**
|
|
1899
|
-
* Loft between two compound sketches that have the same number of sub-sketches.
|
|
1900
|
-
*
|
|
1901
|
-
* @param sketch - Starting compound sketch.
|
|
1902
|
-
* @param other - Target compound sketch.
|
|
1903
|
-
* @param loftConfig - Loft options (ruled surface, etc.).
|
|
1904
|
-
* @returns The lofted 3D solid.
|
|
1905
|
-
*
|
|
1906
|
-
* @see {@link CompoundSketch.loftWith} for the OOP equivalent.
|
|
1907
|
-
*/
|
|
1908
|
-
function compoundSketchLoft(sketch, other, loftConfig) {
|
|
1909
|
-
return sketch.loftWith(other, loftConfig);
|
|
1910
|
-
}
|
|
1911
|
-
//#endregion
|
|
1912
1272
|
//#region src/sketching/drawFns.ts
|
|
1913
1273
|
/**
|
|
1914
1274
|
* Sketch a drawing onto a 3D plane, producing a Sketch or Sketches.
|
|
@@ -1922,6 +1282,7 @@ function compoundSketchLoft(sketch, other, loftConfig) {
|
|
|
1922
1282
|
*/
|
|
1923
1283
|
function drawingToSketchOnPlane(drawing, inputPlane, origin) {
|
|
1924
1284
|
if (origin !== void 0) return drawing.sketchOnPlane(inputPlane, origin);
|
|
1285
|
+
if (typeof inputPlane === "object") return drawing.sketchOnPlane(inputPlane);
|
|
1925
1286
|
return drawing.sketchOnPlane(inputPlane);
|
|
1926
1287
|
}
|
|
1927
1288
|
/**
|
|
@@ -2030,12 +1391,6 @@ function mirrorDrawing(drawing, centerOrDirection, origin, mode) {
|
|
|
2030
1391
|
return drawing.mirror(centerOrDirection, origin, mode);
|
|
2031
1392
|
}
|
|
2032
1393
|
//#endregion
|
|
2033
|
-
Object.defineProperty(exports, "CompoundSketch", {
|
|
2034
|
-
enumerable: true,
|
|
2035
|
-
get: function() {
|
|
2036
|
-
return CompoundSketch;
|
|
2037
|
-
}
|
|
2038
|
-
});
|
|
2039
1394
|
Object.defineProperty(exports, "Drawing", {
|
|
2040
1395
|
enumerable: true,
|
|
2041
1396
|
get: function() {
|
|
@@ -2048,64 +1403,16 @@ Object.defineProperty(exports, "DrawingPen", {
|
|
|
2048
1403
|
return DrawingPen;
|
|
2049
1404
|
}
|
|
2050
1405
|
});
|
|
2051
|
-
Object.defineProperty(exports, "
|
|
2052
|
-
enumerable: true,
|
|
2053
|
-
get: function() {
|
|
2054
|
-
return Sketcher;
|
|
2055
|
-
}
|
|
2056
|
-
});
|
|
2057
|
-
Object.defineProperty(exports, "Sketches", {
|
|
2058
|
-
enumerable: true,
|
|
2059
|
-
get: function() {
|
|
2060
|
-
return Sketches;
|
|
2061
|
-
}
|
|
2062
|
-
});
|
|
2063
|
-
Object.defineProperty(exports, "__exportAll", {
|
|
2064
|
-
enumerable: true,
|
|
2065
|
-
get: function() {
|
|
2066
|
-
return __exportAll;
|
|
2067
|
-
}
|
|
2068
|
-
});
|
|
2069
|
-
Object.defineProperty(exports, "cameraFromPlane", {
|
|
2070
|
-
enumerable: true,
|
|
2071
|
-
get: function() {
|
|
2072
|
-
return cameraFromPlane;
|
|
2073
|
-
}
|
|
2074
|
-
});
|
|
2075
|
-
Object.defineProperty(exports, "cameraLookAt", {
|
|
2076
|
-
enumerable: true,
|
|
2077
|
-
get: function() {
|
|
2078
|
-
return cameraLookAt;
|
|
2079
|
-
}
|
|
2080
|
-
});
|
|
2081
|
-
Object.defineProperty(exports, "compoundSketchExtrude", {
|
|
2082
|
-
enumerable: true,
|
|
2083
|
-
get: function() {
|
|
2084
|
-
return compoundSketchExtrude;
|
|
2085
|
-
}
|
|
2086
|
-
});
|
|
2087
|
-
Object.defineProperty(exports, "compoundSketchFace", {
|
|
2088
|
-
enumerable: true,
|
|
2089
|
-
get: function() {
|
|
2090
|
-
return compoundSketchFace;
|
|
2091
|
-
}
|
|
2092
|
-
});
|
|
2093
|
-
Object.defineProperty(exports, "compoundSketchLoft", {
|
|
2094
|
-
enumerable: true,
|
|
2095
|
-
get: function() {
|
|
2096
|
-
return compoundSketchLoft;
|
|
2097
|
-
}
|
|
2098
|
-
});
|
|
2099
|
-
Object.defineProperty(exports, "compoundSketchRevolve", {
|
|
1406
|
+
Object.defineProperty(exports, "FaceSketcher", {
|
|
2100
1407
|
enumerable: true,
|
|
2101
1408
|
get: function() {
|
|
2102
|
-
return
|
|
1409
|
+
return FaceSketcher;
|
|
2103
1410
|
}
|
|
2104
1411
|
});
|
|
2105
|
-
Object.defineProperty(exports, "
|
|
1412
|
+
Object.defineProperty(exports, "Sketcher", {
|
|
2106
1413
|
enumerable: true,
|
|
2107
1414
|
get: function() {
|
|
2108
|
-
return
|
|
1415
|
+
return Sketcher;
|
|
2109
1416
|
}
|
|
2110
1417
|
});
|
|
2111
1418
|
Object.defineProperty(exports, "deserializeDrawing", {
|
|
@@ -2228,42 +1535,12 @@ Object.defineProperty(exports, "drawingToSketchOnPlane", {
|
|
|
2228
1535
|
return drawingToSketchOnPlane;
|
|
2229
1536
|
}
|
|
2230
1537
|
});
|
|
2231
|
-
Object.defineProperty(exports, "fontMetrics", {
|
|
2232
|
-
enumerable: true,
|
|
2233
|
-
get: function() {
|
|
2234
|
-
return fontMetrics;
|
|
2235
|
-
}
|
|
2236
|
-
});
|
|
2237
|
-
Object.defineProperty(exports, "getFont", {
|
|
2238
|
-
enumerable: true,
|
|
2239
|
-
get: function() {
|
|
2240
|
-
return getFont;
|
|
2241
|
-
}
|
|
2242
|
-
});
|
|
2243
|
-
Object.defineProperty(exports, "isProjectionPlane", {
|
|
2244
|
-
enumerable: true,
|
|
2245
|
-
get: function() {
|
|
2246
|
-
return isProjectionPlane;
|
|
2247
|
-
}
|
|
2248
|
-
});
|
|
2249
|
-
Object.defineProperty(exports, "loadFont", {
|
|
2250
|
-
enumerable: true,
|
|
2251
|
-
get: function() {
|
|
2252
|
-
return loadFont;
|
|
2253
|
-
}
|
|
2254
|
-
});
|
|
2255
1538
|
Object.defineProperty(exports, "makeBaseBox", {
|
|
2256
1539
|
enumerable: true,
|
|
2257
1540
|
get: function() {
|
|
2258
1541
|
return makeBaseBox;
|
|
2259
1542
|
}
|
|
2260
1543
|
});
|
|
2261
|
-
Object.defineProperty(exports, "makeProjectedEdges", {
|
|
2262
|
-
enumerable: true,
|
|
2263
|
-
get: function() {
|
|
2264
|
-
return makeProjectedEdges;
|
|
2265
|
-
}
|
|
2266
|
-
});
|
|
2267
1544
|
Object.defineProperty(exports, "mirrorDrawing", {
|
|
2268
1545
|
enumerable: true,
|
|
2269
1546
|
get: function() {
|
|
@@ -2276,12 +1553,6 @@ Object.defineProperty(exports, "polysideInnerRadius", {
|
|
|
2276
1553
|
return polysideInnerRadius;
|
|
2277
1554
|
}
|
|
2278
1555
|
});
|
|
2279
|
-
Object.defineProperty(exports, "projectEdges", {
|
|
2280
|
-
enumerable: true,
|
|
2281
|
-
get: function() {
|
|
2282
|
-
return projectEdges;
|
|
2283
|
-
}
|
|
2284
|
-
});
|
|
2285
1556
|
Object.defineProperty(exports, "rotateDrawing", {
|
|
2286
1557
|
enumerable: true,
|
|
2287
1558
|
get: function() {
|
|
@@ -2306,18 +1577,6 @@ Object.defineProperty(exports, "sketchEllipse", {
|
|
|
2306
1577
|
return sketchEllipse;
|
|
2307
1578
|
}
|
|
2308
1579
|
});
|
|
2309
|
-
Object.defineProperty(exports, "sketchExtrude", {
|
|
2310
|
-
enumerable: true,
|
|
2311
|
-
get: function() {
|
|
2312
|
-
return sketchExtrude;
|
|
2313
|
-
}
|
|
2314
|
-
});
|
|
2315
|
-
Object.defineProperty(exports, "sketchFace", {
|
|
2316
|
-
enumerable: true,
|
|
2317
|
-
get: function() {
|
|
2318
|
-
return sketchFace;
|
|
2319
|
-
}
|
|
2320
|
-
});
|
|
2321
1580
|
Object.defineProperty(exports, "sketchFaceOffset", {
|
|
2322
1581
|
enumerable: true,
|
|
2323
1582
|
get: function() {
|
|
@@ -2330,12 +1589,6 @@ Object.defineProperty(exports, "sketchHelix", {
|
|
|
2330
1589
|
return sketchHelix;
|
|
2331
1590
|
}
|
|
2332
1591
|
});
|
|
2333
|
-
Object.defineProperty(exports, "sketchLoft", {
|
|
2334
|
-
enumerable: true,
|
|
2335
|
-
get: function() {
|
|
2336
|
-
return sketchLoft;
|
|
2337
|
-
}
|
|
2338
|
-
});
|
|
2339
1592
|
Object.defineProperty(exports, "sketchParametricFunction", {
|
|
2340
1593
|
enumerable: true,
|
|
2341
1594
|
get: function() {
|
|
@@ -2354,48 +1607,12 @@ Object.defineProperty(exports, "sketchRectangle", {
|
|
|
2354
1607
|
return sketchRectangle;
|
|
2355
1608
|
}
|
|
2356
1609
|
});
|
|
2357
|
-
Object.defineProperty(exports, "sketchRevolve", {
|
|
2358
|
-
enumerable: true,
|
|
2359
|
-
get: function() {
|
|
2360
|
-
return sketchRevolve;
|
|
2361
|
-
}
|
|
2362
|
-
});
|
|
2363
1610
|
Object.defineProperty(exports, "sketchRoundedRectangle", {
|
|
2364
1611
|
enumerable: true,
|
|
2365
1612
|
get: function() {
|
|
2366
1613
|
return sketchRoundedRectangle;
|
|
2367
1614
|
}
|
|
2368
1615
|
});
|
|
2369
|
-
Object.defineProperty(exports, "sketchSweep", {
|
|
2370
|
-
enumerable: true,
|
|
2371
|
-
get: function() {
|
|
2372
|
-
return sketchSweep;
|
|
2373
|
-
}
|
|
2374
|
-
});
|
|
2375
|
-
Object.defineProperty(exports, "sketchText", {
|
|
2376
|
-
enumerable: true,
|
|
2377
|
-
get: function() {
|
|
2378
|
-
return sketchText;
|
|
2379
|
-
}
|
|
2380
|
-
});
|
|
2381
|
-
Object.defineProperty(exports, "sketchWires", {
|
|
2382
|
-
enumerable: true,
|
|
2383
|
-
get: function() {
|
|
2384
|
-
return sketchWires;
|
|
2385
|
-
}
|
|
2386
|
-
});
|
|
2387
|
-
Object.defineProperty(exports, "textBlueprints", {
|
|
2388
|
-
enumerable: true,
|
|
2389
|
-
get: function() {
|
|
2390
|
-
return textBlueprints;
|
|
2391
|
-
}
|
|
2392
|
-
});
|
|
2393
|
-
Object.defineProperty(exports, "textMetrics", {
|
|
2394
|
-
enumerable: true,
|
|
2395
|
-
get: function() {
|
|
2396
|
-
return textMetrics;
|
|
2397
|
-
}
|
|
2398
|
-
});
|
|
2399
1616
|
Object.defineProperty(exports, "translateDrawing", {
|
|
2400
1617
|
enumerable: true,
|
|
2401
1618
|
get: function() {
|