brepjs 20.5.0 → 20.6.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/README.md +1 -0
- package/dist/2d.cjs +9 -11
- package/dist/2d.js +9 -11
- package/dist/{adjacencyFns-1rxgJ6Hw.cjs → adjacencyFns-CmNvIFu1.cjs} +5 -6
- package/dist/{adjacencyFns-DeyXahej.js → adjacencyFns-DO9_F2YJ.js} +5 -6
- package/dist/{arrayAccess-DrUGPADn.js → arrayAccess-BpgouNir.js} +1 -2
- package/dist/{arrayAccess-e4H9cBfh.cjs → arrayAccess-DpJYARwv.cjs} +1 -2
- package/dist/{blueprint-Yyoiz-U1.cjs → blueprint-Ci2Mw5v-.cjs} +24 -37
- package/dist/{blueprint-rwJjYPzo.js → blueprint-DHKul4EN.js} +24 -37
- package/dist/{blueprintFns-Ce6OoPSX.cjs → blueprintFns-CbJPSd5r.cjs} +5 -7
- package/dist/{blueprintFns-Q3Sq-Fse.js → blueprintFns-D68_PxRl.js} +5 -7
- package/dist/{blueprintSketcher-FywUpRiV.js → blueprintSketcher-j9vJAniE.js} +19 -31
- package/dist/{blueprintSketcher-CzKbxeTk.cjs → blueprintSketcher-pVbM0BHf.cjs} +19 -31
- package/dist/{boolean2D-D8igCYc9.js → boolean2D-D6Oc8tBx.js} +13 -19
- package/dist/{boolean2D-BzZ9iBSn.cjs → boolean2D-Dq29HCr9.cjs} +13 -19
- package/dist/brepjs.cjs +113 -187
- package/dist/brepjs.js +113 -188
- package/dist/{bug-O02CsAmt.cjs → bug-CBcpIPuf.cjs} +2 -4
- package/dist/{bug-BdOHwn_e.js → bug-ClMTAJhe.js} +2 -4
- package/dist/{cameraFns-RHCb1F1s.cjs → cameraFns-BMXugx7m.cjs} +8 -11
- package/dist/{cameraFns-Cs6v3bWQ.js → cameraFns-DVZkA2eq.js} +8 -11
- package/dist/{constants-ITRzCnCp.js → constants-iraOnb2p.js} +1 -2
- package/dist/{constants-BOVyEYGH.cjs → constants-oee0S_x6.cjs} +1 -2
- package/dist/core.cjs +8 -8
- package/dist/core.js +8 -8
- package/dist/{cornerFinder-Dlae8IX5.js → cornerFinder-DSnn8gRP.js} +4 -5
- package/dist/{cornerFinder-Cji_BK-R.cjs → cornerFinder-DshfhGHG.cjs} +4 -5
- package/dist/{curveFns-KS1BWGhF.js → curveFns-CEb6TLxC.js} +3 -4
- package/dist/{curveFns-6-ULFrEB.cjs → curveFns-Cxq5lFqU.cjs} +3 -4
- package/dist/{drawFns-Ddlgp9gQ.cjs → drawFns-CH0q-0JP.cjs} +32 -45
- package/dist/{drawFns-3yRVBDgI.js → drawFns-DMhKXGgG.js} +32 -45
- package/dist/{errors-Zb3jBa0u.js → errors-B3espUT6.js} +3 -5
- package/dist/{errors-jwhfQJZK.cjs → errors-DoMAp7mQ.cjs} +3 -5
- package/dist/{faceFns-CZeHWke7.cjs → faceFns-B8ctN5Te.cjs} +6 -8
- package/dist/{faceFns-CTlJC5IY.js → faceFns-C-wc4fX-.js} +6 -8
- package/dist/{faceRoleFns-CWU1-Pm8.js → faceRoleFns-BPxzQF-n.js} +1 -2
- package/dist/{faceRoleFns-CtH_48MO.cjs → faceRoleFns-Db5bYj4Q.cjs} +1 -2
- package/dist/{healingFns-Ct3gEMvk.js → healingFns-CJfuZMw2.js} +16 -25
- package/dist/{healingFns-DwSpJZfg.cjs → healingFns-D3mNy1rp.cjs} +16 -25
- package/dist/{helpers-BN1mVMuZ.js → helpers-BXoAMWe3.js} +15 -21
- package/dist/{helpers-NRZVshPb.cjs → helpers-BhHbDu6-.cjs} +15 -21
- package/dist/{importFns-BEi-HsSw.cjs → importFns-DHaw1x5R.cjs} +12 -19
- package/dist/{importFns-0kHGg-b8.js → importFns-YZyGYu_M.js} +12 -19
- package/dist/io.cjs +2 -2
- package/dist/io.js +2 -2
- package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
- package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -2
- package/dist/{loftFns-B5mq1WDh.js → loftFns-CTTia_cZ.js} +7 -10
- package/dist/{loftFns-DL9UsQhd.cjs → loftFns-DVr6PaTM.cjs} +7 -10
- package/dist/{measureFns-CyDVZomf.js → measureFns-BmdVG0_8.js} +6 -8
- package/dist/{measureFns-D_GpQw5z.cjs → measureFns-C6wgH_1a.cjs} +6 -8
- package/dist/measurement.cjs +2 -2
- package/dist/measurement.js +2 -2
- package/dist/{meshFns-CAxkaRTm.cjs → meshFns-r_p0RRoO.cjs} +6 -8
- package/dist/{meshFns-COlno8TY.js → meshFns-uNRS602U.js} +6 -8
- package/dist/{occtWasmAdapter-CA6PmIIj.cjs → occtWasmAdapter-CxSY6Ty2.cjs} +37 -56
- package/dist/{occtWasmAdapter-BX10fyla.js → occtWasmAdapter-cnV8J7Y-.js} +37 -56
- package/dist/operations.cjs +2 -2
- package/dist/operations.js +2 -2
- package/dist/{originTrackingFns-DiHy5BZC.js → originTrackingFns-BIa3TdgX.js} +4 -5
- package/dist/{originTrackingFns-CWo6NWHK.cjs → originTrackingFns-DgJ-MTtE.cjs} +4 -5
- package/dist/{planeOps-DJuclNxa.cjs → planeOps-BDt05NAD.cjs} +5 -6
- package/dist/{planeOps-Cxws4Tiu.js → planeOps-BkwaqhUj.js} +5 -6
- package/dist/{primitiveFns-ZV3aMbqG.cjs → primitiveFns-CktCbLBo.cjs} +8 -10
- package/dist/{primitiveFns-CGJzS4MO.js → primitiveFns-h_zOAbmf.js} +8 -10
- package/dist/{principalBoxFns-5FSbxAj-.cjs → principalBoxFns-28BQIeo8.cjs} +7 -8
- package/dist/{principalBoxFns-BJgGEoik.js → principalBoxFns-DkP-681E.js} +7 -8
- package/dist/projection.cjs +1 -1
- package/dist/projection.js +1 -2
- package/dist/query.cjs +2 -2
- package/dist/query.js +2 -2
- package/dist/{refResolveFns-CpVZoeOT.js → refResolveFns-DUDJqfOM.js} +14 -21
- package/dist/{refResolveFns-Ct52Uw7R.cjs → refResolveFns-fSzDZ1rx.cjs} +14 -21
- package/dist/result.cjs +2 -2
- package/dist/result.js +2 -2
- package/dist/{rolldown-runtime-C0BPl7ul.cjs → rolldown-runtime-BW-eSwOZ.cjs} +1 -2
- package/dist/{shapeFns--1wNlcc_.js → shapeFns-B5hzkmwe.js} +5 -6
- package/dist/{shapeFns-C2j6oZ2u.cjs → shapeFns-DKDlt3k2.cjs} +5 -6
- package/dist/shapeRef.cjs +1 -1
- package/dist/shapeRef.js +1 -2
- package/dist/{shapeTypes-CqNJoSam.js → shapeTypes-Bva18qvE.js} +81 -160
- package/dist/{shapeTypes-DH2ShBU_.cjs → shapeTypes-CkxvJRpq.cjs} +81 -160
- package/dist/sketching.cjs +4 -5
- package/dist/sketching.js +4 -5
- package/dist/{solidBuilders-CgicU3le.cjs → solidBuilders-BFEnqrU0.cjs} +17 -23
- package/dist/{solidBuilders-IstbiWju.js → solidBuilders-BpTN-NfM.js} +17 -23
- package/dist/{surfaceBuilders-vYgSvgI6.cjs → surfaceBuilders-CTk2lGlw.cjs} +8 -12
- package/dist/{surfaceBuilders-8nLk2PWk.js → surfaceBuilders-DAZCPa5O.js} +8 -12
- package/dist/text.cjs +2 -2
- package/dist/text.js +2 -2
- package/dist/{textBlueprints-fa7VHJZz.cjs → textBlueprints-DbEWBdhF.cjs} +24 -32
- package/dist/{textBlueprints-C13NAA3C.js → textBlueprints-DuwP72D6.js} +23 -31
- package/dist/{textMetrics--cikHkGX.cjs → textMetrics-CbNBlPsl.cjs} +4 -6
- package/dist/{textMetrics-Dcc63qRm.js → textMetrics-q6RSXX9Z.js} +4 -6
- package/dist/{threadFns-BUQPg_vI.cjs → threadFns-5FXCN-9R.cjs} +21 -33
- package/dist/{threadFns-3U9x4v_M.js → threadFns-BcsScbp4.js} +21 -33
- package/dist/topology.cjs +9 -9
- package/dist/topology.js +9 -9
- package/dist/{topologyQueryFns-q2bGyuEV.cjs → topologyQueryFns-C6HwYYpi.cjs} +6 -9
- package/dist/{topologyQueryFns-DnfjQgP7.js → topologyQueryFns-CY6YiGsk.js} +6 -9
- package/dist/{types-D24Y27N0.js → types-CKXsIm9-.js} +1 -2
- package/dist/{types-KjA8tY4Y.cjs → types-CjF9Rofr.cjs} +1 -2
- package/dist/{validityTypes-r0A2YdNq.cjs → validityTypes-D0IDDMbY.cjs} +3 -4
- package/dist/{validityTypes-t7JpS0Ki.js → validityTypes-MiXYsBZi.js} +3 -4
- package/dist/{vecOps-CCnJt-yH.cjs → vecOps-CrGEPPQM.cjs} +1 -2
- package/dist/{vecOps-SKPRvPH-.js → vecOps-S-m9H_fe.js} +1 -2
- package/dist/vectors.cjs +4 -4
- package/dist/vectors.js +4 -4
- package/dist/worker.cjs +1 -1
- package/dist/worker.js +1 -2
- package/dist/{workerPool-XcYX2UZ0.js → workerPool-Bc5hmJc4.js} +5 -10
- package/dist/{workerPool-D30NsiIW.cjs → workerPool-D5tiNXrI.cjs} +5 -10
- package/package.json +10 -10
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const require_bug = require("./bug-
|
|
2
|
-
|
|
1
|
+
const require_bug = require("./bug-CBcpIPuf.cjs");
|
|
2
|
+
// src/core/result.ts
|
|
3
3
|
function ok(value) {
|
|
4
4
|
return {
|
|
5
5
|
ok: true,
|
|
@@ -164,8 +164,7 @@ function pipeline(input) {
|
|
|
164
164
|
}
|
|
165
165
|
return makePipeline(initial);
|
|
166
166
|
}
|
|
167
|
-
|
|
168
|
-
//#region src/core/errors.ts
|
|
167
|
+
// src/core/errors.ts
|
|
169
168
|
/**
|
|
170
169
|
* Domain error types and constructors for brepjs.
|
|
171
170
|
* Re-exports bug/BrepBugError from utils (Layer 0) for convenience.
|
|
@@ -381,7 +380,6 @@ function safeIndex(arr, index, context) {
|
|
|
381
380
|
if (index < 0 || index >= arr.length) require_bug.bug(context ?? "safeIndex", `Index ${index} is out of bounds (array length ${arr.length})`);
|
|
382
381
|
return require_bug.wasmIndex(arr, index);
|
|
383
382
|
}
|
|
384
|
-
//#endregion
|
|
385
383
|
Object.defineProperty(exports, "BrepErrorCode", {
|
|
386
384
|
enumerable: true,
|
|
387
385
|
get: function() {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
2
|
-
const require_errors = require("./errors-
|
|
3
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
4
|
-
const require_types = require("./types-
|
|
5
|
-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-CkxvJRpq.cjs");
|
|
2
|
+
const require_errors = require("./errors-DoMAp7mQ.cjs");
|
|
3
|
+
const require_topologyQueryFns = require("./topologyQueryFns-C6HwYYpi.cjs");
|
|
4
|
+
const require_types = require("./types-CjF9Rofr.cjs");
|
|
5
|
+
// src/topology/cast.ts
|
|
6
6
|
var TOPO_ENUM = {
|
|
7
7
|
compound: 0,
|
|
8
8
|
solidCompound: 1,
|
|
@@ -99,8 +99,7 @@ function isCompSolid(shape) {
|
|
|
99
99
|
function fromBREP(data) {
|
|
100
100
|
return cast(require_shapeTypes.getKernel().fromBREP(data));
|
|
101
101
|
}
|
|
102
|
-
|
|
103
|
-
//#region src/topology/faceFns.ts
|
|
102
|
+
// src/topology/faceFns.ts
|
|
104
103
|
/**
|
|
105
104
|
* Face-specific functions — functional replacements for Face class methods.
|
|
106
105
|
* All functions accept branded Face handles and return plain values or branded shapes.
|
|
@@ -239,7 +238,6 @@ function innerWires(face) {
|
|
|
239
238
|
const outer = outerWire(face);
|
|
240
239
|
return Array.from(iterTopo(face.wrapped, "wire")).map((w) => require_shapeTypes.castShape(require_errors.unwrap(downcast(w)))).filter((w) => !require_shapeTypes.getKernel().isSame(w.wrapped, outer.wrapped));
|
|
241
240
|
}
|
|
242
|
-
//#endregion
|
|
243
241
|
Object.defineProperty(exports, "asTopo", {
|
|
244
242
|
enumerable: true,
|
|
245
243
|
get: function() {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { i as castShape, q as getKernel } from "./shapeTypes-
|
|
2
|
-
import { E as ok, P as unwrap, g as err, l as typeCastError } from "./errors-
|
|
3
|
-
import { a as getCachedSurfaceType } from "./topologyQueryFns-
|
|
4
|
-
import { r as toVec3 } from "./types-
|
|
5
|
-
|
|
1
|
+
import { i as castShape, q as getKernel } from "./shapeTypes-Bva18qvE.js";
|
|
2
|
+
import { E as ok, P as unwrap, g as err, l as typeCastError } from "./errors-B3espUT6.js";
|
|
3
|
+
import { a as getCachedSurfaceType } from "./topologyQueryFns-CY6YiGsk.js";
|
|
4
|
+
import { r as toVec3 } from "./types-CKXsIm9-.js";
|
|
5
|
+
// src/topology/cast.ts
|
|
6
6
|
var TOPO_ENUM = {
|
|
7
7
|
compound: 0,
|
|
8
8
|
solidCompound: 1,
|
|
@@ -99,8 +99,7 @@ function isCompSolid(shape) {
|
|
|
99
99
|
function fromBREP(data) {
|
|
100
100
|
return cast(getKernel().fromBREP(data));
|
|
101
101
|
}
|
|
102
|
-
|
|
103
|
-
//#region src/topology/faceFns.ts
|
|
102
|
+
// src/topology/faceFns.ts
|
|
104
103
|
/**
|
|
105
104
|
* Face-specific functions — functional replacements for Face class methods.
|
|
106
105
|
* All functions accept branded Face handles and return plain values or branded shapes.
|
|
@@ -239,5 +238,4 @@ function innerWires(face) {
|
|
|
239
238
|
const outer = outerWire(face);
|
|
240
239
|
return Array.from(iterTopo(face.wrapped, "wire")).map((w) => castShape(unwrap(downcast(w)))).filter((w) => !getKernel().isSame(w.wrapped, outer.wrapped));
|
|
241
240
|
}
|
|
242
|
-
//#endregion
|
|
243
241
|
export { shapeType as C, iterTopo as S, cast as _, faceOrientation as a, fromBREP as b, innerWires as c, pointOnSurface as d, projectPointOnFace as f, asTopo as g, uvCoordinates as h, faceGeomType as i, normalAt as l, uvBounds as m, faceAxis as n, flipFaceOrientation as o, removeHolesFromFace as p, faceCenter as r, getSurfaceType as s, classifyPointOnFace as t, outerWire as u, copyShape as v, isCompSolid as x, downcast as y };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/topology/metadata/faceRoleFns.ts
|
|
2
2
|
var faceRoleStore = /* @__PURE__ */ new WeakMap();
|
|
3
3
|
/** O(1) check whether a shape carries recorded face roles. */
|
|
4
4
|
function hasFaceRoles(shape) {
|
|
@@ -33,5 +33,4 @@ function propagateFaceRolesFromEvolution(evolution, inputs, result) {
|
|
|
33
33
|
}
|
|
34
34
|
setFaceRoles(result, resultRoles);
|
|
35
35
|
}
|
|
36
|
-
//#endregion
|
|
37
36
|
export { setFaceRoles as i, hasFaceRoles as n, propagateFaceRolesFromEvolution as r, getFaceRoles as t };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/topology/metadata/faceRoleFns.ts
|
|
2
2
|
var faceRoleStore = /* @__PURE__ */ new WeakMap();
|
|
3
3
|
/** O(1) check whether a shape carries recorded face roles. */
|
|
4
4
|
function hasFaceRoles(shape) {
|
|
@@ -33,7 +33,6 @@ function propagateFaceRolesFromEvolution(evolution, inputs, result) {
|
|
|
33
33
|
}
|
|
34
34
|
setFaceRoles(result, resultRoles);
|
|
35
35
|
}
|
|
36
|
-
//#endregion
|
|
37
36
|
Object.defineProperty(exports, "getFaceRoles", {
|
|
38
37
|
enumerable: true,
|
|
39
38
|
get: function() {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { C as isSolid, D as getShapeKind, T as isWire, h as disposeResultShape, i as castShape, m as disposeDowncastSource, n as castResultShape, q as getKernel, x as isShape3D, y as isFace } from "./shapeTypes-
|
|
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-
|
|
3
|
-
import { c as getFaces, i as getCachedIsValid, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-
|
|
4
|
-
import { n as HASH_CODE_MAX } from "./constants-
|
|
5
|
-
import { y as downcast } from "./faceFns-
|
|
6
|
-
import { C as propagateAllMetadata, f as cut, h as fuseAll, m as fuse, p as cutAll, x as collectInputFaceHashes } from "./solidBuilders-
|
|
7
|
-
import { t as firstOrThrow } from "./arrayAccess-
|
|
8
|
-
|
|
1
|
+
import { C as isSolid, D as getShapeKind, T as isWire, h as disposeResultShape, i as castShape, m as disposeDowncastSource, n as castResultShape, q as getKernel, x as isShape3D, y as isFace } from "./shapeTypes-Bva18qvE.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-B3espUT6.js";
|
|
3
|
+
import { c as getFaces, i as getCachedIsValid, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-CY6YiGsk.js";
|
|
4
|
+
import { n as HASH_CODE_MAX } from "./constants-iraOnb2p.js";
|
|
5
|
+
import { y as downcast } from "./faceFns-C-wc4fX-.js";
|
|
6
|
+
import { C as propagateAllMetadata, f as cut, h as fuseAll, m as fuse, p as cutAll, x as collectInputFaceHashes } from "./solidBuilders-BpTN-NfM.js";
|
|
7
|
+
import { t as firstOrThrow } from "./arrayAccess-BpgouNir.js";
|
|
8
|
+
// src/topology/threeHelpers.ts
|
|
9
9
|
/**
|
|
10
10
|
* Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
|
|
11
11
|
*
|
|
@@ -106,8 +106,7 @@ function toLODGeometryLevels(lods, options) {
|
|
|
106
106
|
distance: distances?.[idx] ?? (last - idx) * step
|
|
107
107
|
}));
|
|
108
108
|
}
|
|
109
|
-
|
|
110
|
-
//#region src/topology/modifierFns.ts
|
|
109
|
+
// src/topology/modifierFns.ts
|
|
111
110
|
/**
|
|
112
111
|
* Functional modifier operations — fillet, chamfer, shell, thicken, offset, draft.
|
|
113
112
|
*
|
|
@@ -481,8 +480,7 @@ function variableFillet(shape, edge, radii) {
|
|
|
481
480
|
return err(kernelError(BrepErrorCode.VARIABLE_FILLET_FAILED, "Variable-radius fillet failed", e));
|
|
482
481
|
}
|
|
483
482
|
}
|
|
484
|
-
|
|
485
|
-
//#region src/topology/chamferAngleFns.ts
|
|
483
|
+
// src/topology/chamferAngleFns.ts
|
|
486
484
|
/**
|
|
487
485
|
* Chamfer with distance + angle — functional API.
|
|
488
486
|
*
|
|
@@ -532,8 +530,7 @@ function chamferDistAngle(shape, edges, distance, angleDeg) {
|
|
|
532
530
|
}
|
|
533
531
|
return ok(wrapped);
|
|
534
532
|
}
|
|
535
|
-
|
|
536
|
-
//#region src/topology/nurbsFns.ts
|
|
533
|
+
// src/topology/nurbsFns.ts
|
|
537
534
|
/**
|
|
538
535
|
* Extract NURBS data from a BSpline or Bezier edge.
|
|
539
536
|
* Returns null if the edge is not a NURBS curve (e.g., line, circle).
|
|
@@ -552,8 +549,7 @@ function getNurbsSurfaceData(face) {
|
|
|
552
549
|
if (!kernel.getNurbsSurfaceData) return null;
|
|
553
550
|
return kernel.getNurbsSurfaceData(face.wrapped);
|
|
554
551
|
}
|
|
555
|
-
|
|
556
|
-
//#region src/topology/booleanBatchFns.ts
|
|
552
|
+
// src/topology/booleanBatchFns.ts
|
|
557
553
|
var REAL_OPS = {
|
|
558
554
|
cut,
|
|
559
555
|
cutAll,
|
|
@@ -675,8 +671,7 @@ function tryBatch(fn) {
|
|
|
675
671
|
return null;
|
|
676
672
|
}
|
|
677
673
|
}
|
|
678
|
-
|
|
679
|
-
//#region src/topology/booleanDiagnosticFns.ts
|
|
674
|
+
// src/topology/booleanDiagnosticFns.ts
|
|
680
675
|
/**
|
|
681
676
|
* Boolean pre-validation diagnostics.
|
|
682
677
|
*/
|
|
@@ -697,8 +692,7 @@ function tryBatch(fn) {
|
|
|
697
692
|
function checkBoolean(base, tool, op) {
|
|
698
693
|
return getKernel().checkBoolean(base.wrapped, tool.wrapped, op);
|
|
699
694
|
}
|
|
700
|
-
|
|
701
|
-
//#region src/topology/evolutionFns.ts
|
|
695
|
+
// src/topology/evolutionFns.ts
|
|
702
696
|
/**
|
|
703
697
|
* Evolution-tracking variants of boolean and modifier operations.
|
|
704
698
|
*
|
|
@@ -941,8 +935,7 @@ function shellWithEvolution(shape, faces, thickness, tolerance = .001) {
|
|
|
941
935
|
}));
|
|
942
936
|
}
|
|
943
937
|
}
|
|
944
|
-
|
|
945
|
-
//#region src/topology/positionFns.ts
|
|
938
|
+
// src/topology/positionFns.ts
|
|
946
939
|
/**
|
|
947
940
|
* Curve-based positioning operations.
|
|
948
941
|
*/
|
|
@@ -970,8 +963,7 @@ function positionOnCurve(shape, spine, param) {
|
|
|
970
963
|
return err(kernelError(BrepErrorCode.POSITION_ON_CURVE_FAILED, `Failed to position shape on curve at param ${param}`, e));
|
|
971
964
|
}
|
|
972
965
|
}
|
|
973
|
-
|
|
974
|
-
//#region src/topology/healingFns.ts
|
|
966
|
+
// src/topology/healingFns.ts
|
|
975
967
|
/**
|
|
976
968
|
* Shape healing and validation functions.
|
|
977
969
|
*
|
|
@@ -1258,5 +1250,4 @@ function fixSelfIntersection(wire) {
|
|
|
1258
1250
|
return err(kernelError(BrepErrorCode.FIX_SELF_INTERSECTION_FAILED, "Failed to fix wire self-intersection", e));
|
|
1259
1251
|
}
|
|
1260
1252
|
}
|
|
1261
|
-
//#endregion
|
|
1262
1253
|
export { toBufferGeometryData as A, chamfer as C, shell as D, offset as E, toLODGeometryData as M, toLODGeometryLevels as N, thicken as O, toLineGeometryData as P, chamferDistAngle as S, fillet as T, checkBoolean as _, healFace as a, getNurbsCurveData as b, isValid as c, chamferWithEvolution as d, cutWithEvolution as f, shellWithEvolution as g, intersectWithEvolution as h, heal as i, toGroupedBufferGeometryData as j, variableFillet as k, solidFromShell as l, fuseWithEvolution as m, fixSelfIntersection as n, healSolid as o, filletWithEvolution as p, fixShape as r, healWire as s, autoHeal as t, positionOnCurve as u, cutAllBisect as v, draft as w, getNurbsSurfaceData as x, fuseAllBisect as y };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
2
|
-
const require_errors = require("./errors-
|
|
3
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
4
|
-
const require_constants = require("./constants-
|
|
5
|
-
const require_faceFns = require("./faceFns-
|
|
6
|
-
const require_solidBuilders = require("./solidBuilders-
|
|
7
|
-
const require_arrayAccess = require("./arrayAccess-
|
|
8
|
-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-CkxvJRpq.cjs");
|
|
2
|
+
const require_errors = require("./errors-DoMAp7mQ.cjs");
|
|
3
|
+
const require_topologyQueryFns = require("./topologyQueryFns-C6HwYYpi.cjs");
|
|
4
|
+
const require_constants = require("./constants-oee0S_x6.cjs");
|
|
5
|
+
const require_faceFns = require("./faceFns-B8ctN5Te.cjs");
|
|
6
|
+
const require_solidBuilders = require("./solidBuilders-BFEnqrU0.cjs");
|
|
7
|
+
const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
|
|
8
|
+
// src/topology/threeHelpers.ts
|
|
9
9
|
/**
|
|
10
10
|
* Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
|
|
11
11
|
*
|
|
@@ -106,8 +106,7 @@ function toLODGeometryLevels(lods, options) {
|
|
|
106
106
|
distance: distances?.[idx] ?? (last - idx) * step
|
|
107
107
|
}));
|
|
108
108
|
}
|
|
109
|
-
|
|
110
|
-
//#region src/topology/modifierFns.ts
|
|
109
|
+
// src/topology/modifierFns.ts
|
|
111
110
|
/**
|
|
112
111
|
* Functional modifier operations — fillet, chamfer, shell, thicken, offset, draft.
|
|
113
112
|
*
|
|
@@ -481,8 +480,7 @@ function variableFillet(shape, edge, radii) {
|
|
|
481
480
|
return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.VARIABLE_FILLET_FAILED, "Variable-radius fillet failed", e));
|
|
482
481
|
}
|
|
483
482
|
}
|
|
484
|
-
|
|
485
|
-
//#region src/topology/chamferAngleFns.ts
|
|
483
|
+
// src/topology/chamferAngleFns.ts
|
|
486
484
|
/**
|
|
487
485
|
* Chamfer with distance + angle — functional API.
|
|
488
486
|
*
|
|
@@ -532,8 +530,7 @@ function chamferDistAngle(shape, edges, distance, angleDeg) {
|
|
|
532
530
|
}
|
|
533
531
|
return require_errors.ok(wrapped);
|
|
534
532
|
}
|
|
535
|
-
|
|
536
|
-
//#region src/topology/nurbsFns.ts
|
|
533
|
+
// src/topology/nurbsFns.ts
|
|
537
534
|
/**
|
|
538
535
|
* Extract NURBS data from a BSpline or Bezier edge.
|
|
539
536
|
* Returns null if the edge is not a NURBS curve (e.g., line, circle).
|
|
@@ -552,8 +549,7 @@ function getNurbsSurfaceData(face) {
|
|
|
552
549
|
if (!kernel.getNurbsSurfaceData) return null;
|
|
553
550
|
return kernel.getNurbsSurfaceData(face.wrapped);
|
|
554
551
|
}
|
|
555
|
-
|
|
556
|
-
//#region src/topology/booleanBatchFns.ts
|
|
552
|
+
// src/topology/booleanBatchFns.ts
|
|
557
553
|
var REAL_OPS = {
|
|
558
554
|
cut: require_solidBuilders.cut,
|
|
559
555
|
cutAll: require_solidBuilders.cutAll,
|
|
@@ -675,8 +671,7 @@ function tryBatch(fn) {
|
|
|
675
671
|
return null;
|
|
676
672
|
}
|
|
677
673
|
}
|
|
678
|
-
|
|
679
|
-
//#region src/topology/booleanDiagnosticFns.ts
|
|
674
|
+
// src/topology/booleanDiagnosticFns.ts
|
|
680
675
|
/**
|
|
681
676
|
* Boolean pre-validation diagnostics.
|
|
682
677
|
*/
|
|
@@ -697,8 +692,7 @@ function tryBatch(fn) {
|
|
|
697
692
|
function checkBoolean(base, tool, op) {
|
|
698
693
|
return require_shapeTypes.getKernel().checkBoolean(base.wrapped, tool.wrapped, op);
|
|
699
694
|
}
|
|
700
|
-
|
|
701
|
-
//#region src/topology/evolutionFns.ts
|
|
695
|
+
// src/topology/evolutionFns.ts
|
|
702
696
|
/**
|
|
703
697
|
* Evolution-tracking variants of boolean and modifier operations.
|
|
704
698
|
*
|
|
@@ -941,8 +935,7 @@ function shellWithEvolution(shape, faces, thickness, tolerance = .001) {
|
|
|
941
935
|
}));
|
|
942
936
|
}
|
|
943
937
|
}
|
|
944
|
-
|
|
945
|
-
//#region src/topology/positionFns.ts
|
|
938
|
+
// src/topology/positionFns.ts
|
|
946
939
|
/**
|
|
947
940
|
* Curve-based positioning operations.
|
|
948
941
|
*/
|
|
@@ -970,8 +963,7 @@ function positionOnCurve(shape, spine, param) {
|
|
|
970
963
|
return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.POSITION_ON_CURVE_FAILED, `Failed to position shape on curve at param ${param}`, e));
|
|
971
964
|
}
|
|
972
965
|
}
|
|
973
|
-
|
|
974
|
-
//#region src/topology/healingFns.ts
|
|
966
|
+
// src/topology/healingFns.ts
|
|
975
967
|
/**
|
|
976
968
|
* Shape healing and validation functions.
|
|
977
969
|
*
|
|
@@ -1258,7 +1250,6 @@ function fixSelfIntersection(wire) {
|
|
|
1258
1250
|
return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.FIX_SELF_INTERSECTION_FAILED, "Failed to fix wire self-intersection", e));
|
|
1259
1251
|
}
|
|
1260
1252
|
}
|
|
1261
|
-
//#endregion
|
|
1262
1253
|
Object.defineProperty(exports, "autoHeal", {
|
|
1263
1254
|
enumerable: true,
|
|
1264
1255
|
get: function() {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { q as getKernel, y as isFace } from "./shapeTypes-
|
|
2
|
-
import { E as ok, g as err, o as queryError, x as isOk } from "./errors-
|
|
3
|
-
import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-
|
|
4
|
-
import { t as DEG2RAD } from "./constants-
|
|
5
|
-
import { a as vecDot, d as vecNormalize } from "./vecOps-
|
|
6
|
-
import { l as normalAt, s as getSurfaceType } from "./faceFns-
|
|
7
|
-
import { a as isSameShape, n as getHashCode } from "./shapeFns
|
|
8
|
-
import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-
|
|
9
|
-
import { n as measureArea } from "./measureFns-
|
|
10
|
-
|
|
1
|
+
import { q as getKernel, y as isFace } from "./shapeTypes-Bva18qvE.js";
|
|
2
|
+
import { E as ok, g as err, o as queryError, x as isOk } from "./errors-B3espUT6.js";
|
|
3
|
+
import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-CY6YiGsk.js";
|
|
4
|
+
import { t as DEG2RAD } from "./constants-iraOnb2p.js";
|
|
5
|
+
import { a as vecDot, d as vecNormalize } from "./vecOps-S-m9H_fe.js";
|
|
6
|
+
import { l as normalAt, s as getSurfaceType } from "./faceFns-C-wc4fX-.js";
|
|
7
|
+
import { a as isSameShape, n as getHashCode } from "./shapeFns-B5hzkmwe.js";
|
|
8
|
+
import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-CEb6TLxC.js";
|
|
9
|
+
import { n as measureArea } from "./measureFns-BmdVG0_8.js";
|
|
10
|
+
// src/utils/vec2d.ts
|
|
11
11
|
/** Precision for curve intersection and parameter operations. */
|
|
12
12
|
var PRECISION_INTERSECTION = 1e-9;
|
|
13
13
|
/** Base precision for offset operations — scaled internally for sub-tasks. */
|
|
@@ -89,8 +89,7 @@ var polarToCartesian = (r, theta) => {
|
|
|
89
89
|
var cartesianToPolar = ([x, y]) => {
|
|
90
90
|
return [Math.sqrt(x * x + y * y), Math.atan2(y, x)];
|
|
91
91
|
};
|
|
92
|
-
|
|
93
|
-
//#region src/query/finderCore.ts
|
|
92
|
+
// src/query/finderCore.ts
|
|
94
93
|
/**
|
|
95
94
|
* Find exactly one element matching all predicates. Returns an error Result
|
|
96
95
|
* if zero or more than one element matches.
|
|
@@ -181,8 +180,7 @@ function createTypedFinder(topoKind, filters, rebuild, extend) {
|
|
|
181
180
|
...extensions
|
|
182
181
|
};
|
|
183
182
|
}
|
|
184
|
-
|
|
185
|
-
//#region src/query/directionUtils.ts
|
|
183
|
+
// src/query/directionUtils.ts
|
|
186
184
|
var DIRECTIONS = {
|
|
187
185
|
X: [
|
|
188
186
|
1,
|
|
@@ -209,8 +207,7 @@ function resolveDir(dir) {
|
|
|
209
207
|
];
|
|
210
208
|
return dir;
|
|
211
209
|
}
|
|
212
|
-
|
|
213
|
-
//#region src/query/shapeDistanceFilter.ts
|
|
210
|
+
// src/query/shapeDistanceFilter.ts
|
|
214
211
|
/**
|
|
215
212
|
* Create a predicate that checks whether a shape element's minimum distance
|
|
216
213
|
* from `point` equals `distance` (within `tolerance`).
|
|
@@ -226,8 +223,7 @@ function distanceFromPointFilter(distance, point, tolerance) {
|
|
|
226
223
|
return Math.abs(d - distance) < tolerance;
|
|
227
224
|
};
|
|
228
225
|
}
|
|
229
|
-
|
|
230
|
-
//#region src/query/shapeFinders.ts
|
|
226
|
+
// src/query/shapeFinders.ts
|
|
231
227
|
function edgeDirectionFilter(dir, angle) {
|
|
232
228
|
const d = vecNormalize(resolveDir(dir));
|
|
233
229
|
return (edge) => {
|
|
@@ -299,13 +295,11 @@ function buildWireFinder(filters) {
|
|
|
299
295
|
function wireFinder() {
|
|
300
296
|
return buildWireFinder([]);
|
|
301
297
|
}
|
|
302
|
-
|
|
303
|
-
//#region src/query/helpers.ts
|
|
298
|
+
// src/query/helpers.ts
|
|
304
299
|
/** Resolve a {@link SingleFace} input to a concrete Face from the given shape. */
|
|
305
300
|
function getSingleFace(f, shape) {
|
|
306
301
|
if (typeof f === "object" && "_topoKind" in f) return f.findUnique(shape);
|
|
307
302
|
if (typeof f !== "function" && isFace(f)) return ok(f);
|
|
308
303
|
return f(faceFinder()).findUnique(shape);
|
|
309
304
|
}
|
|
310
|
-
//#endregion
|
|
311
305
|
export { rotate2d as _, createTypedFinder as a, squareDistance2d as b, PRECISION_POINT as c, cartesianToPolar as d, crossProduct2d as f, polarToCartesian as g, polarAngle2d as h, wireFinder as i, add2d as l, normalize2d as m, edgeFinder as n, PRECISION_INTERSECTION as o, distance2d as p, faceFinder as r, PRECISION_OFFSET as s, getSingleFace as t, angle2d as u, samePoint as v, subtract2d as x, scalarMultiply2d as y };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
2
|
-
const require_errors = require("./errors-
|
|
3
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
4
|
-
const require_constants = require("./constants-
|
|
5
|
-
const require_vecOps = require("./vecOps-
|
|
6
|
-
const require_faceFns = require("./faceFns-
|
|
7
|
-
const require_shapeFns = require("./shapeFns-
|
|
8
|
-
const require_curveFns = require("./curveFns-
|
|
9
|
-
const require_measureFns = require("./measureFns-
|
|
10
|
-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-CkxvJRpq.cjs");
|
|
2
|
+
const require_errors = require("./errors-DoMAp7mQ.cjs");
|
|
3
|
+
const require_topologyQueryFns = require("./topologyQueryFns-C6HwYYpi.cjs");
|
|
4
|
+
const require_constants = require("./constants-oee0S_x6.cjs");
|
|
5
|
+
const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
|
|
6
|
+
const require_faceFns = require("./faceFns-B8ctN5Te.cjs");
|
|
7
|
+
const require_shapeFns = require("./shapeFns-DKDlt3k2.cjs");
|
|
8
|
+
const require_curveFns = require("./curveFns-Cxq5lFqU.cjs");
|
|
9
|
+
const require_measureFns = require("./measureFns-C6wgH_1a.cjs");
|
|
10
|
+
// src/utils/vec2d.ts
|
|
11
11
|
/** Precision for curve intersection and parameter operations. */
|
|
12
12
|
var PRECISION_INTERSECTION = 1e-9;
|
|
13
13
|
/** Base precision for offset operations — scaled internally for sub-tasks. */
|
|
@@ -89,8 +89,7 @@ var polarToCartesian = (r, theta) => {
|
|
|
89
89
|
var cartesianToPolar = ([x, y]) => {
|
|
90
90
|
return [Math.sqrt(x * x + y * y), Math.atan2(y, x)];
|
|
91
91
|
};
|
|
92
|
-
|
|
93
|
-
//#region src/query/finderCore.ts
|
|
92
|
+
// src/query/finderCore.ts
|
|
94
93
|
/**
|
|
95
94
|
* Find exactly one element matching all predicates. Returns an error Result
|
|
96
95
|
* if zero or more than one element matches.
|
|
@@ -181,8 +180,7 @@ function createTypedFinder(topoKind, filters, rebuild, extend) {
|
|
|
181
180
|
...extensions
|
|
182
181
|
};
|
|
183
182
|
}
|
|
184
|
-
|
|
185
|
-
//#region src/query/directionUtils.ts
|
|
183
|
+
// src/query/directionUtils.ts
|
|
186
184
|
var DIRECTIONS = {
|
|
187
185
|
X: [
|
|
188
186
|
1,
|
|
@@ -209,8 +207,7 @@ function resolveDir(dir) {
|
|
|
209
207
|
];
|
|
210
208
|
return dir;
|
|
211
209
|
}
|
|
212
|
-
|
|
213
|
-
//#region src/query/shapeDistanceFilter.ts
|
|
210
|
+
// src/query/shapeDistanceFilter.ts
|
|
214
211
|
/**
|
|
215
212
|
* Create a predicate that checks whether a shape element's minimum distance
|
|
216
213
|
* from `point` equals `distance` (within `tolerance`).
|
|
@@ -226,8 +223,7 @@ function distanceFromPointFilter(distance, point, tolerance) {
|
|
|
226
223
|
return Math.abs(d - distance) < tolerance;
|
|
227
224
|
};
|
|
228
225
|
}
|
|
229
|
-
|
|
230
|
-
//#region src/query/shapeFinders.ts
|
|
226
|
+
// src/query/shapeFinders.ts
|
|
231
227
|
function edgeDirectionFilter(dir, angle) {
|
|
232
228
|
const d = require_vecOps.vecNormalize(resolveDir(dir));
|
|
233
229
|
return (edge) => {
|
|
@@ -299,15 +295,13 @@ function buildWireFinder(filters) {
|
|
|
299
295
|
function wireFinder() {
|
|
300
296
|
return buildWireFinder([]);
|
|
301
297
|
}
|
|
302
|
-
|
|
303
|
-
//#region src/query/helpers.ts
|
|
298
|
+
// src/query/helpers.ts
|
|
304
299
|
/** Resolve a {@link SingleFace} input to a concrete Face from the given shape. */
|
|
305
300
|
function getSingleFace(f, shape) {
|
|
306
301
|
if (typeof f === "object" && "_topoKind" in f) return f.findUnique(shape);
|
|
307
302
|
if (typeof f !== "function" && require_shapeTypes.isFace(f)) return require_errors.ok(f);
|
|
308
303
|
return f(faceFinder()).findUnique(shape);
|
|
309
304
|
}
|
|
310
|
-
//#endregion
|
|
311
305
|
Object.defineProperty(exports, "PRECISION_INTERSECTION", {
|
|
312
306
|
enumerable: true,
|
|
313
307
|
get: function() {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
2
|
-
const require_bug = require("./bug-
|
|
3
|
-
const require_errors = require("./errors-
|
|
4
|
-
const require_arrayAccess = require("./arrayAccess-
|
|
5
|
-
const require_blueprint = require("./blueprint-
|
|
6
|
-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-CkxvJRpq.cjs");
|
|
2
|
+
const require_bug = require("./bug-CBcpIPuf.cjs");
|
|
3
|
+
const require_errors = require("./errors-DoMAp7mQ.cjs");
|
|
4
|
+
const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
|
|
5
|
+
const require_blueprint = require("./blueprint-Ci2Mw5v-.cjs");
|
|
6
|
+
// src/io/objExportFns.ts
|
|
7
7
|
/** Read a vec3 from a typed array at the given vertex index. */
|
|
8
8
|
function vec3At(arr, i) {
|
|
9
9
|
return require_bug.vec3At(arr, i * 3);
|
|
@@ -55,8 +55,7 @@ function exportOBJ(mesh) {
|
|
|
55
55
|
}
|
|
56
56
|
return lines.join("\n") + "\n";
|
|
57
57
|
}
|
|
58
|
-
|
|
59
|
-
//#region src/io/gltfExportFns.ts
|
|
58
|
+
// src/io/gltfExportFns.ts
|
|
60
59
|
var FLOAT = 5126;
|
|
61
60
|
var UNSIGNED_INT = 5125;
|
|
62
61
|
var ARRAY_BUFFER = 34962;
|
|
@@ -507,8 +506,7 @@ function buildBinaryBuffer(mesh) {
|
|
|
507
506
|
output.set(new Uint8Array(normals.buffer, normals.byteOffset, normalsByteLength), align4(indicesByteLength) + verticesByteLength);
|
|
508
507
|
return buffer;
|
|
509
508
|
}
|
|
510
|
-
|
|
511
|
-
//#region src/io/dxfExportFns.ts
|
|
509
|
+
// src/io/dxfExportFns.ts
|
|
512
510
|
/**
|
|
513
511
|
* Export DXF entities to a DXF R12 ASCII string.
|
|
514
512
|
*
|
|
@@ -609,8 +607,7 @@ function approximateCurveAsPolyline(curve, segments) {
|
|
|
609
607
|
points
|
|
610
608
|
};
|
|
611
609
|
}
|
|
612
|
-
|
|
613
|
-
//#region src/io/threemfExportFns.ts
|
|
610
|
+
// src/io/threemfExportFns.ts
|
|
614
611
|
var crcTable = /* @__PURE__ */ new Uint32Array(256);
|
|
615
612
|
for (let i = 0; i < 256; i++) {
|
|
616
613
|
let c = i;
|
|
@@ -911,8 +908,7 @@ function exportThreeMF(mesh, options = {}) {
|
|
|
911
908
|
entry("3D/3dmodel.model", model)
|
|
912
909
|
]);
|
|
913
910
|
}
|
|
914
|
-
|
|
915
|
-
//#region src/io/svgImportFns.ts
|
|
911
|
+
// src/io/svgImportFns.ts
|
|
916
912
|
function tokenizeSVGPath(d) {
|
|
917
913
|
const tokens = [];
|
|
918
914
|
const re = /([MmLlHhVvCcSsQqTtAaZz])([^MmLlHhVvCcSsQqTtAaZz]*)/g;
|
|
@@ -1238,8 +1234,7 @@ function importSVG(svgString) {
|
|
|
1238
1234
|
return require_errors.err(require_errors.ioError("SVG_IMPORT_FAILED", `Failed to import SVG: ${e instanceof Error ? e.message : String(e)}`));
|
|
1239
1235
|
}
|
|
1240
1236
|
}
|
|
1241
|
-
|
|
1242
|
-
//#region src/io/stepConfigFns.ts
|
|
1237
|
+
// src/io/stepConfigFns.ts
|
|
1243
1238
|
/**
|
|
1244
1239
|
* Configured STEP export with full control over units, schema, and assembly mode.
|
|
1245
1240
|
*/
|
|
@@ -1265,8 +1260,7 @@ function exportSTEPConfigured(parts, options) {
|
|
|
1265
1260
|
return require_errors.err(require_errors.ioError(require_errors.BrepErrorCode.STEP_EXPORT_CONFIGURED_FAILED, "Configured STEP export failed", e));
|
|
1266
1261
|
}
|
|
1267
1262
|
}
|
|
1268
|
-
|
|
1269
|
-
//#region src/io/importFns.ts
|
|
1263
|
+
// src/io/importFns.ts
|
|
1270
1264
|
/**
|
|
1271
1265
|
* Functional file import operations using branded shape types.
|
|
1272
1266
|
* Supports STEP, STL, and IGES formats.
|
|
@@ -1355,7 +1349,6 @@ async function importIGES(blob) {
|
|
|
1355
1349
|
return require_errors.err(require_errors.ioError("IGES_IMPORT_FAILED", "Failed to load IGES file", e));
|
|
1356
1350
|
}
|
|
1357
1351
|
}
|
|
1358
|
-
//#endregion
|
|
1359
1352
|
Object.defineProperty(exports, "blueprintToDXF", {
|
|
1360
1353
|
enumerable: true,
|
|
1361
1354
|
get: function() {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { n as castResultShape, q as getKernel } from "./shapeTypes-
|
|
2
|
-
import { i as wasmIndex, r as vec3At$1 } from "./bug-
|
|
3
|
-
import { E as ok, g as err, r as ioError, t as BrepErrorCode } from "./errors-
|
|
4
|
-
import { n as getAtOrThrow } from "./arrayAccess-
|
|
5
|
-
import { c as make2dBezierCurve, h as make2dThreePointArc, p as make2dSegmentCurve, t as Blueprint } from "./blueprint-
|
|
6
|
-
|
|
1
|
+
import { n as castResultShape, q as getKernel } from "./shapeTypes-Bva18qvE.js";
|
|
2
|
+
import { i as wasmIndex, r as vec3At$1 } from "./bug-ClMTAJhe.js";
|
|
3
|
+
import { E as ok, g as err, r as ioError, t as BrepErrorCode } from "./errors-B3espUT6.js";
|
|
4
|
+
import { n as getAtOrThrow } from "./arrayAccess-BpgouNir.js";
|
|
5
|
+
import { c as make2dBezierCurve, h as make2dThreePointArc, p as make2dSegmentCurve, t as Blueprint } from "./blueprint-DHKul4EN.js";
|
|
6
|
+
// src/io/objExportFns.ts
|
|
7
7
|
/** Read a vec3 from a typed array at the given vertex index. */
|
|
8
8
|
function vec3At(arr, i) {
|
|
9
9
|
return vec3At$1(arr, i * 3);
|
|
@@ -55,8 +55,7 @@ function exportOBJ(mesh) {
|
|
|
55
55
|
}
|
|
56
56
|
return lines.join("\n") + "\n";
|
|
57
57
|
}
|
|
58
|
-
|
|
59
|
-
//#region src/io/gltfExportFns.ts
|
|
58
|
+
// src/io/gltfExportFns.ts
|
|
60
59
|
var FLOAT = 5126;
|
|
61
60
|
var UNSIGNED_INT = 5125;
|
|
62
61
|
var ARRAY_BUFFER = 34962;
|
|
@@ -507,8 +506,7 @@ function buildBinaryBuffer(mesh) {
|
|
|
507
506
|
output.set(new Uint8Array(normals.buffer, normals.byteOffset, normalsByteLength), align4(indicesByteLength) + verticesByteLength);
|
|
508
507
|
return buffer;
|
|
509
508
|
}
|
|
510
|
-
|
|
511
|
-
//#region src/io/dxfExportFns.ts
|
|
509
|
+
// src/io/dxfExportFns.ts
|
|
512
510
|
/**
|
|
513
511
|
* Export DXF entities to a DXF R12 ASCII string.
|
|
514
512
|
*
|
|
@@ -609,8 +607,7 @@ function approximateCurveAsPolyline(curve, segments) {
|
|
|
609
607
|
points
|
|
610
608
|
};
|
|
611
609
|
}
|
|
612
|
-
|
|
613
|
-
//#region src/io/threemfExportFns.ts
|
|
610
|
+
// src/io/threemfExportFns.ts
|
|
614
611
|
var crcTable = /* @__PURE__ */ new Uint32Array(256);
|
|
615
612
|
for (let i = 0; i < 256; i++) {
|
|
616
613
|
let c = i;
|
|
@@ -911,8 +908,7 @@ function exportThreeMF(mesh, options = {}) {
|
|
|
911
908
|
entry("3D/3dmodel.model", model)
|
|
912
909
|
]);
|
|
913
910
|
}
|
|
914
|
-
|
|
915
|
-
//#region src/io/svgImportFns.ts
|
|
911
|
+
// src/io/svgImportFns.ts
|
|
916
912
|
function tokenizeSVGPath(d) {
|
|
917
913
|
const tokens = [];
|
|
918
914
|
const re = /([MmLlHhVvCcSsQqTtAaZz])([^MmLlHhVvCcSsQqTtAaZz]*)/g;
|
|
@@ -1238,8 +1234,7 @@ function importSVG(svgString) {
|
|
|
1238
1234
|
return err(ioError("SVG_IMPORT_FAILED", `Failed to import SVG: ${e instanceof Error ? e.message : String(e)}`));
|
|
1239
1235
|
}
|
|
1240
1236
|
}
|
|
1241
|
-
|
|
1242
|
-
//#region src/io/stepConfigFns.ts
|
|
1237
|
+
// src/io/stepConfigFns.ts
|
|
1243
1238
|
/**
|
|
1244
1239
|
* Configured STEP export with full control over units, schema, and assembly mode.
|
|
1245
1240
|
*/
|
|
@@ -1265,8 +1260,7 @@ function exportSTEPConfigured(parts, options) {
|
|
|
1265
1260
|
return err(ioError(BrepErrorCode.STEP_EXPORT_CONFIGURED_FAILED, "Configured STEP export failed", e));
|
|
1266
1261
|
}
|
|
1267
1262
|
}
|
|
1268
|
-
|
|
1269
|
-
//#region src/io/importFns.ts
|
|
1263
|
+
// src/io/importFns.ts
|
|
1270
1264
|
/**
|
|
1271
1265
|
* Functional file import operations using branded shape types.
|
|
1272
1266
|
* Supports STEP, STL, and IGES formats.
|
|
@@ -1355,5 +1349,4 @@ async function importIGES(blob) {
|
|
|
1355
1349
|
return err(ioError("IGES_IMPORT_FAILED", "Failed to load IGES file", e));
|
|
1356
1350
|
}
|
|
1357
1351
|
}
|
|
1358
|
-
//#endregion
|
|
1359
1352
|
export { importSVG as a, blueprintToDXF as c, exportGltf as d, exportOBJ as f, exportSTEPConfigured as i, exportDXF as l, importSTEP as n, importSVGPathD as o, importSTL as r, exportThreeMF as s, importIGES as t, exportGlb as u };
|
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-r_p0RRoO.cjs");
|
|
3
|
+
const require_importFns = require("./importFns-DHaw1x5R.cjs");
|
|
4
4
|
exports.blueprintToDXF = require_importFns.blueprintToDXF;
|
|
5
5
|
exports.exportDXF = require_importFns.exportDXF;
|
|
6
6
|
exports.exportGlb = require_importFns.exportGlb;
|