brepjs 18.69.3 → 18.71.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/2d.cjs +6 -6
- package/dist/2d.js +6 -6
- package/dist/{blueprint-DIQeD9xj.cjs → blueprint-jlSsZ0sZ.cjs} +5 -5
- package/dist/{blueprint-Dgl9IkCV.js → blueprint-qVw9ZkE4.js} +5 -5
- package/dist/{blueprintFns-BO44cqFY.cjs → blueprintFns-DsuY7gCu.cjs} +2 -2
- package/dist/{blueprintFns-sKzHcJ4U.js → blueprintFns-zLwbytjs.js} +2 -2
- package/dist/{blueprintSketcher-DbINWerx.js → blueprintSketcher-BRKbVgE2.js} +3 -3
- package/dist/{blueprintSketcher-BpOknLmX.cjs → blueprintSketcher-dZZ8e5ey.cjs} +3 -3
- package/dist/{boolean2D-DZcOTOSA.cjs → boolean2D-4E1kbwQx.cjs} +4 -4
- package/dist/{boolean2D-CreNaKXt.js → boolean2D-CANP43pN.js} +4 -4
- package/dist/{booleanFns-DvXg6a2Y.cjs → booleanFns-Bp_wYEwG.cjs} +4 -4
- package/dist/{booleanFns-0jDBFjAv.js → booleanFns-DYSaupiG.js} +4 -4
- package/dist/brepjs.cjs +375 -65
- package/dist/brepjs.js +372 -68
- package/dist/{cameraFns-Bwxq0IDz.js → cameraFns-BFRGMXSn.js} +2 -2
- package/dist/{cameraFns-CsGSVYgb.cjs → cameraFns-dRK1CnFi.cjs} +2 -2
- package/dist/core.cjs +1 -1
- package/dist/core.js +1 -1
- package/dist/{cornerFinder-ChltJ_ur.cjs → cornerFinder-CQPXY8Aw.cjs} +1 -1
- package/dist/{cornerFinder-fMf9-El_.js → cornerFinder-DcHCKoUh.js} +1 -1
- package/dist/{curveFns-BhTtS18d.js → curveFns-CXhOkKR4.js} +1 -1
- package/dist/{curveFns-CXytEfTr.cjs → curveFns-uPVW6eo-.cjs} +1 -1
- package/dist/{drawFns-Bzr38vZx.js → drawFns-ZqWpAG8b.js} +12 -12
- package/dist/{drawFns-Bn4vzbUr.cjs → drawFns-eMU4H__w.cjs} +12 -12
- package/dist/{extrudeFns-rnUgev_g.js → extrudeFns-CSy2C7WW.js} +1 -1
- package/dist/{extrudeFns-C0FsOXev.cjs → extrudeFns-CzQans6p.cjs} +1 -1
- package/dist/{faceFns-Dreo5ksY.js → faceFns-BBcrvY7r.js} +11 -3
- package/dist/{faceFns-FAZgMVCx.cjs → faceFns-CcLFCtg4.cjs} +16 -2
- package/dist/{helpers-D8ycrNeD.cjs → helpers-BmY5kO0w.cjs} +6 -6
- package/dist/{helpers--BMa_zB7.js → helpers-CxT3j8jG.js} +6 -6
- package/dist/{historyFns-mnmeZ0kB.cjs → historyFns-BEB2Yjld.cjs} +4 -4
- package/dist/{historyFns-CR0RejKJ.js → historyFns-ClLT60_V.js} +4 -4
- package/dist/{importFns-DRPQExAD.js → importFns-BNDWuBuq.js} +2 -2
- package/dist/{importFns-4mi5Ih46.cjs → importFns-DA0Klh7_.cjs} +2 -2
- package/dist/index.d.ts +2 -1
- package/dist/io.cjs +2 -2
- package/dist/io.js +2 -2
- package/dist/kernel/brepkit/geometryOps.d.ts +1 -0
- package/dist/kernel/interfaces/surfaceOps.d.ts +9 -0
- package/dist/kernel/occt/geometryQueryOps.d.ts +9 -0
- package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
- package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +4 -0
- package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
- package/dist/kernel/occtWasm/surfaceOps.d.ts +17 -0
- package/dist/kernel/solverAdapter.d.ts +8 -7
- package/dist/{measureFns-BLEx4ZU3.js → measureFns-DAP8LjBB.js} +3 -3
- package/dist/{measureFns-CT0XaSOt.cjs → measureFns-zGABZl6o.cjs} +3 -3
- package/dist/measurement.cjs +1 -1
- package/dist/measurement.js +1 -1
- package/dist/{meshFns-lwgHYQ79.cjs → meshFns-CEGnFm33.cjs} +3 -3
- package/dist/{meshFns-B3MjIqk1.js → meshFns-D-nLiHvU.js} +3 -3
- package/dist/{occtWasmAdapter-BH7r2nTq.cjs → occtWasmAdapter-Crs07qIe.cjs} +67 -0
- package/dist/{occtWasmAdapter-C7FDeTaw.js → occtWasmAdapter-D0MtWZYO.js} +67 -0
- package/dist/operations/assemblyFns.d.ts +2 -0
- package/dist/operations/jointFns.d.ts +55 -0
- package/dist/operations.cjs +2 -2
- package/dist/operations.js +2 -2
- package/dist/{primitiveFns-DcZDTQ_R.js → primitiveFns-CDbe5gjc.js} +7 -7
- package/dist/{primitiveFns-DZmgvzvk.cjs → primitiveFns-CpkG8ZkI.cjs} +7 -7
- package/dist/projection.cjs +1 -1
- package/dist/projection.js +1 -1
- package/dist/query.cjs +2 -2
- package/dist/query.js +2 -2
- package/dist/{shapeFns-w1YoIn_p.cjs → shapeFns-CDHya-nt.cjs} +2 -2
- package/dist/{shapeFns-BnkizFjV.js → shapeFns-DVUNOG2I.js} +2 -2
- package/dist/shapeRef.cjs +1 -1
- package/dist/shapeRef.js +1 -1
- package/dist/{shapeRefFns-B3myHs0D.cjs → shapeRefFns-B1Tygk9V.cjs} +4 -4
- package/dist/{shapeRefFns-OVWdFOAC.js → shapeRefFns-CAJUDLTi.js} +4 -4
- package/dist/{shapeTypes-yCQ8z5Hc.js → shapeTypes-2cKwu2z4.js} +35 -1
- package/dist/{shapeTypes-BIlZar9m.cjs → shapeTypes-DRxArFIc.cjs} +35 -1
- package/dist/sketching.cjs +3 -3
- package/dist/sketching.js +3 -3
- package/dist/{solidBuilders-CPOTKI5i.js → solidBuilders-Bx3UdW91.js} +2 -2
- package/dist/{solidBuilders-dNhToZgl.cjs → solidBuilders-ibLq_9EK.cjs} +2 -2
- package/dist/{surfaceBuilders-CS1QccDv.js → surfaceBuilders-BtNrSolT.js} +2 -2
- package/dist/{surfaceBuilders-CzHPZtd3.cjs → surfaceBuilders-D2PBBoja.cjs} +2 -2
- package/dist/text.cjs +2 -2
- package/dist/text.js +2 -2
- package/dist/{textBlueprints-TG6AH06v.cjs → textBlueprints-COG8m1aE.cjs} +7 -7
- package/dist/{textBlueprints-B57ej88L.js → textBlueprints-HfRD4iNF.js} +7 -7
- package/dist/{textMetrics-Dag-YREs.cjs → textMetrics-CTSpUXtk.cjs} +1 -1
- package/dist/{textMetrics-BxtB3sjj.js → textMetrics-Zp8rzokO.js} +1 -1
- package/dist/topology/faceFns.d.ts +9 -0
- package/dist/topology/index.d.ts +1 -1
- package/dist/topology.cjs +8 -7
- package/dist/topology.d.ts +1 -1
- package/dist/topology.js +8 -8
- package/dist/{topologyQueryFns-BuWZAQ_o.cjs → topologyQueryFns-024l64sD.cjs} +1 -1
- package/dist/{topologyQueryFns-Bxdnl5Vt.js → topologyQueryFns-c2RQIcfW.js} +1 -1
- package/dist/utils/quaternion.d.ts +15 -0
- package/package.json +1 -1
package/dist/brepjs.js
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { $ as getKernelCapabilities, A as planarWire, B as createKernelHandle, C as isOrientedFace, D as manifoldShell, E as isValidSolid, F as as3D, H as isLive, I as is2D, J as withScopeResultAsync, K as withScope, L as is3D, M as getShapeKind, O as orientedFace, P as as2D, R as DisposalScope, S as isManifoldShell, T as isPlanarWire, V as getDisposalStats, W as resetDisposalStats, X as getActiveKernelId, Y as _usingCtx, Z as getKernel, _ as isSolid, a as createEdge, at as registerKernel, b as closedWire, c as createSolid, ct as withQuality, d as isCompound, dt as supportsProjection, et as getKernelTier, f as isEdge, ft as BrepkitAdapter, g as isShell, h as isShape3D, ht as currentQuality, i as createCompound, it as prewarm, j as validSolid, k as planarFace, l as createVertex, lt as withTier, m as isShape1D, mt as resetPerformanceStats, n as castShape3D, nt as initFromManifold, o as createFace, ot as registerKernelTier, p as isFace, pt as getPerformanceStats, q as withScopeResult, rt as initFromOC, s as createShell, st as withKernel, t as castShape, tt as init, u as createWire, ut as supportsConstraintSketch, v as isVertex, w as isPlanarFace, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-
|
|
2
|
-
import { E as EXACT_BREP_CAPABILITIES, T as DEFAULT_CAPABILITIES, t as OcctWasmAdapter } from "./occtWasmAdapter-
|
|
1
|
+
import { $ as getKernelCapabilities, A as planarWire, B as createKernelHandle, C as isOrientedFace, D as manifoldShell, E as isValidSolid, F as as3D, H as isLive, I as is2D, J as withScopeResultAsync, K as withScope, L as is3D, M as getShapeKind, O as orientedFace, P as as2D, R as DisposalScope, S as isManifoldShell, T as isPlanarWire, V as getDisposalStats, W as resetDisposalStats, X as getActiveKernelId, Y as _usingCtx, Z as getKernel, _ as isSolid, a as createEdge, at as registerKernel, b as closedWire, c as createSolid, ct as withQuality, d as isCompound, dt as supportsProjection, et as getKernelTier, f as isEdge, ft as BrepkitAdapter, g as isShell, h as isShape3D, ht as currentQuality, i as createCompound, it as prewarm, j as validSolid, k as planarFace, l as createVertex, lt as withTier, m as isShape1D, mt as resetPerformanceStats, n as castShape3D, nt as initFromManifold, o as createFace, ot as registerKernelTier, p as isFace, pt as getPerformanceStats, q as withScopeResult, rt as initFromOC, s as createShell, st as withKernel, t as castShape, tt as init, u as createWire, ut as supportsConstraintSketch, v as isVertex, w as isPlanarFace, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-2cKwu2z4.js";
|
|
2
|
+
import { E as EXACT_BREP_CAPABILITIES, T as DEFAULT_CAPABILITIES, t as OcctWasmAdapter } from "./occtWasmAdapter-D0MtWZYO.js";
|
|
3
3
|
import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
|
|
4
4
|
import { A as ok, B as unwrapOr, C as fromNullable, D as mapBoth, E as map, F as tapErr, H as zip, I as tryCatch, L as tryCatchAsync, M as orElse, N as pipeline, O as mapErr, P as tap, R as unwrap, S as flatten, T as isOk, V as unwrapOrElse, _ as all, a as moduleInitError, b as err, c as sketcherStateError, d as validationError, g as OK, h as bug, i as kernelError, j as or, k as match, l as typeCastError, m as BrepBugError, n as computationError, o as queryError, r as ioError, t as BrepErrorCode, u as unsupportedError, v as andThen, w as isErr, x as flatMap, y as collect, z as unwrapErr } from "./errors-DNWJsfVU.js";
|
|
5
|
-
import { C as kernelCall, S as vertexPosition, T as kernelCallScoped, _ as iterFaces, a as getCachedSurfaceType, b as iterVertices, c as getFaces, d as getSolids, f as getVertices, g as iterEdges, h as iterCompSolids, m as invalidateShapeCache, n as getBounds, o as getCompSolids, p as getWires, s as getEdges, t as describe$1, u as getShells, v as iterShells, w as kernelCallRaw, x as iterWires, y as iterSolids } from "./topologyQueryFns-
|
|
5
|
+
import { C as kernelCall, S as vertexPosition, T as kernelCallScoped, _ as iterFaces, a as getCachedSurfaceType, b as iterVertices, c as getFaces, d as getSolids, f as getVertices, g as iterEdges, h as iterCompSolids, m as invalidateShapeCache, n as getBounds, o as getCompSolids, p as getWires, s as getEdges, t as describe$1, u as getShells, v as iterShells, w as kernelCallRaw, x as iterWires, y as iterSolids } from "./topologyQueryFns-c2RQIcfW.js";
|
|
6
6
|
import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
|
|
7
7
|
import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-D24Y27N0.js";
|
|
8
8
|
import { a as vecDot, c as vecLength, d as vecNormalize, f as vecProjectToPlane, g as vecSub, h as vecScale, i as vecDistance, l as vecLengthSq, m as vecRotate, n as vecAngle, o as vecEquals, p as vecRepr, r as vecCross, s as vecIsZero, t as vecAdd, u as vecNegate } from "./vecOps-SKPRvPH-.js";
|
|
9
9
|
import { i as pivotPlane, n as createPlane, o as resolvePlane, r as makePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-DSjjtrjg.js";
|
|
10
|
-
import { _ as
|
|
11
|
-
import { C as findFacesByTag, D as tagFaces, E as setTagMetadata, O as getFaceOrigins, S as getShapeColor, T as getTagMetadata, a as isSameShape, b as colorShape, c as applyMatrix$1, d as resize, f as rotate$2, h as translate$2, i as isEqualShape, k as setShapeOrigin, l as composeTransforms, m as transformCopy$1, n as getHashCode, o as simplify$1, p as scale$
|
|
12
|
-
import { a as curveLength, c as curveStartPoint, d as getCurveType, f as getOrientation, i as curveIsPeriodic, l as curveTangentAt, m as offsetWire2D, n as curveEndPoint, o as curvePeriod, p as interpolateCurve, r as curveIsClosed, s as curvePointAt, t as approximateCurve, u as flipOrientation } from "./curveFns-
|
|
13
|
-
import { a as meshEdges$1, c as createMeshCache, i as mesh$1, n as exportSTEP, o as meshMultiLOD, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-
|
|
10
|
+
import { S as shapeType, _ as cast, a as faceOrientation, b as isCompSolid, c as innerWires, d as pointOnSurface, f as projectPointOnFace, g as asTopo, h as uvCoordinates, i as faceGeomType, l as normalAt, m as uvBounds, n as faceAxis, o as flipFaceOrientation, p as removeHolesFromFace, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, v as downcast, x as iterTopo, y as fromBREP } from "./faceFns-BBcrvY7r.js";
|
|
11
|
+
import { C as findFacesByTag, D as tagFaces, E as setTagMetadata, O as getFaceOrigins, S as getShapeColor, T as getTagMetadata, a as isSameShape, b as colorShape, c as applyMatrix$1, d as resize, f as rotate$2, h as translate$2, i as isEqualShape, k as setShapeOrigin, l as composeTransforms, m as transformCopy$1, n as getHashCode, o as simplify$1, p as scale$3, r as isEmpty$2, s as toBREP$1, t as clone$1, u as mirror$2, w as getFaceTags, x as getFaceColor, y as colorFaces } from "./shapeFns-DVUNOG2I.js";
|
|
12
|
+
import { a as curveLength, c as curveStartPoint, d as getCurveType, f as getOrientation, i as curveIsPeriodic, l as curveTangentAt, m as offsetWire2D, n as curveEndPoint, o as curvePeriod, p as interpolateCurve, r as curveIsClosed, s as curvePointAt, t as approximateCurve, u as flipOrientation } from "./curveFns-CXhOkKR4.js";
|
|
13
|
+
import { a as meshEdges$1, c as createMeshCache, i as mesh$1, n as exportSTEP, o as meshMultiLOD, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-D-nLiHvU.js";
|
|
14
14
|
import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
15
|
-
import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, r as makeFace, s as assembleWire } from "./surfaceBuilders-
|
|
16
|
-
import { a as fuseAll, c as sectionToFace$1, i as fuse$2, l as slice$1, n as cut$2, o as intersect$2, r as cutAll, s as section$1, t as booleanPipeline, u as split$1 } from "./booleanFns-
|
|
17
|
-
import { $ as fuseAllBisect, A as fixShape, B as offset$1, C as threePointArc, D as wireLoop, E as wire, F as isValid$1, G as chamferWithEvolution, H as thicken$1, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, L as chamfer$1, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as cutAllBisect, R as draft$1, S as tangentArc, T as vertex, U as variableFillet, V as shell$1, W as positionOnCurve, X as shellWithEvolution, Y as intersectWithEvolution, Z as checkBoolean, _ as polygon, a as circle, at as sharedEdges, b as sphere$1, c as cylinder, ct as chamferDistAngle, d as ellipsoid, dt as toLODGeometryData, et as getNurbsCurveData, f as face, ft as toLineGeometryData, g as offsetFace, h as line, i as bsplineApprox, it as facesOfEdge, j as heal$1, k as fixSelfIntersection, l as ellipse, lt as toBufferGeometryData, m as helix, n as bezier, nt as adjacentFaces, o as compound, ot as verticesOfEdge, p as filledFace, q as filletWithEvolution, r as box, rt as edgesOfFace, s as cone, st as wiresOfFace, t as addHoles, tt as getNurbsSurfaceData, u as ellipseArc, ut as toGroupedBufferGeometryData, v as sewShells, w as torus$1, x as subFace, y as solid, z as fillet$1 } from "./primitiveFns-
|
|
18
|
-
import { C as walkAssembly, D as exportAssemblySTEP, E as linearPattern, O as createAssembly, S as updateNode, _ as collectShapes, a as findStep, b as findNode, c as registerOperation, d as replayHistory, f as serializeHistory, g as addChild, h as undoLast, i as deserializeHistory, l as registerShape, m as stepsFrom, n as createHistory, o as getShape, p as stepCount, r as createRegistry, s as modifyStep, t as addStep, u as replayFrom, v as countNodes, w as circularPattern, x as removeChild, y as createAssemblyNode } from "./historyFns-
|
|
19
|
-
import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-
|
|
20
|
-
import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers
|
|
21
|
-
import { A as sketchEllipse, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-
|
|
22
|
-
import { r as makeCylinder } from "./solidBuilders-
|
|
23
|
-
import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, i as measureCurvatureAtMid, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, r as measureCurvatureAt, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-
|
|
24
|
-
import { t as cornerFinder } from "./cornerFinder-
|
|
25
|
-
import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-
|
|
26
|
-
import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-
|
|
27
|
-
import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-
|
|
28
|
-
import { a as guidedSweep, c as sweep$1, i as complexExtrude, l as twistExtrude, n as extrudeAll, o as multiSectionSweep, r as revolve$1, s as supportExtrude, t as extrude$1 } from "./extrudeFns-
|
|
29
|
-
import { a as Sketch, b as loftAll, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, n as getFont, o as compoundSketchExtrude, p as sketchRevolve, r as loadFont, s as compoundSketchFace, t as textBlueprints, u as sketchExtrude, v as CompoundSketch, y as loft$1 } from "./textBlueprints-
|
|
30
|
-
import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-
|
|
31
|
-
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-
|
|
32
|
-
import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-
|
|
15
|
+
import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, r as makeFace, s as assembleWire } from "./surfaceBuilders-BtNrSolT.js";
|
|
16
|
+
import { a as fuseAll, c as sectionToFace$1, i as fuse$2, l as slice$1, n as cut$2, o as intersect$2, r as cutAll, s as section$1, t as booleanPipeline, u as split$1 } from "./booleanFns-DYSaupiG.js";
|
|
17
|
+
import { $ as fuseAllBisect, A as fixShape, B as offset$1, C as threePointArc, D as wireLoop, E as wire, F as isValid$1, G as chamferWithEvolution, H as thicken$1, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, L as chamfer$1, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as cutAllBisect, R as draft$1, S as tangentArc, T as vertex, U as variableFillet, V as shell$1, W as positionOnCurve, X as shellWithEvolution, Y as intersectWithEvolution, Z as checkBoolean, _ as polygon, a as circle, at as sharedEdges, b as sphere$1, c as cylinder, ct as chamferDistAngle, d as ellipsoid, dt as toLODGeometryData, et as getNurbsCurveData, f as face, ft as toLineGeometryData, g as offsetFace, h as line, i as bsplineApprox, it as facesOfEdge, j as heal$1, k as fixSelfIntersection, l as ellipse, lt as toBufferGeometryData, m as helix, n as bezier, nt as adjacentFaces, o as compound, ot as verticesOfEdge, p as filledFace, q as filletWithEvolution, r as box, rt as edgesOfFace, s as cone, st as wiresOfFace, t as addHoles, tt as getNurbsSurfaceData, u as ellipseArc, ut as toGroupedBufferGeometryData, v as sewShells, w as torus$1, x as subFace, y as solid, z as fillet$1 } from "./primitiveFns-CDbe5gjc.js";
|
|
18
|
+
import { C as walkAssembly, D as exportAssemblySTEP, E as linearPattern, O as createAssembly, S as updateNode, _ as collectShapes, a as findStep, b as findNode, c as registerOperation, d as replayHistory, f as serializeHistory, g as addChild, h as undoLast, i as deserializeHistory, l as registerShape, m as stepsFrom, n as createHistory, o as getShape, p as stepCount, r as createRegistry, s as modifyStep, t as addStep, u as replayFrom, v as countNodes, w as circularPattern, x as removeChild, y as createAssemblyNode } from "./historyFns-ClLT60_V.js";
|
|
19
|
+
import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-BRKbVgE2.js";
|
|
20
|
+
import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-CxT3j8jG.js";
|
|
21
|
+
import { A as sketchEllipse, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-ZqWpAG8b.js";
|
|
22
|
+
import { r as makeCylinder } from "./solidBuilders-Bx3UdW91.js";
|
|
23
|
+
import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, i as measureCurvatureAtMid, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, r as measureCurvatureAt, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-DAP8LjBB.js";
|
|
24
|
+
import { t as cornerFinder } from "./cornerFinder-DcHCKoUh.js";
|
|
25
|
+
import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-CANP43pN.js";
|
|
26
|
+
import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-zLwbytjs.js";
|
|
27
|
+
import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-BNDWuBuq.js";
|
|
28
|
+
import { a as guidedSweep, c as sweep$1, i as complexExtrude, l as twistExtrude, n as extrudeAll, o as multiSectionSweep, r as revolve$1, s as supportExtrude, t as extrude$1 } from "./extrudeFns-CSy2C7WW.js";
|
|
29
|
+
import { a as Sketch, b as loftAll, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, n as getFont, o as compoundSketchExtrude, p as sketchRevolve, r as loadFont, s as compoundSketchFace, t as textBlueprints, u as sketchExtrude, v as CompoundSketch, y as loft$1 } from "./textBlueprints-HfRD4iNF.js";
|
|
30
|
+
import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-BFRGMXSn.js";
|
|
31
|
+
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-Zp8rzokO.js";
|
|
32
|
+
import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-CAJUDLTi.js";
|
|
33
33
|
import { a as createTaskQueue, c as isEmpty$1, d as isDisposeRequest, f as isErrorResponse, h as isSuccessResponse, i as createWorkerClient, l as pendingCount, m as isOperationRequest, n as createWorkerHandler, o as dequeueTask, p as isInitRequest, r as registerHandler, s as enqueueTask, t as createOperationRegistry, u as rejectAll } from "./workerHandler-CFetYgIm.js";
|
|
34
34
|
//#region \0rolldown/runtime.js
|
|
35
35
|
var __defProp = Object.defineProperty;
|
|
@@ -2143,13 +2143,94 @@ function roof(w, options) {
|
|
|
2143
2143
|
}
|
|
2144
2144
|
}
|
|
2145
2145
|
//#endregion
|
|
2146
|
+
//#region src/utils/quaternion.ts
|
|
2147
|
+
function dot$1(a, b) {
|
|
2148
|
+
return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
|
|
2149
|
+
}
|
|
2150
|
+
function cross$1(a, b) {
|
|
2151
|
+
return [
|
|
2152
|
+
a[1] * b[2] - a[2] * b[1],
|
|
2153
|
+
a[2] * b[0] - a[0] * b[2],
|
|
2154
|
+
a[0] * b[1] - a[1] * b[0]
|
|
2155
|
+
];
|
|
2156
|
+
}
|
|
2157
|
+
function normalize$1(a) {
|
|
2158
|
+
const l = Math.hypot(a[0], a[1], a[2]) || 1;
|
|
2159
|
+
return [
|
|
2160
|
+
a[0] / l,
|
|
2161
|
+
a[1] / l,
|
|
2162
|
+
a[2] / l
|
|
2163
|
+
];
|
|
2164
|
+
}
|
|
2165
|
+
/** A unit vector perpendicular to `v` (for the 180°/parallel degenerate cases). */
|
|
2166
|
+
function anyPerpendicular$1(v) {
|
|
2167
|
+
return normalize$1(cross$1(v, Math.abs(v[0]) < .9 ? [
|
|
2168
|
+
1,
|
|
2169
|
+
0,
|
|
2170
|
+
0
|
|
2171
|
+
] : [
|
|
2172
|
+
0,
|
|
2173
|
+
1,
|
|
2174
|
+
0
|
|
2175
|
+
]));
|
|
2176
|
+
}
|
|
2177
|
+
/** Rotate vector `v` by quaternion `q`. */
|
|
2178
|
+
function quatRotate(q, v) {
|
|
2179
|
+
const [w, x, y, z] = q;
|
|
2180
|
+
const tx = 2 * (y * v[2] - z * v[1]);
|
|
2181
|
+
const ty = 2 * (z * v[0] - x * v[2]);
|
|
2182
|
+
const tz = 2 * (x * v[1] - y * v[0]);
|
|
2183
|
+
return [
|
|
2184
|
+
v[0] + w * tx + (y * tz - z * ty),
|
|
2185
|
+
v[1] + w * ty + (z * tx - x * tz),
|
|
2186
|
+
v[2] + w * tz + (x * ty - y * tx)
|
|
2187
|
+
];
|
|
2188
|
+
}
|
|
2189
|
+
/** Quaternion for a rotation of `angle` radians about (unit-normalized) `axis`. */
|
|
2190
|
+
function quatFromAxisAngle(axis, angle) {
|
|
2191
|
+
const h = angle / 2;
|
|
2192
|
+
const s = Math.sin(h);
|
|
2193
|
+
const u = normalize$1(axis);
|
|
2194
|
+
return [
|
|
2195
|
+
Math.cos(h),
|
|
2196
|
+
u[0] * s,
|
|
2197
|
+
u[1] * s,
|
|
2198
|
+
u[2] * s
|
|
2199
|
+
];
|
|
2200
|
+
}
|
|
2201
|
+
/** Shortest-arc quaternion rotating unit vector `from` onto unit vector `to`. */
|
|
2202
|
+
function quatFromTo(from, to) {
|
|
2203
|
+
const a = normalize$1(from);
|
|
2204
|
+
const b = normalize$1(to);
|
|
2205
|
+
const d = dot$1(a, b);
|
|
2206
|
+
if (d >= .999999999) return [
|
|
2207
|
+
1,
|
|
2208
|
+
0,
|
|
2209
|
+
0,
|
|
2210
|
+
0
|
|
2211
|
+
];
|
|
2212
|
+
if (d <= -.999999999) return quatFromAxisAngle(anyPerpendicular$1(a), Math.PI);
|
|
2213
|
+
const c = cross$1(a, b);
|
|
2214
|
+
const len = Math.hypot(1 + d, c[0], c[1], c[2]) || 1;
|
|
2215
|
+
return [
|
|
2216
|
+
(1 + d) / len,
|
|
2217
|
+
c[0] / len,
|
|
2218
|
+
c[1] / len,
|
|
2219
|
+
c[2] / len
|
|
2220
|
+
];
|
|
2221
|
+
}
|
|
2222
|
+
//#endregion
|
|
2146
2223
|
//#region src/kernel/solverAdapter.ts
|
|
2147
2224
|
/**
|
|
2148
|
-
*
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
*
|
|
2152
|
-
*
|
|
2225
|
+
* Constraint solver adapter — analytical solver for simple assembly mates.
|
|
2226
|
+
*/
|
|
2227
|
+
/**
|
|
2228
|
+
* Degrees of freedom each constraint leaves unresolved when it can't be applied
|
|
2229
|
+
* (entity-type mismatch or an unreachable reference). All four types now solve
|
|
2230
|
+
* for well-typed inputs; these counts only feed the diagnostic `dof` for the
|
|
2231
|
+
* unsupported cases.
|
|
2232
|
+
* coincident: 3 translational · concentric: 2 rotational + 2 translational = 4
|
|
2233
|
+
* distance: 1 translational · angle: 1 rotational
|
|
2153
2234
|
*/
|
|
2154
2235
|
var UNSUPPORTED_DOF = {
|
|
2155
2236
|
coincident: 3,
|
|
@@ -2170,51 +2251,162 @@ function add$1(a, b) {
|
|
|
2170
2251
|
a[2] + b[2]
|
|
2171
2252
|
];
|
|
2172
2253
|
}
|
|
2254
|
+
function sub(a, b) {
|
|
2255
|
+
return [
|
|
2256
|
+
a[0] - b[0],
|
|
2257
|
+
a[1] - b[1],
|
|
2258
|
+
a[2] - b[2]
|
|
2259
|
+
];
|
|
2260
|
+
}
|
|
2173
2261
|
function dot(a, b) {
|
|
2174
2262
|
return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
|
|
2175
2263
|
}
|
|
2264
|
+
function cross(a, b) {
|
|
2265
|
+
return [
|
|
2266
|
+
a[1] * b[2] - a[2] * b[1],
|
|
2267
|
+
a[2] * b[0] - a[0] * b[2],
|
|
2268
|
+
a[0] * b[1] - a[1] * b[0]
|
|
2269
|
+
];
|
|
2270
|
+
}
|
|
2271
|
+
function scale$2(a, s) {
|
|
2272
|
+
return [
|
|
2273
|
+
a[0] * s,
|
|
2274
|
+
a[1] * s,
|
|
2275
|
+
a[2] * s
|
|
2276
|
+
];
|
|
2277
|
+
}
|
|
2278
|
+
function normalize(a) {
|
|
2279
|
+
const l = Math.hypot(a[0], a[1], a[2]) || 1;
|
|
2280
|
+
return [
|
|
2281
|
+
a[0] / l,
|
|
2282
|
+
a[1] / l,
|
|
2283
|
+
a[2] / l
|
|
2284
|
+
];
|
|
2285
|
+
}
|
|
2286
|
+
/** A unit vector perpendicular to `v` (for the parallel-normals degenerate case). */
|
|
2287
|
+
function anyPerpendicular(v) {
|
|
2288
|
+
return normalize(cross(v, Math.abs(v[0]) < .9 ? [
|
|
2289
|
+
1,
|
|
2290
|
+
0,
|
|
2291
|
+
0
|
|
2292
|
+
] : [
|
|
2293
|
+
0,
|
|
2294
|
+
1,
|
|
2295
|
+
0
|
|
2296
|
+
]));
|
|
2297
|
+
}
|
|
2298
|
+
/** Apply a pose (rotate then translate) to an entity's origin and any directions. */
|
|
2299
|
+
function transformEntity(e, pose) {
|
|
2300
|
+
const origin = add$1(quatRotate(pose.rotation, e.origin), pose.position);
|
|
2301
|
+
return {
|
|
2302
|
+
type: e.type,
|
|
2303
|
+
origin,
|
|
2304
|
+
...e.normal ? { normal: quatRotate(pose.rotation, e.normal) } : {},
|
|
2305
|
+
...e.direction ? { direction: quatRotate(pose.rotation, e.direction) } : {}
|
|
2306
|
+
};
|
|
2307
|
+
}
|
|
2176
2308
|
/**
|
|
2177
2309
|
* Position a dependent plane against an already-placed reference plane.
|
|
2178
2310
|
*
|
|
2179
|
-
*
|
|
2180
|
-
*
|
|
2181
|
-
*
|
|
2182
|
-
*
|
|
2183
|
-
* translation. `extra` is the gap for a distance mate (0 for coincident).
|
|
2184
|
-
* Rotation stays identity — coincident/distance produce pure translations;
|
|
2185
|
-
* Phase 1 rotational constraints will extend this.
|
|
2311
|
+
* `ref` is the reference entity already in world space. The dependent is at the
|
|
2312
|
+
* origin (a node is only solved once, while unplaced), so the returned position
|
|
2313
|
+
* is its absolute translation along the reference normal. `extra` is the gap for
|
|
2314
|
+
* a distance mate (0 for coincident). Plane mates don't reorient the dependent.
|
|
2186
2315
|
*/
|
|
2187
|
-
function solvePlanePair(ref,
|
|
2316
|
+
function solvePlanePair(ref, dep, extra) {
|
|
2188
2317
|
const n = ref.normal ?? [
|
|
2189
2318
|
0,
|
|
2190
2319
|
0,
|
|
2191
2320
|
1
|
|
2192
2321
|
];
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2322
|
+
return {
|
|
2323
|
+
position: scale$2(n, dot(n, sub(ref.origin, dep.origin)) + extra),
|
|
2324
|
+
rotation: IDENTITY_ROTATION
|
|
2325
|
+
};
|
|
2326
|
+
}
|
|
2327
|
+
/**
|
|
2328
|
+
* Concentric (axis-axis) mate: rotate the dependent so its axis is parallel to
|
|
2329
|
+
* the reference axis, then translate so the two axes are collinear (the
|
|
2330
|
+
* dependent's axis point is placed on the reference axis). `ref` is in world
|
|
2331
|
+
* space; the dependent is at the origin.
|
|
2332
|
+
*/
|
|
2333
|
+
function solveConcentric(ref, dep) {
|
|
2334
|
+
const dRef = ref.direction ?? [
|
|
2335
|
+
0,
|
|
2336
|
+
0,
|
|
2337
|
+
1
|
|
2338
|
+
];
|
|
2339
|
+
const rotation = quatFromTo(dep.direction ?? [
|
|
2340
|
+
0,
|
|
2341
|
+
0,
|
|
2342
|
+
1
|
|
2343
|
+
], dRef);
|
|
2344
|
+
const rotatedOrigin = quatRotate(rotation, dep.origin);
|
|
2345
|
+
return {
|
|
2346
|
+
position: sub(ref.origin, rotatedOrigin),
|
|
2347
|
+
rotation
|
|
2348
|
+
};
|
|
2349
|
+
}
|
|
2350
|
+
/**
|
|
2351
|
+
* Angle mate: rotate the dependent so the angle between its (plane) normal and
|
|
2352
|
+
* the reference normal equals `angleRad`. Orientation-only — position is left at
|
|
2353
|
+
* the origin. `ref` is in world space; the dependent is at the origin.
|
|
2354
|
+
*/
|
|
2355
|
+
function solveAngle(ref, dep, angleRad) {
|
|
2356
|
+
const nRef = normalize(ref.normal ?? [
|
|
2357
|
+
0,
|
|
2358
|
+
0,
|
|
2359
|
+
1
|
|
2360
|
+
]);
|
|
2361
|
+
const nDep = normalize(dep.normal ?? [
|
|
2362
|
+
0,
|
|
2363
|
+
0,
|
|
2364
|
+
1
|
|
2365
|
+
]);
|
|
2366
|
+
const phi = Math.acos(Math.max(-1, Math.min(1, dot(nDep, nRef))));
|
|
2367
|
+
const c = cross(nDep, nRef);
|
|
2199
2368
|
return {
|
|
2200
2369
|
position: [
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2370
|
+
0,
|
|
2371
|
+
0,
|
|
2372
|
+
0
|
|
2204
2373
|
],
|
|
2205
|
-
rotation:
|
|
2374
|
+
rotation: quatFromAxisAngle(Math.hypot(c[0], c[1], c[2]) < 1e-9 ? anyPerpendicular(nDep) : c, phi - angleRad)
|
|
2206
2375
|
};
|
|
2207
2376
|
}
|
|
2377
|
+
/** Entity types each positioning constraint requires of (entityA, entityB). */
|
|
2378
|
+
var REQUIRED_ENTITIES = {
|
|
2379
|
+
coincident: "plane",
|
|
2380
|
+
distance: "plane",
|
|
2381
|
+
angle: "plane",
|
|
2382
|
+
concentric: "axis"
|
|
2383
|
+
};
|
|
2384
|
+
var POSITIONING_TYPES = new Set([
|
|
2385
|
+
"coincident",
|
|
2386
|
+
"distance",
|
|
2387
|
+
"angle",
|
|
2388
|
+
"concentric"
|
|
2389
|
+
]);
|
|
2390
|
+
/** Dispatch a positioning mate to its solver. `ref` is already in world space. */
|
|
2391
|
+
function solveMate(c, ref, dep) {
|
|
2392
|
+
switch (c.type) {
|
|
2393
|
+
case "concentric": return solveConcentric(ref, dep);
|
|
2394
|
+
case "angle": return solveAngle(ref, dep, (c.value ?? 0) * Math.PI / 180);
|
|
2395
|
+
case "distance": return solvePlanePair(ref, dep, c.value ?? 0);
|
|
2396
|
+
default: return solvePlanePair(ref, dep, 0);
|
|
2397
|
+
}
|
|
2398
|
+
}
|
|
2208
2399
|
/**
|
|
2209
2400
|
* Solve assembly constraints analytically.
|
|
2210
2401
|
*
|
|
2211
|
-
* Handles: fixed, coincident (plane-plane),
|
|
2212
|
-
* positioning mate, entityA is the
|
|
2213
|
-
* roots (nodes never positioned by a
|
|
2214
|
-
*
|
|
2215
|
-
* dependent against the reference's solved
|
|
2216
|
-
*
|
|
2217
|
-
*
|
|
2402
|
+
* Handles: fixed, coincident/distance (plane-plane), concentric (axis-axis), and
|
|
2403
|
+
* angle (plane-plane orientation). For a positioning mate, entityA is the
|
|
2404
|
+
* reference and entityB the dependent. Chain roots (nodes never positioned by a
|
|
2405
|
+
* mate) and explicit `fixed` nodes anchor at the origin; constraints then resolve
|
|
2406
|
+
* in topological order — each places its dependent against the reference's solved
|
|
2407
|
+
* pose (rotation included), so multi-body chains compose. Returns
|
|
2408
|
+
* `converged: false` with details for entity-type mismatches and any constraint
|
|
2409
|
+
* whose reference never resolves.
|
|
2218
2410
|
*/
|
|
2219
2411
|
function solveConstraints(nodes, constraints) {
|
|
2220
2412
|
const transforms = /* @__PURE__ */ new Map();
|
|
@@ -2227,17 +2419,17 @@ function solveConstraints(nodes, constraints) {
|
|
|
2227
2419
|
rotation: IDENTITY_ROTATION
|
|
2228
2420
|
});
|
|
2229
2421
|
const unsupported = [];
|
|
2230
|
-
const positioning = constraints.filter((c) => (c.type
|
|
2422
|
+
const positioning = constraints.filter((c) => POSITIONING_TYPES.has(c.type) && c.entityA && c.entityB);
|
|
2231
2423
|
const dependents = /* @__PURE__ */ new Set();
|
|
2232
2424
|
for (const c of positioning) if (c.entityB) dependents.add(c.entityB.node);
|
|
2233
2425
|
const placed = /* @__PURE__ */ new Set();
|
|
2234
2426
|
for (const node of nodes) if (!dependents.has(node)) placed.add(node);
|
|
2235
2427
|
for (const c of constraints) if (c.type === "fixed" && c.entityA) placed.add(c.entityA.node);
|
|
2236
|
-
for (const c of constraints) if (c.type === "concentric" || c.type === "angle") unsupported.push(c.type);
|
|
2237
2428
|
const pending = [];
|
|
2238
2429
|
for (const c of positioning) {
|
|
2239
2430
|
if (!c.entityA || !c.entityB) continue;
|
|
2240
|
-
|
|
2431
|
+
const required = REQUIRED_ENTITIES[c.type];
|
|
2432
|
+
if (c.entityA.entity.type !== required || c.entityB.entity.type !== required) {
|
|
2241
2433
|
unsupported.push(`${c.type}(${c.entityA.entity.type}-${c.entityB.entity.type})`);
|
|
2242
2434
|
continue;
|
|
2243
2435
|
}
|
|
@@ -2263,8 +2455,8 @@ function solveConstraints(nodes, constraints) {
|
|
|
2263
2455
|
],
|
|
2264
2456
|
rotation: IDENTITY_ROTATION
|
|
2265
2457
|
};
|
|
2266
|
-
const
|
|
2267
|
-
transforms.set(dep.node,
|
|
2458
|
+
const refWorld = transformEntity(ref.entity, refPose);
|
|
2459
|
+
transforms.set(dep.node, solveMate(c, refWorld, dep.entity));
|
|
2268
2460
|
placed.add(dep.node);
|
|
2269
2461
|
}
|
|
2270
2462
|
}
|
|
@@ -2281,11 +2473,27 @@ function solveConstraints(nodes, constraints) {
|
|
|
2281
2473
|
//#endregion
|
|
2282
2474
|
//#region src/operations/mateFns.ts
|
|
2283
2475
|
function extractEntity(mate) {
|
|
2284
|
-
if (mate.face)
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2476
|
+
if (mate.face) {
|
|
2477
|
+
const axis = faceAxis(mate.face);
|
|
2478
|
+
if (axis) return {
|
|
2479
|
+
type: "axis",
|
|
2480
|
+
origin: axis.origin,
|
|
2481
|
+
direction: axis.direction
|
|
2482
|
+
};
|
|
2483
|
+
return {
|
|
2484
|
+
type: "plane",
|
|
2485
|
+
origin: faceCenter(mate.face),
|
|
2486
|
+
normal: normalAt(mate.face)
|
|
2487
|
+
};
|
|
2488
|
+
}
|
|
2489
|
+
if (mate.edge) {
|
|
2490
|
+
if (getCurveType(mate.edge) === "LINE") return {
|
|
2491
|
+
type: "axis",
|
|
2492
|
+
origin: curveStartPoint(mate.edge),
|
|
2493
|
+
direction: curveTangentAt(mate.edge)
|
|
2494
|
+
};
|
|
2495
|
+
return null;
|
|
2496
|
+
}
|
|
2289
2497
|
if (mate.point) return {
|
|
2290
2498
|
type: "point",
|
|
2291
2499
|
origin: mate.point
|
|
@@ -2405,6 +2613,102 @@ function solveAssembly(assembly) {
|
|
|
2405
2613
|
}
|
|
2406
2614
|
}
|
|
2407
2615
|
//#endregion
|
|
2616
|
+
//#region src/operations/jointFns.ts
|
|
2617
|
+
var DEG2RAD$1 = Math.PI / 180;
|
|
2618
|
+
function clamp(value, min, max) {
|
|
2619
|
+
return Math.min(max, Math.max(min, value));
|
|
2620
|
+
}
|
|
2621
|
+
function unit(v) {
|
|
2622
|
+
const l = Math.hypot(v[0], v[1], v[2]) || 1;
|
|
2623
|
+
return [
|
|
2624
|
+
v[0] / l,
|
|
2625
|
+
v[1] / l,
|
|
2626
|
+
v[2] / l
|
|
2627
|
+
];
|
|
2628
|
+
}
|
|
2629
|
+
function makeJoint(type, parent, child, axis, opts, defMin, defMax) {
|
|
2630
|
+
const a = opts.min ?? defMin;
|
|
2631
|
+
const b = opts.max ?? defMax;
|
|
2632
|
+
const min = Math.min(a, b);
|
|
2633
|
+
const max = Math.max(a, b);
|
|
2634
|
+
return {
|
|
2635
|
+
type,
|
|
2636
|
+
parent,
|
|
2637
|
+
child,
|
|
2638
|
+
axis: {
|
|
2639
|
+
origin: axis.origin,
|
|
2640
|
+
direction: unit(axis.direction)
|
|
2641
|
+
},
|
|
2642
|
+
min,
|
|
2643
|
+
max,
|
|
2644
|
+
value: clamp(opts.value ?? 0, min, max)
|
|
2645
|
+
};
|
|
2646
|
+
}
|
|
2647
|
+
/** A revolute (hinge) joint — the child rotates about `axis` by `value` degrees. */
|
|
2648
|
+
function revoluteJoint(parent, child, axis, opts = {}) {
|
|
2649
|
+
return makeJoint("revolute", parent, child, axis, opts, -180, 180);
|
|
2650
|
+
}
|
|
2651
|
+
/**
|
|
2652
|
+
* A prismatic (slider) joint — the child translates along `axis` by `value`
|
|
2653
|
+
* units. Only `axis.direction` is used; `axis.origin` is ignored (a pure
|
|
2654
|
+
* translation has no anchor point), unlike a revolute joint which rotates about
|
|
2655
|
+
* the axis line through `origin`.
|
|
2656
|
+
*/
|
|
2657
|
+
function prismaticJoint(parent, child, axis, opts = {}) {
|
|
2658
|
+
return makeJoint("prismatic", parent, child, axis, opts, 0, 100);
|
|
2659
|
+
}
|
|
2660
|
+
/** Return a copy of `joint` with its drivable parameter set (clamped to range). */
|
|
2661
|
+
function setJointValue(joint, value) {
|
|
2662
|
+
return {
|
|
2663
|
+
...joint,
|
|
2664
|
+
value: clamp(value, joint.min, joint.max)
|
|
2665
|
+
};
|
|
2666
|
+
}
|
|
2667
|
+
/**
|
|
2668
|
+
* The child's local rigid transform (relative to the parent) for a joint value.
|
|
2669
|
+
* Defaults to the joint's stored value; an explicit value is clamped to range.
|
|
2670
|
+
*
|
|
2671
|
+
* - **revolute**: rotation of `value` degrees about the axis line. Rotating
|
|
2672
|
+
* about a line through `origin` is `p ↦ R·p + (origin − R·origin)`.
|
|
2673
|
+
* - **prismatic**: translation of `value` units along the axis direction.
|
|
2674
|
+
*/
|
|
2675
|
+
function jointTransform(joint, value = joint.value) {
|
|
2676
|
+
const v = clamp(value, joint.min, joint.max);
|
|
2677
|
+
const dir = unit(joint.axis.direction);
|
|
2678
|
+
if (joint.type === "prismatic") return {
|
|
2679
|
+
position: [
|
|
2680
|
+
dir[0] * v,
|
|
2681
|
+
dir[1] * v,
|
|
2682
|
+
dir[2] * v
|
|
2683
|
+
],
|
|
2684
|
+
rotation: [
|
|
2685
|
+
1,
|
|
2686
|
+
0,
|
|
2687
|
+
0,
|
|
2688
|
+
0
|
|
2689
|
+
]
|
|
2690
|
+
};
|
|
2691
|
+
const rotation = quatFromAxisAngle(dir, v * DEG2RAD$1);
|
|
2692
|
+
const o = joint.axis.origin;
|
|
2693
|
+
const ro = quatRotate(rotation, o);
|
|
2694
|
+
return {
|
|
2695
|
+
position: [
|
|
2696
|
+
o[0] - ro[0],
|
|
2697
|
+
o[1] - ro[1],
|
|
2698
|
+
o[2] - ro[2]
|
|
2699
|
+
],
|
|
2700
|
+
rotation
|
|
2701
|
+
};
|
|
2702
|
+
}
|
|
2703
|
+
/** Attach a joint to an assembly node. Returns a new node (immutable). */
|
|
2704
|
+
function addJoint(assembly, joint) {
|
|
2705
|
+
const existing = assembly.joints ?? [];
|
|
2706
|
+
return {
|
|
2707
|
+
...assembly,
|
|
2708
|
+
joints: [...existing, joint]
|
|
2709
|
+
};
|
|
2710
|
+
}
|
|
2711
|
+
//#endregion
|
|
2408
2712
|
//#region src/measurement/interferenceFns.ts
|
|
2409
2713
|
/**
|
|
2410
2714
|
* Interference detection between shapes.
|
|
@@ -3045,7 +3349,7 @@ function mirror(shape, options) {
|
|
|
3045
3349
|
}
|
|
3046
3350
|
/** Scale a shape uniformly. Returns a new shape. */
|
|
3047
3351
|
function scale(shape, factor, options) {
|
|
3048
|
-
return scale$
|
|
3352
|
+
return scale$3(resolve(shape), factor, options?.center);
|
|
3049
3353
|
}
|
|
3050
3354
|
/** Clone a shape (deep copy). */
|
|
3051
3355
|
function clone(shape) {
|
|
@@ -5264,7 +5568,7 @@ function evalScale(node, ctx) {
|
|
|
5264
5568
|
if (!center.ok) return center;
|
|
5265
5569
|
const r = ctx.evalNode(node.target);
|
|
5266
5570
|
if (!r.ok) return r;
|
|
5267
|
-
return ok(scale$
|
|
5571
|
+
return ok(scale$3(r.value, f.value, center.value));
|
|
5268
5572
|
}
|
|
5269
5573
|
function evalMirror(node, ctx) {
|
|
5270
5574
|
if (node.target.kind === "Empty") return emptyResult("Mirror");
|
|
@@ -6174,4 +6478,4 @@ var csg_exports = /* @__PURE__ */ __exportAll({
|
|
|
6174
6478
|
withEvaluator: () => withEvaluator
|
|
6175
6479
|
});
|
|
6176
6480
|
//#endregion
|
|
6177
|
-
export { BaseSketcher2d, BlueprintSketcher, BrepBugError, BrepErrorCode, BrepWrapperError, BrepkitAdapter, CompoundSketch, DEFAULT_CAPABILITIES, DEG2RAD, DisposalScope, EXACT_BREP_CAPABILITIES, FaceSketcher, HASH_CODE_MAX, OK, OcctWasmAdapter, RAD2DEG, Sketch, Sketcher, Sketches, addChild, addHoles, addMate, addStep, adjacentFaces, all, andThen, applyGlue, applyMatrix, approximateCurve, as2D, as3D, asTopo, assignRoles, autoHeal, bezier, blueprintToDXF, booleanPipeline, booleans_exports as booleans, boss, box, bsplineApprox, bug, cameraFromPlane, cameraLookAt, captureHint, cast, castShape, castShape3D, chamfer, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkAllInterferences, checkBoolean, checkInterference, circle, circularPattern, classifyPointOnFace, clearMeshCache, clone, closedWire, collect, collectShapes, colorFaces, colorShape, complexExtrude, composeTransforms, compound, compoundSketchExtrude, compoundSketchFace, compoundSketchLoft, compoundSketchRevolve, computationError, computeStraightSkeleton, cone, construction_exports as construction, convexHull, cornerFinder, countNodes, createAssembly, createAssemblyNode, createBlueprint, createCamera, createCompound, createCompoundBlueprint, createDistanceQuery, createEdge, createFace, createHandle, createHistory, createKernelHandle, createMeshCache, createNamedPlane, createOperationRegistry, createPlane, createRef, createRegistry, createShell, createSolid, createTaskQueue, createVertex, createWire, createWorkerClient, createWorkerHandler, csg_exports as csg, currentQuality, curve2dBoundingBox, curve2dDistanceFrom, curve2dFirstPoint, curve2dIsOnCurve, curve2dLastPoint, curve2dParameter, curve2dSplitAt, curve2dTangentAt, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cut, cut2D, cutAll, cutAllBisect, cutBlueprints, cutWithEvolution, cylinder, defaultScorer, dequeueTask, describe, deserializeDrawing, deserializeHistory, fromBREP as deserializeShape, downcast, draft, draw, drawCircle, drawEllipse, drawFaceOutline, drawParametricFunction, drawPointsInterpolation, drawPolysides, drawProjection, drawRectangle, drawRoundedRectangle, drawSingleCircle, drawSingleEllipse, drawText, drawingChamfer, drawingCut, drawingFillet, drawingFuse, drawingIntersect, drawingToSketchOnPlane, drill, edgeFinder, edgesOfFace, ellipse, ellipseArc, ellipsoid, enqueueTask, err, exportAssemblySTEP, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, extrude, extrudeAll, face, faceCenter, faceFinder, faceGeomType, faceOrientation, facesOfEdge, fieldBoolean, fieldContour, fieldOffset, fieldReinit, fieldShell, fill, filledFace, fillet, filletWithEvolution, findFacesByTag, findNode, findStep, fixSelfIntersection, fixShape, flatMap, flatten, flipFaceOrientation, flipOrientation, fontMetrics, fromBREP$1 as fromBREP, fromKernelDir, fromKernelPnt, fromKernelVec, fromNullable, fuse, fuse2D, fuseAll, fuseAllBisect, fuseBlueprints, fuseWithEvolution, gearGeometry, getActiveVoxelId, getBounds, getBounds2D, getCompSolids, getCurveType, getDisposalStats, getEdges, getFaceColor, getFaceOrigins, getFaceTags, getFaces, getFont, getHashCode, getShape as getHistoryShape, getKernel, getKernelCapabilities, getKernelTier, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getOrientation2D, getPerformanceStats, getShapeColor, getShapeKind, getShells, getSingleFace, getSolids, getSurfaceType, getTagMetadata, getVertices, getVoxel, getWires, guidedSweep, heal, healFace, healSolid, healWire, helix, hull, importDXF, importGLB, importIGES, importOBJ, importSTEP, importSTL, importSVG, importSVGPathD, importThreeMF, init, initFromManifold, initFromOC, initVoxel, innerWires, interpolateCurve, intersect, intersect2D, intersectBlueprints, intersectWithEvolution, invalidateShapeCache, ioNs_exports as io, ioError, is2D, is3D, isChamferRadius, isClosedWire, isCompSolid, isCompound, isDisposeRequest, isEdge, isEmpty, isEqualShape, isErr, isErrorResponse, isFace, isFilletRadius, isInitRequest, isInside2D, isLive, isManifoldShell, isNumber, isOk, isOperationRequest, isOrientedFace, isPlanarFace, isPlanarWire, isProjectionPlane, isEmpty$1 as isQueueEmpty, isSameShape, isShape1D, isShape3D, isShell, isSolid, isSuccessResponse, isValid, isValidSolid, isVertex, isWire, iterCompSolids, iterEdges, iterFaces, iterShells, iterSolids, iterTopo, iterVertices, iterWires, kernelCall, kernelCallRaw, kernelCallScoped, kernelError, latticeInfill, latticeInfillShape, line, linearPattern, loadFont, loft, loftAll, makeBaseBox, makeExternalGear, makeInternalGear, makePlane, makePlanetaryGear, makeProjectedEdges, manifoldShell, map, mapBoth, mapErr, match, measureArea, measureCurvatureAt, measureCurvatureAtMid, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps, measurement_exports as measurement, mesh, meshEdges, meshMultiLOD, minkowski, mirror, mirror2D, mirrorDrawing, mirrorJoin, modifiers_exports as modifiers, modifyStep, moduleInitError, multiSectionSweep, normalAt, offset, offsetFace, offsetMesh, offsetShape, offsetWire2D, ok, or, orElse, organiseBlueprints, orientedFace, outerWire, patterns_exports as patterns, pendingCount, pipeline, pivotPlane, planarFace, planarWire, planetPlacements, pocket, pointOnSurface, pointsInside, polygon, polyhedron, polysideInnerRadius, polysidesBlueprint, positionOnCurve, prewarm, primitives_exports as primitives, projectEdges, projectPointOnFace, query_exports as query, queryError, rectangularPattern, registerHandler, registerKernel, registerKernelTier, registerOperation, registerShape, registerVoxel, rejectAll, removeChild, removeHolesFromFace, repairMesh, replayFrom, replayHistory, resetDisposalStats, resetPerformanceStats, resize, resolve, resolve3D, resolveDirection, resolvePlane, resolveRef, reverseCurve, revolve, roof, rotate, rotate2D, rotateDrawing, roundedRectangleBlueprint, scale, scale2D, scaleDrawing, box$1 as sdfBox, capsule as sdfCapsule, cone$1 as sdfCone, cylinder$1 as sdfCylinder, fieldAxialRamp as sdfFieldAxialRamp, fieldClamp as sdfFieldClamp, fieldConst as sdfFieldConst, fieldFromSdf as sdfFieldFromSdf, fieldRadialRamp as sdfFieldRadialRamp, lattice as sdfLattice, plane as sdfPlane, roundedBox as sdfRoundedBox, sphere as sdfSphere, strutLattice as sdfStrutLattice, sweep as sdfSweep, torus as sdfTorus, section, sectionToFace, serializeHistory, setShapeOrigin, setTagMetadata, sewShells, shape, shapeToMeshInput, shapeType, sharedEdges, shell, shellMesh, shellShape, shellWithEvolution, simplify, sketchCircle, sketchEllipse, sketchExtrude, sketchFace, sketchFaceOffset, sketchHelix, sketchLoft, sketchOnFace2D, sketchOnPlane2D, sketchParametricFunction, sketchPolysides, sketchRectangle, sketchRevolve, sketchRoundedRectangle, sketchSweep, sketchText, sketchWires, sketcherStateError, slice, solid, solidFromShell, solveAssembly, sphere$1 as sphere, split, stepCount, stepsFrom, stretch2D, subFace, supportExtrude, supportsConstraintSketch, supportsProjection, surfaceFromGrid, surfaceFromImage, sweep$1 as sweep, tagFaces, tangentArc, tap, tapErr, textBlueprints, textMetrics, thicken, threePointArc, toBREP, toBufferGeometryData, toGroupedBufferGeometryData, toKernelVec, toLODGeometryData, toLineGeometryData, toSVGPathD, toVec2, toVec3, torus$1 as torus, tpmsLattice, transformCopy, transforms_exports as transforms, translate, translate2D, translateDrawing, translatePlane, tryCatch, tryCatchAsync, twistExtrude, typeCastError, undoLast, unsupportedError, unwrap, unwrapErr, unwrapOr, unwrapOrElse, updateNode, updateRoles, uvBounds, uvCoordinates, validSolid, validatePlanetary, validationError, variableFillet, vecAdd, vecAngle, vecCross, vecDistance, vecDot, vecEquals, vecIsZero, vecLength, vecLengthSq, vecNegate, vecNormalize, vecProjectToPlane, vecRepr, vecRotate, vecScale, vecSub, vertex, vertexFinder, vertexPosition, verticesOfEdge, voxelBoolean, voxelBooleanField, voxelBooleanFieldShapes, voxelBooleanShapes, voxelField, voxelFieldFromShape, walkAssembly, windingNumbers, wire, wireFinder, wireLoop, wiresOfFace, withKernel, withKernelDir, withKernelPnt, withKernelVec, withQuality, withScope, withScopeResult, withScopeResultAsync, withTier, zip as zipResults };
|
|
6481
|
+
export { BaseSketcher2d, BlueprintSketcher, BrepBugError, BrepErrorCode, BrepWrapperError, BrepkitAdapter, CompoundSketch, DEFAULT_CAPABILITIES, DEG2RAD, DisposalScope, EXACT_BREP_CAPABILITIES, FaceSketcher, HASH_CODE_MAX, OK, OcctWasmAdapter, RAD2DEG, Sketch, Sketcher, Sketches, addChild, addHoles, addJoint, addMate, addStep, adjacentFaces, all, andThen, applyGlue, applyMatrix, approximateCurve, as2D, as3D, asTopo, assignRoles, autoHeal, bezier, blueprintToDXF, booleanPipeline, booleans_exports as booleans, boss, box, bsplineApprox, bug, cameraFromPlane, cameraLookAt, captureHint, cast, castShape, castShape3D, chamfer, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkAllInterferences, checkBoolean, checkInterference, circle, circularPattern, classifyPointOnFace, clearMeshCache, clone, closedWire, collect, collectShapes, colorFaces, colorShape, complexExtrude, composeTransforms, compound, compoundSketchExtrude, compoundSketchFace, compoundSketchLoft, compoundSketchRevolve, computationError, computeStraightSkeleton, cone, construction_exports as construction, convexHull, cornerFinder, countNodes, createAssembly, createAssemblyNode, createBlueprint, createCamera, createCompound, createCompoundBlueprint, createDistanceQuery, createEdge, createFace, createHandle, createHistory, createKernelHandle, createMeshCache, createNamedPlane, createOperationRegistry, createPlane, createRef, createRegistry, createShell, createSolid, createTaskQueue, createVertex, createWire, createWorkerClient, createWorkerHandler, csg_exports as csg, currentQuality, curve2dBoundingBox, curve2dDistanceFrom, curve2dFirstPoint, curve2dIsOnCurve, curve2dLastPoint, curve2dParameter, curve2dSplitAt, curve2dTangentAt, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cut, cut2D, cutAll, cutAllBisect, cutBlueprints, cutWithEvolution, cylinder, defaultScorer, dequeueTask, describe, deserializeDrawing, deserializeHistory, fromBREP as deserializeShape, downcast, draft, draw, drawCircle, drawEllipse, drawFaceOutline, drawParametricFunction, drawPointsInterpolation, drawPolysides, drawProjection, drawRectangle, drawRoundedRectangle, drawSingleCircle, drawSingleEllipse, drawText, drawingChamfer, drawingCut, drawingFillet, drawingFuse, drawingIntersect, drawingToSketchOnPlane, drill, edgeFinder, edgesOfFace, ellipse, ellipseArc, ellipsoid, enqueueTask, err, exportAssemblySTEP, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, extrude, extrudeAll, face, faceAxis, faceCenter, faceFinder, faceGeomType, faceOrientation, facesOfEdge, fieldBoolean, fieldContour, fieldOffset, fieldReinit, fieldShell, fill, filledFace, fillet, filletWithEvolution, findFacesByTag, findNode, findStep, fixSelfIntersection, fixShape, flatMap, flatten, flipFaceOrientation, flipOrientation, fontMetrics, fromBREP$1 as fromBREP, fromKernelDir, fromKernelPnt, fromKernelVec, fromNullable, fuse, fuse2D, fuseAll, fuseAllBisect, fuseBlueprints, fuseWithEvolution, gearGeometry, getActiveVoxelId, getBounds, getBounds2D, getCompSolids, getCurveType, getDisposalStats, getEdges, getFaceColor, getFaceOrigins, getFaceTags, getFaces, getFont, getHashCode, getShape as getHistoryShape, getKernel, getKernelCapabilities, getKernelTier, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getOrientation2D, getPerformanceStats, getShapeColor, getShapeKind, getShells, getSingleFace, getSolids, getSurfaceType, getTagMetadata, getVertices, getVoxel, getWires, guidedSweep, heal, healFace, healSolid, healWire, helix, hull, importDXF, importGLB, importIGES, importOBJ, importSTEP, importSTL, importSVG, importSVGPathD, importThreeMF, init, initFromManifold, initFromOC, initVoxel, innerWires, interpolateCurve, intersect, intersect2D, intersectBlueprints, intersectWithEvolution, invalidateShapeCache, ioNs_exports as io, ioError, is2D, is3D, isChamferRadius, isClosedWire, isCompSolid, isCompound, isDisposeRequest, isEdge, isEmpty, isEqualShape, isErr, isErrorResponse, isFace, isFilletRadius, isInitRequest, isInside2D, isLive, isManifoldShell, isNumber, isOk, isOperationRequest, isOrientedFace, isPlanarFace, isPlanarWire, isProjectionPlane, isEmpty$1 as isQueueEmpty, isSameShape, isShape1D, isShape3D, isShell, isSolid, isSuccessResponse, isValid, isValidSolid, isVertex, isWire, iterCompSolids, iterEdges, iterFaces, iterShells, iterSolids, iterTopo, iterVertices, iterWires, jointTransform, kernelCall, kernelCallRaw, kernelCallScoped, kernelError, latticeInfill, latticeInfillShape, line, linearPattern, loadFont, loft, loftAll, makeBaseBox, makeExternalGear, makeInternalGear, makePlane, makePlanetaryGear, makeProjectedEdges, manifoldShell, map, mapBoth, mapErr, match, measureArea, measureCurvatureAt, measureCurvatureAtMid, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps, measurement_exports as measurement, mesh, meshEdges, meshMultiLOD, minkowski, mirror, mirror2D, mirrorDrawing, mirrorJoin, modifiers_exports as modifiers, modifyStep, moduleInitError, multiSectionSweep, normalAt, offset, offsetFace, offsetMesh, offsetShape, offsetWire2D, ok, or, orElse, organiseBlueprints, orientedFace, outerWire, patterns_exports as patterns, pendingCount, pipeline, pivotPlane, planarFace, planarWire, planetPlacements, pocket, pointOnSurface, pointsInside, polygon, polyhedron, polysideInnerRadius, polysidesBlueprint, positionOnCurve, prewarm, primitives_exports as primitives, prismaticJoint, projectEdges, projectPointOnFace, query_exports as query, queryError, rectangularPattern, registerHandler, registerKernel, registerKernelTier, registerOperation, registerShape, registerVoxel, rejectAll, removeChild, removeHolesFromFace, repairMesh, replayFrom, replayHistory, resetDisposalStats, resetPerformanceStats, resize, resolve, resolve3D, resolveDirection, resolvePlane, resolveRef, reverseCurve, revoluteJoint, revolve, roof, rotate, rotate2D, rotateDrawing, roundedRectangleBlueprint, scale, scale2D, scaleDrawing, box$1 as sdfBox, capsule as sdfCapsule, cone$1 as sdfCone, cylinder$1 as sdfCylinder, fieldAxialRamp as sdfFieldAxialRamp, fieldClamp as sdfFieldClamp, fieldConst as sdfFieldConst, fieldFromSdf as sdfFieldFromSdf, fieldRadialRamp as sdfFieldRadialRamp, lattice as sdfLattice, plane as sdfPlane, roundedBox as sdfRoundedBox, sphere as sdfSphere, strutLattice as sdfStrutLattice, sweep as sdfSweep, torus as sdfTorus, section, sectionToFace, serializeHistory, setJointValue, setShapeOrigin, setTagMetadata, sewShells, shape, shapeToMeshInput, shapeType, sharedEdges, shell, shellMesh, shellShape, shellWithEvolution, simplify, sketchCircle, sketchEllipse, sketchExtrude, sketchFace, sketchFaceOffset, sketchHelix, sketchLoft, sketchOnFace2D, sketchOnPlane2D, sketchParametricFunction, sketchPolysides, sketchRectangle, sketchRevolve, sketchRoundedRectangle, sketchSweep, sketchText, sketchWires, sketcherStateError, slice, solid, solidFromShell, solveAssembly, sphere$1 as sphere, split, stepCount, stepsFrom, stretch2D, subFace, supportExtrude, supportsConstraintSketch, supportsProjection, surfaceFromGrid, surfaceFromImage, sweep$1 as sweep, tagFaces, tangentArc, tap, tapErr, textBlueprints, textMetrics, thicken, threePointArc, toBREP, toBufferGeometryData, toGroupedBufferGeometryData, toKernelVec, toLODGeometryData, toLineGeometryData, toSVGPathD, toVec2, toVec3, torus$1 as torus, tpmsLattice, transformCopy, transforms_exports as transforms, translate, translate2D, translateDrawing, translatePlane, tryCatch, tryCatchAsync, twistExtrude, typeCastError, undoLast, unsupportedError, unwrap, unwrapErr, unwrapOr, unwrapOrElse, updateNode, updateRoles, uvBounds, uvCoordinates, validSolid, validatePlanetary, validationError, variableFillet, vecAdd, vecAngle, vecCross, vecDistance, vecDot, vecEquals, vecIsZero, vecLength, vecLengthSq, vecNegate, vecNormalize, vecProjectToPlane, vecRepr, vecRotate, vecScale, vecSub, vertex, vertexFinder, vertexPosition, verticesOfEdge, voxelBoolean, voxelBooleanField, voxelBooleanFieldShapes, voxelBooleanShapes, voxelField, voxelFieldFromShape, walkAssembly, windingNumbers, wire, wireFinder, wireLoop, wiresOfFace, withKernel, withKernelDir, withKernelPnt, withKernelVec, withQuality, withScope, withScopeResult, withScopeResultAsync, withTier, zip as zipResults };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Z as getKernel, t as castShape } from "./shapeTypes-
|
|
1
|
+
import { Z as getKernel, t as castShape } from "./shapeTypes-2cKwu2z4.js";
|
|
2
2
|
import { A as ok, b as err, d as validationError } from "./errors-DNWJsfVU.js";
|
|
3
|
-
import { s as getEdges } from "./topologyQueryFns-
|
|
3
|
+
import { s as getEdges } from "./topologyQueryFns-c2RQIcfW.js";
|
|
4
4
|
import { c as vecLength, d as vecNormalize, g as vecSub, r as vecCross } from "./vecOps-SKPRvPH-.js";
|
|
5
5
|
//#region src/projection/projectionPlanes.ts
|
|
6
6
|
/** Lookup table mapping each {@link ProjectionPlane} to its camera configuration. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-DRxArFIc.cjs");
|
|
2
2
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
3
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
3
|
+
const require_topologyQueryFns = require("./topologyQueryFns-024l64sD.cjs");
|
|
4
4
|
const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
|
|
5
5
|
//#region src/projection/projectionPlanes.ts
|
|
6
6
|
/** Lookup table mapping each {@link ProjectionPlane} to its camera configuration. */
|
package/dist/core.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
2
|
+
const require_shapeTypes = require("./shapeTypes-DRxArFIc.cjs");
|
|
3
3
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
4
4
|
const require_constants = require("./constants-BOVyEYGH.cjs");
|
|
5
5
|
const require_types = require("./types-KjA8tY4Y.cjs");
|
package/dist/core.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as createKernelHandle, C as isOrientedFace, D as manifoldShell, E as isValidSolid, H as isLive, I as is2D, J as withScopeResultAsync, K as withScope, L as is3D, M as getShapeKind, O as orientedFace, R as DisposalScope, S as isManifoldShell, _ as isSolid, b as closedWire, d as isCompound, f as isEdge, g as isShell, h as isShape3D, j as validSolid, m as isShape1D, p as isFace, q as withScopeResult, t as castShape, v as isVertex, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-
|
|
1
|
+
import { B as createKernelHandle, C as isOrientedFace, D as manifoldShell, E as isValidSolid, H as isLive, I as is2D, J as withScopeResultAsync, K as withScope, L as is3D, M as getShapeKind, O as orientedFace, R as DisposalScope, S as isManifoldShell, _ as isSolid, b as closedWire, d as isCompound, f as isEdge, g as isShell, h as isShape3D, j as validSolid, m as isShape1D, p as isFace, q as withScopeResult, t as castShape, v as isVertex, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-2cKwu2z4.js";
|
|
2
2
|
import { A as ok, B as unwrapOr, E as map, I as tryCatch, L as tryCatchAsync, O as mapErr, R as unwrap, T as isOk, V as unwrapOrElse, a as moduleInitError, b as err, c as sketcherStateError, d as validationError, g as OK, h as bug, i as kernelError, k as match, l as typeCastError, m as BrepBugError, n as computationError, o as queryError, r as ioError, u as unsupportedError, v as andThen, w as isErr, x as flatMap, y as collect, z as unwrapErr } from "./errors-DNWJsfVU.js";
|
|
3
3
|
import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
|
|
4
4
|
import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-D24Y27N0.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_constants = require("./constants-BOVyEYGH.cjs");
|
|
2
2
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
3
|
-
const require_helpers = require("./helpers-
|
|
3
|
+
const require_helpers = require("./helpers-BmY5kO0w.cjs");
|
|
4
4
|
//#region src/query/cornerFinder.ts
|
|
5
5
|
var PI_2 = 2 * Math.PI;
|
|
6
6
|
function positiveHalfAngle(angle) {
|