@constructorfleet/sketchforge-engine 1.26.0 → 1.27.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/cadAnalysis.d.ts +94 -0
- package/dist/cadAnalysis.d.ts.map +1 -0
- package/dist/cadAnalysis.js +143 -0
- package/dist/cadAnalysis.js.map +1 -0
- package/dist/cadShell.d.ts +143 -0
- package/dist/cadShell.d.ts.map +1 -0
- package/dist/cadShell.js +306 -0
- package/dist/cadShell.js.map +1 -0
- package/dist/domain/sketchforge.d.ts +1 -1
- package/dist/domain/sketchforge.d.ts.map +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +57 -15
- package/dist/engine.js.map +1 -1
- package/dist/parametricRecompute.d.ts.map +1 -1
- package/dist/parametricRecompute.js +7 -4
- package/dist/parametricRecompute.js.map +1 -1
- package/dist/revolveRequests.d.ts.map +1 -1
- package/dist/serverCadInterference.d.ts +8 -45
- package/dist/serverCadInterference.d.ts.map +1 -1
- package/dist/serverCadInterference.js +13 -42
- package/dist/serverCadInterference.js.map +1 -1
- package/dist/serverCadOperations.d.ts.map +1 -1
- package/dist/serverCadOperations.js +76 -25
- package/dist/serverCadOperations.js.map +1 -1
- package/dist/serverCadShell.d.ts +7 -94
- package/dist/serverCadShell.d.ts.map +1 -1
- package/dist/serverCadShell.js +25 -269
- package/dist/serverCadShell.js.map +1 -1
- package/dist/serverCadThickness.d.ts +8 -8
- package/dist/serverCadThickness.d.ts.map +1 -1
- package/dist/serverCadThickness.js +15 -42
- package/dist/serverCadThickness.js.map +1 -1
- package/dist/serverStepExplode.d.ts +1 -2
- package/dist/serverStepExplode.d.ts.map +1 -1
- package/dist/serverStepExplode.js +15 -148
- package/dist/serverStepExplode.js.map +1 -1
- package/dist/sketchFaceDraftKernel.d.ts +5 -5
- package/dist/sketchFaceDraftKernel.d.ts.map +1 -1
- package/dist/sketchFaceDraftKernel.js +11 -9
- package/dist/sketchFaceDraftKernel.js.map +1 -1
- package/dist/stepAssemblyExplode.d.ts +45 -0
- package/dist/stepAssemblyExplode.d.ts.map +1 -0
- package/dist/stepAssemblyExplode.js +195 -0
- package/dist/stepAssemblyExplode.js.map +1 -0
- package/dist/support/cadModifierTypes.d.ts +59 -0
- package/dist/support/cadModifierTypes.d.ts.map +1 -1
- package/dist/support/i18n/locales/en/messages.json +13 -1
- package/package.json +1 -1
|
@@ -1,160 +1,27 @@
|
|
|
1
1
|
/** Split a retained STEP source into positioned, independently editable solids. Node-only. */
|
|
2
|
-
import * as THREE from "three";
|
|
3
|
-
import { importedShapeFromTriangleSoup } from "./stlImport.js";
|
|
4
|
-
import { stepComponentMetadata, stepShapeKey } from "./stepComponentMetadata.js";
|
|
5
2
|
import { withCadKernel } from "./serverCadKernel.js";
|
|
6
|
-
import { groupedShapeFromSelection } from "./serverShapeGroups.js";
|
|
7
3
|
import { ServerCadError } from "./serverCadOperations.js";
|
|
8
|
-
import {
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
function boundsOf(cad, shape) {
|
|
13
|
-
return cad.getBoundingBox(shape, false);
|
|
14
|
-
}
|
|
15
|
-
function leafPaths(nodes, parentPath = []) {
|
|
16
|
-
return nodes.flatMap((node) => {
|
|
17
|
-
const path = [...parentPath, { ...(node.id ? { id: node.id } : {}), name: node.name }];
|
|
18
|
-
return node.children.length ? leafPaths(node.children, path) : [path];
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
function uniqueNamedPath(paths, name) {
|
|
22
|
-
const matches = paths.filter((path) => path.at(-1)?.name === name);
|
|
23
|
-
return matches.length === 1 ? matches[0] : undefined;
|
|
24
|
-
}
|
|
25
|
-
function groupExplodedHierarchy(parts, roots) {
|
|
26
|
-
const partsByOccurrence = new Map();
|
|
27
|
-
for (const part of parts) {
|
|
28
|
-
const occurrenceId = part.stepComponent?.occurrenceId;
|
|
29
|
-
if (!occurrenceId)
|
|
30
|
-
return parts;
|
|
31
|
-
const matches = partsByOccurrence.get(occurrenceId) ?? [];
|
|
32
|
-
matches.push(part);
|
|
33
|
-
partsByOccurrence.set(occurrenceId, matches);
|
|
34
|
-
}
|
|
35
|
-
const consumed = new Set();
|
|
36
|
-
let complete = true;
|
|
37
|
-
const namedGroup = (name, children) => {
|
|
38
|
-
const group = groupedShapeFromSelection(children, { allowSingle: true, name });
|
|
39
|
-
if (!group) {
|
|
40
|
-
complete = false;
|
|
41
|
-
return children;
|
|
42
|
-
}
|
|
43
|
-
return [group];
|
|
44
|
-
};
|
|
45
|
-
const visit = (node) => {
|
|
46
|
-
if (!node.children.length) {
|
|
47
|
-
if (!node.id) {
|
|
48
|
-
complete = false;
|
|
49
|
-
return [];
|
|
50
|
-
}
|
|
51
|
-
const matches = partsByOccurrence.get(node.id);
|
|
52
|
-
if (!matches?.length) {
|
|
53
|
-
complete = false;
|
|
54
|
-
return [];
|
|
55
|
-
}
|
|
56
|
-
matches.forEach((part) => consumed.add(part));
|
|
57
|
-
return matches.length > 1 ? namedGroup(node.name, matches) : matches;
|
|
58
|
-
}
|
|
59
|
-
const children = node.children.flatMap(visit);
|
|
60
|
-
if (!children.length)
|
|
61
|
-
return [];
|
|
62
|
-
return namedGroup(node.name, children);
|
|
63
|
-
};
|
|
64
|
-
const grouped = roots.flatMap(visit);
|
|
65
|
-
// Keep the proven flat behavior when even one source solid cannot be
|
|
66
|
-
// associated to a product occurrence. A partial tree would hide geometry.
|
|
67
|
-
return complete && consumed.size === parts.length && grouped.length ? grouped : parts;
|
|
4
|
+
import { assertStepExplodable, explodeStepAssemblyWithKernel, StepExplodeError } from "./stepAssemblyExplode.js";
|
|
5
|
+
export { MAX_EXPLODE_SOLIDS, MAX_EXPLODE_SOURCE_BYTES } from "./stepAssemblyExplode.js";
|
|
6
|
+
function asServerCadError(error) {
|
|
7
|
+
return error instanceof StepExplodeError ? new ServerCadError(error.message, error.status) : error;
|
|
68
8
|
}
|
|
69
9
|
/** Turn a STEP-imported mesh shape into one exact mesh/B-rep-backed shape per solid. */
|
|
70
10
|
export function explodeStepAssembly(shape, source) {
|
|
71
|
-
|
|
72
|
-
|
|
11
|
+
// Refuse before taking the kernel: a throw inside `withCadKernel` discards it.
|
|
12
|
+
try {
|
|
13
|
+
assertStepExplodable(shape, source);
|
|
73
14
|
}
|
|
74
|
-
|
|
75
|
-
return Promise.reject(
|
|
15
|
+
catch (error) {
|
|
16
|
+
return Promise.reject(asServerCadError(error));
|
|
76
17
|
}
|
|
77
18
|
return withCadKernel((cad) => {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
// Match the importer's Z-up conversion and scene-wide recentering.
|
|
85
|
-
const turnedAssembly = cad.rotate(imported, X_AXIS, -Math.PI / 2);
|
|
86
|
-
const assemblyBounds = boundsOf(cad, turnedAssembly);
|
|
87
|
-
const centerX = (assemblyBounds.xmin + assemblyBounds.xmax) / 2;
|
|
88
|
-
const floorY = assemblyBounds.ymin;
|
|
89
|
-
const centerZ = (assemblyBounds.zmin + assemblyBounds.zmax) / 2;
|
|
90
|
-
const rotation = new THREE.Matrix4().makeRotationFromEuler(new THREE.Euler(THREE.MathUtils.degToRad(shape.rotationX ?? 0), THREE.MathUtils.degToRad(meshYawDegrees(shape)), THREE.MathUtils.degToRad(shape.rotationZ ?? 0), "XYZ"));
|
|
91
|
-
const mirrors = new THREE.Vector3(shape.mirrorX ? -1 : 1, shape.mirrorY ? -1 : 1, shape.mirrorZ ? -1 : 1);
|
|
92
|
-
const parentCenter = new THREE.Vector3(shape.x, (shape.elevation ?? 0) + shape.height / 2, shape.z);
|
|
93
|
-
const componentMetadata = stepComponentMetadata(cad, new TextDecoder().decode(source.bytes));
|
|
94
|
-
const paths = leafPaths(shape.stepAssembly ?? []);
|
|
95
|
-
const occurrencePartIndexes = new Map();
|
|
96
|
-
const parts = solids.map((solid, index) => {
|
|
97
|
-
const candidates = componentMetadata.bySolid.get(stepShapeKey(cad, solid)) ?? [];
|
|
98
|
-
const firstCandidate = candidates[0];
|
|
99
|
-
const metadata = firstCandidate ? {
|
|
100
|
-
...(candidates.length === 1 && firstCandidate.name ? { name: firstCandidate.name } : {}),
|
|
101
|
-
...(candidates.length === 1 && firstCandidate.occurrenceId ? { occurrenceId: firstCandidate.occurrenceId } : {}),
|
|
102
|
-
...(candidates.every((candidate) => candidate.color === firstCandidate.color) && firstCandidate.color
|
|
103
|
-
? { color: firstCandidate.color }
|
|
104
|
-
: {}),
|
|
105
|
-
} : undefined;
|
|
106
|
-
const path = metadata?.occurrenceId
|
|
107
|
-
? paths.find((candidate) => candidate.at(-1)?.id === metadata.occurrenceId)
|
|
108
|
-
: metadata?.name ? uniqueNamedPath(paths, metadata.name) : undefined;
|
|
109
|
-
const occurrenceId = path?.at(-1)?.id;
|
|
110
|
-
const occurrencePartIndex = occurrenceId ? (occurrencePartIndexes.get(occurrenceId) ?? 0) : 0;
|
|
111
|
-
if (occurrenceId)
|
|
112
|
-
occurrencePartIndexes.set(occurrenceId, occurrencePartIndex + 1);
|
|
113
|
-
const componentName = path?.at(-1)?.name ?? (paths.length === 0 ? metadata?.name : undefined);
|
|
114
|
-
const turned = cad.rotate(solid, X_AXIS, -Math.PI / 2);
|
|
115
|
-
const positioned = cad.translate(turned, -centerX, -floorY, -centerZ);
|
|
116
|
-
const bounds = boundsOf(cad, positioned);
|
|
117
|
-
const partX = (bounds.xmin + bounds.xmax) / 2;
|
|
118
|
-
const partY = bounds.ymin;
|
|
119
|
-
const partZ = (bounds.zmin + bounds.zmax) / 2;
|
|
120
|
-
const local = cad.translate(positioned, -partX, -partY, -partZ);
|
|
121
|
-
const mesh = cad.tessellate(positioned);
|
|
122
|
-
const positions = [];
|
|
123
|
-
const normals = [];
|
|
124
|
-
for (let cursor = 0; cursor < mesh.indices.length; cursor += 1) {
|
|
125
|
-
const vertex = mesh.indices[cursor] * 3;
|
|
126
|
-
positions.push(mesh.positions[vertex], mesh.positions[vertex + 1], mesh.positions[vertex + 2]);
|
|
127
|
-
if (mesh.normals.length === mesh.positions.length)
|
|
128
|
-
normals.push(mesh.normals[vertex], mesh.normals[vertex + 1], mesh.normals[vertex + 2]);
|
|
129
|
-
}
|
|
130
|
-
const child = importedShapeFromTriangleSoup(componentName ?? `${shape.name} ${index + 1}`, positions, normals.length ? normals : undefined, "step");
|
|
131
|
-
const offset = new THREE.Vector3(partX, partY - shape.height / 2, partZ).multiply(mirrors).applyMatrix4(rotation).add(parentCenter);
|
|
132
|
-
child.color = metadata?.color ?? shape.color;
|
|
133
|
-
child.material = shape.material;
|
|
134
|
-
child.appearance = shape.appearance;
|
|
135
|
-
child.hole = shape.hole;
|
|
136
|
-
child.hidden = shape.hidden;
|
|
137
|
-
child.locked = shape.locked;
|
|
138
|
-
child.rotation = shape.rotation;
|
|
139
|
-
child.rotationX = shape.rotationX;
|
|
140
|
-
child.rotationZ = shape.rotationZ;
|
|
141
|
-
child.mirrorX = shape.mirrorX;
|
|
142
|
-
child.mirrorY = shape.mirrorY;
|
|
143
|
-
child.mirrorZ = shape.mirrorZ;
|
|
144
|
-
child.x = offset.x;
|
|
145
|
-
child.elevation = offset.y;
|
|
146
|
-
child.z = offset.z;
|
|
147
|
-
child.importedMesh.brepStep = cad.exportStep(local);
|
|
148
|
-
if (path && occurrenceId) {
|
|
149
|
-
child.stepComponent = {
|
|
150
|
-
id: `${occurrenceId}/solid-${occurrencePartIndex + 1}`,
|
|
151
|
-
occurrenceId,
|
|
152
|
-
path,
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
return child;
|
|
156
|
-
});
|
|
157
|
-
return groupExplodedHierarchy(parts, shape.stepAssembly ?? []);
|
|
19
|
+
try {
|
|
20
|
+
return explodeStepAssemblyWithKernel(cad, shape, source).shapes;
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
throw asServerCadError(error);
|
|
24
|
+
}
|
|
158
25
|
});
|
|
159
26
|
}
|
|
160
27
|
//# sourceMappingURL=serverStepExplode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverStepExplode.js","sourceRoot":"","sources":["../src/serverStepExplode.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAE9F,OAAO,
|
|
1
|
+
{"version":3,"file":"serverStepExplode.js","sourceRoot":"","sources":["../src/serverStepExplode.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAE9F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjH,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAExF,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,KAAK,YAAY,gBAAgB,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACrG,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,mBAAmB,CAAC,KAAqB,EAAE,MAAoB;IAC7E,+EAA+E;IAC/E,IAAI,CAAC;QACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,aAAa,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3B,IAAI,CAAC;YACH,OAAO,6BAA6B,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -234,12 +234,12 @@ export declare function draftPrismProfileOffset(profile: Pick<SketchProfile, "po
|
|
|
234
234
|
* rebuilt on, and so the drafted result, which keeps it.
|
|
235
235
|
*
|
|
236
236
|
* The shape's position is moved by however far the rebuilt extrusion's frame
|
|
237
|
-
* is from the source frame the draft first started from
|
|
238
|
-
* coordinates
|
|
239
|
-
*
|
|
240
|
-
* record means one placement whichever side wrote it (#384).
|
|
237
|
+
* is from the source frame the draft first started from. Frame offsets are in
|
|
238
|
+
* sketch coordinates, so rotate them by the shape's placement before adding
|
|
239
|
+
* them to its world position. The editor and REST use this same rule so one
|
|
240
|
+
* record means one placement whichever side wrote it (#384, #435).
|
|
241
241
|
*/
|
|
242
|
-
export declare function retainedDraftSourcePlacement(existing: Pick<WorkplaneShape, "x" | "z" | "elevation" | "faceDraftSourceFrame" | "draftPrismSourceFrame" | "cadBrepFrame">, rebuiltFrame: Pick<CadBrepFrame, "x" | "z" | "elevation">): {
|
|
242
|
+
export declare function retainedDraftSourcePlacement(existing: Pick<WorkplaneShape, "x" | "z" | "elevation" | "rotation" | "rotationX" | "rotationZ" | "mirrorX" | "mirrorY" | "mirrorZ" | "faceDraftSourceFrame" | "draftPrismSourceFrame" | "cadBrepFrame">, rebuiltFrame: Pick<CadBrepFrame, "x" | "z" | "elevation">, sourceFrameOverride?: Pick<CadBrepFrame, "x" | "z" | "elevation">): {
|
|
243
243
|
x: number;
|
|
244
244
|
z: number;
|
|
245
245
|
elevation: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sketchFaceDraftKernel.d.ts","sourceRoot":"","sources":["../src/sketchFaceDraftKernel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"sketchFaceDraftKernel.d.ts","sourceRoot":"","sources":["../src/sketchFaceDraftKernel.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* Errors carry the messages the REST API has always returned; each caller
|
|
16
16
|
* wraps them in its own error type.
|
|
17
17
|
*/
|
|
18
|
+
import * as THREE from "three";
|
|
18
19
|
import { cadSketchRegions } from "./sketchCadProfile.js";
|
|
19
20
|
import { createLocalId } from "./localIds.js";
|
|
20
21
|
import { sketchExtrusionSolid } from "./sketchExtrusionSolid.js";
|
|
@@ -557,17 +558,18 @@ export function draftPrismProfileOffset(profile) {
|
|
|
557
558
|
* rebuilt on, and so the drafted result, which keeps it.
|
|
558
559
|
*
|
|
559
560
|
* The shape's position is moved by however far the rebuilt extrusion's frame
|
|
560
|
-
* is from the source frame the draft first started from
|
|
561
|
-
* coordinates
|
|
562
|
-
*
|
|
563
|
-
* record means one placement whichever side wrote it (#384).
|
|
561
|
+
* is from the source frame the draft first started from. Frame offsets are in
|
|
562
|
+
* sketch coordinates, so rotate them by the shape's placement before adding
|
|
563
|
+
* them to its world position. The editor and REST use this same rule so one
|
|
564
|
+
* record means one placement whichever side wrote it (#384, #435).
|
|
564
565
|
*/
|
|
565
|
-
export function retainedDraftSourcePlacement(existing, rebuiltFrame) {
|
|
566
|
-
const sourceFrame = existing.faceDraftSourceFrame ?? existing.draftPrismSourceFrame ?? existing.cadBrepFrame;
|
|
566
|
+
export function retainedDraftSourcePlacement(existing, rebuiltFrame, sourceFrameOverride) {
|
|
567
|
+
const sourceFrame = sourceFrameOverride ?? existing.faceDraftSourceFrame ?? existing.draftPrismSourceFrame ?? existing.cadBrepFrame;
|
|
568
|
+
const offset = new THREE.Vector3((rebuiltFrame.x - (sourceFrame?.x ?? 0)) * (existing.mirrorX ? -1 : 1), (rebuiltFrame.elevation - (sourceFrame?.elevation ?? 0)) * (existing.mirrorY ? -1 : 1), (rebuiltFrame.z - (sourceFrame?.z ?? 0)) * (existing.mirrorZ ? -1 : 1)).applyEuler(new THREE.Euler(THREE.MathUtils.degToRad(existing.rotationX ?? 0), THREE.MathUtils.degToRad(existing.rotation ?? 0), THREE.MathUtils.degToRad(existing.rotationZ ?? 0), "XYZ"));
|
|
567
569
|
return {
|
|
568
|
-
x: existing.x
|
|
569
|
-
z: existing.z
|
|
570
|
-
elevation: (existing.elevation ?? 0)
|
|
570
|
+
x: existing.x + offset.x,
|
|
571
|
+
z: existing.z + offset.z,
|
|
572
|
+
elevation: (existing.elevation ?? 0) + offset.y,
|
|
571
573
|
};
|
|
572
574
|
}
|
|
573
575
|
//# sourceMappingURL=sketchFaceDraftKernel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sketchFaceDraftKernel.js","sourceRoot":"","sources":["../src/sketchFaceDraftKernel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sketchFaceDraftKernel.js","sourceRoot":"","sources":["../src/sketchFaceDraftKernel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Split a retained STEP source into positioned, independently editable solids
|
|
3
|
+
* on whichever OCCT kernel the caller holds.
|
|
4
|
+
*
|
|
5
|
+
* The server runs this through `withCadKernel` (`serverStepExplode`), and the
|
|
6
|
+
* editor runs it on the browser kernel STEP import already loaded
|
|
7
|
+
* (`explodeStepAssemblyInBrowser`), so both produce the same groups and leaves.
|
|
8
|
+
*/
|
|
9
|
+
import type { OcctKernel } from "occt-wasm";
|
|
10
|
+
import type { ProjectAsset, WorkplaneShape } from "./domain/sketchforge.js";
|
|
11
|
+
export declare const MAX_EXPLODE_SOLIDS = 200;
|
|
12
|
+
export declare const MAX_EXPLODE_SOURCE_BYTES: number;
|
|
13
|
+
/** Why an explosion was refused, so each caller can word it its own way. */
|
|
14
|
+
export type StepExplodeRefusal = "not_step" | "source_too_large" | "single_solid" | "too_many_solids";
|
|
15
|
+
/** A refused explosion: an English message, an HTTP-style status, and a stable reason. */
|
|
16
|
+
export declare class StepExplodeError extends Error {
|
|
17
|
+
readonly reason: StepExplodeRefusal;
|
|
18
|
+
readonly status: number;
|
|
19
|
+
readonly params: Record<string, number>;
|
|
20
|
+
constructor(reason: StepExplodeRefusal, message: string, status?: number, params?: Record<string, number>);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The shapes that replace the imported assembly.
|
|
24
|
+
*
|
|
25
|
+
* `hierarchy` is `nested` when the source product tree was rebuilt as groups,
|
|
26
|
+
* and `flat` when it could not be matched unambiguously (or there was none),
|
|
27
|
+
* in which case `shapes` are the top-level solids.
|
|
28
|
+
*/
|
|
29
|
+
export type StepAssemblyExplosion = {
|
|
30
|
+
shapes: WorkplaneShape[];
|
|
31
|
+
hierarchy: "nested" | "flat";
|
|
32
|
+
};
|
|
33
|
+
/** Refuse, without touching a kernel, a shape or source that cannot be exploded. */
|
|
34
|
+
export declare function assertStepExplodable(shape: WorkplaneShape, source: ProjectAsset): void;
|
|
35
|
+
/** Turn a STEP-imported mesh shape into one exact mesh/B-rep-backed shape per solid, on `cad`. */
|
|
36
|
+
export declare function explodeStepAssemblyWithKernel(cad: OcctKernel, shape: WorkplaneShape, source: ProjectAsset): StepAssemblyExplosion;
|
|
37
|
+
/**
|
|
38
|
+
* Explode on the browser kernel that STEP import loads.
|
|
39
|
+
*
|
|
40
|
+
* Like browser STEP import, this leaves the kernel's handle arena alone: the
|
|
41
|
+
* same kernel backs brepjs for STEP export, and emptying the arena under it
|
|
42
|
+
* would dangle handles it still holds.
|
|
43
|
+
*/
|
|
44
|
+
export declare function explodeStepAssemblyInBrowser(shape: WorkplaneShape, source: ProjectAsset): Promise<StepAssemblyExplosion>;
|
|
45
|
+
//# sourceMappingURL=stepAssemblyExplode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepAssemblyExplode.d.ts","sourceRoot":"","sources":["../src/stepAssemblyExplode.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,WAAW,CAAC;AAKzD,OAAO,KAAK,EAAE,YAAY,EAA0C,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGpH,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,wBAAwB,QAAkB,CAAC;AAGxD,4EAA4E;AAC5E,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,kBAAkB,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAEtG,0FAA0F;AAC1F,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAE5B,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;CAO3G;AAED;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAAC,SAAS,EAAE,QAAQ,GAAG,MAAM,CAAA;CAAE,CAAC;AA+D/F,oFAAoF;AACpF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,QAO/E;AAED,kGAAkG;AAClG,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,GAAG,qBAAqB,CAwFjI;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAI9H"}
|