brepjs 18.76.0 → 18.78.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-BHyTsY5E.cjs → blueprint-BE93BNYE.cjs} +5 -5
- package/dist/{blueprint-DuT3LJGx.js → blueprint-BVe9JU-L.js} +5 -5
- package/dist/{blueprintFns-dPHJgrqC.cjs → blueprintFns-B_7kKwEZ.cjs} +2 -2
- package/dist/{blueprintFns-qaEV4X2R.js → blueprintFns-DWinspVK.js} +2 -2
- package/dist/{blueprintSketcher-Th4H1tao.cjs → blueprintSketcher-D75tuXkF.cjs} +3 -3
- package/dist/{blueprintSketcher-IY1gJ613.js → blueprintSketcher-DL-wgnVs.js} +3 -3
- package/dist/{boolean2D-BGK18W_l.cjs → boolean2D-C4Txi8U1.cjs} +4 -4
- package/dist/{boolean2D-DUDg_dMv.js → boolean2D-OtHT7POp.js} +4 -4
- package/dist/brepjs.cjs +153 -152
- package/dist/brepjs.js +26 -26
- package/dist/{cameraFns-Ctxe8ev-.js → cameraFns-DCXqzH_m.js} +2 -2
- package/dist/{cameraFns-G2lc5c9M.cjs → cameraFns-DfSRnD1k.cjs} +2 -2
- package/dist/core.cjs +1 -1
- package/dist/core.js +1 -1
- package/dist/{cornerFinder-DamaTij5.js → cornerFinder-DPkLU1Of.js} +1 -1
- package/dist/{cornerFinder-CxqA_AYe.cjs → cornerFinder-KuLU-4pQ.cjs} +1 -1
- package/dist/{curveFns-CwOY58kC.js → curveFns-B4KEYU1M.js} +1 -1
- package/dist/{curveFns-B8UdENpg.cjs → curveFns-C0oCmjV2.cjs} +1 -1
- package/dist/{drawFns-CcR9_01X.js → drawFns-C6h_w03r.js} +12 -12
- package/dist/{drawFns-BwfhGs8Z.cjs → drawFns-DxjMxRpE.cjs} +12 -12
- package/dist/{faceFns-BJ0mbRh5.js → faceFns-BJ2hzXJp.js} +2 -2
- package/dist/{faceFns-CZvemlPW.cjs → faceFns-p0lyVuyw.cjs} +2 -2
- package/dist/{primitiveFns-FudrSXrp.cjs → healingFns-B7dElsC4.cjs} +9 -466
- package/dist/{primitiveFns-B6Q6lx9-.js → healingFns-DS_nK9KF.js} +8 -303
- package/dist/{helpers-DsaGpuUh.js → helpers-C78MY-s6.js} +6 -6
- package/dist/{helpers-90SKWHEY.cjs → helpers-DTBDjbdR.cjs} +6 -6
- package/dist/{importFns-CXH2OmJ6.cjs → importFns-CUAiLgt_.cjs} +2 -2
- package/dist/{importFns-B02-HKco.js → importFns-Rv22QSn6.js} +2 -2
- package/dist/index.d.ts +1 -0
- package/dist/io.cjs +2 -2
- package/dist/io.js +2 -2
- package/dist/kernel/occt/geometryQueryOps.d.ts +5 -1
- package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
- package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
- package/dist/kernel/occtWasm/surfaceOps.d.ts +5 -1
- package/dist/{extrudeFns-msxcCUm2.js → loftFns-DuxEscJB.js} +93 -2
- package/dist/{extrudeFns-b7JHaMsv.cjs → loftFns-DycLH1Pq.cjs} +104 -1
- package/dist/{measureFns-DYeTPyHr.js → measureFns-C8c6xRUE.js} +3 -3
- package/dist/{measureFns-CRS3U8gj.cjs → measureFns-DnxobCbD.cjs} +3 -3
- package/dist/measurement.cjs +1 -1
- package/dist/measurement.js +1 -1
- package/dist/{meshFns-CvmTzMPL.cjs → meshFns-BawS1xNA.cjs} +3 -3
- package/dist/{meshFns-CLQL2D95.js → meshFns-CuYzpojl.js} +3 -3
- package/dist/{occtWasmAdapter-m4Nua92H.js → occtWasmAdapter-BrTkhQYK.js} +83 -6
- package/dist/{occtWasmAdapter-DdghAlnN.cjs → occtWasmAdapter-W86SRBpi.cjs} +83 -6
- package/dist/operations/threadFns.d.ts +39 -0
- package/dist/operations.cjs +33 -32
- package/dist/operations.d.ts +1 -0
- package/dist/operations.js +3 -3
- package/dist/{booleanFns-Cu-J1THp.js → primitiveFns-BxH5omw3.js} +301 -7
- package/dist/{booleanFns-DxnTjP19.cjs → primitiveFns-JRmXxbRr.cjs} +460 -4
- 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-CQmd2W5F.cjs → shapeFns-D5WNrq3s.cjs} +2 -2
- package/dist/{shapeFns-CQRGTifg.js → shapeFns-DZ6poxP7.js} +2 -2
- package/dist/shapeRef.cjs +1 -1
- package/dist/shapeRef.js +1 -1
- package/dist/{shapeRefFns-DoPplxoN.cjs → shapeRefFns-BOWP8n4j.cjs} +4 -4
- package/dist/{shapeRefFns-DvIvS0do.js → shapeRefFns-ClsyeZp4.js} +4 -4
- package/dist/{shapeTypes-C4cMKLoj.cjs → shapeTypes-CxSqNvHA.cjs} +55 -26
- package/dist/{shapeTypes-VCBsDI43.js → shapeTypes-CyTY0prh.js} +55 -26
- package/dist/sketching.cjs +3 -3
- package/dist/sketching.js +3 -3
- package/dist/{solidBuilders-DBsHetmI.js → solidBuilders-BtEFUFQ9.js} +2 -2
- package/dist/{solidBuilders-B0Hzin8a.cjs → solidBuilders-diw2zyyN.cjs} +2 -2
- package/dist/{surfaceBuilders-QK_Cnn_u.cjs → surfaceBuilders-CPHOXRLE.cjs} +2 -2
- package/dist/{surfaceBuilders-DllH3kXs.js → surfaceBuilders-Do0rypyD.js} +2 -2
- package/dist/text.cjs +2 -2
- package/dist/text.js +2 -2
- package/dist/{textBlueprints-C_ThSDVg.js → textBlueprints-C3IbySW_.js} +9 -99
- package/dist/{textBlueprints-8lNMcsUv.cjs → textBlueprints-SKuamOmI.cjs} +17 -119
- package/dist/{textMetrics-CxdhimFF.js → textMetrics--BwiJH2B.js} +1 -1
- package/dist/{textMetrics-Bn5VPcTV.cjs → textMetrics-Bzbkal_A.cjs} +1 -1
- package/dist/{historyFns-BV5sQxft.js → threadFns-D8-zfJ0b.js} +73 -6
- package/dist/{historyFns-xUNAdUYV.cjs → threadFns-aWgxzqmT.cjs} +79 -6
- package/dist/topology/booleanFns.d.ts +9 -1
- package/dist/topology.cjs +39 -39
- package/dist/topology.js +7 -7
- package/dist/{topologyQueryFns-BtfhAVY2.js → topologyQueryFns-BomrmBie.js} +1 -1
- package/dist/{topologyQueryFns-Bj5wpC75.cjs → topologyQueryFns-Dzxrwn-E.cjs} +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { B as createKernelHandle, Z as getKernel, t as castShape } from "./shapeTypes-
|
|
2
|
-
import { A as ok, b as err, d as validationError, n as computationError, r as ioError } from "./errors-DNWJsfVU.js";
|
|
1
|
+
import { B as createKernelHandle, R as DisposalScope, Y as _usingCtx, Z as getKernel, t as castShape } from "./shapeTypes-CyTY0prh.js";
|
|
2
|
+
import { A as ok, T as isOk, b as err, d as validationError, n as computationError, r as ioError } from "./errors-DNWJsfVU.js";
|
|
3
3
|
import { d as vecNormalize, s as vecIsZero } from "./vecOps-SKPRvPH-.js";
|
|
4
|
-
import { y as fromBREP } from "./faceFns-
|
|
5
|
-
import { s as toBREP } from "./shapeFns-
|
|
6
|
-
import {
|
|
4
|
+
import { y as fromBREP } from "./faceFns-BJ2hzXJp.js";
|
|
5
|
+
import { s as toBREP } from "./shapeFns-DZ6poxP7.js";
|
|
6
|
+
import { E as wire, M as fuseAll, h as line } from "./primitiveFns-BxH5omw3.js";
|
|
7
|
+
import { t as loft } from "./loftFns-DuxEscJB.js";
|
|
7
8
|
//#region src/utils/uuid.ts
|
|
8
9
|
/** Generate a v4-style UUID string using `crypto.getRandomValues`. */
|
|
9
10
|
function uuidv() {
|
|
@@ -455,4 +456,70 @@ function deserializeHistory(data) {
|
|
|
455
456
|
});
|
|
456
457
|
}
|
|
457
458
|
//#endregion
|
|
458
|
-
|
|
459
|
+
//#region src/operations/threadFns.ts
|
|
460
|
+
/**
|
|
461
|
+
* Build a helical screw-thread ridge by lofting rotated tooth sections.
|
|
462
|
+
*
|
|
463
|
+
* @param options - {@link ThreadOptions}.
|
|
464
|
+
* @returns `Result` with the thread-ridge solid, or an error.
|
|
465
|
+
*
|
|
466
|
+
* @example External thread (Ø12 rod, 2.5 mm pitch):
|
|
467
|
+
* ```ts
|
|
468
|
+
* const ridge = thread({ radius: 6, pitch: 2.5, height: 7.5 });
|
|
469
|
+
* const rod = fuse(cylinder(6.15, 7.5), unwrap(ridge));
|
|
470
|
+
* ```
|
|
471
|
+
* @example Internal thread (tapped Ø6 hole):
|
|
472
|
+
* ```ts
|
|
473
|
+
* const ridge = thread({ radius: 3, pitch: 1, height: 6, inward: true });
|
|
474
|
+
* const nut = cut(boredBlock, unwrap(ridge));
|
|
475
|
+
* ```
|
|
476
|
+
*/
|
|
477
|
+
function thread(options) {
|
|
478
|
+
try {
|
|
479
|
+
var _usingCtx$1 = _usingCtx();
|
|
480
|
+
const { radius, pitch, height, depth = .6 * pitch, toothHalfWidth = .42 * pitch, sectionsPerTurn = 20, lefthand = false, inward = false } = options;
|
|
481
|
+
if (!(radius > 0)) return err(validationError("THREAD_INVALID_RADIUS", "radius must be > 0"));
|
|
482
|
+
if (!(pitch > 0)) return err(validationError("THREAD_INVALID_PITCH", "pitch must be > 0"));
|
|
483
|
+
if (!(height > 0)) return err(validationError("THREAD_INVALID_HEIGHT", "height must be > 0"));
|
|
484
|
+
if (!(depth > 0)) return err(validationError("THREAD_INVALID_DEPTH", "depth must be > 0"));
|
|
485
|
+
if (sectionsPerTurn < 3) return err(validationError("THREAD_TOO_FEW_SECTIONS", "sectionsPerTurn must be >= 3"));
|
|
486
|
+
const turns = height / pitch;
|
|
487
|
+
const nSec = Math.max(2, Math.round(turns * sectionsPerTurn));
|
|
488
|
+
const sign = lefthand ? -1 : 1;
|
|
489
|
+
const apexU = inward ? -depth : depth;
|
|
490
|
+
const baseU = inward ? .3 : -.3;
|
|
491
|
+
const a = toothHalfWidth;
|
|
492
|
+
const scope = _usingCtx$1.u(new DisposalScope());
|
|
493
|
+
const sections = [];
|
|
494
|
+
for (let i = 0; i <= nSec; i++) {
|
|
495
|
+
const th = sign * i * 2 * Math.PI / sectionsPerTurn;
|
|
496
|
+
const z = pitch * Math.abs(th) / (2 * Math.PI);
|
|
497
|
+
const cx = radius * Math.cos(th);
|
|
498
|
+
const cy = radius * Math.sin(th);
|
|
499
|
+
const rx = Math.cos(th);
|
|
500
|
+
const ry = Math.sin(th);
|
|
501
|
+
const pt = (u, v) => [
|
|
502
|
+
cx + u * rx,
|
|
503
|
+
cy + u * ry,
|
|
504
|
+
z + v
|
|
505
|
+
];
|
|
506
|
+
const p1 = pt(baseU, -a);
|
|
507
|
+
const apex = pt(apexU, 0);
|
|
508
|
+
const p3 = pt(baseU, a);
|
|
509
|
+
const w = wire([
|
|
510
|
+
scope.register(line(p1, apex)),
|
|
511
|
+
scope.register(line(apex, p3)),
|
|
512
|
+
scope.register(line(p3, p1))
|
|
513
|
+
]);
|
|
514
|
+
if (!isOk(w)) return w;
|
|
515
|
+
sections.push(scope.register(w.value));
|
|
516
|
+
}
|
|
517
|
+
return loft(sections, { ruled: true });
|
|
518
|
+
} catch (_) {
|
|
519
|
+
_usingCtx$1.e = _;
|
|
520
|
+
} finally {
|
|
521
|
+
_usingCtx$1.d();
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
//#endregion
|
|
525
|
+
export { updateNode as C, linearPattern as D, gridPattern as E, exportAssemblySTEP as O, removeChild as S, circularPattern as T, addChild as _, deserializeHistory as a, createAssemblyNode as b, modifyStep as c, replayFrom as d, replayHistory as f, undoLast as g, stepsFrom as h, createRegistry as i, createAssembly as k, registerOperation as l, stepCount as m, addStep as n, findStep as o, serializeHistory as p, createHistory as r, getShape as s, thread as t, registerShape as u, collectShapes as v, walkAssembly as w, findNode as x, countNodes as y };
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-CxSqNvHA.cjs");
|
|
2
2
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
3
3
|
const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
|
|
4
|
-
const require_faceFns = require("./faceFns-
|
|
5
|
-
const require_shapeFns = require("./shapeFns-
|
|
6
|
-
const
|
|
4
|
+
const require_faceFns = require("./faceFns-p0lyVuyw.cjs");
|
|
5
|
+
const require_shapeFns = require("./shapeFns-D5WNrq3s.cjs");
|
|
6
|
+
const require_primitiveFns = require("./primitiveFns-JRmXxbRr.cjs");
|
|
7
|
+
const require_loftFns = require("./loftFns-DycLH1Pq.cjs");
|
|
7
8
|
//#region src/utils/uuid.ts
|
|
8
9
|
/** Generate a v4-style UUID string using `crypto.getRandomValues`. */
|
|
9
10
|
function uuidv() {
|
|
@@ -127,7 +128,7 @@ function linearPattern(shape, direction, count, spacing, options) {
|
|
|
127
128
|
if (count === 1) return require_errors.ok(shape);
|
|
128
129
|
if (require_vecOps.vecIsZero(direction)) return require_errors.err(require_errors.validationError("PATTERN_ZERO_DIRECTION", "Pattern direction cannot be zero"));
|
|
129
130
|
const dir = require_vecOps.vecNormalize(direction);
|
|
130
|
-
return
|
|
131
|
+
return require_primitiveFns.fuseAll(require_shapeTypes.getKernel().linearPattern(shape.wrapped, [...dir], spacing, count).map((s) => require_shapeTypes.castShape(s)), {
|
|
131
132
|
optimisation: "sameFace",
|
|
132
133
|
...options,
|
|
133
134
|
unsafe: true
|
|
@@ -153,7 +154,7 @@ function circularPattern(shape, axis, count, fullAngle = 360, center = [
|
|
|
153
154
|
if (count === 1) return require_errors.ok(shape);
|
|
154
155
|
if (require_vecOps.vecIsZero(axis)) return require_errors.err(require_errors.validationError("PATTERN_ZERO_AXIS", "Pattern axis cannot be zero"));
|
|
155
156
|
const angleStep = fullAngle / count;
|
|
156
|
-
return
|
|
157
|
+
return require_primitiveFns.fuseAll(require_shapeTypes.getKernel().circularPattern(shape.wrapped, [...center], [...axis], angleStep, count).map((s) => require_shapeTypes.castShape(s)), {
|
|
157
158
|
optimisation: "sameFace",
|
|
158
159
|
...options,
|
|
159
160
|
unsafe: true
|
|
@@ -455,6 +456,72 @@ function deserializeHistory(data) {
|
|
|
455
456
|
});
|
|
456
457
|
}
|
|
457
458
|
//#endregion
|
|
459
|
+
//#region src/operations/threadFns.ts
|
|
460
|
+
/**
|
|
461
|
+
* Build a helical screw-thread ridge by lofting rotated tooth sections.
|
|
462
|
+
*
|
|
463
|
+
* @param options - {@link ThreadOptions}.
|
|
464
|
+
* @returns `Result` with the thread-ridge solid, or an error.
|
|
465
|
+
*
|
|
466
|
+
* @example External thread (Ø12 rod, 2.5 mm pitch):
|
|
467
|
+
* ```ts
|
|
468
|
+
* const ridge = thread({ radius: 6, pitch: 2.5, height: 7.5 });
|
|
469
|
+
* const rod = fuse(cylinder(6.15, 7.5), unwrap(ridge));
|
|
470
|
+
* ```
|
|
471
|
+
* @example Internal thread (tapped Ø6 hole):
|
|
472
|
+
* ```ts
|
|
473
|
+
* const ridge = thread({ radius: 3, pitch: 1, height: 6, inward: true });
|
|
474
|
+
* const nut = cut(boredBlock, unwrap(ridge));
|
|
475
|
+
* ```
|
|
476
|
+
*/
|
|
477
|
+
function thread(options) {
|
|
478
|
+
try {
|
|
479
|
+
var _usingCtx$1 = require_shapeTypes._usingCtx();
|
|
480
|
+
const { radius, pitch, height, depth = .6 * pitch, toothHalfWidth = .42 * pitch, sectionsPerTurn = 20, lefthand = false, inward = false } = options;
|
|
481
|
+
if (!(radius > 0)) return require_errors.err(require_errors.validationError("THREAD_INVALID_RADIUS", "radius must be > 0"));
|
|
482
|
+
if (!(pitch > 0)) return require_errors.err(require_errors.validationError("THREAD_INVALID_PITCH", "pitch must be > 0"));
|
|
483
|
+
if (!(height > 0)) return require_errors.err(require_errors.validationError("THREAD_INVALID_HEIGHT", "height must be > 0"));
|
|
484
|
+
if (!(depth > 0)) return require_errors.err(require_errors.validationError("THREAD_INVALID_DEPTH", "depth must be > 0"));
|
|
485
|
+
if (sectionsPerTurn < 3) return require_errors.err(require_errors.validationError("THREAD_TOO_FEW_SECTIONS", "sectionsPerTurn must be >= 3"));
|
|
486
|
+
const turns = height / pitch;
|
|
487
|
+
const nSec = Math.max(2, Math.round(turns * sectionsPerTurn));
|
|
488
|
+
const sign = lefthand ? -1 : 1;
|
|
489
|
+
const apexU = inward ? -depth : depth;
|
|
490
|
+
const baseU = inward ? .3 : -.3;
|
|
491
|
+
const a = toothHalfWidth;
|
|
492
|
+
const scope = _usingCtx$1.u(new require_shapeTypes.DisposalScope());
|
|
493
|
+
const sections = [];
|
|
494
|
+
for (let i = 0; i <= nSec; i++) {
|
|
495
|
+
const th = sign * i * 2 * Math.PI / sectionsPerTurn;
|
|
496
|
+
const z = pitch * Math.abs(th) / (2 * Math.PI);
|
|
497
|
+
const cx = radius * Math.cos(th);
|
|
498
|
+
const cy = radius * Math.sin(th);
|
|
499
|
+
const rx = Math.cos(th);
|
|
500
|
+
const ry = Math.sin(th);
|
|
501
|
+
const pt = (u, v) => [
|
|
502
|
+
cx + u * rx,
|
|
503
|
+
cy + u * ry,
|
|
504
|
+
z + v
|
|
505
|
+
];
|
|
506
|
+
const p1 = pt(baseU, -a);
|
|
507
|
+
const apex = pt(apexU, 0);
|
|
508
|
+
const p3 = pt(baseU, a);
|
|
509
|
+
const w = require_primitiveFns.wire([
|
|
510
|
+
scope.register(require_primitiveFns.line(p1, apex)),
|
|
511
|
+
scope.register(require_primitiveFns.line(apex, p3)),
|
|
512
|
+
scope.register(require_primitiveFns.line(p3, p1))
|
|
513
|
+
]);
|
|
514
|
+
if (!require_errors.isOk(w)) return w;
|
|
515
|
+
sections.push(scope.register(w.value));
|
|
516
|
+
}
|
|
517
|
+
return require_loftFns.loft(sections, { ruled: true });
|
|
518
|
+
} catch (_) {
|
|
519
|
+
_usingCtx$1.e = _;
|
|
520
|
+
} finally {
|
|
521
|
+
_usingCtx$1.d();
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
//#endregion
|
|
458
525
|
Object.defineProperty(exports, "addChild", {
|
|
459
526
|
enumerable: true,
|
|
460
527
|
get: function() {
|
|
@@ -605,6 +672,12 @@ Object.defineProperty(exports, "stepsFrom", {
|
|
|
605
672
|
return stepsFrom;
|
|
606
673
|
}
|
|
607
674
|
});
|
|
675
|
+
Object.defineProperty(exports, "thread", {
|
|
676
|
+
enumerable: true,
|
|
677
|
+
get: function() {
|
|
678
|
+
return thread;
|
|
679
|
+
}
|
|
680
|
+
});
|
|
608
681
|
Object.defineProperty(exports, "undoLast", {
|
|
609
682
|
enumerable: true,
|
|
610
683
|
get: function() {
|
|
@@ -55,7 +55,15 @@ export declare function intersect(a: Shape3D, b: Shape3D, options: BooleanOption
|
|
|
55
55
|
* Fuse all shapes in a single boolean operation.
|
|
56
56
|
*
|
|
57
57
|
* With `strategy: 'native'` (default), uses N-way BRepAlgoAPI_BuilderAlgo.
|
|
58
|
-
* With `strategy: 'pairwise'`, uses recursive divide-and-conquer
|
|
58
|
+
* With `strategy: 'pairwise'`, uses recursive divide-and-conquer over
|
|
59
|
+
* BRepAlgoAPI_Fuse.
|
|
60
|
+
*
|
|
61
|
+
* `strategy: 'pairwise'` is the workaround for #1126: the native N-way builder
|
|
62
|
+
* can silently corrupt the topology of certain disjoint inputs (e.g. an
|
|
63
|
+
* annular-sector tread fused with a frenet-swept rail) so the result passes all
|
|
64
|
+
* in-memory checks but traps the STEP writer. The pairwise path uses a different
|
|
65
|
+
* OCCT algorithm that is not affected. Tracked upstream at
|
|
66
|
+
* andymai/opencascade.js#3.
|
|
59
67
|
*
|
|
60
68
|
* @param shapes - Array of 3D shapes to fuse (at least one required).
|
|
61
69
|
* @param options - Boolean operation options.
|
package/dist/topology.cjs
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
3
|
-
const require_faceFns = require("./faceFns-
|
|
4
|
-
const require_shapeFns = require("./shapeFns-
|
|
5
|
-
const require_curveFns = require("./curveFns-
|
|
6
|
-
const require_meshFns = require("./meshFns-
|
|
7
|
-
const
|
|
8
|
-
const
|
|
2
|
+
const require_topologyQueryFns = require("./topologyQueryFns-Dzxrwn-E.cjs");
|
|
3
|
+
const require_faceFns = require("./faceFns-p0lyVuyw.cjs");
|
|
4
|
+
const require_shapeFns = require("./shapeFns-D5WNrq3s.cjs");
|
|
5
|
+
const require_curveFns = require("./curveFns-C0oCmjV2.cjs");
|
|
6
|
+
const require_meshFns = require("./meshFns-BawS1xNA.cjs");
|
|
7
|
+
const require_primitiveFns = require("./primitiveFns-JRmXxbRr.cjs");
|
|
8
|
+
const require_healingFns = require("./healingFns-B7dElsC4.cjs");
|
|
9
9
|
exports.addHoles = require_primitiveFns.addHoles;
|
|
10
|
-
exports.adjacentFaces =
|
|
10
|
+
exports.adjacentFaces = require_healingFns.adjacentFaces;
|
|
11
11
|
exports.approximateCurve = require_curveFns.approximateCurve;
|
|
12
12
|
exports.asTopo = require_faceFns.asTopo;
|
|
13
|
-
exports.autoHeal =
|
|
13
|
+
exports.autoHeal = require_healingFns.autoHeal;
|
|
14
14
|
exports.bezier = require_primitiveFns.bezier;
|
|
15
15
|
exports.box = require_primitiveFns.box;
|
|
16
16
|
exports.bsplineApprox = require_primitiveFns.bsplineApprox;
|
|
17
17
|
exports.cast = require_faceFns.cast;
|
|
18
|
-
exports.chamferDistAngleShape =
|
|
19
|
-
exports.chamferWithEvolution =
|
|
20
|
-
exports.checkBoolean =
|
|
18
|
+
exports.chamferDistAngleShape = require_healingFns.chamferDistAngle;
|
|
19
|
+
exports.chamferWithEvolution = require_healingFns.chamferWithEvolution;
|
|
20
|
+
exports.checkBoolean = require_healingFns.checkBoolean;
|
|
21
21
|
exports.circle = require_primitiveFns.circle;
|
|
22
22
|
exports.classifyPointOnFace = require_faceFns.classifyPointOnFace;
|
|
23
23
|
exports.clearMeshCache = require_meshFns.clearMeshCache;
|
|
@@ -33,13 +33,13 @@ exports.curvePeriod = require_curveFns.curvePeriod;
|
|
|
33
33
|
exports.curvePointAt = require_curveFns.curvePointAt;
|
|
34
34
|
exports.curveStartPoint = require_curveFns.curveStartPoint;
|
|
35
35
|
exports.curveTangentAt = require_curveFns.curveTangentAt;
|
|
36
|
-
exports.cutAll =
|
|
37
|
-
exports.cutAllBisect =
|
|
38
|
-
exports.cutWithEvolution =
|
|
36
|
+
exports.cutAll = require_primitiveFns.cutAll;
|
|
37
|
+
exports.cutAllBisect = require_healingFns.cutAllBisect;
|
|
38
|
+
exports.cutWithEvolution = require_healingFns.cutWithEvolution;
|
|
39
39
|
exports.cylinder = require_primitiveFns.cylinder;
|
|
40
40
|
exports.deserializeShape = require_faceFns.fromBREP;
|
|
41
41
|
exports.downcast = require_faceFns.downcast;
|
|
42
|
-
exports.edgesOfFace =
|
|
42
|
+
exports.edgesOfFace = require_healingFns.edgesOfFace;
|
|
43
43
|
exports.ellipse = require_primitiveFns.ellipse;
|
|
44
44
|
exports.ellipseArc = require_primitiveFns.ellipseArc;
|
|
45
45
|
exports.ellipsoid = require_primitiveFns.ellipsoid;
|
|
@@ -51,34 +51,34 @@ exports.faceAxis = require_faceFns.faceAxis;
|
|
|
51
51
|
exports.faceCenter = require_faceFns.faceCenter;
|
|
52
52
|
exports.faceGeomType = require_faceFns.faceGeomType;
|
|
53
53
|
exports.faceOrientation = require_faceFns.faceOrientation;
|
|
54
|
-
exports.facesOfEdge =
|
|
54
|
+
exports.facesOfEdge = require_healingFns.facesOfEdge;
|
|
55
55
|
exports.filledFace = require_primitiveFns.filledFace;
|
|
56
|
-
exports.filletWithEvolution =
|
|
57
|
-
exports.fixSelfIntersection =
|
|
58
|
-
exports.fixShape =
|
|
56
|
+
exports.filletWithEvolution = require_healingFns.filletWithEvolution;
|
|
57
|
+
exports.fixSelfIntersection = require_healingFns.fixSelfIntersection;
|
|
58
|
+
exports.fixShape = require_healingFns.fixShape;
|
|
59
59
|
exports.flipFaceOrientation = require_faceFns.flipFaceOrientation;
|
|
60
60
|
exports.flipOrientation = require_curveFns.flipOrientation;
|
|
61
|
-
exports.fuseAll =
|
|
62
|
-
exports.fuseAllBisect =
|
|
63
|
-
exports.fuseWithEvolution =
|
|
61
|
+
exports.fuseAll = require_primitiveFns.fuseAll;
|
|
62
|
+
exports.fuseAllBisect = require_healingFns.fuseAllBisect;
|
|
63
|
+
exports.fuseWithEvolution = require_healingFns.fuseWithEvolution;
|
|
64
64
|
exports.getBounds = require_topologyQueryFns.getBounds;
|
|
65
65
|
exports.getCurveType = require_curveFns.getCurveType;
|
|
66
66
|
exports.getEdges = require_topologyQueryFns.getEdges;
|
|
67
67
|
exports.getFaces = require_topologyQueryFns.getFaces;
|
|
68
68
|
exports.getHashCode = require_shapeFns.getHashCode;
|
|
69
|
-
exports.getNurbsCurveData =
|
|
70
|
-
exports.getNurbsSurfaceData =
|
|
69
|
+
exports.getNurbsCurveData = require_healingFns.getNurbsCurveData;
|
|
70
|
+
exports.getNurbsSurfaceData = require_healingFns.getNurbsSurfaceData;
|
|
71
71
|
exports.getOrientation = require_curveFns.getOrientation;
|
|
72
72
|
exports.getSurfaceType = require_faceFns.getSurfaceType;
|
|
73
73
|
exports.getVertices = require_topologyQueryFns.getVertices;
|
|
74
74
|
exports.getWires = require_topologyQueryFns.getWires;
|
|
75
|
-
exports.healFace =
|
|
76
|
-
exports.healSolid =
|
|
77
|
-
exports.healWire =
|
|
75
|
+
exports.healFace = require_healingFns.healFace;
|
|
76
|
+
exports.healSolid = require_healingFns.healSolid;
|
|
77
|
+
exports.healWire = require_healingFns.healWire;
|
|
78
78
|
exports.helix = require_primitiveFns.helix;
|
|
79
79
|
exports.innerWires = require_faceFns.innerWires;
|
|
80
80
|
exports.interpolateCurve = require_curveFns.interpolateCurve;
|
|
81
|
-
exports.intersectWithEvolution =
|
|
81
|
+
exports.intersectWithEvolution = require_healingFns.intersectWithEvolution;
|
|
82
82
|
exports.invalidateShapeCache = require_topologyQueryFns.invalidateShapeCache;
|
|
83
83
|
exports.isCompSolid = require_faceFns.isCompSolid;
|
|
84
84
|
exports.isEqualShape = require_shapeFns.isEqualShape;
|
|
@@ -95,28 +95,28 @@ exports.offsetWire2D = require_curveFns.offsetWire2D;
|
|
|
95
95
|
exports.outerWire = require_faceFns.outerWire;
|
|
96
96
|
exports.pointOnSurface = require_faceFns.pointOnSurface;
|
|
97
97
|
exports.polygon = require_primitiveFns.polygon;
|
|
98
|
-
exports.positionOnCurve =
|
|
98
|
+
exports.positionOnCurve = require_healingFns.positionOnCurve;
|
|
99
99
|
exports.projectPointOnFace = require_faceFns.projectPointOnFace;
|
|
100
100
|
exports.sewShells = require_primitiveFns.sewShells;
|
|
101
101
|
exports.shapeType = require_faceFns.shapeType;
|
|
102
|
-
exports.sharedEdges =
|
|
103
|
-
exports.shellWithEvolution =
|
|
102
|
+
exports.sharedEdges = require_healingFns.sharedEdges;
|
|
103
|
+
exports.shellWithEvolution = require_healingFns.shellWithEvolution;
|
|
104
104
|
exports.solid = require_primitiveFns.solid;
|
|
105
|
-
exports.solidFromShell =
|
|
105
|
+
exports.solidFromShell = require_healingFns.solidFromShell;
|
|
106
106
|
exports.sphere = require_primitiveFns.sphere;
|
|
107
107
|
exports.subFace = require_primitiveFns.subFace;
|
|
108
108
|
exports.tangentArc = require_primitiveFns.tangentArc;
|
|
109
109
|
exports.threePointArc = require_primitiveFns.threePointArc;
|
|
110
|
-
exports.toBufferGeometryData =
|
|
111
|
-
exports.toGroupedBufferGeometryData =
|
|
112
|
-
exports.toLineGeometryData =
|
|
110
|
+
exports.toBufferGeometryData = require_healingFns.toBufferGeometryData;
|
|
111
|
+
exports.toGroupedBufferGeometryData = require_healingFns.toGroupedBufferGeometryData;
|
|
112
|
+
exports.toLineGeometryData = require_healingFns.toLineGeometryData;
|
|
113
113
|
exports.torus = require_primitiveFns.torus;
|
|
114
114
|
exports.uvBounds = require_faceFns.uvBounds;
|
|
115
115
|
exports.uvCoordinates = require_faceFns.uvCoordinates;
|
|
116
|
-
exports.variableFillet =
|
|
116
|
+
exports.variableFillet = require_healingFns.variableFillet;
|
|
117
117
|
exports.vertex = require_primitiveFns.vertex;
|
|
118
118
|
exports.vertexPosition = require_topologyQueryFns.vertexPosition;
|
|
119
|
-
exports.verticesOfEdge =
|
|
119
|
+
exports.verticesOfEdge = require_healingFns.verticesOfEdge;
|
|
120
120
|
exports.wire = require_primitiveFns.wire;
|
|
121
121
|
exports.wireLoop = require_primitiveFns.wireLoop;
|
|
122
|
-
exports.wiresOfFace =
|
|
122
|
+
exports.wiresOfFace = require_healingFns.wiresOfFace;
|
package/dist/topology.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { S as vertexPosition, _ as iterFaces, b as iterVertices, c as getFaces, f as getVertices, g as iterEdges, m as invalidateShapeCache, n as getBounds, p as getWires, s as getEdges, x as iterWires } from "./topologyQueryFns-
|
|
2
|
-
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, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, v as downcast, x as iterTopo, y as fromBREP } from "./faceFns-
|
|
3
|
-
import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-
|
|
4
|
-
import { a as curveIsPeriodic, c as curvePointAt, d as flipOrientation, f as getCurveType, h as offsetWire2D, i as curveIsClosed, l as curveStartPoint, m as interpolateCurve, n as curveAxis, o as curveLength, p as getOrientation, r as curveEndPoint, s as curvePeriod, t as approximateCurve, u as curveTangentAt } from "./curveFns-
|
|
5
|
-
import { c as createMeshCache, n as exportSTEP, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
1
|
+
import { S as vertexPosition, _ as iterFaces, b as iterVertices, c as getFaces, f as getVertices, g as iterEdges, m as invalidateShapeCache, n as getBounds, p as getWires, s as getEdges, x as iterWires } from "./topologyQueryFns-BomrmBie.js";
|
|
2
|
+
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, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, v as downcast, x as iterTopo, y as fromBREP } from "./faceFns-BJ2hzXJp.js";
|
|
3
|
+
import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-DZ6poxP7.js";
|
|
4
|
+
import { a as curveIsPeriodic, c as curvePointAt, d as flipOrientation, f as getCurveType, h as offsetWire2D, i as curveIsClosed, l as curveStartPoint, m as interpolateCurve, n as curveAxis, o as curveLength, p as getOrientation, r as curveEndPoint, s as curvePeriod, t as approximateCurve, u as curveTangentAt } from "./curveFns-B4KEYU1M.js";
|
|
5
|
+
import { c as createMeshCache, n as exportSTEP, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-CuYzpojl.js";
|
|
6
|
+
import { A as cutAll, C as threePointArc, D as wireLoop, E as wire, M as fuseAll, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-BxH5omw3.js";
|
|
7
|
+
import { A as edgesOfFace, C as shellWithEvolution, D as getNurbsCurveData, E as fuseAllBisect, F as chamferDistAngle, I as toBufferGeometryData, L as toGroupedBufferGeometryData, M as sharedEdges, N as verticesOfEdge, O as getNurbsSurfaceData, P as wiresOfFace, S as intersectWithEvolution, T as cutAllBisect, _ as positionOnCurve, a as healFace, b as filletWithEvolution, g as variableFillet, j as facesOfEdge, k as adjacentFaces, l as solidFromShell, n as fixSelfIntersection, o as healSolid, r as fixShape, s as healWire, t as autoHeal, v as chamferWithEvolution, w as checkBoolean, x as fuseWithEvolution, y as cutWithEvolution, z as toLineGeometryData } from "./healingFns-DS_nK9KF.js";
|
|
8
8
|
export { addHoles, adjacentFaces, approximateCurve, asTopo, autoHeal, bezier, box, bsplineApprox, cast, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkBoolean, circle, classifyPointOnFace, clearMeshCache, compound, cone, createMeshCache, curveAxis, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cutAll, cutAllBisect, cutWithEvolution, cylinder, fromBREP as deserializeShape, downcast, edgesOfFace, ellipse, ellipseArc, ellipsoid, exportIGES, exportSTEP, exportSTL, face, faceAxis, faceCenter, faceGeomType, faceOrientation, facesOfEdge, filledFace, filletWithEvolution, fixSelfIntersection, fixShape, flipFaceOrientation, flipOrientation, fuseAll, fuseAllBisect, fuseWithEvolution, getBounds, getCurveType, getEdges, getFaces, getHashCode, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getSurfaceType, getVertices, getWires, healFace, healSolid, healWire, helix, innerWires, interpolateCurve, intersectWithEvolution, invalidateShapeCache, isCompSolid, isEqualShape, isSameShape, iterEdges, iterFaces, iterTopo, iterVertices, iterWires, line, normalAt, offsetFace, offsetWire2D, outerWire, pointOnSurface, polygon, positionOnCurve, projectPointOnFace, sewShells, shapeType, sharedEdges, shellWithEvolution, solid, solidFromShell, sphere, subFace, tangentArc, threePointArc, toBufferGeometryData, toGroupedBufferGeometryData, toLineGeometryData, torus, uvBounds, uvCoordinates, variableFillet, vertex, vertexPosition, verticesOfEdge, wire, wireLoop, wiresOfFace };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { N as getOrQueryType, R as DisposalScope, Y as _usingCtx, Z as getKernel, r as castShapeWithKnownType, t as castShape } from "./shapeTypes-
|
|
1
|
+
import { N as getOrQueryType, R as DisposalScope, Y as _usingCtx, Z as getKernel, r as castShapeWithKnownType, t as castShape } from "./shapeTypes-CyTY0prh.js";
|
|
2
2
|
import { A as ok, b as err, f as getSuggestionForCode, p as translateKernelError } from "./errors-DNWJsfVU.js";
|
|
3
3
|
//#region src/core/kernelCall.ts
|
|
4
4
|
function buildError(kind, code, message, cause, suggestion) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-CxSqNvHA.cjs");
|
|
2
2
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
3
3
|
//#region src/core/kernelCall.ts
|
|
4
4
|
function buildError(kind, code, message, cause, suggestion) {
|