@constructorfleet/sketchforge-engine 1.26.0 → 1.28.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 +157 -0
- package/dist/cadAnalysis.js.map +1 -0
- package/dist/cadBakeMetadata.d.ts +11 -2
- package/dist/cadBakeMetadata.d.ts.map +1 -1
- package/dist/cadBakeMetadata.js +9 -0
- package/dist/cadBakeMetadata.js.map +1 -1
- package/dist/cadProjection.d.ts.map +1 -1
- package/dist/cadProjection.js.map +1 -1
- package/dist/cadSection.d.ts.map +1 -1
- package/dist/cadShell.d.ts +143 -0
- package/dist/cadShell.d.ts.map +1 -0
- package/dist/cadShell.js +313 -0
- package/dist/cadShell.js.map +1 -0
- package/dist/cadSolids.d.ts.map +1 -1
- package/dist/cadSolids.js +18 -1
- package/dist/cadSolids.js.map +1 -1
- package/dist/cutBrepFrameMigration.d.ts +46 -0
- package/dist/cutBrepFrameMigration.d.ts.map +1 -0
- package/dist/cutBrepFrameMigration.js +105 -0
- package/dist/cutBrepFrameMigration.js.map +1 -0
- package/dist/cutterPadding.d.ts.map +1 -1
- package/dist/domain/cameraProjection.js.map +1 -1
- package/dist/domain/sketchforge.d.ts +31 -1
- package/dist/domain/sketchforge.d.ts.map +1 -1
- package/dist/editorHistory.d.ts.map +1 -1
- package/dist/editorHistory.js.map +1 -1
- package/dist/engine.d.ts +3 -3
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +156 -78
- package/dist/engine.js.map +1 -1
- package/dist/exactBooleanParts.d.ts +4 -2
- package/dist/exactBooleanParts.d.ts.map +1 -1
- package/dist/exactBooleanParts.js +7 -3
- package/dist/exactBooleanParts.js.map +1 -1
- package/dist/exactBooleanSolids.d.ts.map +1 -1
- package/dist/gearProfile.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/loftProfile.d.ts +1 -1
- package/dist/loftProfile.d.ts.map +1 -1
- package/dist/loftProfile.js.map +1 -1
- package/dist/meshEdgeProjection.d.ts +104 -0
- package/dist/meshEdgeProjection.d.ts.map +1 -0
- package/dist/meshEdgeProjection.js +439 -0
- package/dist/meshEdgeProjection.js.map +1 -0
- package/dist/meshImport.d.ts.map +1 -1
- package/dist/meshImport.js +2 -20
- package/dist/meshImport.js.map +1 -1
- package/dist/meshMassProperties.d.ts +92 -0
- package/dist/meshMassProperties.d.ts.map +1 -0
- package/dist/meshMassProperties.js +570 -0
- package/dist/meshMassProperties.js.map +1 -0
- package/dist/meshSection.d.ts +44 -0
- package/dist/meshSection.d.ts.map +1 -0
- package/dist/meshSection.js +154 -0
- package/dist/meshSection.js.map +1 -0
- package/dist/meshShellOverlap.d.ts +75 -0
- package/dist/meshShellOverlap.d.ts.map +1 -0
- package/dist/meshShellOverlap.js +797 -0
- package/dist/meshShellOverlap.js.map +1 -0
- package/dist/meshShellSolids.d.ts +44 -0
- package/dist/meshShellSolids.d.ts.map +1 -0
- package/dist/meshShellSolids.js +116 -0
- package/dist/meshShellSolids.js.map +1 -0
- package/dist/nodeSvgDomParser.d.ts +3 -0
- package/dist/nodeSvgDomParser.d.ts.map +1 -0
- package/dist/nodeSvgDomParser.js +53 -0
- package/dist/nodeSvgDomParser.js.map +1 -0
- package/dist/parametricRecompute.d.ts.map +1 -1
- package/dist/parametricRecompute.js +63 -10
- package/dist/parametricRecompute.js.map +1 -1
- package/dist/placementWorkplane.d.ts.map +1 -1
- package/dist/placementWorkplane.js.map +1 -1
- package/dist/projectAssets.d.ts +1 -1
- package/dist/projectStore.d.ts +1 -1
- package/dist/projectStore.d.ts.map +1 -1
- package/dist/projectStore.js +23 -2
- package/dist/projectStore.js.map +1 -1
- package/dist/revolveRequests.d.ts +57 -1
- package/dist/revolveRequests.d.ts.map +1 -1
- package/dist/revolveRequests.js +103 -4
- package/dist/revolveRequests.js.map +1 -1
- package/dist/sceneExport.d.ts +6 -0
- package/dist/sceneExport.d.ts.map +1 -1
- package/dist/sceneExport.js +6 -2
- package/dist/sceneExport.js.map +1 -1
- package/dist/serverCadInterference.d.ts +8 -45
- package/dist/serverCadInterference.d.ts.map +1 -1
- package/dist/serverCadInterference.js +21 -43
- package/dist/serverCadInterference.js.map +1 -1
- package/dist/serverCadOperations.d.ts +73 -4
- package/dist/serverCadOperations.d.ts.map +1 -1
- package/dist/serverCadOperations.js +356 -71
- package/dist/serverCadOperations.js.map +1 -1
- package/dist/serverCadProjection.d.ts +14 -1
- package/dist/serverCadProjection.d.ts.map +1 -1
- package/dist/serverCadProjection.js +135 -13
- package/dist/serverCadProjection.js.map +1 -1
- package/dist/serverCadProperties.d.ts +14 -7
- package/dist/serverCadProperties.d.ts.map +1 -1
- package/dist/serverCadProperties.js +60 -24
- package/dist/serverCadProperties.js.map +1 -1
- package/dist/serverCadSection.d.ts +21 -1
- package/dist/serverCadSection.d.ts.map +1 -1
- package/dist/serverCadSection.js +157 -43
- package/dist/serverCadSection.js.map +1 -1
- package/dist/serverCadShell.d.ts +7 -94
- package/dist/serverCadShell.d.ts.map +1 -1
- package/dist/serverCadShell.js +25 -272
- 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/serverShapeBooleans.d.ts +75 -0
- package/dist/serverShapeBooleans.d.ts.map +1 -1
- package/dist/serverShapeBooleans.js +251 -9
- package/dist/serverShapeBooleans.js.map +1 -1
- package/dist/serverShapeGroups.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/shapeBounds.d.ts.map +1 -1
- package/dist/shapeCatalog.d.ts.map +1 -1
- package/dist/shapeCatalog.js +1 -0
- package/dist/shapeCatalog.js.map +1 -1
- package/dist/shapeRequests.d.ts +13 -0
- package/dist/shapeRequests.d.ts.map +1 -1
- package/dist/shapeRequests.js +14 -0
- package/dist/shapeRequests.js.map +1 -1
- package/dist/sketchCadProfile.d.ts +13 -0
- package/dist/sketchCadProfile.d.ts.map +1 -1
- package/dist/sketchCadProfile.js +108 -0
- package/dist/sketchCadProfile.js.map +1 -1
- package/dist/sketchCadSweep.js.map +1 -1
- package/dist/sketchEdgeSegmentLineage.d.ts +32 -0
- package/dist/sketchEdgeSegmentLineage.d.ts.map +1 -0
- package/dist/sketchEdgeSegmentLineage.js +49 -0
- package/dist/sketchEdgeSegmentLineage.js.map +1 -0
- package/dist/sketchEdgeSegmentLineageKernel.d.ts +83 -0
- package/dist/sketchEdgeSegmentLineageKernel.d.ts.map +1 -0
- package/dist/sketchEdgeSegmentLineageKernel.js +125 -0
- package/dist/sketchEdgeSegmentLineageKernel.js.map +1 -0
- package/dist/sketchFaceDraftKernel.d.ts +16 -9
- package/dist/sketchFaceDraftKernel.d.ts.map +1 -1
- package/dist/sketchFaceDraftKernel.js +19 -11
- package/dist/sketchFaceDraftKernel.js.map +1 -1
- package/dist/sketchRevolve.d.ts +13 -0
- package/dist/sketchRevolve.d.ts.map +1 -1
- package/dist/sketchRevolve.js +4 -1
- package/dist/sketchRevolve.js.map +1 -1
- package/dist/skfProject.d.ts +1 -1
- package/dist/skfProject.d.ts.map +1 -1
- package/dist/skfProject.js +63 -4
- package/dist/skfProject.js.map +1 -1
- package/dist/sphereTessellation.d.ts.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/stepAssemblyHierarchy.js.map +1 -1
- package/dist/stepComponentMetadata.d.ts +1 -1
- package/dist/stepComponentMetadata.d.ts.map +1 -1
- package/dist/stepComponentMetadata.js +93 -39
- package/dist/stepComponentMetadata.js.map +1 -1
- package/dist/stepExport.d.ts +14 -1
- package/dist/stepExport.d.ts.map +1 -1
- package/dist/stepExport.js +81 -32
- package/dist/stepExport.js.map +1 -1
- package/dist/stepImportCommon.d.ts +4 -1
- package/dist/stepImportCommon.d.ts.map +1 -1
- package/dist/stepImportCommon.js +7 -6
- package/dist/stepImportCommon.js.map +1 -1
- package/dist/stlImport.js.map +1 -1
- package/dist/support/cadModifierTypes.d.ts +100 -1
- package/dist/support/cadModifierTypes.d.ts.map +1 -1
- package/dist/support/i18n/LocalizedError.d.ts.map +1 -1
- package/dist/support/i18n/locales/en/messages.json +42 -2
- package/dist/support/i18n/locales.d.ts.map +1 -1
- package/dist/support/lib/appTheme.d.ts.map +1 -1
- package/dist/support/lib/materialPresets.js.map +1 -1
- package/dist/support/lib/measurementUnits.d.ts.map +1 -1
- package/dist/support/lib/operator-configuration.json +13 -1
- package/dist/support/lib/operatorConfiguration.d.ts +5 -5
- package/dist/support/lib/workplaneGrid.js.map +1 -1
- package/dist/svgImport.d.ts +2 -0
- package/dist/svgImport.d.ts.map +1 -1
- package/dist/svgImport.js +7 -0
- package/dist/svgImport.js.map +1 -1
- package/dist/threadCatalog.js.map +1 -1
- package/dist/workplaneSettings.js.map +1 -1
- package/dist/workplaneShapes.d.ts +2 -2
- package/dist/workplaneShapes.d.ts.map +1 -1
- package/dist/workplaneShapes.js.map +1 -1
- package/package.json +7 -6
package/dist/projectStore.js
CHANGED
|
@@ -14,20 +14,41 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { listProjectRecords, withProjectLock, } from "./serverProjectFiles.js";
|
|
16
16
|
import { readProjectDocument, writeProjectDocument, } from "./serverProjectDocument.js";
|
|
17
|
+
/** Raised by an HTTP store when a conditional write sees a stale revision. */
|
|
18
|
+
class ProjectRevisionMismatchError extends Error {
|
|
19
|
+
currentRevision;
|
|
20
|
+
constructor(currentRevision) {
|
|
21
|
+
super("The project changed since the supplied revision.");
|
|
22
|
+
this.currentRevision = currentRevision;
|
|
23
|
+
this.name = "ProjectRevisionMismatchError";
|
|
24
|
+
}
|
|
25
|
+
}
|
|
17
26
|
/**
|
|
18
27
|
* The store over a server project directory.
|
|
19
28
|
*
|
|
20
29
|
* `root` is the directory `SKETCHFORGE_PROJECTS_DIR` names, already created --
|
|
21
30
|
* `apiContext` does that, and so would a macro runner's own setup.
|
|
22
31
|
*/
|
|
23
|
-
export function directoryProjectStore(root) {
|
|
32
|
+
export function directoryProjectStore(root, expectedRevision) {
|
|
24
33
|
return {
|
|
25
34
|
read: (projectId) => readProjectDocument(root, projectId),
|
|
26
35
|
write: async (projectId, document, shapes) => {
|
|
27
36
|
const { revision } = await writeProjectDocument(root, projectId, document, shapes);
|
|
28
37
|
return { revision };
|
|
29
38
|
},
|
|
30
|
-
withLock: (projectId, work) => withProjectLock(root, projectId,
|
|
39
|
+
withLock: (projectId, work) => withProjectLock(root, projectId, async () => {
|
|
40
|
+
if (expectedRevision !== undefined && expectedRevision !== "*") {
|
|
41
|
+
const document = await readProjectDocument(root, projectId);
|
|
42
|
+
if (document) {
|
|
43
|
+
const revision = typeof document.metadata.revision === "number" && Number.isFinite(document.metadata.revision)
|
|
44
|
+
? document.metadata.revision
|
|
45
|
+
: 0;
|
|
46
|
+
if (expectedRevision !== String(revision))
|
|
47
|
+
throw new ProjectRevisionMismatchError(revision);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return work();
|
|
51
|
+
}),
|
|
31
52
|
list: () => listProjectRecords(root),
|
|
32
53
|
};
|
|
33
54
|
}
|
package/dist/projectStore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectStore.js","sourceRoot":"","sources":["../src/projectStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,kBAAkB,EAClB,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GAErB,MAAM,4BAA4B,CAAC;AAsBpC;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;
|
|
1
|
+
{"version":3,"file":"projectStore.js","sourceRoot":"","sources":["../src/projectStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,kBAAkB,EAClB,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GAErB,MAAM,4BAA4B,CAAC;AAsBpC,8EAA8E;AAC9E,MAAM,4BAA6B,SAAQ,KAAK;IACzB,eAAe;IAApC,YAAqB,eAAuB;QAC1C,KAAK,CAAC,kDAAkD,CAAC,CAAC;+BADvC,eAAe;QAElC,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,gBAAyB;IAC3E,OAAO;QACL,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC;QACzD,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACnF,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,CAAC;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE;YACzE,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,GAAG,EAAE,CAAC;gBAC/D,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC5D,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBAC5G,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ;wBAC5B,CAAC,CAAC,CAAC,CAAC;oBACN,IAAI,gBAAgB,KAAK,MAAM,CAAC,QAAQ,CAAC;wBAAE,MAAM,IAAI,4BAA4B,CAAC,QAAQ,CAAC,CAAC;gBAC9F,CAAC;YACH,CAAC;YACD,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC,CAAC;QACF,IAAI,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;KACrC,CAAC;AACJ,CAAC"}
|
|
@@ -100,12 +100,61 @@ export type ResolvedThreadRequest = {
|
|
|
100
100
|
export declare function resolveThreadRequest(request: ThreadRequest): ResolvedThreadRequest | {
|
|
101
101
|
error: string;
|
|
102
102
|
};
|
|
103
|
+
export type RevolveAxis = {
|
|
104
|
+
x: number;
|
|
105
|
+
z: number;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* The world X/Z of a revolve's axis, or null when it was never recorded.
|
|
109
|
+
*
|
|
110
|
+
* A shape's `x`/`z` is its box centre, as for every shape. A full turn is
|
|
111
|
+
* symmetric, so that is its axis too; a partial sweep's box centre is off to
|
|
112
|
+
* one side, which is what #503 lost.
|
|
113
|
+
*/
|
|
114
|
+
export declare function revolveAxisPosition(shape: WorkplaneShape): RevolveAxis | null;
|
|
115
|
+
/**
|
|
116
|
+
* Where a revolve's axis stands, for reporting, or null when it has no one place.
|
|
117
|
+
*
|
|
118
|
+
* Tilted by `rotationX` or `rotationZ`, the axis is no longer vertical, so it
|
|
119
|
+
* crosses the workplane's X/Z at a different point at every height and no
|
|
120
|
+
* single `{ x, z }` says where it is. `revolveAxisPosition` still works there
|
|
121
|
+
* -- it is the point on the axis at the shape's mid-height, which is what
|
|
122
|
+
* placement uses -- but reporting it would read as the axis standing there.
|
|
123
|
+
* A half turn of tilt leaves the axis vertical, so it is reported again.
|
|
124
|
+
*/
|
|
125
|
+
export declare function reportedRevolveAxis(shape: WorkplaneShape): RevolveAxis | null;
|
|
126
|
+
/** The revolve moved so its axis is at `axis`, its orientation and size unchanged. */
|
|
127
|
+
export declare function placeRevolveOnAxis<T extends WorkplaneShape>(shape: T, axis: RevolveAxis): T;
|
|
128
|
+
/**
|
|
129
|
+
* The axis offset a revolve carries once its transform is baked into its mesh.
|
|
130
|
+
*
|
|
131
|
+
* Baking moves the triangles into place, drops the rotation and mirror, and
|
|
132
|
+
* re-centres the mesh on its new box, so the offset recorded in the old mesh
|
|
133
|
+
* frame no longer says where the axis is. It is measured again from where the
|
|
134
|
+
* axis was, in the baked mesh's natural frame (its drawn size over the size
|
|
135
|
+
* its triangles are stored at). A revolve with no recorded axis keeps none.
|
|
136
|
+
*/
|
|
137
|
+
export declare function bakedRevolveAxisOffset(original: WorkplaneShape, baked: WorkplaneShape): RevolveAxis | undefined;
|
|
138
|
+
/**
|
|
139
|
+
* A revolve's axis, recovering it from the sweep when it was not recorded.
|
|
140
|
+
*
|
|
141
|
+
* A revolve saved before the offset was kept (#503) sits wherever its box was
|
|
142
|
+
* put. Its own profile and settings still describe the sweep it was built
|
|
143
|
+
* from, so building that again says where its axis was, and its first rebuild
|
|
144
|
+
* keeps it in place rather than jumping by the offset. A shape whose sweep
|
|
145
|
+
* cannot be rebuilt keeps its box centre as the axis, which is what it had.
|
|
146
|
+
*/
|
|
147
|
+
export declare function recoveredRevolveAxis(runtime: ManifoldToplevel, shape: WorkplaneShape): RevolveAxis;
|
|
103
148
|
/**
|
|
104
149
|
* The shape a revolve request asks for, built with the given manifold runtime.
|
|
105
150
|
*
|
|
106
151
|
* Returns the same kind of record the editor's own revolve produces -- a mesh
|
|
107
152
|
* carrying its profile and settings -- so a thread made over the API is still
|
|
108
153
|
* editable as a revolve afterwards, with its pitch and turns in the inspector.
|
|
154
|
+
*
|
|
155
|
+
* `x` and `z` place the axis of revolution, not the box: a quarter ring asked
|
|
156
|
+
* for at the origin spans the quarter it turns through, rather than being
|
|
157
|
+
* centred on the origin (#503). For a full turn the two are the same point.
|
|
109
158
|
*/
|
|
110
159
|
export declare function revolvedShapeFromRequest(runtime: ManifoldToplevel, parsed: {
|
|
111
160
|
profile: SketchProfile;
|
|
@@ -119,7 +168,6 @@ export declare function revolvedShapeFromRequest(runtime: ManifoldToplevel, pars
|
|
|
119
168
|
hole?: boolean;
|
|
120
169
|
rotation?: number;
|
|
121
170
|
}): {
|
|
122
|
-
sketchSourceId: string;
|
|
123
171
|
id: string;
|
|
124
172
|
name: string;
|
|
125
173
|
kind: import("./domain/sketchforge.js").ShapeKind;
|
|
@@ -196,6 +244,10 @@ export declare function revolvedShapeFromRequest(runtime: ManifoldToplevel, pars
|
|
|
196
244
|
sketchProfile?: SketchProfile;
|
|
197
245
|
sketchOperation?: import("./domain/sketchforge.js").SketchOperation;
|
|
198
246
|
sketchRevolve?: SketchRevolveSettings;
|
|
247
|
+
revolveAxisOffset?: {
|
|
248
|
+
x: number;
|
|
249
|
+
z: number;
|
|
250
|
+
};
|
|
199
251
|
draftPrismAngle?: number;
|
|
200
252
|
draftPrismSourceHeight?: number;
|
|
201
253
|
draftPrismSourceFrame?: import("./domain/sketchforge.js").CadBrepFrame;
|
|
@@ -227,6 +279,7 @@ export declare function revolvedShapeFromRequest(runtime: ManifoldToplevel, pars
|
|
|
227
279
|
groupOperation?: "group" | "intersection";
|
|
228
280
|
locked?: boolean;
|
|
229
281
|
hidden?: boolean;
|
|
282
|
+
sketchSourceId: string;
|
|
230
283
|
};
|
|
231
284
|
/**
|
|
232
285
|
* An existing revolve swept again with changed settings, keeping its identity.
|
|
@@ -236,6 +289,9 @@ export declare function revolvedShapeFromRequest(runtime: ManifoldToplevel, pars
|
|
|
236
289
|
* edit in place. What survives is everything that is not geometry: the shape's
|
|
237
290
|
* id, so references to it still resolve, and its placement, name and flags.
|
|
238
291
|
*
|
|
292
|
+
* Placement means the axis. A changed sweep angle moves the box centre, and
|
|
293
|
+
* keeping that instead would slide the solid round its own axis on every edit.
|
|
294
|
+
*
|
|
239
295
|
* The scale survives too. A revolve resized after it was made carries a ratio
|
|
240
296
|
* between its mesh's natural size and the size it is drawn at, and a fresh
|
|
241
297
|
* sweep is at natural size; dropping the ratio would silently resize a thread
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revolveRequests.d.ts","sourceRoot":"","sources":["../src/revolveRequests.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"revolveRequests.d.ts","sourceRoot":"","sources":["../src/revolveRequests.ts"],"names":[],"mappings":"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"}
|
package/dist/revolveRequests.js
CHANGED
|
@@ -13,11 +13,12 @@
|
|
|
13
13
|
* it. A triangle makes a thread, a rectangle makes a tube or a coil of square
|
|
14
14
|
* wire, and a many-sided polygon approximates a round spring.
|
|
15
15
|
*/
|
|
16
|
+
import * as THREE from "three";
|
|
16
17
|
import { createLocalId } from "./localIds.js";
|
|
17
18
|
import { sceneShape } from "./shapeCatalog.js";
|
|
18
19
|
import { buildSketchRevolveMesh, normalizeSketchRevolveSettings } from "./sketchRevolve.js";
|
|
19
20
|
import { coreOverlapForPitch, DEFAULT_THREAD_SIZE, THREAD_SIZES, threadCoreRadius, threadGeometry, threadSize, threadTurnsForLength, } from "./threadCatalog.js";
|
|
20
|
-
import { canonicalizeShape } from "./workplaneShapes.js";
|
|
21
|
+
import { canonicalizeShape, meshYawDegrees, mirrorSign } from "./workplaneShapes.js";
|
|
21
22
|
/** Turns to sweep when a request says neither turns nor a length. */
|
|
22
23
|
export const DEFAULT_THREAD_TURNS = 8;
|
|
23
24
|
export const MIN_PROFILE_POINTS = 3;
|
|
@@ -171,12 +172,105 @@ export function resolveThreadRequest(request) {
|
|
|
171
172
|
coreRadius,
|
|
172
173
|
};
|
|
173
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* Where a revolve's box centre sits from its axis, in world X/Z.
|
|
177
|
+
*
|
|
178
|
+
* The offset is recorded in the mesh's natural frame, so it is put through the
|
|
179
|
+
* same resize, mirror and rotation the viewport applies to the mesh -- the
|
|
180
|
+
* order `transformMesh` uses, about the shape's mid-height.
|
|
181
|
+
*/
|
|
182
|
+
function centreFromAxis(shape, offset) {
|
|
183
|
+
const mesh = shape.importedMesh;
|
|
184
|
+
const ratio = (drawn, natural) => (natural && natural > 0 && drawn > 0 ? drawn / natural : 1);
|
|
185
|
+
const local = new THREE.Vector3(offset.x * ratio(shape.width, mesh?.baseWidth) * mirrorSign(shape.mirrorX), 0, offset.z * ratio(shape.depth, mesh?.baseDepth) * mirrorSign(shape.mirrorZ)).applyEuler(new THREE.Euler(THREE.MathUtils.degToRad(shape.rotationX ?? 0), THREE.MathUtils.degToRad(meshYawDegrees(shape)), THREE.MathUtils.degToRad(shape.rotationZ ?? 0), "XYZ"));
|
|
186
|
+
return { x: local.x, z: local.z };
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* The world X/Z of a revolve's axis, or null when it was never recorded.
|
|
190
|
+
*
|
|
191
|
+
* A shape's `x`/`z` is its box centre, as for every shape. A full turn is
|
|
192
|
+
* symmetric, so that is its axis too; a partial sweep's box centre is off to
|
|
193
|
+
* one side, which is what #503 lost.
|
|
194
|
+
*/
|
|
195
|
+
export function revolveAxisPosition(shape) {
|
|
196
|
+
if (!shape.revolveAxisOffset)
|
|
197
|
+
return null;
|
|
198
|
+
const centre = centreFromAxis(shape, shape.revolveAxisOffset);
|
|
199
|
+
return { x: shape.x - centre.x, z: shape.z - centre.z };
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Where a revolve's axis stands, for reporting, or null when it has no one place.
|
|
203
|
+
*
|
|
204
|
+
* Tilted by `rotationX` or `rotationZ`, the axis is no longer vertical, so it
|
|
205
|
+
* crosses the workplane's X/Z at a different point at every height and no
|
|
206
|
+
* single `{ x, z }` says where it is. `revolveAxisPosition` still works there
|
|
207
|
+
* -- it is the point on the axis at the shape's mid-height, which is what
|
|
208
|
+
* placement uses -- but reporting it would read as the axis standing there.
|
|
209
|
+
* A half turn of tilt leaves the axis vertical, so it is reported again.
|
|
210
|
+
*/
|
|
211
|
+
export function reportedRevolveAxis(shape) {
|
|
212
|
+
const upright = (degrees) => Math.abs(Math.sin(THREE.MathUtils.degToRad(degrees ?? 0))) < 1e-9;
|
|
213
|
+
if (!upright(shape.rotationX) || !upright(shape.rotationZ))
|
|
214
|
+
return null;
|
|
215
|
+
return revolveAxisPosition(shape);
|
|
216
|
+
}
|
|
217
|
+
/** The revolve moved so its axis is at `axis`, its orientation and size unchanged. */
|
|
218
|
+
export function placeRevolveOnAxis(shape, axis) {
|
|
219
|
+
const centre = centreFromAxis(shape, shape.revolveAxisOffset ?? { x: 0, z: 0 });
|
|
220
|
+
return { ...shape, x: axis.x + centre.x, z: axis.z + centre.z };
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* The axis offset a revolve carries once its transform is baked into its mesh.
|
|
224
|
+
*
|
|
225
|
+
* Baking moves the triangles into place, drops the rotation and mirror, and
|
|
226
|
+
* re-centres the mesh on its new box, so the offset recorded in the old mesh
|
|
227
|
+
* frame no longer says where the axis is. It is measured again from where the
|
|
228
|
+
* axis was, in the baked mesh's natural frame (its drawn size over the size
|
|
229
|
+
* its triangles are stored at). A revolve with no recorded axis keeps none.
|
|
230
|
+
*/
|
|
231
|
+
export function bakedRevolveAxisOffset(original, baked) {
|
|
232
|
+
const axis = revolveAxisPosition(original);
|
|
233
|
+
if (!axis)
|
|
234
|
+
return original.revolveAxisOffset;
|
|
235
|
+
const natural = (stored, drawn) => (stored && stored > 0 && drawn > 0 ? stored / drawn : 1);
|
|
236
|
+
return {
|
|
237
|
+
x: (baked.x - axis.x) * natural(baked.importedMesh?.baseWidth, baked.width),
|
|
238
|
+
z: (baked.z - axis.z) * natural(baked.importedMesh?.baseDepth, baked.depth),
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* A revolve's axis, recovering it from the sweep when it was not recorded.
|
|
243
|
+
*
|
|
244
|
+
* A revolve saved before the offset was kept (#503) sits wherever its box was
|
|
245
|
+
* put. Its own profile and settings still describe the sweep it was built
|
|
246
|
+
* from, so building that again says where its axis was, and its first rebuild
|
|
247
|
+
* keeps it in place rather than jumping by the offset. A shape whose sweep
|
|
248
|
+
* cannot be rebuilt keeps its box centre as the axis, which is what it had.
|
|
249
|
+
*/
|
|
250
|
+
export function recoveredRevolveAxis(runtime, shape) {
|
|
251
|
+
const recorded = revolveAxisPosition(shape);
|
|
252
|
+
if (recorded)
|
|
253
|
+
return recorded;
|
|
254
|
+
if (!shape.sketchProfile || !shape.sketchRevolve)
|
|
255
|
+
return { x: shape.x, z: shape.z };
|
|
256
|
+
try {
|
|
257
|
+
const { axisOffset } = buildSketchRevolveMesh(runtime, shape.sketchProfile, shape.sketchRevolve);
|
|
258
|
+
return revolveAxisPosition({ ...shape, revolveAxisOffset: axisOffset }) ?? { x: shape.x, z: shape.z };
|
|
259
|
+
}
|
|
260
|
+
catch {
|
|
261
|
+
return { x: shape.x, z: shape.z };
|
|
262
|
+
}
|
|
263
|
+
}
|
|
174
264
|
/**
|
|
175
265
|
* The shape a revolve request asks for, built with the given manifold runtime.
|
|
176
266
|
*
|
|
177
267
|
* Returns the same kind of record the editor's own revolve produces -- a mesh
|
|
178
268
|
* carrying its profile and settings -- so a thread made over the API is still
|
|
179
269
|
* editable as a revolve afterwards, with its pitch and turns in the inspector.
|
|
270
|
+
*
|
|
271
|
+
* `x` and `z` place the axis of revolution, not the box: a quarter ring asked
|
|
272
|
+
* for at the origin spans the quarter it turns through, rather than being
|
|
273
|
+
* centred on the origin (#503). For a full turn the two are the same point.
|
|
180
274
|
*/
|
|
181
275
|
export function revolvedShapeFromRequest(runtime, parsed, base) {
|
|
182
276
|
const mesh = buildSketchRevolveMesh(runtime, parsed.profile, parsed.settings);
|
|
@@ -204,8 +298,9 @@ export function revolvedShapeFromRequest(runtime, parsed, base) {
|
|
|
204
298
|
sketchProfile: parsed.profile,
|
|
205
299
|
sketchOperation: "revolve",
|
|
206
300
|
sketchRevolve: parsed.settings,
|
|
301
|
+
revolveAxisOffset: mesh.axisOffset,
|
|
207
302
|
});
|
|
208
|
-
return { ...shape, sketchSourceId: `sketch/${shape.id}` };
|
|
303
|
+
return placeRevolveOnAxis({ ...shape, sketchSourceId: `sketch/${shape.id}` }, { x: base.x ?? 0, z: base.z ?? 0 });
|
|
209
304
|
}
|
|
210
305
|
/**
|
|
211
306
|
* An existing revolve swept again with changed settings, keeping its identity.
|
|
@@ -215,12 +310,16 @@ export function revolvedShapeFromRequest(runtime, parsed, base) {
|
|
|
215
310
|
* edit in place. What survives is everything that is not geometry: the shape's
|
|
216
311
|
* id, so references to it still resolve, and its placement, name and flags.
|
|
217
312
|
*
|
|
313
|
+
* Placement means the axis. A changed sweep angle moves the box centre, and
|
|
314
|
+
* keeping that instead would slide the solid round its own axis on every edit.
|
|
315
|
+
*
|
|
218
316
|
* The scale survives too. A revolve resized after it was made carries a ratio
|
|
219
317
|
* between its mesh's natural size and the size it is drawn at, and a fresh
|
|
220
318
|
* sweep is at natural size; dropping the ratio would silently resize a thread
|
|
221
319
|
* whose pitch was the only thing asked about.
|
|
222
320
|
*/
|
|
223
321
|
export function rebuiltRevolveShape(runtime, shape, parsed) {
|
|
322
|
+
const axis = recoveredRevolveAxis(runtime, shape);
|
|
224
323
|
const rebuilt = revolvedShapeFromRequest(runtime, parsed, {
|
|
225
324
|
name: shape.name,
|
|
226
325
|
color: shape.color,
|
|
@@ -237,7 +336,7 @@ export function rebuiltRevolveShape(runtime, shape, parsed) {
|
|
|
237
336
|
const heightScale = scale(shape.height, previous?.baseHeight);
|
|
238
337
|
const width = Math.max(0.01, rebuilt.width * widthScale);
|
|
239
338
|
const depth = Math.max(0.01, rebuilt.depth * depthScale);
|
|
240
|
-
return canonicalizeShape({
|
|
339
|
+
return placeRevolveOnAxis(canonicalizeShape({
|
|
241
340
|
...rebuilt,
|
|
242
341
|
id: shape.id,
|
|
243
342
|
sketchSourceId: shape.sketchSourceId ?? `sketch/${shape.id}`,
|
|
@@ -249,7 +348,7 @@ export function rebuiltRevolveShape(runtime, shape, parsed) {
|
|
|
249
348
|
rotationZ: shape.rotationZ,
|
|
250
349
|
locked: shape.locked,
|
|
251
350
|
hidden: shape.hidden,
|
|
252
|
-
});
|
|
351
|
+
}), axis);
|
|
253
352
|
}
|
|
254
353
|
/**
|
|
255
354
|
* `kind: "thread"` is `kind: "revolve"` with the outline filled in.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revolveRequests.js","sourceRoot":"","sources":["../src/revolveRequests.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,qEAAqE;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAQvC,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;WACtB,KAAK,CAAC,MAAM,KAAK,CAAC;WAClB,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA6B;IAC9D,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAuB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC,CAAC,CAAC;IAChI,OAAO;QACL,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAC5C,EAAE,EAAE,aAAa,CAAC,qBAAqB,CAAC;YACxC,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,KAAK,EAAE,YAAY,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE;YACzD,IAAI,EAAE,MAAe;SACtB,CAAC,CAAC;QACH,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAsB;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,MAAM,CAAC,MAAM,GAAG,kBAAkB,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACjG,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAC3D,OAAO,CAAC,IAAI,KAAK,MAAM;WACpB,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;WACpC,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,cAAc,CAAC,KAAqB;IAClD,OAAO,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAC7G,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgC;IAClE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wGAAwG,EAAE,CAAC;IACxI,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,kBAAkB,6BAA6B,EAAE,CAAC;IAC7G,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,kBAAkB,UAAU,EAAE,CAAC;IAC5F,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,OAAO,kDAAkD,EAAE,CAAC;IAClG,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAClC,MAAM,OAAO,GAAG,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QACrF,CAAC,CAAE,SAA4C;QAC/C,CAAC,CAAE,OAA0C,CAAC;IAChD,2EAA2E;IAC3E,2EAA2E;IAE3E,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,kBAAkB,CAAC,OAAgC,CAAC;QAC7D,QAAQ,EAAE,8BAA8B,CAAC,OAAO,CAAC;KAClD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAAqB,EAAE,KAAa,EAAE,WAAW,GAAG,CAAC;IACvF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC;IAChD,uDAAuD;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;IACnD,4EAA4E;IAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC;IAClD,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAyBD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAsB;IACzD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/C,OAAO;YACL,KAAK,EAAE,wBAAwB,OAAO,CAAC,IAAI,mBAAmB,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;SACzH,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,IAAI,UAAU,CAAC,mBAAmB,CAAE,CAAC;IAC3D,MAAM,QAAQ,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACrH,MAAM,cAAc,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC3H,MAAM,QAAQ,GAAG,cAAc,CAC7B,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,EAChD,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAC3F,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC;QAClE,CAAC,CAAC,OAAO,CAAC,KAAK;QACf,CAAC,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACxD,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC;YACtD,CAAC,CAAC,oBAAoB,CAAC;IAE3B,uEAAuE;IACvE,oDAAoD;IACpD,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnF,wEAAwE;IACxE,4EAA4E;IAC5E,2EAA2E;IAC3E,qEAAqE;IACrE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC;IACzC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpE,OAAO;QACL,OAAO,EAAE,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;QACxE,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,UAAU;QAClC,KAAK;QACL,IAAI;QACJ,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,GAAG,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE;QAClE,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAyB,EACzB,MAAmE,EACnE,IAAsH;IAEtH,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,UAAU,CAAC;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/E,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,SAAS;QACtC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC;QACd,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC;QACd,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC;QAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;QAC5B,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;QACtC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,YAAY,EAAE;YACZ,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,MAAM;SACrB;QACD,aAAa,EAAE,MAAM,CAAC,OAAO;QAC7B,eAAe,EAAE,SAAS;QAC1B,aAAa,EAAE,MAAM,CAAC,QAAQ;KAC/B,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,KAAK,EAAE,cAAc,EAAE,UAAU,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAyB,EACzB,KAAqB,EACrB,MAAmE;IAEnE,MAAM,OAAO,GAAG,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE;QACxD,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC;IACpC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,IAAwB,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC;IACzD,OAAO,iBAAiB,CAAC;QACvB,GAAG,OAAO;QACV,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,UAAU,KAAK,CAAC,EAAE,EAAE;QAC5D,KAAK;QACL,KAAK;QACL,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;QACpD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAgC;IAEhC,IAAI,OAAO,CAAC,OAAO;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,OAAO,IAAI,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC1D,OAAO;QACL,OAAO,EAAE;YACP,GAAG,OAAO;YACV,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;SAChI;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAU,CAAC;AAE/H;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAErJ,+EAA+E;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAG,qBAAqB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAE1G;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA+B,EAC/B,IAA6B;IAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7F,CAAC,CAAE,IAAI,CAAC,OAAmC;QAC3C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,SAAS,GAA4B,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC3D,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACnD,CAAC;IACD,OAAO,8BAA8B,CAAC,SAA2C,CAAC,CAAC;AACrF,CAAC"}
|
|
1
|
+
{"version":3,"file":"revolveRequests.js","sourceRoot":"","sources":["../src/revolveRequests.ts"],"names":[],"mappings":"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"}
|
package/dist/sceneExport.d.ts
CHANGED
|
@@ -28,6 +28,12 @@ export type ProjectExportOptions = {
|
|
|
28
28
|
view?: ProjectionLayout;
|
|
29
29
|
/** Section contours for a named drawing-coordinate plane; SVG or DXF. */
|
|
30
30
|
section?: SectionOptions;
|
|
31
|
+
/**
|
|
32
|
+
* Crease angle in degrees for mesh shapes in an SVG drawing: only edges
|
|
33
|
+
* whose triangles meet at more than this are drawn, besides boundaries and
|
|
34
|
+
* silhouettes. SVG projection only.
|
|
35
|
+
*/
|
|
36
|
+
featureAngle?: number;
|
|
31
37
|
};
|
|
32
38
|
export declare function exportProjectScene(document: ProjectDocument, options: ProjectExportOptions): Promise<ProjectExportArtifact>;
|
|
33
39
|
//# sourceMappingURL=sceneExport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sceneExport.d.ts","sourceRoot":"","sources":["../src/sceneExport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sceneExport.d.ts","sourceRoot":"","sources":["../src/sceneExport.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0C,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGlE,eAAO,MAAM,sBAAsB,YAAI,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AACzG,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjE,CAAC;AAkFF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,yEAAyE;IACzE,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC,CA+ChC"}
|
package/dist/sceneExport.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { zipSync, strToU8 } from "fflate";
|
|
2
2
|
import { meshProjectShapes } from "./projectMeshes.js";
|
|
3
3
|
import { exportShapesToStep } from "./stepExport.js";
|
|
4
|
+
import { placedExactRevolveBrep } from "./serverShapeBooleans.js";
|
|
4
5
|
import { exportSkfProject } from "./skfProject.js";
|
|
5
6
|
import { projectShapesToSvg } from "./serverCadProjection.js";
|
|
6
7
|
import { sectionShapesToDxf, sectionShapesToSvg } from "./serverCadSection.js";
|
|
@@ -98,12 +99,15 @@ export async function exportProjectScene(document, options) {
|
|
|
98
99
|
throw new Error("section only applies to svg and dxf formats.");
|
|
99
100
|
if (options.section && options.view !== undefined)
|
|
100
101
|
throw new Error("section and view cannot be used together.");
|
|
102
|
+
if (options.featureAngle !== undefined && (format !== "svg" || options.section)) {
|
|
103
|
+
throw new Error("featureAngle only applies to svg projection drawings.");
|
|
104
|
+
}
|
|
101
105
|
if (format === "skf") {
|
|
102
106
|
const data = await skfBytes(document, shapes);
|
|
103
107
|
return { format, filename: `${baseName}.skf`, mimeType: "application/vnd.sketchforge.project+zip", data, shapeCount: shapes.length };
|
|
104
108
|
}
|
|
105
109
|
if (format === "step") {
|
|
106
|
-
const result = await exportShapesToStep(shapes.filter((shape) => shape.hidden !== true));
|
|
110
|
+
const result = await exportShapesToStep(shapes.filter((shape) => shape.hidden !== true), { exactBrepFor: placedExactRevolveBrep });
|
|
107
111
|
const data = new Uint8Array(await result.blob.arrayBuffer());
|
|
108
112
|
return { format, filename: `${baseName}.step`, mimeType: "model/step", data, shapeCount: shapes.length, exportedCount: result.exportedCount, skipped: result.skipped };
|
|
109
113
|
}
|
|
@@ -122,7 +126,7 @@ export async function exportProjectScene(document, options) {
|
|
|
122
126
|
throw new Error("A section plane is required for DXF export.");
|
|
123
127
|
// Drawn from the exact solids by hidden-line removal, not from the meshes
|
|
124
128
|
// below: a projected circle stays a circle.
|
|
125
|
-
const svg = await projectShapesToSvg(visible, { view: options.view });
|
|
129
|
+
const svg = await projectShapesToSvg(visible, { view: options.view, featureAngle: options.featureAngle });
|
|
126
130
|
return { format, filename: `${baseName}.svg`, mimeType: "image/svg+xml", data: new TextEncoder().encode(svg), shapeCount: visible.length };
|
|
127
131
|
}
|
|
128
132
|
const meshes = await meshProjectShapes(visible);
|
package/dist/sceneExport.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sceneExport.js","sourceRoot":"","sources":["../src/sceneExport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAuB,MAAM,uBAAuB,CAAC;AAKpG,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAazG,SAAS,QAAQ,CAAC,MAAqD;IACrE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC;IAClD,KAAK,CAAC,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,MAAM;QAAE,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACjE,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;iBACrE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/F,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;YAC/C,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;gBAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAAC,MAAM,IAAI,CAAC,CAAC;YAAC,CAAC;YACzG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAChC,MAAM,IAAI,CAAC,CAAC;QACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,MAAqD;IACrE,MAAM,KAAK,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC3C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAClD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QAC3F,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,YAAY,CAAC,MAAqD;IACzE,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpI,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC3C,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5G,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC9B,OAAO,sBAAsB,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mCAAmC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC;IACjM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5G,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE;YAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,aAAa,CAAC,CAAC;YACnD,IAAI,CAAC,KAAK;gBAAE,OAAO,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,UAAU,SAAS,UAAU,SAAS,UAAU,SAAS,UAAU,KAAK,CAAC;QAClI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO,eAAe,KAAK,GAAG,CAAC,wBAAwB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,yBAAyB,SAAS,8BAA8B,CAAC;IAClP,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,mBAAmB,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnF,MAAM,KAAK,GAAG,+IAA+I,SAAS,GAAG,OAAO,sBAAsB,KAAK,kBAAkB,CAAC;IAC9N,OAAO,OAAO,CAAC;QACb,qBAAqB,EAAE,OAAO,CAAC,+TAA+T,CAAC;QAC/V,aAAa,EAAE,OAAO,CAAC,oQAAoQ,CAAC;QAC5R,kBAAkB,EAAE,OAAO,CAAC,KAAK,CAAC;KACnC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,QAAyB,EAAE,MAAwB;IACnE,OAAO,gBAAgB,CAAC;QACtB,SAAS,EAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QACtF,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;QACtB,MAAM;QACN,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB;KAC5D,CAAC,CAAC;AACL,CAAC;
|
|
1
|
+
{"version":3,"file":"sceneExport.js","sourceRoot":"","sources":["../src/sceneExport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,56 +1,19 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* Exact, bounded interference checks between positioned project solids.
|
|
3
|
+
*
|
|
4
|
+
* The analysis itself lives in `cadAnalysis`, which the editor's CAD worker
|
|
5
|
+
* shares; this places the stored shapes and runs it on the server's kernel.
|
|
6
|
+
*/
|
|
7
|
+
import { type InterferenceResult } from "./cadAnalysis.js";
|
|
2
8
|
import type { WorkplaneShape } from "./domain/sketchforge.js";
|
|
3
|
-
export
|
|
4
|
-
export declare const MAX_INTERFERENCE_CANDIDATES = 512;
|
|
9
|
+
export { INTERFERENCE_METHOD, MAX_INTERFERENCE_CANDIDATES, MAX_INTERFERENCE_SHAPES, type InterferencePair, type InterferenceRefusal, type InterferenceReport, } from "./cadAnalysis.js";
|
|
5
10
|
export type InterferenceRequest = {
|
|
6
11
|
ids?: readonly string[];
|
|
7
12
|
clearance?: number;
|
|
8
13
|
};
|
|
9
|
-
export type InterferencePair = {
|
|
10
|
-
a: {
|
|
11
|
-
id: string;
|
|
12
|
-
name: string;
|
|
13
|
-
};
|
|
14
|
-
b: {
|
|
15
|
-
id: string;
|
|
16
|
-
name: string;
|
|
17
|
-
};
|
|
18
|
-
/** Exact OCCT minimum surface distance in mm. */
|
|
19
|
-
gap: number;
|
|
20
|
-
/** Exact common volume in mm^3; zero when separated or touching. */
|
|
21
|
-
overlapVolume: number;
|
|
22
|
-
/** Imported triangle meshes remain tessellated inputs to the exact kernel solver. */
|
|
23
|
-
precision: "exact" | "tessellated";
|
|
24
|
-
};
|
|
25
|
-
export type InterferenceReport = {
|
|
26
|
-
shapesChecked: number;
|
|
27
|
-
candidatePairsChecked: number;
|
|
28
|
-
clearance: number;
|
|
29
|
-
method: "OCCT exact distance and common volume; AABB candidate prefilter";
|
|
30
|
-
pairs: InterferencePair[];
|
|
31
|
-
};
|
|
32
|
-
export type InterferenceRefusal = {
|
|
33
|
-
reason: "invalid_clearance";
|
|
34
|
-
} | {
|
|
35
|
-
reason: "too_many_shapes";
|
|
36
|
-
limit: number;
|
|
37
|
-
given: number;
|
|
38
|
-
} | {
|
|
39
|
-
reason: "too_many_candidates";
|
|
40
|
-
limit: number;
|
|
41
|
-
given: number;
|
|
42
|
-
};
|
|
43
|
-
type InterferenceResult = {
|
|
44
|
-
ok: true;
|
|
45
|
-
value: InterferenceReport;
|
|
46
|
-
} | {
|
|
47
|
-
ok: false;
|
|
48
|
-
refusal: InterferenceRefusal;
|
|
49
|
-
};
|
|
50
14
|
/**
|
|
51
15
|
* Check all selected visible non-cutter solids. Work is bounded before OCCT
|
|
52
16
|
* distance calculations; exceeding either cap refuses the entire request.
|
|
53
17
|
*/
|
|
54
18
|
export declare function checkInterference(shapes: readonly WorkplaneShape[], request?: InterferenceRequest): Promise<InterferenceResult>;
|
|
55
|
-
export {};
|
|
56
19
|
//# sourceMappingURL=serverCadInterference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverCadInterference.d.ts","sourceRoot":"","sources":["../src/serverCadInterference.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"serverCadInterference.d.ts","sourceRoot":"","sources":["../src/serverCadInterference.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAyD,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAClH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,mBAAmB,GAAG;IAAE,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElF;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAqBzI"}
|