brepjs 15.2.9 → 15.2.10
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 +5 -5
- package/dist/2d.js +5 -5
- package/dist/{blueprint-CbD0PYLr.cjs → blueprint-BkKnM_9w.cjs} +5 -5
- package/dist/{blueprint-CM1OOluq.js → blueprint-BqdFeOSN.js} +5 -5
- package/dist/{blueprintFns-BngkSCmA.js → blueprintFns-BRQael6Q.js} +2 -2
- package/dist/{blueprintFns-_JcjAvPP.cjs → blueprintFns-CH4QAYB4.cjs} +2 -2
- package/dist/{boolean2D-B-l_kvhp.js → boolean2D-B__OaRTl.js} +14 -8
- package/dist/{boolean2D-THA5506z.cjs → boolean2D-CwaWKfZD.cjs} +14 -8
- package/dist/{booleanFns-D_DVbfzR.js → booleanFns-Cstp5Ep1.js} +4 -4
- package/dist/{booleanFns-CQNV8MMq.cjs → booleanFns-CwHfuxWc.cjs} +4 -4
- package/dist/brepjs.cjs +19 -19
- package/dist/brepjs.js +19 -19
- package/dist/core.cjs +1 -1
- package/dist/core.js +1 -1
- package/dist/{cornerFinder-4PxIzwrl.cjs → cornerFinder-DLxiZcyg.cjs} +1 -1
- package/dist/{cornerFinder-Ty3F7kPm.js → cornerFinder-K7cjTnkP.js} +1 -1
- package/dist/{curveFns-Bukd9jhv.cjs → curveFns-CQIv_biC.cjs} +1 -1
- package/dist/{curveFns-Dn4gbNzG.js → curveFns-D-0yqVb9.js} +1 -1
- package/dist/{drawFns-TaKrwQ13.js → drawFns-CMemZ1i4.js} +10 -10
- package/dist/{drawFns-C1XeyF0v.cjs → drawFns-CgBKN8VG.cjs} +10 -10
- package/dist/{extrudeFns-BjfEBgIw.cjs → extrudeFns-BofhQx0R.cjs} +29 -9
- package/dist/{extrudeFns-ClsoGp5V.js → extrudeFns-CcYOPTFR.js} +29 -9
- package/dist/{faceFns-DMFG-piP.js → faceFns-BQ7czFFV.js} +1 -1
- package/dist/{faceFns-CKL9Us23.cjs → faceFns-uX_AVFqu.cjs} +1 -1
- package/dist/{helpers-XTeLX4mm.js → helpers-C4r8ovx9.js} +5 -5
- package/dist/{helpers-BFyEt7Fv.cjs → helpers-CM63Nn7A.cjs} +5 -5
- package/dist/{historyFns-DltXL-vp.js → historyFns-BFuHqN_0.js} +4 -4
- package/dist/{historyFns-DBSgZGtF.cjs → historyFns-DkDJpwef.cjs} +4 -4
- package/dist/{importFns-C_PgMCn_.js → importFns--VkKJoDs.js} +2 -2
- package/dist/{importFns-DRNXwoUG.cjs → importFns--rg42dnv.cjs} +2 -2
- package/dist/io.cjs +2 -2
- package/dist/io.js +2 -2
- package/dist/kernel/occt/advancedOps.d.ts +6 -0
- package/dist/kernel/occt/advancedOps.d.ts.map +1 -1
- package/dist/kernel/occt/sweepOps.d.ts.map +1 -1
- package/dist/{measureFns-C2SnZLhD.cjs → measureFns-BxAZf4Mf.cjs} +2 -2
- package/dist/{measureFns-Zc5RWsI4.js → measureFns-D5DbMnQY.js} +2 -2
- package/dist/measurement.cjs +1 -1
- package/dist/measurement.js +1 -1
- package/dist/{meshFns-CO9qVJ24.cjs → meshFns-BdEOTCwK.cjs} +2 -2
- package/dist/{meshFns-gTPomZkK.js → meshFns-C9DtKU7q.js} +2 -2
- package/dist/operations/loftFns.d.ts.map +1 -1
- package/dist/operations/sweepFns.d.ts.map +1 -1
- package/dist/operations.cjs +2 -2
- package/dist/operations.js +2 -2
- package/dist/{primitiveFns-BAifgHMW.js → primitiveFns-Bpq2yFqw.js} +5 -5
- package/dist/{primitiveFns-CL6lNda-.cjs → primitiveFns-D3FvKWK-.cjs} +5 -5
- package/dist/query.cjs +2 -2
- package/dist/query.js +2 -2
- package/dist/{shapeFns-DkFzoJav.cjs → shapeFns-Dz2GNg2y.cjs} +2 -2
- package/dist/{shapeFns-QGgHStIU.js → shapeFns-LgyEtLGl.js} +2 -2
- package/dist/shapeRef.cjs +1 -1
- package/dist/shapeRef.js +1 -1
- package/dist/{shapeRefFns-Gv4-NGJD.js → shapeRefFns-CgnpumqW.js} +3 -3
- package/dist/{shapeRefFns-t-5-Aqku.cjs → shapeRefFns-N0wl6XSn.cjs} +3 -3
- package/dist/{shapeTypes-Ct7W6h2X.js → shapeTypes-B9a2ed1X.js} +48 -27
- package/dist/{shapeTypes-Bfw136X-.cjs → shapeTypes-hQK4eaEw.cjs} +48 -27
- package/dist/sketching.cjs +2 -2
- package/dist/sketching.js +2 -2
- package/dist/{solidBuilders-CQipZFOw.js → solidBuilders-C_-imolZ.js} +2 -2
- package/dist/{solidBuilders-DI9d6ZIx.cjs → solidBuilders-DUl2f7gY.cjs} +2 -2
- package/dist/{surfaceBuilders-Im6Xef27.js → surfaceBuilders-BY117AaY.js} +2 -2
- package/dist/{surfaceBuilders-DzTJA3fK.cjs → surfaceBuilders-D_w11wLr.cjs} +2 -2
- package/dist/topology.cjs +6 -6
- package/dist/topology.js +6 -6
- package/package.json +1 -1
package/dist/2d.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
2
|
+
const require_shapeTypes = require("./shapeTypes-hQK4eaEw.cjs");
|
|
3
3
|
const require_errors = require("./errors-CXRNVCec.cjs");
|
|
4
|
-
const require_faceFns = require("./faceFns-
|
|
5
|
-
const require_boolean2D = require("./boolean2D-
|
|
6
|
-
const require_blueprint = require("./blueprint-
|
|
7
|
-
const require_blueprintFns = require("./blueprintFns-
|
|
4
|
+
const require_faceFns = require("./faceFns-uX_AVFqu.cjs");
|
|
5
|
+
const require_boolean2D = require("./boolean2D-CwaWKfZD.cjs");
|
|
6
|
+
const require_blueprint = require("./blueprint-BkKnM_9w.cjs");
|
|
7
|
+
const require_blueprintFns = require("./blueprintFns-CH4QAYB4.cjs");
|
|
8
8
|
//#region src/core/curve2dHandle.ts
|
|
9
9
|
/**
|
|
10
10
|
* Wrap a raw kernel 2D curve handle with brand + disposal tracking.
|
package/dist/2d.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { B as createKernelHandle, Z as getKernel2D, a as createEdge } from "./shapeTypes-
|
|
1
|
+
import { B as createKernelHandle, Z as getKernel2D, a as createEdge } from "./shapeTypes-B9a2ed1X.js";
|
|
2
2
|
import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DboJwVCf.js";
|
|
3
|
-
import { z as kernelCallRaw } from "./faceFns-
|
|
4
|
-
import { _ as Blueprints, a as fuseBlueprints, c as roundedRectangleBlueprint, g as CompoundBlueprint, h as organiseBlueprints, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-
|
|
5
|
-
import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-
|
|
6
|
-
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, 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-
|
|
3
|
+
import { z as kernelCallRaw } from "./faceFns-BQ7czFFV.js";
|
|
4
|
+
import { _ as Blueprints, a as fuseBlueprints, c as roundedRectangleBlueprint, g as CompoundBlueprint, h as organiseBlueprints, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-B__OaRTl.js";
|
|
5
|
+
import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-BqdFeOSN.js";
|
|
6
|
+
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, 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-BRQael6Q.js";
|
|
7
7
|
//#region src/core/curve2dHandle.ts
|
|
8
8
|
/**
|
|
9
9
|
* Wrap a raw kernel 2D curve handle with brand + disposal tracking.
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-hQK4eaEw.cjs");
|
|
2
2
|
const require_errors = require("./errors-CXRNVCec.cjs");
|
|
3
|
-
const require_faceFns = require("./faceFns-
|
|
3
|
+
const require_faceFns = require("./faceFns-uX_AVFqu.cjs");
|
|
4
4
|
const require_constants = require("./constants-BNP_xnBN.cjs");
|
|
5
5
|
const require_types = require("./types-gLi9wL0N.cjs");
|
|
6
6
|
const require_planeOps = require("./planeOps-BJOIbn4K.cjs");
|
|
7
|
-
const require_curveFns = require("./curveFns-
|
|
7
|
+
const require_curveFns = require("./curveFns-CQIv_biC.cjs");
|
|
8
8
|
const require_arrayAccess = require("./arrayAccess-DsnQpdSD.cjs");
|
|
9
|
-
const require_surfaceBuilders = require("./surfaceBuilders-
|
|
10
|
-
const require_helpers = require("./helpers-
|
|
9
|
+
const require_surfaceBuilders = require("./surfaceBuilders-D_w11wLr.cjs");
|
|
10
|
+
const require_helpers = require("./helpers-CM63Nn7A.cjs");
|
|
11
11
|
//#region src/2d/lib/definitions.ts
|
|
12
12
|
/** Type guard that checks whether a value is a `Point2D`. */
|
|
13
13
|
function isPoint2D(point) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { G as unregisterFromCleanup, U as registerForCleanup, X as getKernel, Z as getKernel2D, a as createEdge, u as createWire } from "./shapeTypes-
|
|
1
|
+
import { G as unregisterFromCleanup, U as registerForCleanup, X as getKernel, Z as getKernel2D, a as createEdge, u as createWire } from "./shapeTypes-B9a2ed1X.js";
|
|
2
2
|
import { A as ok, R as unwrap, b as err, d as validationError, h as bug, n as computationError } from "./errors-DboJwVCf.js";
|
|
3
|
-
import { M as cast, m as uvCoordinates, n as faceCenter, p as uvBounds, r as faceGeomType } from "./faceFns-
|
|
3
|
+
import { M as cast, m as uvCoordinates, n as faceCenter, p as uvBounds, r as faceGeomType } from "./faceFns-BQ7czFFV.js";
|
|
4
4
|
import { r as RAD2DEG, t as DEG2RAD } from "./constants-csSEYddm.js";
|
|
5
5
|
import { r as toVec3 } from "./types--GD-LVc6.js";
|
|
6
6
|
import { r as makePlane } from "./planeOps-sTrM3dcQ.js";
|
|
7
|
-
import { f as getOrientation } from "./curveFns-
|
|
7
|
+
import { f as getOrientation } from "./curveFns-D-0yqVb9.js";
|
|
8
8
|
import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-tCIbjLs5.js";
|
|
9
|
-
import { r as makeFace } from "./surfaceBuilders-
|
|
10
|
-
import { _ as samePoint, b as subtract2d, l as add2d, o as normalize2d, p as distance2d, t as getSingleFace, v as scalarMultiply2d } from "./helpers-
|
|
9
|
+
import { r as makeFace } from "./surfaceBuilders-BY117AaY.js";
|
|
10
|
+
import { _ as samePoint, b as subtract2d, l as add2d, o as normalize2d, p as distance2d, t as getSingleFace, v as scalarMultiply2d } from "./helpers-C4r8ovx9.js";
|
|
11
11
|
//#region src/2d/lib/definitions.ts
|
|
12
12
|
/** Type guard that checks whether a value is a `Point2D`. */
|
|
13
13
|
function isPoint2D(point) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DboJwVCf.js";
|
|
2
|
-
import { g as CompoundBlueprint } from "./boolean2D-
|
|
3
|
-
import { t as Blueprint } from "./blueprint-
|
|
2
|
+
import { g as CompoundBlueprint } from "./boolean2D-B__OaRTl.js";
|
|
3
|
+
import { t as Blueprint } from "./blueprint-BqdFeOSN.js";
|
|
4
4
|
//#region src/2d/lib/curve2dFns.ts
|
|
5
5
|
/**
|
|
6
6
|
* Return a reversed copy of the curve (non-mutating).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_errors = require("./errors-CXRNVCec.cjs");
|
|
2
|
-
const require_boolean2D = require("./boolean2D-
|
|
3
|
-
const require_blueprint = require("./blueprint-
|
|
2
|
+
const require_boolean2D = require("./boolean2D-CwaWKfZD.cjs");
|
|
3
|
+
const require_blueprint = require("./blueprint-BkKnM_9w.cjs");
|
|
4
4
|
//#region src/2d/lib/curve2dFns.ts
|
|
5
5
|
/**
|
|
6
6
|
* Return a reversed copy of the curve (non-mutating).
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { R as DisposalScope, X as getKernel, Y as _usingCtx, Z as getKernel2D, a as createEdge, h as isShape3D, o as createFace, t as castShape, u as createWire } from "./shapeTypes-
|
|
1
|
+
import { R as DisposalScope, X as getKernel, Y as _usingCtx, Z as getKernel2D, a as createEdge, h as isShape3D, o as createFace, t as castShape, u as createWire } from "./shapeTypes-B9a2ed1X.js";
|
|
2
2
|
import { A as ok, R as unwrap, T as isOk, b as err, d as validationError, h as bug, i as kernelError, l as typeCastError, n as computationError, s as safeIndex } from "./errors-DboJwVCf.js";
|
|
3
|
-
import { N as downcast, c as normalAt, p as uvBounds, u as pointOnSurface } from "./faceFns-
|
|
3
|
+
import { N as downcast, c as normalAt, p as uvBounds, u as pointOnSurface } from "./faceFns-BQ7czFFV.js";
|
|
4
4
|
import { r as RAD2DEG, t as DEG2RAD } from "./constants-csSEYddm.js";
|
|
5
5
|
import { r as toVec3 } from "./types--GD-LVc6.js";
|
|
6
6
|
import { d as vecNormalize, h as vecScale, r as vecCross } from "./vecOps-B-PCHgyB.js";
|
|
7
7
|
import { n as createPlane } from "./planeOps-sTrM3dcQ.js";
|
|
8
|
-
import { c as curveStartPoint, l as curveTangentAt, r as curveIsClosed } from "./curveFns-
|
|
8
|
+
import { c as curveStartPoint, l as curveTangentAt, r as curveIsClosed } from "./curveFns-D-0yqVb9.js";
|
|
9
9
|
import { r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-tCIbjLs5.js";
|
|
10
|
-
import { _ as zip, i as makeNewFaceWithinFace, r as makeFace, s as assembleWire } from "./surfaceBuilders-
|
|
11
|
-
import { _ as samePoint$1, b as subtract2d, d as cartesianToPolar, f as crossProduct2d, g as rotate2d, h as polarToCartesian, l as add2d, m as polarAngle2d, o as normalize2d, p as distance2d, s as PRECISION_INTERSECTION, v as scalarMultiply2d } from "./helpers-
|
|
12
|
-
import { _ as Curve2D, b as removeDuplicatePoints, c as make2dCircle, f as make2dSegmentCurve, h as approximateAsBSpline, m as make2dThreePointArc, n as asSVG, o as make2dArcFromCenter, p as make2dTangentArc, r as viewbox, s as make2dBezierCurve, t as Blueprint, u as make2dEllipseArc, x as isPoint2D, y as BoundingBox2d } from "./blueprint-
|
|
13
|
-
import { c as sweep, i as complexExtrude, l as twistExtrude, r as revolve, t as extrude } from "./extrudeFns-
|
|
10
|
+
import { _ as zip, i as makeNewFaceWithinFace, r as makeFace, s as assembleWire } from "./surfaceBuilders-BY117AaY.js";
|
|
11
|
+
import { _ as samePoint$1, b as subtract2d, d as cartesianToPolar, f as crossProduct2d, g as rotate2d, h as polarToCartesian, l as add2d, m as polarAngle2d, o as normalize2d, p as distance2d, s as PRECISION_INTERSECTION, v as scalarMultiply2d } from "./helpers-C4r8ovx9.js";
|
|
12
|
+
import { _ as Curve2D, b as removeDuplicatePoints, c as make2dCircle, f as make2dSegmentCurve, h as approximateAsBSpline, m as make2dThreePointArc, n as asSVG, o as make2dArcFromCenter, p as make2dTangentArc, r as viewbox, s as make2dBezierCurve, t as Blueprint, u as make2dEllipseArc, x as isPoint2D, y as BoundingBox2d } from "./blueprint-BqdFeOSN.js";
|
|
13
|
+
import { c as sweep, i as complexExtrude, l as twistExtrude, r as revolve, t as extrude } from "./extrudeFns-CcYOPTFR.js";
|
|
14
14
|
//#region node_modules/flatqueue/index.js
|
|
15
15
|
/** @template T */
|
|
16
16
|
var FlatQueue = class {
|
|
@@ -1063,7 +1063,13 @@ function loftAll(entries) {
|
|
|
1063
1063
|
};
|
|
1064
1064
|
});
|
|
1065
1065
|
try {
|
|
1066
|
-
const shapes = kernel.loftBatch?.(kernelEntries) ?? kernelEntries.map((e) => kernel.
|
|
1066
|
+
const shapes = kernel.loftBatch?.(kernelEntries) ?? kernelEntries.map((e) => kernel.loftAdvanced(e.wires, {
|
|
1067
|
+
solid: e.solid,
|
|
1068
|
+
ruled: e.ruled,
|
|
1069
|
+
tolerance: e.tolerance,
|
|
1070
|
+
startVertex: e.startVertex,
|
|
1071
|
+
endVertex: e.endVertex
|
|
1072
|
+
}));
|
|
1067
1073
|
const results = [];
|
|
1068
1074
|
for (const shape of shapes) {
|
|
1069
1075
|
const cast = castShape(shape);
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-hQK4eaEw.cjs");
|
|
2
2
|
const require_errors = require("./errors-CXRNVCec.cjs");
|
|
3
|
-
const require_faceFns = require("./faceFns-
|
|
3
|
+
const require_faceFns = require("./faceFns-uX_AVFqu.cjs");
|
|
4
4
|
const require_constants = require("./constants-BNP_xnBN.cjs");
|
|
5
5
|
const require_types = require("./types-gLi9wL0N.cjs");
|
|
6
6
|
const require_vecOps = require("./vecOps-CODplJp3.cjs");
|
|
7
7
|
const require_planeOps = require("./planeOps-BJOIbn4K.cjs");
|
|
8
|
-
const require_curveFns = require("./curveFns-
|
|
8
|
+
const require_curveFns = require("./curveFns-CQIv_biC.cjs");
|
|
9
9
|
const require_arrayAccess = require("./arrayAccess-DsnQpdSD.cjs");
|
|
10
|
-
const require_surfaceBuilders = require("./surfaceBuilders-
|
|
11
|
-
const require_helpers = require("./helpers-
|
|
12
|
-
const require_blueprint = require("./blueprint-
|
|
13
|
-
const require_extrudeFns = require("./extrudeFns-
|
|
10
|
+
const require_surfaceBuilders = require("./surfaceBuilders-D_w11wLr.cjs");
|
|
11
|
+
const require_helpers = require("./helpers-CM63Nn7A.cjs");
|
|
12
|
+
const require_blueprint = require("./blueprint-BkKnM_9w.cjs");
|
|
13
|
+
const require_extrudeFns = require("./extrudeFns-BofhQx0R.cjs");
|
|
14
14
|
//#region node_modules/flatqueue/index.js
|
|
15
15
|
/** @template T */
|
|
16
16
|
var FlatQueue = class {
|
|
@@ -1063,7 +1063,13 @@ function loftAll(entries) {
|
|
|
1063
1063
|
};
|
|
1064
1064
|
});
|
|
1065
1065
|
try {
|
|
1066
|
-
const shapes = kernel.loftBatch?.(kernelEntries) ?? kernelEntries.map((e) => kernel.
|
|
1066
|
+
const shapes = kernel.loftBatch?.(kernelEntries) ?? kernelEntries.map((e) => kernel.loftAdvanced(e.wires, {
|
|
1067
|
+
solid: e.solid,
|
|
1068
|
+
ruled: e.ruled,
|
|
1069
|
+
tolerance: e.tolerance,
|
|
1070
|
+
startVertex: e.startVertex,
|
|
1071
|
+
endVertex: e.endVertex
|
|
1072
|
+
}));
|
|
1067
1073
|
const results = [];
|
|
1068
1074
|
for (const shape of shapes) {
|
|
1069
1075
|
const cast = require_shapeTypes.castShape(shape);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { X as getKernel, h as isShape3D, t as castShape } from "./shapeTypes-
|
|
1
|
+
import { X as getKernel, h as isShape3D, t as castShape } from "./shapeTypes-B9a2ed1X.js";
|
|
2
2
|
import { A as ok, R as unwrap, b as err, d as validationError, i as kernelError, l as typeCastError, t as BrepErrorCode, w as isErr } from "./errors-DboJwVCf.js";
|
|
3
|
-
import { C as getVertices, b as getEdges, w as getWires } from "./faceFns-
|
|
3
|
+
import { C as getVertices, b as getEdges, w as getWires } from "./faceFns-BQ7czFFV.js";
|
|
4
4
|
import { n as HASH_CODE_MAX } from "./constants-csSEYddm.js";
|
|
5
5
|
import { h as vecScale, t as vecAdd } from "./vecOps-B-PCHgyB.js";
|
|
6
6
|
import { o as resolvePlane } from "./planeOps-sTrM3dcQ.js";
|
|
7
|
-
import { _ as propagateAllMetadata, g as collectInputFaceHashes, v as propagateMetadataByHash } from "./shapeFns-
|
|
7
|
+
import { _ as propagateAllMetadata, g as collectInputFaceHashes, v as propagateMetadataByHash } from "./shapeFns-LgyEtLGl.js";
|
|
8
8
|
import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-tCIbjLs5.js";
|
|
9
|
-
import { r as makeFace } from "./surfaceBuilders-
|
|
9
|
+
import { r as makeFace } from "./surfaceBuilders-BY117AaY.js";
|
|
10
10
|
//#region src/topology/booleanFns.ts
|
|
11
11
|
/**
|
|
12
12
|
* Boolean and compound operations — functional replacements for _3DShape boolean methods.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-hQK4eaEw.cjs");
|
|
2
2
|
const require_errors = require("./errors-CXRNVCec.cjs");
|
|
3
|
-
const require_faceFns = require("./faceFns-
|
|
3
|
+
const require_faceFns = require("./faceFns-uX_AVFqu.cjs");
|
|
4
4
|
const require_constants = require("./constants-BNP_xnBN.cjs");
|
|
5
5
|
const require_vecOps = require("./vecOps-CODplJp3.cjs");
|
|
6
6
|
const require_planeOps = require("./planeOps-BJOIbn4K.cjs");
|
|
7
|
-
const require_shapeFns = require("./shapeFns-
|
|
7
|
+
const require_shapeFns = require("./shapeFns-Dz2GNg2y.cjs");
|
|
8
8
|
const require_arrayAccess = require("./arrayAccess-DsnQpdSD.cjs");
|
|
9
|
-
const require_surfaceBuilders = require("./surfaceBuilders-
|
|
9
|
+
const require_surfaceBuilders = require("./surfaceBuilders-D_w11wLr.cjs");
|
|
10
10
|
//#region src/topology/booleanFns.ts
|
|
11
11
|
/**
|
|
12
12
|
* Boolean and compound operations — functional replacements for _3DShape boolean methods.
|
package/dist/brepjs.cjs
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_drawFns = require("./drawFns-
|
|
3
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
2
|
+
const require_drawFns = require("./drawFns-CgBKN8VG.cjs");
|
|
3
|
+
const require_shapeTypes = require("./shapeTypes-hQK4eaEw.cjs");
|
|
4
4
|
const require_occtWasmAdapter = require("./occtWasmAdapter-CPINzXxh.cjs");
|
|
5
5
|
const require_errors = require("./errors-CXRNVCec.cjs");
|
|
6
|
-
const require_faceFns = require("./faceFns-
|
|
6
|
+
const require_faceFns = require("./faceFns-uX_AVFqu.cjs");
|
|
7
7
|
const require_constants = require("./constants-BNP_xnBN.cjs");
|
|
8
8
|
const require_types = require("./types-gLi9wL0N.cjs");
|
|
9
9
|
const require_vecOps = require("./vecOps-CODplJp3.cjs");
|
|
10
10
|
const require_planeOps = require("./planeOps-BJOIbn4K.cjs");
|
|
11
|
-
const require_shapeFns = require("./shapeFns-
|
|
12
|
-
const require_curveFns = require("./curveFns-
|
|
13
|
-
const require_meshFns = require("./meshFns-
|
|
11
|
+
const require_shapeFns = require("./shapeFns-Dz2GNg2y.cjs");
|
|
12
|
+
const require_curveFns = require("./curveFns-CQIv_biC.cjs");
|
|
13
|
+
const require_meshFns = require("./meshFns-BdEOTCwK.cjs");
|
|
14
14
|
const require_arrayAccess = require("./arrayAccess-DsnQpdSD.cjs");
|
|
15
|
-
const require_surfaceBuilders = require("./surfaceBuilders-
|
|
16
|
-
const require_booleanFns = require("./booleanFns-
|
|
17
|
-
const require_primitiveFns = require("./primitiveFns-
|
|
18
|
-
const require_historyFns = require("./historyFns-
|
|
19
|
-
const require_boolean2D = require("./boolean2D-
|
|
20
|
-
const require_helpers = require("./helpers-
|
|
21
|
-
const require_solidBuilders = require("./solidBuilders-
|
|
22
|
-
const require_measureFns = require("./measureFns-
|
|
23
|
-
const require_cornerFinder = require("./cornerFinder-
|
|
24
|
-
const require_extrudeFns = require("./extrudeFns-
|
|
25
|
-
const require_blueprintFns = require("./blueprintFns-
|
|
26
|
-
const require_importFns = require("./importFns
|
|
27
|
-
const require_shapeRefFns = require("./shapeRefFns-
|
|
15
|
+
const require_surfaceBuilders = require("./surfaceBuilders-D_w11wLr.cjs");
|
|
16
|
+
const require_booleanFns = require("./booleanFns-CwHfuxWc.cjs");
|
|
17
|
+
const require_primitiveFns = require("./primitiveFns-D3FvKWK-.cjs");
|
|
18
|
+
const require_historyFns = require("./historyFns-DkDJpwef.cjs");
|
|
19
|
+
const require_boolean2D = require("./boolean2D-CwaWKfZD.cjs");
|
|
20
|
+
const require_helpers = require("./helpers-CM63Nn7A.cjs");
|
|
21
|
+
const require_solidBuilders = require("./solidBuilders-DUl2f7gY.cjs");
|
|
22
|
+
const require_measureFns = require("./measureFns-BxAZf4Mf.cjs");
|
|
23
|
+
const require_cornerFinder = require("./cornerFinder-DLxiZcyg.cjs");
|
|
24
|
+
const require_extrudeFns = require("./extrudeFns-BofhQx0R.cjs");
|
|
25
|
+
const require_blueprintFns = require("./blueprintFns-CH4QAYB4.cjs");
|
|
26
|
+
const require_importFns = require("./importFns--rg42dnv.cjs");
|
|
27
|
+
const require_shapeRefFns = require("./shapeRefFns-N0wl6XSn.cjs");
|
|
28
28
|
const require_workerHandler = require("./workerHandler-C-3cFcsQ.cjs");
|
|
29
29
|
//#region src/topology/shapeBooleans.ts
|
|
30
30
|
var BOPAlgo_GlueShift = 1;
|
package/dist/brepjs.js
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { $ as initFromOC, 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, Q as init, R as DisposalScope, S as isManifoldShell, T as isPlanarWire, V as getDisposalStats, W as resetDisposalStats, X as getKernel, _ as isSolid, a as createEdge, at as BrepkitAdapter, b as closedWire, c as createSolid, d as isCompound, et as prewarm, f as isEdge, g as isShell, h as isShape3D, i as createCompound, it as supportsProjection, j as validSolid, k as planarFace, l as createVertex, m as isShape1D, n as castShape3D, nt as withKernel, o as createFace, ot as getPerformanceStats, p as isFace, q as withScopeResult, rt as supportsConstraintSketch, s as createShell, st as resetPerformanceStats, t as castShape, tt as registerKernel, u as createWire, v as isVertex, w as isPlanarFace, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-
|
|
1
|
+
import { $ as initFromOC, 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, Q as init, R as DisposalScope, S as isManifoldShell, T as isPlanarWire, V as getDisposalStats, W as resetDisposalStats, X as getKernel, _ as isSolid, a as createEdge, at as BrepkitAdapter, b as closedWire, c as createSolid, d as isCompound, et as prewarm, f as isEdge, g as isShell, h as isShape3D, i as createCompound, it as supportsProjection, j as validSolid, k as planarFace, l as createVertex, m as isShape1D, n as castShape3D, nt as withKernel, o as createFace, ot as getPerformanceStats, p as isFace, q as withScopeResult, rt as supportsConstraintSketch, s as createShell, st as resetPerformanceStats, t as castShape, tt as registerKernel, u as createWire, v as isVertex, w as isPlanarFace, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-B9a2ed1X.js";
|
|
2
2
|
import { t as OcctWasmAdapter } from "./occtWasmAdapter-BRiWV_v0.js";
|
|
3
3
|
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-DboJwVCf.js";
|
|
4
|
-
import { A as vertexPosition, B as kernelCallScoped, C as getVertices, D as iterFaces, E as iterEdges, F as isCompSolid, I as iterTopo, L as shapeType, M as cast, N as downcast, O as iterVertices, P as fromBREP, R as kernelCall, T as invalidateShapeCache, a as flipFaceOrientation, b as getEdges, c as normalAt, d as projectPointOnFace, f as removeHolesFromFace, g as getBounds, h as describe$1, i as faceOrientation, j as asTopo, k as iterWires, l as outerWire, m as uvCoordinates, n as faceCenter, o as getSurfaceType, p as uvBounds, r as faceGeomType, s as innerWires, t as classifyPointOnFace, u as pointOnSurface, w as getWires, x as getFaces, y as getCachedSurfaceType, z as kernelCallRaw } from "./faceFns-
|
|
4
|
+
import { A as vertexPosition, B as kernelCallScoped, C as getVertices, D as iterFaces, E as iterEdges, F as isCompSolid, I as iterTopo, L as shapeType, M as cast, N as downcast, O as iterVertices, P as fromBREP, R as kernelCall, T as invalidateShapeCache, a as flipFaceOrientation, b as getEdges, c as normalAt, d as projectPointOnFace, f as removeHolesFromFace, g as getBounds, h as describe$1, i as faceOrientation, j as asTopo, k as iterWires, l as outerWire, m as uvCoordinates, n as faceCenter, o as getSurfaceType, p as uvBounds, r as faceGeomType, s as innerWires, t as classifyPointOnFace, u as pointOnSurface, w as getWires, x as getFaces, y as getCachedSurfaceType, z as kernelCallRaw } from "./faceFns-BQ7czFFV.js";
|
|
5
5
|
import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-csSEYddm.js";
|
|
6
6
|
import { n as toVec2, r as toVec3, t as resolveDirection } from "./types--GD-LVc6.js";
|
|
7
7
|
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-B-PCHgyB.js";
|
|
8
8
|
import { i as pivotPlane, n as createPlane, o as resolvePlane, r as makePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-sTrM3dcQ.js";
|
|
9
|
-
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$1, h as translate$1, i as isEqualShape, k as setShapeOrigin, l as composeTransforms, m as transformCopy$1, n as getHashCode, o as simplify$1, p as scale$1, r as isEmpty$2, s as toBREP$1, t as clone$1, u as mirror$1, w as getFaceTags, x as getFaceColor, y as colorFaces } from "./shapeFns-
|
|
10
|
-
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-
|
|
11
|
-
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-
|
|
9
|
+
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$1, h as translate$1, i as isEqualShape, k as setShapeOrigin, l as composeTransforms, m as transformCopy$1, n as getHashCode, o as simplify$1, p as scale$1, r as isEmpty$2, s as toBREP$1, t as clone$1, u as mirror$1, w as getFaceTags, x as getFaceColor, y as colorFaces } from "./shapeFns-LgyEtLGl.js";
|
|
10
|
+
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-D-0yqVb9.js";
|
|
11
|
+
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-C9DtKU7q.js";
|
|
12
12
|
import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-tCIbjLs5.js";
|
|
13
|
-
import { n as fill, r as makeFace } from "./surfaceBuilders-
|
|
14
|
-
import { a as fuseAll, c as sectionToFace$1, i as fuse$1, l as slice$1, n as cut$1, o as intersect$1, r as cutAll, s as section$1, t as booleanPipeline, u as split$1 } from "./booleanFns-
|
|
15
|
-
import { $ as getNurbsSurfaceData, 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 getNurbsCurveData, 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 wiresOfFace, b as sphere, c as cylinder, ct as toGroupedBufferGeometryData, d as ellipsoid, et as adjacentFaces, f as face, g as offsetFace, h as line, i as bsplineApprox, it as verticesOfEdge, j as heal$1, k as fixSelfIntersection, l as ellipse, lt as toLODGeometryData, m as helix, n as bezier, nt as facesOfEdge, o as compound, ot as chamferDistAngle, p as filledFace, q as filletWithEvolution, r as box, rt as sharedEdges, s as cone, st as toBufferGeometryData, t as addHoles, tt as edgesOfFace, u as ellipseArc, ut as toLineGeometryData, v as sewShells, w as torus, x as subFace, y as solid, z as fillet$1 } from "./primitiveFns-
|
|
16
|
-
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-
|
|
17
|
-
import { a as fuseBlueprints, c as roundedRectangleBlueprint, f as Sketch, h as organiseBlueprints, i as cutBlueprints, m as loftAll, n as fuse2D, o as intersectBlueprints, p as loft$1, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-
|
|
18
|
-
import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-
|
|
19
|
-
import { $ as sketchFaceOffset, B as drawSingleCircle, C as cameraFromPlane, D as makeProjectedEdges, E as projectEdges, F as drawParametricFunction, G as loadFont, H as drawText, I as drawPointsInterpolation, J as textMetrics, K as sketchText, L as drawPolysides, M as draw, N as drawCircle, O as isProjectionPlane, P as drawEllipse, Q as sketchEllipse, R as drawRectangle, S as drawProjection, T as createCamera, U as fontMetrics, V as drawSingleEllipse, W as getFont, X as polysideInnerRadius, Y as makeBaseBox, Z as sketchCircle, _ as sketchLoft, a as drawingIntersect, b as sketchWires, c as rotateDrawing, d as compoundSketchExtrude, et as sketchHelix, f as compoundSketchFace, g as sketchFace, h as sketchExtrude, i as drawingFuse, it as sketchRoundedRectangle, j as deserializeDrawing, l as scaleDrawing, m as compoundSketchRevolve, n as drawingCut, nt as sketchPolysides, o as drawingToSketchOnPlane, ot as Sketches, p as compoundSketchLoft, q as textBlueprints, r as drawingFillet, rt as sketchRectangle, s as mirrorDrawing, st as CompoundSketch, t as drawingChamfer, tt as sketchParametricFunction, u as translateDrawing, v as sketchRevolve, w as cameraLookAt, x as drawFaceOutline, y as sketchSweep, z as drawRoundedRectangle } from "./drawFns-
|
|
20
|
-
import { r as makeCylinder } from "./solidBuilders-
|
|
21
|
-
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-
|
|
22
|
-
import { t as cornerFinder } from "./cornerFinder-
|
|
23
|
-
import { a as guidedSweep, c as sweep, 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-
|
|
24
|
-
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-
|
|
25
|
-
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
|
|
26
|
-
import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-
|
|
13
|
+
import { n as fill, r as makeFace } from "./surfaceBuilders-BY117AaY.js";
|
|
14
|
+
import { a as fuseAll, c as sectionToFace$1, i as fuse$1, l as slice$1, n as cut$1, o as intersect$1, r as cutAll, s as section$1, t as booleanPipeline, u as split$1 } from "./booleanFns-Cstp5Ep1.js";
|
|
15
|
+
import { $ as getNurbsSurfaceData, 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 getNurbsCurveData, 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 wiresOfFace, b as sphere, c as cylinder, ct as toGroupedBufferGeometryData, d as ellipsoid, et as adjacentFaces, f as face, g as offsetFace, h as line, i as bsplineApprox, it as verticesOfEdge, j as heal$1, k as fixSelfIntersection, l as ellipse, lt as toLODGeometryData, m as helix, n as bezier, nt as facesOfEdge, o as compound, ot as chamferDistAngle, p as filledFace, q as filletWithEvolution, r as box, rt as sharedEdges, s as cone, st as toBufferGeometryData, t as addHoles, tt as edgesOfFace, u as ellipseArc, ut as toLineGeometryData, v as sewShells, w as torus, x as subFace, y as solid, z as fillet$1 } from "./primitiveFns-Bpq2yFqw.js";
|
|
16
|
+
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-BFuHqN_0.js";
|
|
17
|
+
import { a as fuseBlueprints, c as roundedRectangleBlueprint, f as Sketch, h as organiseBlueprints, i as cutBlueprints, m as loftAll, n as fuse2D, o as intersectBlueprints, p as loft$1, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-B__OaRTl.js";
|
|
18
|
+
import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-C4r8ovx9.js";
|
|
19
|
+
import { $ as sketchFaceOffset, B as drawSingleCircle, C as cameraFromPlane, D as makeProjectedEdges, E as projectEdges, F as drawParametricFunction, G as loadFont, H as drawText, I as drawPointsInterpolation, J as textMetrics, K as sketchText, L as drawPolysides, M as draw, N as drawCircle, O as isProjectionPlane, P as drawEllipse, Q as sketchEllipse, R as drawRectangle, S as drawProjection, T as createCamera, U as fontMetrics, V as drawSingleEllipse, W as getFont, X as polysideInnerRadius, Y as makeBaseBox, Z as sketchCircle, _ as sketchLoft, a as drawingIntersect, b as sketchWires, c as rotateDrawing, d as compoundSketchExtrude, et as sketchHelix, f as compoundSketchFace, g as sketchFace, h as sketchExtrude, i as drawingFuse, it as sketchRoundedRectangle, j as deserializeDrawing, l as scaleDrawing, m as compoundSketchRevolve, n as drawingCut, nt as sketchPolysides, o as drawingToSketchOnPlane, ot as Sketches, p as compoundSketchLoft, q as textBlueprints, r as drawingFillet, rt as sketchRectangle, s as mirrorDrawing, st as CompoundSketch, t as drawingChamfer, tt as sketchParametricFunction, u as translateDrawing, v as sketchRevolve, w as cameraLookAt, x as drawFaceOutline, y as sketchSweep, z as drawRoundedRectangle } from "./drawFns-CMemZ1i4.js";
|
|
20
|
+
import { r as makeCylinder } from "./solidBuilders-C_-imolZ.js";
|
|
21
|
+
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-D5DbMnQY.js";
|
|
22
|
+
import { t as cornerFinder } from "./cornerFinder-K7cjTnkP.js";
|
|
23
|
+
import { a as guidedSweep, c as sweep, 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-CcYOPTFR.js";
|
|
24
|
+
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-BRQael6Q.js";
|
|
25
|
+
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--VkKJoDs.js";
|
|
26
|
+
import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-CgnpumqW.js";
|
|
27
27
|
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-Dm0_0F8Z.js";
|
|
28
28
|
//#region \0rolldown/runtime.js
|
|
29
29
|
var __defProp = Object.defineProperty;
|
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-hQK4eaEw.cjs");
|
|
3
3
|
const require_errors = require("./errors-CXRNVCec.cjs");
|
|
4
4
|
const require_constants = require("./constants-BNP_xnBN.cjs");
|
|
5
5
|
const require_types = require("./types-gLi9wL0N.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-B9a2ed1X.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-DboJwVCf.js";
|
|
3
3
|
import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-csSEYddm.js";
|
|
4
4
|
import { n as toVec2, r as toVec3, t as resolveDirection } from "./types--GD-LVc6.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_constants = require("./constants-BNP_xnBN.cjs");
|
|
2
2
|
const require_arrayAccess = require("./arrayAccess-DsnQpdSD.cjs");
|
|
3
|
-
const require_helpers = require("./helpers-
|
|
3
|
+
const require_helpers = require("./helpers-CM63Nn7A.cjs");
|
|
4
4
|
//#region src/query/cornerFinder.ts
|
|
5
5
|
var PI_2 = 2 * Math.PI;
|
|
6
6
|
function positiveHalfAngle(angle) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as DEG2RAD } from "./constants-csSEYddm.js";
|
|
2
2
|
import { n as getAtOrThrow } from "./arrayAccess-tCIbjLs5.js";
|
|
3
|
-
import { _ as samePoint, p as distance2d, u as angle2d } from "./helpers-
|
|
3
|
+
import { _ as samePoint, p as distance2d, u as angle2d } from "./helpers-C4r8ovx9.js";
|
|
4
4
|
//#region src/query/cornerFinder.ts
|
|
5
5
|
var PI_2 = 2 * Math.PI;
|
|
6
6
|
function positiveHalfAngle(angle) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { X as getKernel, f as isEdge, t as castShape, y as isWire } from "./shapeTypes-
|
|
1
|
+
import { X as getKernel, f as isEdge, t as castShape, y as isWire } from "./shapeTypes-B9a2ed1X.js";
|
|
2
2
|
import { A as ok, b as err, l as typeCastError } from "./errors-DboJwVCf.js";
|
|
3
3
|
//#region src/topology/curveFns.ts
|
|
4
4
|
/**
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { R as DisposalScope, X as getKernel, Y as _usingCtx, o as createFace, p as isFace, t as castShape, u as createWire } from "./shapeTypes-
|
|
1
|
+
import { R as DisposalScope, X as getKernel, Y as _usingCtx, o as createFace, p as isFace, t as castShape, u as createWire } from "./shapeTypes-B9a2ed1X.js";
|
|
2
2
|
import { A as ok, R as unwrap, T as isOk, b as err, d as validationError, h as bug, r as ioError, s as safeIndex, t as BrepErrorCode } from "./errors-DboJwVCf.js";
|
|
3
|
-
import { M as cast, N as downcast, b as getEdges, c as normalAt, l as outerWire, n as faceCenter } from "./faceFns-
|
|
3
|
+
import { M as cast, N as downcast, b as getEdges, c as normalAt, l as outerWire, n as faceCenter } from "./faceFns-BQ7czFFV.js";
|
|
4
4
|
import { t as DEG2RAD } from "./constants-csSEYddm.js";
|
|
5
5
|
import { r as toVec3 } from "./types--GD-LVc6.js";
|
|
6
6
|
import { c as vecLength, d as vecNormalize, g as vecSub, h as vecScale, m as vecRotate, r as vecCross } from "./vecOps-B-PCHgyB.js";
|
|
7
7
|
import { a as planeToWorld, o as resolvePlane } from "./planeOps-sTrM3dcQ.js";
|
|
8
|
-
import { m as offsetWire2D } from "./curveFns-
|
|
8
|
+
import { m as offsetWire2D } from "./curveFns-D-0yqVb9.js";
|
|
9
9
|
import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-tCIbjLs5.js";
|
|
10
|
-
import { c as makeBSplineApproximation, d as makeEllipse, p as makeHelix, r as makeFace, s as assembleWire, t as addHolesInFace, u as makeCircle } from "./surfaceBuilders-
|
|
11
|
-
import { S as Flatbush, _ as Blueprints, b as make2dOffset, c as roundedRectangleBlueprint, f as Sketch, g as CompoundBlueprint, h as organiseBlueprints, l as BaseSketcher2d, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D, u as BlueprintSketcher, v as chamferCurves, x as intersectCurves, y as filletCurves } from "./boolean2D-
|
|
12
|
-
import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-
|
|
13
|
-
import { _ as Curve2D, a as edgeToCurve, c as make2dCircle, d as make2dInerpolatedBSplineCurve, f as make2dSegmentCurve, g as approximateAsSvgCompatibleCurve, i as curvesAsEdgesOnPlane, l as make2dEllipse, o as make2dArcFromCenter, t as Blueprint, v as deserializeCurve2D, y as BoundingBox2d } from "./blueprint-
|
|
14
|
-
import { o as makeSolid, t as makeCompound } from "./solidBuilders-
|
|
15
|
-
import { t as cornerFinder } from "./cornerFinder-
|
|
16
|
-
import { i as complexExtrude, l as twistExtrude, r as revolve, t as extrude } from "./extrudeFns-
|
|
10
|
+
import { c as makeBSplineApproximation, d as makeEllipse, p as makeHelix, r as makeFace, s as assembleWire, t as addHolesInFace, u as makeCircle } from "./surfaceBuilders-BY117AaY.js";
|
|
11
|
+
import { S as Flatbush, _ as Blueprints, b as make2dOffset, c as roundedRectangleBlueprint, f as Sketch, g as CompoundBlueprint, h as organiseBlueprints, l as BaseSketcher2d, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D, u as BlueprintSketcher, v as chamferCurves, x as intersectCurves, y as filletCurves } from "./boolean2D-B__OaRTl.js";
|
|
12
|
+
import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-C4r8ovx9.js";
|
|
13
|
+
import { _ as Curve2D, a as edgeToCurve, c as make2dCircle, d as make2dInerpolatedBSplineCurve, f as make2dSegmentCurve, g as approximateAsSvgCompatibleCurve, i as curvesAsEdgesOnPlane, l as make2dEllipse, o as make2dArcFromCenter, t as Blueprint, v as deserializeCurve2D, y as BoundingBox2d } from "./blueprint-BqdFeOSN.js";
|
|
14
|
+
import { o as makeSolid, t as makeCompound } from "./solidBuilders-C_-imolZ.js";
|
|
15
|
+
import { t as cornerFinder } from "./cornerFinder-K7cjTnkP.js";
|
|
16
|
+
import { i as complexExtrude, l as twistExtrude, r as revolve, t as extrude } from "./extrudeFns-CcYOPTFR.js";
|
|
17
17
|
import opentype from "opentype.js";
|
|
18
18
|
//#region src/2d/lib/stitching.ts
|
|
19
19
|
/**
|
|
@@ -29,22 +29,22 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
29
29
|
enumerable: true
|
|
30
30
|
}) : target, mod));
|
|
31
31
|
//#endregion
|
|
32
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
32
|
+
const require_shapeTypes = require("./shapeTypes-hQK4eaEw.cjs");
|
|
33
33
|
const require_errors = require("./errors-CXRNVCec.cjs");
|
|
34
|
-
const require_faceFns = require("./faceFns-
|
|
34
|
+
const require_faceFns = require("./faceFns-uX_AVFqu.cjs");
|
|
35
35
|
const require_constants = require("./constants-BNP_xnBN.cjs");
|
|
36
36
|
const require_types = require("./types-gLi9wL0N.cjs");
|
|
37
37
|
const require_vecOps = require("./vecOps-CODplJp3.cjs");
|
|
38
38
|
const require_planeOps = require("./planeOps-BJOIbn4K.cjs");
|
|
39
|
-
const require_curveFns = require("./curveFns-
|
|
39
|
+
const require_curveFns = require("./curveFns-CQIv_biC.cjs");
|
|
40
40
|
const require_arrayAccess = require("./arrayAccess-DsnQpdSD.cjs");
|
|
41
|
-
const require_surfaceBuilders = require("./surfaceBuilders-
|
|
42
|
-
const require_boolean2D = require("./boolean2D-
|
|
43
|
-
const require_helpers = require("./helpers-
|
|
44
|
-
const require_blueprint = require("./blueprint-
|
|
45
|
-
const require_solidBuilders = require("./solidBuilders-
|
|
46
|
-
const require_cornerFinder = require("./cornerFinder-
|
|
47
|
-
const require_extrudeFns = require("./extrudeFns-
|
|
41
|
+
const require_surfaceBuilders = require("./surfaceBuilders-D_w11wLr.cjs");
|
|
42
|
+
const require_boolean2D = require("./boolean2D-CwaWKfZD.cjs");
|
|
43
|
+
const require_helpers = require("./helpers-CM63Nn7A.cjs");
|
|
44
|
+
const require_blueprint = require("./blueprint-BkKnM_9w.cjs");
|
|
45
|
+
const require_solidBuilders = require("./solidBuilders-DUl2f7gY.cjs");
|
|
46
|
+
const require_cornerFinder = require("./cornerFinder-DLxiZcyg.cjs");
|
|
47
|
+
const require_extrudeFns = require("./extrudeFns-BofhQx0R.cjs");
|
|
48
48
|
let opentype_js = require("opentype.js");
|
|
49
49
|
opentype_js = __toESM(opentype_js);
|
|
50
50
|
//#region src/2d/lib/stitching.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-hQK4eaEw.cjs");
|
|
2
2
|
const require_errors = require("./errors-CXRNVCec.cjs");
|
|
3
3
|
const require_vecOps = require("./vecOps-CODplJp3.cjs");
|
|
4
4
|
//#region src/operations/extrudeUtils.ts
|
|
@@ -28,8 +28,8 @@ function makeSpineWire(start, end) {
|
|
|
28
28
|
return require_shapeTypes.castShape(kernel.makeWire([edge]));
|
|
29
29
|
}
|
|
30
30
|
/** Build a helix wire for twist extrusion. */
|
|
31
|
-
function makeHelixWire(pitch, height, radius, center, dir,
|
|
32
|
-
return require_shapeTypes.castShape(require_shapeTypes.getKernel().makeHelixWire(pitch, height, radius, [...center], [...dir]));
|
|
31
|
+
function makeHelixWire(pitch, height, radius, center, dir, leftHanded = false) {
|
|
32
|
+
return require_shapeTypes.castShape(require_shapeTypes.getKernel().makeHelixWire(pitch, height, radius, [...center], [...dir], leftHanded));
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* Sweep a wire profile along a spine wire to create a 3D shape.
|
|
@@ -145,7 +145,8 @@ function twistExtrude(wire, angleDegrees, center, normal, profileShape, shellMod
|
|
|
145
145
|
const extrusionLength = require_vecOps.vecLength(normal);
|
|
146
146
|
if (extrusionLength < 1e-10) return require_errors.err(require_errors.validationError("ZERO_LENGTH_EXTRUSION", "Extrusion vector cannot have zero length"));
|
|
147
147
|
const spine = makeSpineWire(center, require_vecOps.vecAdd(center, normal));
|
|
148
|
-
const
|
|
148
|
+
const leftHanded = angleDegrees < 0;
|
|
149
|
+
const auxiliarySpine = makeHelixWire(360 / Math.abs(angleDegrees) * extrusionLength, extrusionLength, 1, center, normal, leftHanded);
|
|
149
150
|
let law = null;
|
|
150
151
|
if (profileShape) {
|
|
151
152
|
const lawResult = buildLawFromProfile(extrusionLength, profileShape);
|
|
@@ -171,10 +172,27 @@ function validateSectionLocations(sections) {
|
|
|
171
172
|
function computeSectionParams(sections, spine, kernel) {
|
|
172
173
|
const [uFirst, uLast] = kernel.curveParameters(spine.wrapped);
|
|
173
174
|
const uRange = uLast - uFirst;
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
175
|
+
const params = new Array(sections.length);
|
|
176
|
+
for (let i = 0; i < sections.length; i++) {
|
|
177
|
+
const loc = sections[i]?.location;
|
|
178
|
+
params[i] = loc !== void 0 ? uFirst + loc * uRange : NaN;
|
|
179
|
+
}
|
|
180
|
+
let prevIdx = -1;
|
|
181
|
+
let prevVal = uFirst;
|
|
182
|
+
for (let i = 0; i <= sections.length; i++) {
|
|
183
|
+
const isEnd = i === sections.length;
|
|
184
|
+
if (!isEnd && !Number.isNaN(params[i] ?? NaN) || isEnd) {
|
|
185
|
+
const nextVal = isEnd ? uLast : params[i] ?? uLast;
|
|
186
|
+
const gapCount = i - prevIdx - 1;
|
|
187
|
+
for (let g = 1; g <= gapCount; g++) params[prevIdx + g] = prevVal + g / (gapCount + 1) * (nextVal - prevVal);
|
|
188
|
+
if (!isEnd) {
|
|
189
|
+
prevIdx = i;
|
|
190
|
+
prevVal = params[i] ?? uFirst;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
for (let i = 1; i < params.length; i++) if ((params[i] ?? 0) <= (params[i - 1] ?? 0)) return require_errors.err(require_errors.validationError(require_errors.BrepErrorCode.MULTI_SWEEP_FAILED, `Computed section parameters are not strictly increasing at index ${i} (${params[i - 1]?.toFixed(4)} >= ${params[i]?.toFixed(4)})`));
|
|
195
|
+
return require_errors.ok(params);
|
|
178
196
|
}
|
|
179
197
|
/**
|
|
180
198
|
* Sweep multiple profile sections along a spine wire.
|
|
@@ -195,7 +213,9 @@ function multiSectionSweep(sections, spine, options) {
|
|
|
195
213
|
if (locationErr) return require_errors.err(locationErr);
|
|
196
214
|
try {
|
|
197
215
|
const kernel = require_shapeTypes.getKernel();
|
|
198
|
-
const
|
|
216
|
+
const paramsResult = computeSectionParams(sections, spine, kernel);
|
|
217
|
+
if (require_errors.isErr(paramsResult)) return paramsResult;
|
|
218
|
+
const params = paramsResult.value;
|
|
199
219
|
const positionedWires = [];
|
|
200
220
|
for (let i = 0; i < sections.length; i++) {
|
|
201
221
|
const param = params[i];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { X as getKernel, c as createSolid, h as isShape3D, t as castShape, y as isWire } from "./shapeTypes-
|
|
1
|
+
import { X as getKernel, c as createSolid, h as isShape3D, t as castShape, y as isWire } from "./shapeTypes-B9a2ed1X.js";
|
|
2
2
|
import { A as ok, b as err, d as validationError, i as kernelError, l as typeCastError, t as BrepErrorCode, w as isErr } from "./errors-DboJwVCf.js";
|
|
3
3
|
import { c as vecLength, d as vecNormalize, t as vecAdd } from "./vecOps-B-PCHgyB.js";
|
|
4
4
|
//#region src/operations/extrudeUtils.ts
|
|
@@ -28,8 +28,8 @@ function makeSpineWire(start, end) {
|
|
|
28
28
|
return castShape(kernel.makeWire([edge]));
|
|
29
29
|
}
|
|
30
30
|
/** Build a helix wire for twist extrusion. */
|
|
31
|
-
function makeHelixWire(pitch, height, radius, center, dir,
|
|
32
|
-
return castShape(getKernel().makeHelixWire(pitch, height, radius, [...center], [...dir]));
|
|
31
|
+
function makeHelixWire(pitch, height, radius, center, dir, leftHanded = false) {
|
|
32
|
+
return castShape(getKernel().makeHelixWire(pitch, height, radius, [...center], [...dir], leftHanded));
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* Sweep a wire profile along a spine wire to create a 3D shape.
|
|
@@ -145,7 +145,8 @@ function twistExtrude(wire, angleDegrees, center, normal, profileShape, shellMod
|
|
|
145
145
|
const extrusionLength = vecLength(normal);
|
|
146
146
|
if (extrusionLength < 1e-10) return err(validationError("ZERO_LENGTH_EXTRUSION", "Extrusion vector cannot have zero length"));
|
|
147
147
|
const spine = makeSpineWire(center, vecAdd(center, normal));
|
|
148
|
-
const
|
|
148
|
+
const leftHanded = angleDegrees < 0;
|
|
149
|
+
const auxiliarySpine = makeHelixWire(360 / Math.abs(angleDegrees) * extrusionLength, extrusionLength, 1, center, normal, leftHanded);
|
|
149
150
|
let law = null;
|
|
150
151
|
if (profileShape) {
|
|
151
152
|
const lawResult = buildLawFromProfile(extrusionLength, profileShape);
|
|
@@ -171,10 +172,27 @@ function validateSectionLocations(sections) {
|
|
|
171
172
|
function computeSectionParams(sections, spine, kernel) {
|
|
172
173
|
const [uFirst, uLast] = kernel.curveParameters(spine.wrapped);
|
|
173
174
|
const uRange = uLast - uFirst;
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
175
|
+
const params = new Array(sections.length);
|
|
176
|
+
for (let i = 0; i < sections.length; i++) {
|
|
177
|
+
const loc = sections[i]?.location;
|
|
178
|
+
params[i] = loc !== void 0 ? uFirst + loc * uRange : NaN;
|
|
179
|
+
}
|
|
180
|
+
let prevIdx = -1;
|
|
181
|
+
let prevVal = uFirst;
|
|
182
|
+
for (let i = 0; i <= sections.length; i++) {
|
|
183
|
+
const isEnd = i === sections.length;
|
|
184
|
+
if (!isEnd && !Number.isNaN(params[i] ?? NaN) || isEnd) {
|
|
185
|
+
const nextVal = isEnd ? uLast : params[i] ?? uLast;
|
|
186
|
+
const gapCount = i - prevIdx - 1;
|
|
187
|
+
for (let g = 1; g <= gapCount; g++) params[prevIdx + g] = prevVal + g / (gapCount + 1) * (nextVal - prevVal);
|
|
188
|
+
if (!isEnd) {
|
|
189
|
+
prevIdx = i;
|
|
190
|
+
prevVal = params[i] ?? uFirst;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
for (let i = 1; i < params.length; i++) if ((params[i] ?? 0) <= (params[i - 1] ?? 0)) return err(validationError(BrepErrorCode.MULTI_SWEEP_FAILED, `Computed section parameters are not strictly increasing at index ${i} (${params[i - 1]?.toFixed(4)} >= ${params[i]?.toFixed(4)})`));
|
|
195
|
+
return ok(params);
|
|
178
196
|
}
|
|
179
197
|
/**
|
|
180
198
|
* Sweep multiple profile sections along a spine wire.
|
|
@@ -195,7 +213,9 @@ function multiSectionSweep(sections, spine, options) {
|
|
|
195
213
|
if (locationErr) return err(locationErr);
|
|
196
214
|
try {
|
|
197
215
|
const kernel = getKernel();
|
|
198
|
-
const
|
|
216
|
+
const paramsResult = computeSectionParams(sections, spine, kernel);
|
|
217
|
+
if (isErr(paramsResult)) return paramsResult;
|
|
218
|
+
const params = paramsResult.value;
|
|
199
219
|
const positionedWires = [];
|
|
200
220
|
for (let i = 0; i < sections.length; i++) {
|
|
201
221
|
const param = params[i];
|