brepjs 18.119.2 → 18.119.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/2d/lib/curve2D.d.ts +6 -1
- package/dist/2d/lib/curve2dFns.d.ts +6 -1
- package/dist/2d.cjs +7 -7
- package/dist/2d.js +7 -7
- package/dist/{adjacencyFns-BdM5p58J.js → adjacencyFns-DLityMyV.js} +2 -2
- package/dist/{adjacencyFns-Brrc7jlS.cjs → adjacencyFns-DSxuQYnb.cjs} +2 -2
- package/dist/{blueprint-DTNT4qYJ.cjs → blueprint-BGcBMy3b.cjs} +39 -9
- package/dist/{blueprint-DJJo8WkI.js → blueprint-CAG6jseD.js} +33 -9
- package/dist/{blueprintFns-CcpboZ80.js → blueprintFns-B4C3zH7N.js} +9 -4
- package/dist/{blueprintFns-2XDZfCxX.cjs → blueprintFns-CnoqynzI.cjs} +9 -4
- package/dist/{blueprintSketcher-C0EXFVb2.cjs → blueprintSketcher-BNz6f36D.cjs} +166 -61
- package/dist/{blueprintSketcher-DDPyypmC.js → blueprintSketcher-CKKxvxB-.js} +159 -54
- package/dist/{boolean2D-Ddfo_dd0.cjs → boolean2D-B-0xobBP.cjs} +5 -5
- package/dist/{boolean2D-C_PVz8xT.js → boolean2D-C_1gMcZ6.js} +5 -5
- package/dist/brepjs.cjs +105 -92
- package/dist/brepjs.js +39 -27
- package/dist/{cameraFns-Czr5vABD.cjs → cameraFns-2-haLzLi.cjs} +4 -4
- package/dist/{cameraFns-D9tdBYLM.js → cameraFns-CG_J66Hl.js} +4 -4
- package/dist/core.cjs +12 -11
- package/dist/core.js +4 -3
- package/dist/{cornerFinder-Cqg-Dz74.js → cornerFinder-CPFM7bA0.js} +1 -1
- package/dist/{cornerFinder-DETRDOMz.cjs → cornerFinder-mfsUMi5g.cjs} +1 -1
- package/dist/{curveFns-RENXKp64.js → curveFns-DX13KRh2.js} +2 -2
- package/dist/{curveFns-D7utcbnf.cjs → curveFns-GmFnqNo3.cjs} +2 -2
- package/dist/{drawFns-D9Rf4foW.cjs → drawFns-B14M5M68.cjs} +14 -14
- package/dist/{drawFns-B9HbtAoc.js → drawFns-BShGVVXW.js} +14 -14
- package/dist/{errors-B3CDG537.js → errors-MHLiNE-C.js} +1 -92
- package/dist/{errors-CJU8CHng.cjs → errors-RHkKO5bZ.cjs} +0 -103
- package/dist/{faceFns-CPswi9Cm.cjs → faceFns-BK4r7Dxk.cjs} +3 -3
- package/dist/{faceFns-CB6uzvOg.js → faceFns-DJj9Nb6T.js} +3 -3
- package/dist/{healingFns-BFTYLiAm.js → healingFns-DxcRyVCG.js} +5 -6
- package/dist/{healingFns-bhMxTTqw.cjs → healingFns-Hx4oTlq8.cjs} +27 -28
- package/dist/{helpers-Cu4ag5bh.cjs → helpers-BfkBvokP.cjs} +8 -24
- package/dist/{helpers-BiN4qQZP.js → helpers-Du_OdHuy.js} +9 -25
- package/dist/{importFns-X8vBhZI2.js → importFns-BHs19muu.js} +3 -3
- package/dist/{importFns-DS4J1xLv.cjs → importFns-GySbuvVv.cjs} +3 -3
- package/dist/io.cjs +2 -2
- package/dist/io.js +2 -2
- package/dist/{loftFns-ChHjzUK-.cjs → loftFns-BdpZ8FMN.cjs} +2 -125
- package/dist/{loftFns-BF5X7ltI.js → loftFns-BeGJ6dxx.js} +4 -109
- package/dist/{measureFns-B5Zzg1qM.cjs → measureFns-CJGrmhHT.cjs} +4 -4
- package/dist/{measureFns-CC7HhAH3.js → measureFns-CMnbcUZC.js} +4 -4
- package/dist/measurement.cjs +1 -1
- package/dist/measurement.js +1 -1
- package/dist/{meshFns-D57Fyqyf.js → meshFns-Cs5EBsf7.js} +4 -4
- package/dist/{meshFns-CaXmWmhe.cjs → meshFns-Dqf5QBhQ.cjs} +5 -5
- package/dist/operations.cjs +2 -2
- package/dist/operations.js +2 -2
- package/dist/originTrackingFns-DZmdiQ-O.js +203 -0
- package/dist/originTrackingFns-fpEgTIwV.cjs +226 -0
- package/dist/{planeOps-Cp6GQ23-.js → planeOps-CQahLrCx.js} +1 -1
- package/dist/{planeOps-Cr25KWWA.cjs → planeOps-VlFxtvzY.cjs} +1 -1
- package/dist/primitiveFns-B_rflH83.cjs +773 -0
- package/dist/primitiveFns-Cxo3xDKY.js +558 -0
- 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/{refResolveFns-3bw9-U-e.js → refResolveFns-BbRLD8LA.js} +6 -6
- package/dist/{refResolveFns-BxmgIhQM.cjs → refResolveFns-CVDLwh12.cjs} +6 -6
- package/dist/result.cjs +1 -1
- package/dist/result.js +1 -1
- package/dist/rolldown-runtime-DakpK96I.cjs +43 -0
- package/dist/shapeFns-BTFx-os7.js +43 -0
- package/dist/shapeFns-D_5TgiUi.cjs +84 -0
- package/dist/shapeRef.cjs +1 -1
- package/dist/shapeRef.js +1 -1
- package/dist/{shapeTypes-Bpsu5KJO.cjs → shapeTypes-CkcIL7zv.cjs} +1 -222
- package/dist/{shapeTypes-CnKFSfDT.js → shapeTypes-t49f64Dx.js} +2 -139
- package/dist/sketching.cjs +3 -3
- package/dist/sketching.js +3 -3
- package/dist/{solidBuilders-I8_V8qqU.js → solidBuilders-DTgqQC3W.js} +310 -8
- package/dist/{solidBuilders-Bp7lQW62.cjs → solidBuilders-IiIzjKAr.cjs} +401 -15
- package/dist/{surfaceBuilders-D8_08oOR.cjs → surfaceBuilders-Biqx51el.cjs} +6 -5
- package/dist/{surfaceBuilders-BNR7yMQO.js → surfaceBuilders-BryY-i0F.js} +4 -3
- package/dist/text.cjs +2 -2
- package/dist/text.js +2 -2
- package/dist/{textBlueprints-B5zcLGvJ.cjs → textBlueprints-8EcWreab.cjs} +138 -51
- package/dist/{textBlueprints-igbNvKcd.js → textBlueprints-rA1HT6j1.js} +116 -11
- package/dist/{textMetrics-CJvtpbc3.js → textMetrics-Bcbso1Ns.js} +2 -2
- package/dist/{textMetrics-08fF0QNf.cjs → textMetrics-GPBu9JKi.cjs} +2 -2
- package/dist/{threadFns-CqSMNyTZ.js → threadFns-BOtXTHZ9.js} +8 -8
- package/dist/{threadFns-Co6vWEWx.cjs → threadFns-DRrk9Qod.cjs} +8 -8
- package/dist/topology.cjs +9 -9
- package/dist/topology.js +9 -9
- package/dist/{topologyQueryFns-C3fhJndG.cjs → topologyQueryFns-Bia7o8l_.cjs} +97 -6
- package/dist/{topologyQueryFns-DNqT88yx.js → topologyQueryFns-BkQ6Q7gN.js} +93 -2
- package/dist/validityTypes-DiTgeCD9.js +129 -0
- package/dist/validityTypes-ZGMVlv7b.cjs +200 -0
- package/dist/vectors.cjs +1 -1
- package/dist/vectors.js +1 -1
- package/package.json +8 -8
- package/dist/primitiveFns-CRy_CUVg.cjs +0 -492
- package/dist/primitiveFns-DCIH-SBm.js +0 -331
- package/dist/shapeFns-BrHFNLMA.js +0 -771
- package/dist/shapeFns-qm9VRo4i.cjs +0 -962
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { a as getCachedSurfaceType } from "./topologyQueryFns-
|
|
1
|
+
import { K as getKernel, i as castShape } from "./shapeTypes-t49f64Dx.js";
|
|
2
|
+
import { E as ok, P as unwrap, g as err, l as typeCastError } from "./errors-MHLiNE-C.js";
|
|
3
|
+
import { a as getCachedSurfaceType } from "./topologyQueryFns-BkQ6Q7gN.js";
|
|
4
4
|
import { r as toVec3 } from "./types-D24Y27N0.js";
|
|
5
5
|
//#region src/topology/cast.ts
|
|
6
6
|
var TOPO_ENUM = {
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { C as isSolid,
|
|
2
|
-
import {
|
|
3
|
-
import { c as getFaces, i as getCachedIsValid, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-
|
|
1
|
+
import { C as isSolid, E as getShapeKind, K as getKernel, T as isWire, h as disposeResultShape, i as castShape, m as disposeDowncastSource, n as castResultShape, x as isShape3D, y as isFace } from "./shapeTypes-t49f64Dx.js";
|
|
2
|
+
import { E as ok, b as isErr, d as validationError, g as err, i as kernelError, l as typeCastError, t as BrepErrorCode, x as isOk } from "./errors-MHLiNE-C.js";
|
|
3
|
+
import { c as getFaces, i as getCachedIsValid, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-BkQ6Q7gN.js";
|
|
4
4
|
import { n as HASH_CODE_MAX } from "./constants-ITRzCnCp.js";
|
|
5
|
-
import { y as downcast } from "./faceFns-
|
|
6
|
-
import {
|
|
5
|
+
import { y as downcast } from "./faceFns-DJj9Nb6T.js";
|
|
6
|
+
import { C as propagateAllMetadata, f as cut, h as fuseAll, m as fuse, p as cutAll, x as collectInputFaceHashes } from "./solidBuilders-DTgqQC3W.js";
|
|
7
7
|
import { t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
8
|
-
import { f as cut, h as fuseAll, m as fuse, p as cutAll } from "./solidBuilders-I8_V8qqU.js";
|
|
9
8
|
//#region src/topology/threeHelpers.ts
|
|
10
9
|
/**
|
|
11
10
|
* Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
2
|
-
const require_errors = require("./errors-
|
|
3
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-CkcIL7zv.cjs");
|
|
2
|
+
const require_errors = require("./errors-RHkKO5bZ.cjs");
|
|
3
|
+
const require_topologyQueryFns = require("./topologyQueryFns-Bia7o8l_.cjs");
|
|
4
4
|
const require_constants = require("./constants-BOVyEYGH.cjs");
|
|
5
|
-
const require_faceFns = require("./faceFns-
|
|
6
|
-
const
|
|
5
|
+
const require_faceFns = require("./faceFns-BK4r7Dxk.cjs");
|
|
6
|
+
const require_solidBuilders = require("./solidBuilders-IiIzjKAr.cjs");
|
|
7
7
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
8
|
-
const require_solidBuilders = require("./solidBuilders-Bp7lQW62.cjs");
|
|
9
8
|
//#region src/topology/threeHelpers.ts
|
|
10
9
|
/**
|
|
11
10
|
* Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
|
|
@@ -376,7 +375,7 @@ function fuseWithEvolution(a, b, { optimisation = "none", simplify = false, sign
|
|
|
376
375
|
if (require_errors.isErr(checkA)) return checkA;
|
|
377
376
|
const checkB = validateShape3D(b, "fuseWithEvolution: second operand");
|
|
378
377
|
if (require_errors.isErr(checkB)) return checkB;
|
|
379
|
-
const inputFaceHashes =
|
|
378
|
+
const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([a, b]);
|
|
380
379
|
const { shape: resultShape, evolution } = require_shapeTypes.getKernel().fuseWithHistory(a.wrapped, b.wrapped, inputFaceHashes, require_constants.HASH_CODE_MAX, {
|
|
381
380
|
optimisation,
|
|
382
381
|
simplify,
|
|
@@ -384,7 +383,7 @@ function fuseWithEvolution(a, b, { optimisation = "none", simplify = false, sign
|
|
|
384
383
|
});
|
|
385
384
|
const fuseResult = castToShape3D(resultShape, "FUSE_NOT_3D", "Fuse did not produce a 3D shape", "Common causes: overlapping coplanar faces, zero-thickness geometry, or non-manifold input. Try autoHeal() on inputs first.");
|
|
386
385
|
if (fuseResult.ok) {
|
|
387
|
-
|
|
386
|
+
require_solidBuilders.propagateAllMetadata(evolution, [a, b], fuseResult.value);
|
|
388
387
|
return require_errors.ok({
|
|
389
388
|
shape: fuseResult.value,
|
|
390
389
|
evolution
|
|
@@ -398,7 +397,7 @@ function cutWithEvolution(base, tool, { optimisation = "none", simplify = false,
|
|
|
398
397
|
if (require_errors.isErr(checkBase)) return checkBase;
|
|
399
398
|
const checkTool = validateShape3D(tool, "cutWithEvolution: tool");
|
|
400
399
|
if (require_errors.isErr(checkTool)) return checkTool;
|
|
401
|
-
const inputFaceHashes =
|
|
400
|
+
const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([base, tool]);
|
|
402
401
|
const { shape: resultShape, evolution } = require_shapeTypes.getKernel().cutWithHistory(base.wrapped, tool.wrapped, inputFaceHashes, require_constants.HASH_CODE_MAX, {
|
|
403
402
|
optimisation,
|
|
404
403
|
simplify,
|
|
@@ -406,7 +405,7 @@ function cutWithEvolution(base, tool, { optimisation = "none", simplify = false,
|
|
|
406
405
|
});
|
|
407
406
|
const cutResult = castToShape3D(resultShape, "CUT_NOT_3D", "Cut did not produce a 3D shape", "Common causes: tool does not fully intersect the base, or produces a zero-thickness sliver. Ensure the tool extends through the shape.");
|
|
408
407
|
if (cutResult.ok) {
|
|
409
|
-
|
|
408
|
+
require_solidBuilders.propagateAllMetadata(evolution, [base, tool], cutResult.value);
|
|
410
409
|
return require_errors.ok({
|
|
411
410
|
shape: cutResult.value,
|
|
412
411
|
evolution
|
|
@@ -420,14 +419,14 @@ function intersectWithEvolution(a, b, { simplify = false, signal, fuzzyValue } =
|
|
|
420
419
|
if (require_errors.isErr(checkA)) return checkA;
|
|
421
420
|
const checkB = validateShape3D(b, "intersectWithEvolution: second operand");
|
|
422
421
|
if (require_errors.isErr(checkB)) return checkB;
|
|
423
|
-
const inputFaceHashes =
|
|
422
|
+
const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([a, b]);
|
|
424
423
|
const { shape: resultShape, evolution } = require_shapeTypes.getKernel().intersectWithHistory(a.wrapped, b.wrapped, inputFaceHashes, require_constants.HASH_CODE_MAX, {
|
|
425
424
|
simplify,
|
|
426
425
|
fuzzyValue
|
|
427
426
|
});
|
|
428
427
|
const intResult = castToShape3D(resultShape, "INTERSECT_NOT_3D", "Intersect did not produce a 3D shape", "Shapes may not overlap. Verify they share a common volume before intersecting.");
|
|
429
428
|
if (intResult.ok) {
|
|
430
|
-
|
|
429
|
+
require_solidBuilders.propagateAllMetadata(evolution, [a, b], intResult.value);
|
|
431
430
|
return require_errors.ok({
|
|
432
431
|
shape: intResult.value,
|
|
433
432
|
evolution
|
|
@@ -462,14 +461,14 @@ function filletWithEvolution(shape, edges, radius) {
|
|
|
462
461
|
filteredEdges = [...selectedEdges];
|
|
463
462
|
kernelRadius = radius;
|
|
464
463
|
}
|
|
465
|
-
const inputFaceHashes =
|
|
464
|
+
const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([shape]);
|
|
466
465
|
const { shape: resultShape, evolution } = require_shapeTypes.getKernel().filletWithHistory(shape.wrapped, filteredEdges.map((e) => e.wrapped), kernelRadius, inputFaceHashes, require_constants.HASH_CODE_MAX);
|
|
467
466
|
const cast = require_shapeTypes.castResultShape(resultShape);
|
|
468
467
|
if (!require_shapeTypes.isShape3D(cast)) {
|
|
469
468
|
require_shapeTypes.disposeResultShape(cast);
|
|
470
469
|
return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.FILLET_NOT_3D, "Fillet result is not a 3D shape"));
|
|
471
470
|
}
|
|
472
|
-
|
|
471
|
+
require_solidBuilders.propagateAllMetadata(evolution, [shape], cast);
|
|
473
472
|
return require_errors.ok({
|
|
474
473
|
shape: cast,
|
|
475
474
|
evolution
|
|
@@ -509,14 +508,14 @@ function chamferWithEvolution(shape, edges, distance) {
|
|
|
509
508
|
filteredEdges = [...selectedEdges];
|
|
510
509
|
kernelDistance = distance;
|
|
511
510
|
}
|
|
512
|
-
const inputFaceHashes =
|
|
511
|
+
const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([shape]);
|
|
513
512
|
const { shape: resultShape, evolution } = require_shapeTypes.getKernel().chamferWithHistory(shape.wrapped, filteredEdges.map((e) => e.wrapped), kernelDistance, inputFaceHashes, require_constants.HASH_CODE_MAX);
|
|
514
513
|
const cast = require_shapeTypes.castResultShape(resultShape);
|
|
515
514
|
if (!require_shapeTypes.isShape3D(cast)) {
|
|
516
515
|
require_shapeTypes.disposeResultShape(cast);
|
|
517
516
|
return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.CHAMFER_NOT_3D, "Chamfer result is not a 3D shape"));
|
|
518
517
|
}
|
|
519
|
-
|
|
518
|
+
require_solidBuilders.propagateAllMetadata(evolution, [shape], cast);
|
|
520
519
|
return require_errors.ok({
|
|
521
520
|
shape: cast,
|
|
522
521
|
evolution
|
|
@@ -544,14 +543,14 @@ function shellWithEvolution(shape, faces, thickness, tolerance = .001) {
|
|
|
544
543
|
if (thickness <= 0) return require_errors.err(require_errors.validationError("INVALID_THICKNESS", "Shell thickness must be positive"));
|
|
545
544
|
if (faces.length === 0) return require_errors.err(require_errors.validationError("NO_FACES", "At least one face must be specified for shell"));
|
|
546
545
|
try {
|
|
547
|
-
const inputFaceHashes =
|
|
546
|
+
const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([shape]);
|
|
548
547
|
const { shape: resultShape, evolution } = require_shapeTypes.getKernel().shellWithHistory(shape.wrapped, faces.map((f) => f.wrapped), thickness, inputFaceHashes, require_constants.HASH_CODE_MAX, tolerance);
|
|
549
548
|
const cast = require_shapeTypes.castResultShape(resultShape);
|
|
550
549
|
if (!require_shapeTypes.isShape3D(cast)) {
|
|
551
550
|
require_shapeTypes.disposeResultShape(cast);
|
|
552
551
|
return require_errors.err(require_errors.kernelError("SHELL_RESULT_NOT_3D", "Shell result is not a 3D shape"));
|
|
553
552
|
}
|
|
554
|
-
|
|
553
|
+
require_solidBuilders.propagateAllMetadata(evolution, [shape], cast);
|
|
555
554
|
return require_errors.ok({
|
|
556
555
|
shape: cast,
|
|
557
556
|
evolution
|
|
@@ -650,7 +649,7 @@ function finalizeShape3D(evolution, resultShape, inputs, not3dCode, not3dMessage
|
|
|
650
649
|
require_shapeTypes.disposeResultShape(cast);
|
|
651
650
|
return require_errors.err(require_errors.kernelError(not3dCode, not3dMessage));
|
|
652
651
|
}
|
|
653
|
-
|
|
652
|
+
require_solidBuilders.propagateAllMetadata(evolution, inputs, cast);
|
|
654
653
|
return require_errors.ok(cast);
|
|
655
654
|
}
|
|
656
655
|
/**
|
|
@@ -691,10 +690,10 @@ function thicken(shape, thickness) {
|
|
|
691
690
|
const check = validateNotNull(shape, "thicken: shape");
|
|
692
691
|
if (require_errors.isErr(check)) return check;
|
|
693
692
|
try {
|
|
694
|
-
const inputFaceHashes =
|
|
693
|
+
const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([shape]);
|
|
695
694
|
const { shape: resultShape, evolution } = require_shapeTypes.getKernel().thickenWithHistory(shape.wrapped, thickness, inputFaceHashes, require_constants.HASH_CODE_MAX);
|
|
696
695
|
const cast = require_shapeTypes.castResultShape(resultShape);
|
|
697
|
-
|
|
696
|
+
require_solidBuilders.propagateAllMetadata(evolution, [shape], cast);
|
|
698
697
|
return require_errors.ok(cast);
|
|
699
698
|
} catch (e) {
|
|
700
699
|
return require_errors.err(require_errors.kernelError("THICKEN_FAILED", `Thicken operation failed: ${e instanceof Error ? e.message : String(e)}`, e));
|
|
@@ -753,7 +752,7 @@ function fillet(shape, edges, radius, { trackEvolution = true } = {}) {
|
|
|
753
752
|
}
|
|
754
753
|
return require_errors.ok(cast);
|
|
755
754
|
}
|
|
756
|
-
const inputFaceHashes =
|
|
755
|
+
const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([shape]);
|
|
757
756
|
const { shape: resultShape, evolution } = require_shapeTypes.getKernel().filletWithHistory(shape.wrapped, edgeShapes, kernelRadius, inputFaceHashes, require_constants.HASH_CODE_MAX);
|
|
758
757
|
return finalizeShape3D(evolution, resultShape, [shape], require_errors.BrepErrorCode.FILLET_NOT_3D, "Fillet result is not a 3D shape");
|
|
759
758
|
} catch (e) {
|
|
@@ -796,7 +795,7 @@ function chamfer(shape, edges, distance) {
|
|
|
796
795
|
filteredEdges = [...selectedEdges];
|
|
797
796
|
kernelDistance = distance;
|
|
798
797
|
}
|
|
799
|
-
const inputFaceHashes =
|
|
798
|
+
const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([shape]);
|
|
800
799
|
const { shape: resultShape, evolution } = require_shapeTypes.getKernel().chamferWithHistory(shape.wrapped, filteredEdges.map((e) => e.wrapped), kernelDistance, inputFaceHashes, require_constants.HASH_CODE_MAX);
|
|
801
800
|
return finalizeShape3D(evolution, resultShape, [shape], require_errors.BrepErrorCode.CHAMFER_NOT_3D, "Chamfer result is not a 3D shape");
|
|
802
801
|
} catch (e) {
|
|
@@ -829,14 +828,14 @@ function shell(shape, faces, thickness, tolerance = .001, { trackEvolution = tru
|
|
|
829
828
|
}
|
|
830
829
|
return require_errors.ok(cast);
|
|
831
830
|
}
|
|
832
|
-
const inputFaceHashes =
|
|
831
|
+
const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([shape]);
|
|
833
832
|
const { shape: resultShape, evolution } = require_shapeTypes.getKernel().shellWithHistory(shape.wrapped, faces.map((f) => f.wrapped), thickness, inputFaceHashes, require_constants.HASH_CODE_MAX, tolerance);
|
|
834
833
|
const cast = require_shapeTypes.castResultShape(resultShape);
|
|
835
834
|
if (!require_shapeTypes.isShape3D(cast)) {
|
|
836
835
|
require_shapeTypes.disposeResultShape(cast);
|
|
837
836
|
return require_errors.err(require_errors.kernelError("SHELL_RESULT_NOT_3D", "Shell result is not a 3D shape"));
|
|
838
837
|
}
|
|
839
|
-
|
|
838
|
+
require_solidBuilders.propagateAllMetadata(evolution, [shape], cast);
|
|
840
839
|
return require_errors.ok(cast);
|
|
841
840
|
} catch (e) {
|
|
842
841
|
return require_errors.err(require_errors.kernelError("SHELL_FAILED", `Shell operation failed: ${e instanceof Error ? e.message : String(e)}`, e, {
|
|
@@ -858,14 +857,14 @@ function offset(shape, distance, tolerance = 1e-6) {
|
|
|
858
857
|
if (require_errors.isErr(check)) return check;
|
|
859
858
|
if (Math.abs(distance) < 1e-10) return require_errors.err(require_errors.validationError("ZERO_OFFSET", "Offset distance cannot be zero"));
|
|
860
859
|
try {
|
|
861
|
-
const inputFaceHashes =
|
|
860
|
+
const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([shape]);
|
|
862
861
|
const { shape: resultShape, evolution } = require_shapeTypes.getKernel().offsetWithHistory(shape.wrapped, distance, inputFaceHashes, require_constants.HASH_CODE_MAX, tolerance);
|
|
863
862
|
const cast = require_shapeTypes.castResultShape(resultShape);
|
|
864
863
|
if (!require_shapeTypes.isShape3D(cast)) {
|
|
865
864
|
require_shapeTypes.disposeResultShape(cast);
|
|
866
865
|
return require_errors.err(require_errors.kernelError("OFFSET_RESULT_NOT_3D", "Offset result is not a 3D shape"));
|
|
867
866
|
}
|
|
868
|
-
|
|
867
|
+
require_solidBuilders.propagateAllMetadata(evolution, [shape], cast);
|
|
869
868
|
return require_errors.ok(cast);
|
|
870
869
|
} catch (e) {
|
|
871
870
|
return require_errors.err(require_errors.kernelError("OFFSET_FAILED", `Offset operation failed: ${e instanceof Error ? e.message : String(e)}`, e));
|
|
@@ -903,7 +902,7 @@ function draft(shape, faces, pullDirection, neutralPlane, angle) {
|
|
|
903
902
|
try {
|
|
904
903
|
const { filteredFaces, kernelAngle } = resolveDraftCallback(faces, angle);
|
|
905
904
|
if (filteredFaces.length === 0) return require_errors.err(require_errors.validationError(require_errors.BrepErrorCode.DRAFT_NO_FACES, "No faces with valid draft angle", void 0, void 0, "Check that the angle callback returns non-zero values between -90 and 90 degrees"));
|
|
906
|
-
const inputFaceHashes =
|
|
905
|
+
const inputFaceHashes = require_solidBuilders.collectInputFaceHashes([shape]);
|
|
907
906
|
const { shape: resultShape, evolution } = require_shapeTypes.getKernel().draftWithHistory(shape.wrapped, filteredFaces.map((f) => f.wrapped), [
|
|
908
907
|
pullDirection[0],
|
|
909
908
|
pullDirection[1],
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
const require_topologyQueryFns = require("./topologyQueryFns-C3fhJndG.cjs");
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-CkcIL7zv.cjs");
|
|
2
|
+
const require_errors = require("./errors-RHkKO5bZ.cjs");
|
|
3
|
+
const require_topologyQueryFns = require("./topologyQueryFns-Bia7o8l_.cjs");
|
|
5
4
|
const require_constants = require("./constants-BOVyEYGH.cjs");
|
|
6
5
|
const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
|
|
7
|
-
const require_faceFns = require("./faceFns-
|
|
8
|
-
const require_shapeFns = require("./shapeFns-
|
|
9
|
-
const require_curveFns = require("./curveFns-
|
|
10
|
-
const require_measureFns = require("./measureFns-
|
|
6
|
+
const require_faceFns = require("./faceFns-BK4r7Dxk.cjs");
|
|
7
|
+
const require_shapeFns = require("./shapeFns-D_5TgiUi.cjs");
|
|
8
|
+
const require_curveFns = require("./curveFns-GmFnqNo3.cjs");
|
|
9
|
+
const require_measureFns = require("./measureFns-CJGrmhHT.cjs");
|
|
11
10
|
//#region src/utils/vec2d.ts
|
|
12
11
|
/** Precision for curve intersection and parameter operations. */
|
|
13
12
|
var PRECISION_INTERSECTION = 1e-9;
|
|
@@ -74,7 +73,7 @@ var rotate2d = (point, angle, center = [0, 0]) => {
|
|
|
74
73
|
* Normalize a 2D vector to unit length.
|
|
75
74
|
* Returns `[0, 0]` for zero-length vectors (within epsilon).
|
|
76
75
|
*/
|
|
77
|
-
function normalize2d
|
|
76
|
+
function normalize2d([x, y]) {
|
|
78
77
|
const l = Math.sqrt(x * x + y * y);
|
|
79
78
|
return l < 1e-12 ? [0, 0] : [x / l, y / l];
|
|
80
79
|
}
|
|
@@ -91,21 +90,6 @@ var cartesianToPolar = ([x, y]) => {
|
|
|
91
90
|
return [Math.sqrt(x * x + y * y), Math.atan2(y, x)];
|
|
92
91
|
};
|
|
93
92
|
//#endregion
|
|
94
|
-
//#region src/2d/lib/vectorOperations.ts
|
|
95
|
-
/**
|
|
96
|
-
* Normalize a 2D vector to unit length.
|
|
97
|
-
*
|
|
98
|
-
* Unlike the Layer 0 version (which returns [0,0] for zero-length vectors),
|
|
99
|
-
* this throws a BrepBugError — Layer 2 code should never pass zero-length vectors.
|
|
100
|
-
*
|
|
101
|
-
* @throws When the vector has near-zero length.
|
|
102
|
-
*/
|
|
103
|
-
var normalize2d = ([x, y]) => {
|
|
104
|
-
const result = normalize2d$1([x, y]);
|
|
105
|
-
if (result[0] === 0 && result[1] === 0) require_bug.bug("normalize2d", "Cannot normalize zero-length vector");
|
|
106
|
-
return result;
|
|
107
|
-
};
|
|
108
|
-
//#endregion
|
|
109
93
|
//#region src/query/finderCore.ts
|
|
110
94
|
/**
|
|
111
95
|
* Find exactly one element matching all predicates. Returns an error Result
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-DNqT88yx.js";
|
|
1
|
+
import { K as getKernel, y as isFace } from "./shapeTypes-t49f64Dx.js";
|
|
2
|
+
import { E as ok, g as err, o as queryError, x as isOk } from "./errors-MHLiNE-C.js";
|
|
3
|
+
import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-BkQ6Q7gN.js";
|
|
5
4
|
import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
|
|
6
5
|
import { a as vecDot, d as vecNormalize } from "./vecOps-SKPRvPH-.js";
|
|
7
|
-
import { l as normalAt, s as getSurfaceType } from "./faceFns-
|
|
8
|
-
import { a as isSameShape, n as getHashCode } from "./shapeFns-
|
|
9
|
-
import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-
|
|
10
|
-
import { n as measureArea } from "./measureFns-
|
|
6
|
+
import { l as normalAt, s as getSurfaceType } from "./faceFns-DJj9Nb6T.js";
|
|
7
|
+
import { a as isSameShape, n as getHashCode } from "./shapeFns-BTFx-os7.js";
|
|
8
|
+
import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-DX13KRh2.js";
|
|
9
|
+
import { n as measureArea } from "./measureFns-CMnbcUZC.js";
|
|
11
10
|
//#region src/utils/vec2d.ts
|
|
12
11
|
/** Precision for curve intersection and parameter operations. */
|
|
13
12
|
var PRECISION_INTERSECTION = 1e-9;
|
|
@@ -74,7 +73,7 @@ var rotate2d = (point, angle, center = [0, 0]) => {
|
|
|
74
73
|
* Normalize a 2D vector to unit length.
|
|
75
74
|
* Returns `[0, 0]` for zero-length vectors (within epsilon).
|
|
76
75
|
*/
|
|
77
|
-
function normalize2d
|
|
76
|
+
function normalize2d([x, y]) {
|
|
78
77
|
const l = Math.sqrt(x * x + y * y);
|
|
79
78
|
return l < 1e-12 ? [0, 0] : [x / l, y / l];
|
|
80
79
|
}
|
|
@@ -91,21 +90,6 @@ var cartesianToPolar = ([x, y]) => {
|
|
|
91
90
|
return [Math.sqrt(x * x + y * y), Math.atan2(y, x)];
|
|
92
91
|
};
|
|
93
92
|
//#endregion
|
|
94
|
-
//#region src/2d/lib/vectorOperations.ts
|
|
95
|
-
/**
|
|
96
|
-
* Normalize a 2D vector to unit length.
|
|
97
|
-
*
|
|
98
|
-
* Unlike the Layer 0 version (which returns [0,0] for zero-length vectors),
|
|
99
|
-
* this throws a BrepBugError — Layer 2 code should never pass zero-length vectors.
|
|
100
|
-
*
|
|
101
|
-
* @throws When the vector has near-zero length.
|
|
102
|
-
*/
|
|
103
|
-
var normalize2d = ([x, y]) => {
|
|
104
|
-
const result = normalize2d$1([x, y]);
|
|
105
|
-
if (result[0] === 0 && result[1] === 0) bug("normalize2d", "Cannot normalize zero-length vector");
|
|
106
|
-
return result;
|
|
107
|
-
};
|
|
108
|
-
//#endregion
|
|
109
93
|
//#region src/query/finderCore.ts
|
|
110
94
|
/**
|
|
111
95
|
* Find exactly one element matching all predicates. Returns an error Result
|
|
@@ -324,4 +308,4 @@ function getSingleFace(f, shape) {
|
|
|
324
308
|
return f(faceFinder()).findUnique(shape);
|
|
325
309
|
}
|
|
326
310
|
//#endregion
|
|
327
|
-
export { samePoint as _, createTypedFinder as a, subtract2d as b,
|
|
311
|
+
export { samePoint as _, createTypedFinder as a, subtract2d as b, add2d as c, crossProduct2d as d, distance2d as f, rotate2d as g, polarToCartesian as h, wireFinder as i, angle2d as l, polarAngle2d as m, edgeFinder as n, PRECISION_INTERSECTION as o, normalize2d as p, faceFinder as r, PRECISION_OFFSET as s, getSingleFace as t, cartesianToPolar as u, scalarMultiply2d as v, squareDistance2d as y };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { K as getKernel, n as castResultShape } from "./shapeTypes-t49f64Dx.js";
|
|
2
2
|
import { i as wasmIndex, r as vec3At$1 } from "./bug-BdOHwn_e.js";
|
|
3
|
-
import {
|
|
3
|
+
import { E as ok, g as err, r as ioError, t as BrepErrorCode } from "./errors-MHLiNE-C.js";
|
|
4
4
|
import { n as getAtOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
5
|
-
import { f as make2dSegmentCurve, m as make2dThreePointArc, s as make2dBezierCurve, t as Blueprint } from "./blueprint-
|
|
5
|
+
import { f as make2dSegmentCurve, m as make2dThreePointArc, s as make2dBezierCurve, t as Blueprint } from "./blueprint-CAG6jseD.js";
|
|
6
6
|
//#region src/io/objExportFns.ts
|
|
7
7
|
/** Read a vec3 from a typed array at the given vertex index. */
|
|
8
8
|
function vec3At(arr, i) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-CkcIL7zv.cjs");
|
|
2
2
|
const require_bug = require("./bug-O02CsAmt.cjs");
|
|
3
|
-
const require_errors = require("./errors-
|
|
3
|
+
const require_errors = require("./errors-RHkKO5bZ.cjs");
|
|
4
4
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
5
|
-
const require_blueprint = require("./blueprint-
|
|
5
|
+
const require_blueprint = require("./blueprint-BGcBMy3b.cjs");
|
|
6
6
|
//#region src/io/objExportFns.ts
|
|
7
7
|
/** Read a vec3 from a typed array at the given vertex index. */
|
|
8
8
|
function vec3At(arr, i) {
|
package/dist/io.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_meshFns = require("./meshFns-
|
|
3
|
-
const require_importFns = require("./importFns-
|
|
2
|
+
const require_meshFns = require("./meshFns-Dqf5QBhQ.cjs");
|
|
3
|
+
const require_importFns = require("./importFns-GySbuvVv.cjs");
|
|
4
4
|
exports.blueprintToDXF = require_importFns.blueprintToDXF;
|
|
5
5
|
exports.exportDXF = require_importFns.exportDXF;
|
|
6
6
|
exports.exportGlb = require_importFns.exportGlb;
|
package/dist/io.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-
|
|
2
|
-
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-
|
|
1
|
+
import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-Cs5EBsf7.js";
|
|
2
|
+
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-BHs19muu.js";
|
|
3
3
|
export { blueprintToDXF, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, importIGES, importSTEP, importSTL, importSVG, importSVGPathD };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
2
|
-
const require_errors = require("./errors-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-CkcIL7zv.cjs");
|
|
2
|
+
const require_errors = require("./errors-RHkKO5bZ.cjs");
|
|
3
3
|
const require_types = require("./types-KjA8tY4Y.cjs");
|
|
4
4
|
const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
|
|
5
5
|
//#region src/operations/extrudeUtils.ts
|
|
@@ -337,111 +337,6 @@ function guidedSweep(profile, spine, guides, options = {}) {
|
|
|
337
337
|
}
|
|
338
338
|
}
|
|
339
339
|
//#endregion
|
|
340
|
-
//#region src/operations/extrudeFns.ts
|
|
341
|
-
/**
|
|
342
|
-
* Basic extrusion operations — extrude and revolve.
|
|
343
|
-
*
|
|
344
|
-
* Sweep-based operations (sweep, supportExtrude, complexExtrude, twistExtrude)
|
|
345
|
-
* have moved to `./sweepFns.js`.
|
|
346
|
-
*/
|
|
347
|
-
/**
|
|
348
|
-
* Extrude a face along a vector to produce a solid.
|
|
349
|
-
*
|
|
350
|
-
* @param face - The planar face to extrude.
|
|
351
|
-
* @param extrusionVec - Direction and magnitude of the extrusion as `[x, y, z]`.
|
|
352
|
-
* @returns `Result` containing the extruded solid, or an error if validation or operation fails.
|
|
353
|
-
*/
|
|
354
|
-
function extrude(face, extrusionVec) {
|
|
355
|
-
if (require_shapeTypes.getKernel().isNull(face.wrapped)) return require_errors.err(require_errors.validationError(require_errors.BrepErrorCode.NULL_SHAPE_INPUT, "extrude: face is a null shape"));
|
|
356
|
-
if (require_vecOps.vecLength(extrusionVec) < 1e-10) return require_errors.err(require_errors.validationError("EXTRUDE_ZERO_VECTOR", "extrude: extrusion vector has zero length"));
|
|
357
|
-
try {
|
|
358
|
-
const kernel = require_shapeTypes.getKernel();
|
|
359
|
-
const len = require_vecOps.vecLength(extrusionVec);
|
|
360
|
-
const dir = require_vecOps.vecNormalize(extrusionVec);
|
|
361
|
-
const shape = kernel.extrude(face.wrapped, [...dir], len);
|
|
362
|
-
const solid = require_shapeTypes.createSolid(kernel.downcast(shape, "solid"));
|
|
363
|
-
require_shapeTypes.disposeDowncastSource(shape, solid);
|
|
364
|
-
return require_errors.ok(solid);
|
|
365
|
-
} catch (e) {
|
|
366
|
-
return require_errors.err(require_errors.kernelError("EXTRUDE_FAILED", "Extrusion operation failed", e, {
|
|
367
|
-
operation: "extrude",
|
|
368
|
-
vectorLength: require_vecOps.vecLength(extrusionVec)
|
|
369
|
-
}));
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
/**
|
|
373
|
-
* Revolve a face around an axis to create a solid of revolution.
|
|
374
|
-
*
|
|
375
|
-
* @param face - The face to revolve.
|
|
376
|
-
* @param center - A point on the rotation axis. Defaults to the origin.
|
|
377
|
-
* @param direction - Direction vector of the rotation axis. Defaults to Z-up.
|
|
378
|
-
* @param angle - Rotation angle in **radians**. Defaults to 2π (a full revolution).
|
|
379
|
-
* @returns `Result` containing the revolved 3D shape, or an error if the result is not 3D.
|
|
380
|
-
*/
|
|
381
|
-
function revolve(face, center = [
|
|
382
|
-
0,
|
|
383
|
-
0,
|
|
384
|
-
0
|
|
385
|
-
], direction = [
|
|
386
|
-
0,
|
|
387
|
-
0,
|
|
388
|
-
1
|
|
389
|
-
], angle = 2 * Math.PI) {
|
|
390
|
-
if (require_shapeTypes.getKernel().isNull(face.wrapped)) return require_errors.err(require_errors.validationError(require_errors.BrepErrorCode.NULL_SHAPE_INPUT, "revolve: face is a null shape"));
|
|
391
|
-
try {
|
|
392
|
-
const result = require_shapeTypes.castResultShape(require_shapeTypes.getKernel().revolveVec(face.wrapped, [...center], [...direction], angle));
|
|
393
|
-
if (!require_shapeTypes.isShape3D(result)) {
|
|
394
|
-
require_shapeTypes.disposeResultShape(result);
|
|
395
|
-
return require_errors.err(require_errors.typeCastError("REVOLUTION_NOT_3D", "Revolution did not produce a 3D shape"));
|
|
396
|
-
}
|
|
397
|
-
return require_errors.ok(result);
|
|
398
|
-
} catch (e) {
|
|
399
|
-
return require_errors.err(require_errors.kernelError("REVOLVE_FAILED", "Revolution operation failed", e, {
|
|
400
|
-
operation: "revolve",
|
|
401
|
-
angle
|
|
402
|
-
}));
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
/**
|
|
406
|
-
* Batch extrude: build N independent extrusions in a single kernel call.
|
|
407
|
-
*
|
|
408
|
-
* Uses the C++ ExtrudeBatch extractor when available (single WASM call),
|
|
409
|
-
* falling back to N individual extrude operations otherwise.
|
|
410
|
-
*
|
|
411
|
-
* @returns Array of valid solids, one per entry.
|
|
412
|
-
*/
|
|
413
|
-
function extrudeAll(entries) {
|
|
414
|
-
if (entries.length === 0) return require_errors.ok([]);
|
|
415
|
-
const kernel = require_shapeTypes.getKernel();
|
|
416
|
-
const kernelEntries = [];
|
|
417
|
-
for (let i = 0; i < entries.length; i++) {
|
|
418
|
-
const e = entries[i];
|
|
419
|
-
if (!e) continue;
|
|
420
|
-
const vec = typeof e.height === "number" ? [
|
|
421
|
-
0,
|
|
422
|
-
0,
|
|
423
|
-
e.height
|
|
424
|
-
] : e.height;
|
|
425
|
-
const len = require_vecOps.vecLength(vec);
|
|
426
|
-
if (len < 1e-10) return require_errors.err(require_errors.validationError("EXTRUDE_ALL_ZERO_VECTOR", `extrudeAll: entry ${i} has zero-length extrusion vector`));
|
|
427
|
-
const direction = [...require_vecOps.vecNormalize(vec)];
|
|
428
|
-
kernelEntries.push({
|
|
429
|
-
face: e.face.wrapped,
|
|
430
|
-
direction,
|
|
431
|
-
length: len
|
|
432
|
-
});
|
|
433
|
-
}
|
|
434
|
-
try {
|
|
435
|
-
return require_errors.ok((kernel.extrudeBatch?.(kernelEntries) ?? kernelEntries.map((e) => kernel.extrude(e.face, e.direction, e.length))).map((shape) => {
|
|
436
|
-
const solid = require_shapeTypes.createSolid(kernel.downcast(shape, "solid"));
|
|
437
|
-
require_shapeTypes.disposeDowncastSource(shape, solid);
|
|
438
|
-
return solid;
|
|
439
|
-
}));
|
|
440
|
-
} catch (e) {
|
|
441
|
-
return require_errors.err(require_errors.kernelError("EXTRUDE_ALL_FAILED", "Batch extrusion operation failed", e));
|
|
442
|
-
}
|
|
443
|
-
}
|
|
444
|
-
//#endregion
|
|
445
340
|
//#region src/operations/loftFns.ts
|
|
446
341
|
/**
|
|
447
342
|
* Functional loft operation using branded shape types.
|
|
@@ -544,18 +439,6 @@ Object.defineProperty(exports, "complexExtrude", {
|
|
|
544
439
|
return complexExtrude;
|
|
545
440
|
}
|
|
546
441
|
});
|
|
547
|
-
Object.defineProperty(exports, "extrude", {
|
|
548
|
-
enumerable: true,
|
|
549
|
-
get: function() {
|
|
550
|
-
return extrude;
|
|
551
|
-
}
|
|
552
|
-
});
|
|
553
|
-
Object.defineProperty(exports, "extrudeAll", {
|
|
554
|
-
enumerable: true,
|
|
555
|
-
get: function() {
|
|
556
|
-
return extrudeAll;
|
|
557
|
-
}
|
|
558
|
-
});
|
|
559
442
|
Object.defineProperty(exports, "guidedSweep", {
|
|
560
443
|
enumerable: true,
|
|
561
444
|
get: function() {
|
|
@@ -580,12 +463,6 @@ Object.defineProperty(exports, "multiSectionSweep", {
|
|
|
580
463
|
return multiSectionSweep;
|
|
581
464
|
}
|
|
582
465
|
});
|
|
583
|
-
Object.defineProperty(exports, "revolve", {
|
|
584
|
-
enumerable: true,
|
|
585
|
-
get: function() {
|
|
586
|
-
return revolve;
|
|
587
|
-
}
|
|
588
|
-
});
|
|
589
466
|
Object.defineProperty(exports, "supportExtrude", {
|
|
590
467
|
enumerable: true,
|
|
591
468
|
get: function() {
|