cad-mcp-server 0.1.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/LICENSE +21 -0
- package/README.md +111 -0
- package/THIRD_PARTY_NOTICES.md +20 -0
- package/dist/cad/compare.d.ts +31 -0
- package/dist/cad/compare.d.ts.map +1 -0
- package/dist/cad/compare.js +51 -0
- package/dist/cad/compare.js.map +1 -0
- package/dist/cad/model-store.d.ts +52 -0
- package/dist/cad/model-store.d.ts.map +1 -0
- package/dist/cad/model-store.js +227 -0
- package/dist/cad/model-store.js.map +1 -0
- package/dist/cad/query/edges.d.ts +6 -0
- package/dist/cad/query/edges.d.ts.map +1 -0
- package/dist/cad/query/edges.js +257 -0
- package/dist/cad/query/edges.js.map +1 -0
- package/dist/cad/query/entities.d.ts +4 -0
- package/dist/cad/query/entities.d.ts.map +1 -0
- package/dist/cad/query/entities.js +185 -0
- package/dist/cad/query/entities.js.map +1 -0
- package/dist/cad/query/faces.d.ts +6 -0
- package/dist/cad/query/faces.d.ts.map +1 -0
- package/dist/cad/query/faces.js +305 -0
- package/dist/cad/query/faces.js.map +1 -0
- package/dist/cad/query/pmi.d.ts +3 -0
- package/dist/cad/query/pmi.d.ts.map +1 -0
- package/dist/cad/query/pmi.js +141 -0
- package/dist/cad/query/pmi.js.map +1 -0
- package/dist/cad/query/shared.d.ts +74 -0
- package/dist/cad/query/shared.d.ts.map +1 -0
- package/dist/cad/query/shared.js +181 -0
- package/dist/cad/query/shared.js.map +1 -0
- package/dist/cad/schema-version.d.ts +2 -0
- package/dist/cad/schema-version.d.ts.map +1 -0
- package/dist/cad/schema-version.js +2 -0
- package/dist/cad/schema-version.js.map +1 -0
- package/dist/compare.d.ts +31 -0
- package/dist/compare.d.ts.map +1 -0
- package/dist/compare.js +51 -0
- package/dist/compare.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +113 -0
- package/dist/index.js.map +1 -0
- package/dist/kernel/aag-utils.d.ts +7 -0
- package/dist/kernel/aag-utils.d.ts.map +1 -0
- package/dist/kernel/aag-utils.js +54 -0
- package/dist/kernel/aag-utils.js.map +1 -0
- package/dist/kernel/import.d.ts +4 -0
- package/dist/kernel/import.d.ts.map +1 -0
- package/dist/kernel/import.js +25 -0
- package/dist/kernel/import.js.map +1 -0
- package/dist/kernel/kernel.d.ts +3 -0
- package/dist/kernel/kernel.d.ts.map +1 -0
- package/dist/kernel/kernel.js +7 -0
- package/dist/kernel/kernel.js.map +1 -0
- package/dist/kernel/measure.d.ts +6 -0
- package/dist/kernel/measure.d.ts.map +1 -0
- package/dist/kernel/measure.js +23 -0
- package/dist/kernel/measure.js.map +1 -0
- package/dist/kernel/query-entities.d.ts +75 -0
- package/dist/kernel/query-entities.d.ts.map +1 -0
- package/dist/kernel/query-entities.js +190 -0
- package/dist/kernel/query-entities.js.map +1 -0
- package/dist/kernel/topology.d.ts +4 -0
- package/dist/kernel/topology.d.ts.map +1 -0
- package/dist/kernel/topology.js +48 -0
- package/dist/kernel/topology.js.map +1 -0
- package/dist/model-store.d.ts +52 -0
- package/dist/model-store.d.ts.map +1 -0
- package/dist/model-store.js +227 -0
- package/dist/model-store.js.map +1 -0
- package/dist/pmi/metadata.d.ts +15 -0
- package/dist/pmi/metadata.d.ts.map +1 -0
- package/dist/pmi/metadata.js +93 -0
- package/dist/pmi/metadata.js.map +1 -0
- package/dist/pmi/parser.d.ts +46 -0
- package/dist/pmi/parser.d.ts.map +1 -0
- package/dist/pmi/parser.js +400 -0
- package/dist/pmi/parser.js.map +1 -0
- package/dist/pmi/semantic-provider.d.ts +7 -0
- package/dist/pmi/semantic-provider.d.ts.map +1 -0
- package/dist/pmi/semantic-provider.js +96 -0
- package/dist/pmi/semantic-provider.js.map +1 -0
- package/dist/providers/brep.d.ts +39 -0
- package/dist/providers/brep.d.ts.map +1 -0
- package/dist/providers/brep.js +2 -0
- package/dist/providers/brep.js.map +1 -0
- package/dist/providers/lightweight-step/metadata.d.ts +15 -0
- package/dist/providers/lightweight-step/metadata.d.ts.map +1 -0
- package/dist/providers/lightweight-step/metadata.js +93 -0
- package/dist/providers/lightweight-step/metadata.js.map +1 -0
- package/dist/providers/lightweight-step/pmi-parser.d.ts +46 -0
- package/dist/providers/lightweight-step/pmi-parser.d.ts.map +1 -0
- package/dist/providers/lightweight-step/pmi-parser.js +400 -0
- package/dist/providers/lightweight-step/pmi-parser.js.map +1 -0
- package/dist/providers/lightweight-step/semantic-provider.d.ts +7 -0
- package/dist/providers/lightweight-step/semantic-provider.d.ts.map +1 -0
- package/dist/providers/lightweight-step/semantic-provider.js +96 -0
- package/dist/providers/lightweight-step/semantic-provider.js.map +1 -0
- package/dist/providers/occt-wasm/aag-utils.d.ts +7 -0
- package/dist/providers/occt-wasm/aag-utils.d.ts.map +1 -0
- package/dist/providers/occt-wasm/aag-utils.js +54 -0
- package/dist/providers/occt-wasm/aag-utils.js.map +1 -0
- package/dist/providers/occt-wasm/import.d.ts +4 -0
- package/dist/providers/occt-wasm/import.d.ts.map +1 -0
- package/dist/providers/occt-wasm/import.js +25 -0
- package/dist/providers/occt-wasm/import.js.map +1 -0
- package/dist/providers/occt-wasm/kernel.d.ts +3 -0
- package/dist/providers/occt-wasm/kernel.d.ts.map +1 -0
- package/dist/providers/occt-wasm/kernel.js +7 -0
- package/dist/providers/occt-wasm/kernel.js.map +1 -0
- package/dist/providers/occt-wasm/measure.d.ts +6 -0
- package/dist/providers/occt-wasm/measure.d.ts.map +1 -0
- package/dist/providers/occt-wasm/measure.js +23 -0
- package/dist/providers/occt-wasm/measure.js.map +1 -0
- package/dist/providers/occt-wasm/query-entities.d.ts +71 -0
- package/dist/providers/occt-wasm/query-entities.d.ts.map +1 -0
- package/dist/providers/occt-wasm/query-entities.js +177 -0
- package/dist/providers/occt-wasm/query-entities.js.map +1 -0
- package/dist/providers/occt-wasm/topology.d.ts +4 -0
- package/dist/providers/occt-wasm/topology.d.ts.map +1 -0
- package/dist/providers/occt-wasm/topology.js +48 -0
- package/dist/providers/occt-wasm/topology.js.map +1 -0
- package/dist/providers/schema.d.ts +50 -0
- package/dist/providers/schema.d.ts.map +1 -0
- package/dist/providers/schema.js +2 -0
- package/dist/providers/schema.js.map +1 -0
- package/dist/providers/semantic.d.ts +34 -0
- package/dist/providers/semantic.d.ts.map +1 -0
- package/dist/providers/semantic.js +2 -0
- package/dist/providers/semantic.js.map +1 -0
- package/dist/query/edges.d.ts +6 -0
- package/dist/query/edges.d.ts.map +1 -0
- package/dist/query/edges.js +257 -0
- package/dist/query/edges.js.map +1 -0
- package/dist/query/entities.d.ts +4 -0
- package/dist/query/entities.d.ts.map +1 -0
- package/dist/query/entities.js +203 -0
- package/dist/query/entities.js.map +1 -0
- package/dist/query/faces.d.ts +6 -0
- package/dist/query/faces.d.ts.map +1 -0
- package/dist/query/faces.js +309 -0
- package/dist/query/faces.js.map +1 -0
- package/dist/query/pmi.d.ts +3 -0
- package/dist/query/pmi.d.ts.map +1 -0
- package/dist/query/pmi.js +141 -0
- package/dist/query/pmi.js.map +1 -0
- package/dist/query/shared.d.ts +74 -0
- package/dist/query/shared.d.ts.map +1 -0
- package/dist/query/shared.js +181 -0
- package/dist/query/shared.js.map +1 -0
- package/dist/schema-version.d.ts +2 -0
- package/dist/schema-version.d.ts.map +1 -0
- package/dist/schema-version.js +2 -0
- package/dist/schema-version.js.map +1 -0
- package/dist/tools/shared.d.ts +11 -0
- package/dist/tools/shared.d.ts.map +1 -0
- package/dist/tools/shared.js +19 -0
- package/dist/tools/shared.js.map +1 -0
- package/dist/tools/step-tools.d.ts +758 -0
- package/dist/tools/step-tools.d.ts.map +1 -0
- package/dist/tools/step-tools.js +836 -0
- package/dist/tools/step-tools.js.map +1 -0
- package/dist/types/brep.d.ts +39 -0
- package/dist/types/brep.d.ts.map +1 -0
- package/dist/types/brep.js +2 -0
- package/dist/types/brep.js.map +1 -0
- package/dist/types/schema.d.ts +50 -0
- package/dist/types/schema.d.ts.map +1 -0
- package/dist/types/schema.js +2 -0
- package/dist/types/schema.js.map +1 -0
- package/dist/types/semantic.d.ts +34 -0
- package/dist/types/semantic.d.ts.map +1 -0
- package/dist/types/semantic.js +2 -0
- package/dist/types/semantic.js.map +1 -0
- package/dist/utils/errors.d.ts +7 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +7 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/ids.d.ts +2 -0
- package/dist/utils/ids.d.ts.map +1 -0
- package/dist/utils/ids.js +4 -0
- package/dist/utils/ids.js.map +1 -0
- package/dist/utils/numbers.d.ts +11 -0
- package/dist/utils/numbers.d.ts.map +1 -0
- package/dist/utils/numbers.js +15 -0
- package/dist/utils/numbers.js.map +1 -0
- package/dist/utils/vectors.d.ts +4 -0
- package/dist/utils/vectors.d.ts.map +1 -0
- package/dist/utils/vectors.js +14 -0
- package/dist/utils/vectors.js.map +1 -0
- package/docs/EXAMPLE_PROMPTS.md +61 -0
- package/node_modules/occt-wasm/dist/index.d.ts +303 -0
- package/node_modules/occt-wasm/dist/index.d.ts.map +1 -0
- package/node_modules/occt-wasm/dist/index.js +1125 -0
- package/node_modules/occt-wasm/dist/index.js.map +1 -0
- package/node_modules/occt-wasm/dist/occt-wasm.js +2 -0
- package/node_modules/occt-wasm/dist/occt-wasm.wasm +0 -0
- package/node_modules/occt-wasm/dist/raw-types.d.ts +229 -0
- package/node_modules/occt-wasm/dist/raw-types.d.ts.map +1 -0
- package/node_modules/occt-wasm/dist/raw-types.js +8 -0
- package/node_modules/occt-wasm/dist/raw-types.js.map +1 -0
- package/node_modules/occt-wasm/dist/types.d.ts +223 -0
- package/node_modules/occt-wasm/dist/types.d.ts.map +1 -0
- package/node_modules/occt-wasm/dist/types.js +129 -0
- package/node_modules/occt-wasm/dist/types.js.map +1 -0
- package/node_modules/occt-wasm/package.json +44 -0
- package/package.json +102 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw-types.d.ts","sourceRoot":"","sources":["../src/raw-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raw Embind type surface beneath the public `OcctKernel`.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from index.ts; see the banner below. Exposed via
|
|
5
|
+
* `OcctKernel.getRawModule()` / `getRawKernel()` for integrators (e.g. brepjs).
|
|
6
|
+
*/
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=raw-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw-types.js","sourceRoot":"","sources":["../src/raw-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Branded handle type — prevents passing raw numbers as shape IDs.
|
|
3
|
+
* Obtain handles from kernel methods; release via {@link OcctKernel.release}.
|
|
4
|
+
*/
|
|
5
|
+
declare const ShapeHandleBrand: unique symbol;
|
|
6
|
+
export type ShapeHandle = number & {
|
|
7
|
+
readonly [ShapeHandleBrand]: never;
|
|
8
|
+
};
|
|
9
|
+
/** Triangle mesh data produced by BRepMesh tessellation. */
|
|
10
|
+
export interface Mesh {
|
|
11
|
+
/** XYZ interleaved vertex positions. Length = vertexCount * 3. */
|
|
12
|
+
positions: Float32Array;
|
|
13
|
+
/** XYZ interleaved vertex normals. Length = vertexCount * 3. */
|
|
14
|
+
normals: Float32Array;
|
|
15
|
+
/** Triangle indices into the positions/normals arrays. */
|
|
16
|
+
indices: Uint32Array;
|
|
17
|
+
/** Number of vertices (positions.length / 3). */
|
|
18
|
+
vertexCount: number;
|
|
19
|
+
/** Number of triangles (indices.length / 3). */
|
|
20
|
+
triangleCount: number;
|
|
21
|
+
/** Per-face triangle groups: [triStart, triCount, faceHash] triples. Present when using meshShape(). */
|
|
22
|
+
faceGroups?: Int32Array | undefined;
|
|
23
|
+
/** Number of face groups. Present when using meshShape(). */
|
|
24
|
+
faceCount?: number | undefined;
|
|
25
|
+
}
|
|
26
|
+
/** Axis-aligned bounding box (AABB). */
|
|
27
|
+
export interface BoundingBox {
|
|
28
|
+
xmin: number;
|
|
29
|
+
ymin: number;
|
|
30
|
+
zmin: number;
|
|
31
|
+
xmax: number;
|
|
32
|
+
ymax: number;
|
|
33
|
+
zmax: number;
|
|
34
|
+
}
|
|
35
|
+
/** 3D point or direction vector. */
|
|
36
|
+
export interface Vec3 {
|
|
37
|
+
x: number;
|
|
38
|
+
y: number;
|
|
39
|
+
z: number;
|
|
40
|
+
}
|
|
41
|
+
/** Options controlling BRepMesh tessellation quality. */
|
|
42
|
+
export interface TessellateOptions {
|
|
43
|
+
/** Maximum chord deviation from the true surface. Default: 0.1 */
|
|
44
|
+
linearDeflection?: number | undefined;
|
|
45
|
+
/** Maximum angular deviation in radians. Default: 0.5 */
|
|
46
|
+
angularDeflection?: number | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* Interpret `linearDeflection` relative to each edge's length
|
|
49
|
+
* (scale-independent meshing) instead of as an absolute distance.
|
|
50
|
+
*/
|
|
51
|
+
relative?: boolean | undefined;
|
|
52
|
+
}
|
|
53
|
+
/** Options for WASM module initialization. */
|
|
54
|
+
export interface InitOptions {
|
|
55
|
+
/**
|
|
56
|
+
* Location of the WASM binary. Accepts:
|
|
57
|
+
* - A string URL or filesystem path
|
|
58
|
+
* - A `URL` object
|
|
59
|
+
* - An `ArrayBuffer` or `Uint8Array` containing the WASM binary
|
|
60
|
+
*
|
|
61
|
+
* When omitted, the WASM file is auto-located next to the JS module
|
|
62
|
+
* using `import.meta.url`.
|
|
63
|
+
*/
|
|
64
|
+
wasm?: string | URL | ArrayBuffer | Uint8Array | undefined;
|
|
65
|
+
/** @deprecated Use `wasm` instead. Browser URL to the .wasm file. */
|
|
66
|
+
wasmUrl?: string | undefined;
|
|
67
|
+
/** @deprecated Use `wasm` instead. Node.js filesystem path to the .wasm file. */
|
|
68
|
+
wasmPath?: string | undefined;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* TopAbs_ShapeEnum values returned by getShapeType, in TopAbs ordinal order
|
|
72
|
+
* (queryBatch indexes this array by the raw enum value). Single source of truth
|
|
73
|
+
* for both the {@link ShapeType} union and runtime validation.
|
|
74
|
+
*/
|
|
75
|
+
export declare const SHAPE_TYPES: readonly ["compound", "compsolid", "solid", "shell", "face", "wire", "edge", "vertex", "shape"];
|
|
76
|
+
/** TopAbs_ShapeEnum value returned by getShapeType. */
|
|
77
|
+
export type ShapeType = (typeof SHAPE_TYPES)[number];
|
|
78
|
+
/** TopAbs_Orientation values returned by shapeOrientation. */
|
|
79
|
+
export declare const SHAPE_ORIENTATIONS: readonly ["forward", "reversed", "internal", "external"];
|
|
80
|
+
/** TopAbs_Orientation value returned by shapeOrientation. */
|
|
81
|
+
export type ShapeOrientation = (typeof SHAPE_ORIENTATIONS)[number];
|
|
82
|
+
/** BRepClass_FaceClassifier results for a UV point relative to a face boundary. */
|
|
83
|
+
export declare const POINT_CLASSIFICATIONS: readonly ["in", "on", "out"];
|
|
84
|
+
/** BRepClass_FaceClassifier result for a UV point relative to a face boundary. */
|
|
85
|
+
export type PointClassification = (typeof POINT_CLASSIFICATIONS)[number];
|
|
86
|
+
/** Which extreme of a shape's bounding box to align to a target coordinate. */
|
|
87
|
+
export type AlignAnchor = "min" | "center" | "max";
|
|
88
|
+
/** Geom_Surface subclass identifier returned by surfaceType. */
|
|
89
|
+
export type SurfaceKind = "plane" | "cylinder" | "cone" | "sphere" | "torus" | "bspline" | "bezier" | "offset" | "revolution" | "extrusion" | (string & {});
|
|
90
|
+
/** Geom_Curve subclass identifier returned by curveType. */
|
|
91
|
+
export type CurveKind = "line" | "circle" | "ellipse" | "hyperbola" | "parabola" | "bspline" | "bezier" | "offset" | (string & {});
|
|
92
|
+
/** UV parameter bounds of a face surface. */
|
|
93
|
+
export interface UVBounds {
|
|
94
|
+
uMin: number;
|
|
95
|
+
uMax: number;
|
|
96
|
+
vMin: number;
|
|
97
|
+
vMax: number;
|
|
98
|
+
}
|
|
99
|
+
/** Principal curvatures at a UV point on a face surface. */
|
|
100
|
+
export interface CurvatureData {
|
|
101
|
+
/** Minimum principal curvature. */
|
|
102
|
+
min: number;
|
|
103
|
+
/** Maximum principal curvature. */
|
|
104
|
+
max: number;
|
|
105
|
+
/** Gaussian curvature (min * max). */
|
|
106
|
+
gaussian: number;
|
|
107
|
+
/** Mean curvature ((min + max) / 2). */
|
|
108
|
+
mean: number;
|
|
109
|
+
}
|
|
110
|
+
/** Polyline edge data from wireframe tessellation. */
|
|
111
|
+
export interface EdgeData {
|
|
112
|
+
/** XYZ interleaved edge sample points. Length = pointCount. */
|
|
113
|
+
points: Float32Array;
|
|
114
|
+
/** Per-edge groups: [pointStart, pointCount, edgeHash] triples. */
|
|
115
|
+
edgeGroups: Int32Array;
|
|
116
|
+
/** Total number of floats in points (= number of XYZ coords). */
|
|
117
|
+
pointCount: number;
|
|
118
|
+
/** Number of distinct edges. */
|
|
119
|
+
edgeCount: number;
|
|
120
|
+
}
|
|
121
|
+
/** NURBS/BSpline curve data extracted from an edge via Geom_BSplineCurve. */
|
|
122
|
+
export interface NurbsCurveData {
|
|
123
|
+
/** Polynomial degree of the BSpline. */
|
|
124
|
+
degree: number;
|
|
125
|
+
/** True if the curve uses rational weights. */
|
|
126
|
+
rational: boolean;
|
|
127
|
+
/** True if the curve is periodic. */
|
|
128
|
+
periodic: boolean;
|
|
129
|
+
/** Knot values. */
|
|
130
|
+
knots: number[];
|
|
131
|
+
/** Knot multiplicities (same length as knots). */
|
|
132
|
+
multiplicities: number[];
|
|
133
|
+
/** Flat [x,y,z, x,y,z, ...] control point coordinates. */
|
|
134
|
+
poles: number[];
|
|
135
|
+
/** Control point weights (same count as poles/3). */
|
|
136
|
+
weights: number[];
|
|
137
|
+
}
|
|
138
|
+
/** Result from queryBatch: aggregated shape properties. */
|
|
139
|
+
export interface ShapeQueryResult {
|
|
140
|
+
bbox: BoundingBox;
|
|
141
|
+
volume: number;
|
|
142
|
+
area: number;
|
|
143
|
+
centerOfMass: Vec3;
|
|
144
|
+
shapeType: ShapeType;
|
|
145
|
+
isValid: boolean;
|
|
146
|
+
}
|
|
147
|
+
/** Concatenated mesh data for multiple shapes, produced by meshBatch. */
|
|
148
|
+
export interface MeshBatchData {
|
|
149
|
+
/** Interleaved XYZ positions for all shapes. */
|
|
150
|
+
positions: Float32Array;
|
|
151
|
+
/** Interleaved XYZ normals for all shapes. */
|
|
152
|
+
normals: Float32Array;
|
|
153
|
+
/** Triangle indices for all shapes. */
|
|
154
|
+
indices: Uint32Array;
|
|
155
|
+
/** Per-shape offsets: [posStart, posCount, idxStart, idxCount] quads. */
|
|
156
|
+
shapeOffsets: Int32Array;
|
|
157
|
+
/** Number of shapes in the batch. */
|
|
158
|
+
shapeCount: number;
|
|
159
|
+
/** Total vertex count across all shapes. */
|
|
160
|
+
vertexCount: number;
|
|
161
|
+
/** Total triangle count across all shapes. */
|
|
162
|
+
triangleCount: number;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Structured error codes for programmatic error handling.
|
|
166
|
+
* Use `switch (error.code)` instead of parsing error message strings.
|
|
167
|
+
*/
|
|
168
|
+
export declare enum OcctErrorCode {
|
|
169
|
+
/** Shape construction failed (Build()/IsDone() returned false). */
|
|
170
|
+
ConstructionFailed = "CONSTRUCTION_FAILED",
|
|
171
|
+
/** Boolean operation failed (fuse/cut/common/intersect/section). */
|
|
172
|
+
BooleanFailed = "BOOLEAN_FAILED",
|
|
173
|
+
/** Referenced shape ID does not exist in the arena. */
|
|
174
|
+
InvalidShapeId = "INVALID_SHAPE_ID",
|
|
175
|
+
/** Tessellation or meshing operation failed. */
|
|
176
|
+
TessellationFailed = "TESSELLATION_FAILED",
|
|
177
|
+
/** STEP/STL/BREP import or export failed. */
|
|
178
|
+
ImportExportFailed = "IMPORT_EXPORT_FAILED",
|
|
179
|
+
/** Shape healing or repair operation failed. */
|
|
180
|
+
HealingFailed = "HEALING_FAILED",
|
|
181
|
+
/** OCCT kernel raised an internal error (Standard_Failure). */
|
|
182
|
+
KernelError = "KERNEL_ERROR",
|
|
183
|
+
/** Error does not match any known pattern. */
|
|
184
|
+
Unknown = "UNKNOWN"
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Typed error thrown when an OCCT operation fails.
|
|
188
|
+
* The `operation` field identifies which kernel method raised the error.
|
|
189
|
+
* The `code` field enables programmatic error handling via `switch`.
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* ```ts
|
|
193
|
+
* try {
|
|
194
|
+
* kernel.fuse(a, b);
|
|
195
|
+
* } catch (e) {
|
|
196
|
+
* if (e instanceof OcctError) {
|
|
197
|
+
* switch (e.code) {
|
|
198
|
+
* case OcctErrorCode.BooleanFailed:
|
|
199
|
+
* // retry with simpler geometry
|
|
200
|
+
* break;
|
|
201
|
+
* case OcctErrorCode.InvalidShapeId:
|
|
202
|
+
* // shape was already released
|
|
203
|
+
* break;
|
|
204
|
+
* }
|
|
205
|
+
* }
|
|
206
|
+
* }
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
export declare class OcctError extends Error {
|
|
210
|
+
/** Name of the kernel method that failed. */
|
|
211
|
+
readonly operation: string;
|
|
212
|
+
/** Structured error code for programmatic handling. */
|
|
213
|
+
readonly code: OcctErrorCode;
|
|
214
|
+
constructor(operation: string, message: string, code?: OcctErrorCode);
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Run `fn`, re-throwing any failure as an {@link OcctError} tagged with the
|
|
218
|
+
* given operation name. Shared by the kernel and the XCAF document so error
|
|
219
|
+
* classification stays in one place.
|
|
220
|
+
*/
|
|
221
|
+
export declare function wrap<T>(operation: string, fn: () => T): T;
|
|
222
|
+
export {};
|
|
223
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TopAbs_ShapeEnum values returned by getShapeType, in TopAbs ordinal order
|
|
3
|
+
* (queryBatch indexes this array by the raw enum value). Single source of truth
|
|
4
|
+
* for both the {@link ShapeType} union and runtime validation.
|
|
5
|
+
*/
|
|
6
|
+
export const SHAPE_TYPES = [
|
|
7
|
+
"compound", "compsolid", "solid", "shell", "face", "wire", "edge", "vertex", "shape",
|
|
8
|
+
];
|
|
9
|
+
/** TopAbs_Orientation values returned by shapeOrientation. */
|
|
10
|
+
export const SHAPE_ORIENTATIONS = ["forward", "reversed", "internal", "external"];
|
|
11
|
+
/** BRepClass_FaceClassifier results for a UV point relative to a face boundary. */
|
|
12
|
+
export const POINT_CLASSIFICATIONS = ["in", "on", "out"];
|
|
13
|
+
/**
|
|
14
|
+
* Structured error codes for programmatic error handling.
|
|
15
|
+
* Use `switch (error.code)` instead of parsing error message strings.
|
|
16
|
+
*/
|
|
17
|
+
export var OcctErrorCode;
|
|
18
|
+
(function (OcctErrorCode) {
|
|
19
|
+
/** Shape construction failed (Build()/IsDone() returned false). */
|
|
20
|
+
OcctErrorCode["ConstructionFailed"] = "CONSTRUCTION_FAILED";
|
|
21
|
+
/** Boolean operation failed (fuse/cut/common/intersect/section). */
|
|
22
|
+
OcctErrorCode["BooleanFailed"] = "BOOLEAN_FAILED";
|
|
23
|
+
/** Referenced shape ID does not exist in the arena. */
|
|
24
|
+
OcctErrorCode["InvalidShapeId"] = "INVALID_SHAPE_ID";
|
|
25
|
+
/** Tessellation or meshing operation failed. */
|
|
26
|
+
OcctErrorCode["TessellationFailed"] = "TESSELLATION_FAILED";
|
|
27
|
+
/** STEP/STL/BREP import or export failed. */
|
|
28
|
+
OcctErrorCode["ImportExportFailed"] = "IMPORT_EXPORT_FAILED";
|
|
29
|
+
/** Shape healing or repair operation failed. */
|
|
30
|
+
OcctErrorCode["HealingFailed"] = "HEALING_FAILED";
|
|
31
|
+
/** OCCT kernel raised an internal error (Standard_Failure). */
|
|
32
|
+
OcctErrorCode["KernelError"] = "KERNEL_ERROR";
|
|
33
|
+
/** Error does not match any known pattern. */
|
|
34
|
+
OcctErrorCode["Unknown"] = "UNKNOWN";
|
|
35
|
+
})(OcctErrorCode || (OcctErrorCode = {}));
|
|
36
|
+
/**
|
|
37
|
+
* Typed error thrown when an OCCT operation fails.
|
|
38
|
+
* The `operation` field identifies which kernel method raised the error.
|
|
39
|
+
* The `code` field enables programmatic error handling via `switch`.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* try {
|
|
44
|
+
* kernel.fuse(a, b);
|
|
45
|
+
* } catch (e) {
|
|
46
|
+
* if (e instanceof OcctError) {
|
|
47
|
+
* switch (e.code) {
|
|
48
|
+
* case OcctErrorCode.BooleanFailed:
|
|
49
|
+
* // retry with simpler geometry
|
|
50
|
+
* break;
|
|
51
|
+
* case OcctErrorCode.InvalidShapeId:
|
|
52
|
+
* // shape was already released
|
|
53
|
+
* break;
|
|
54
|
+
* }
|
|
55
|
+
* }
|
|
56
|
+
* }
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export class OcctError extends Error {
|
|
60
|
+
/** Name of the kernel method that failed. */
|
|
61
|
+
operation;
|
|
62
|
+
/** Structured error code for programmatic handling. */
|
|
63
|
+
code;
|
|
64
|
+
constructor(operation, message, code) {
|
|
65
|
+
super(`${operation}: ${message}`);
|
|
66
|
+
this.name = "OcctError";
|
|
67
|
+
this.operation = operation;
|
|
68
|
+
this.code = code ?? classifyError(operation, message);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/** Operation categories used to infer error codes from context. */
|
|
72
|
+
const BOOLEAN_OPS = new Set(["fuse", "cut", "common", "intersect", "section", "fuseAll", "cutAll", "split", "booleanPipeline"]);
|
|
73
|
+
const TESSELLATION_OPS = new Set(["tessellate", "wireframe", "meshShape", "meshBatch"]);
|
|
74
|
+
const IO_OPS = new Set(["importStep", "exportStep", "importStl", "exportStl", "toBREP", "fromBREP"]);
|
|
75
|
+
const HEALING_OPS = new Set(["fixShape", "unifySameDomain", "healSolid", "healFace", "healWire", "fixFaceOrientations", "removeDegenerateEdges", "fixWireOnFace", "buildCurves3d"]);
|
|
76
|
+
/**
|
|
77
|
+
* Classify an error into a structured code by matching known C++ error patterns
|
|
78
|
+
* and operation context.
|
|
79
|
+
*/
|
|
80
|
+
function classifyError(operation, message) {
|
|
81
|
+
const msg = message.toLowerCase();
|
|
82
|
+
// Exact pattern matches from C++ facade
|
|
83
|
+
if (msg.includes("invalid shape id"))
|
|
84
|
+
return OcctErrorCode.InvalidShapeId;
|
|
85
|
+
if (msg.includes("boolean operation failed"))
|
|
86
|
+
return OcctErrorCode.BooleanFailed;
|
|
87
|
+
if (msg.includes("construction failed"))
|
|
88
|
+
return OcctErrorCode.ConstructionFailed;
|
|
89
|
+
// Operation-category fallback
|
|
90
|
+
if (BOOLEAN_OPS.has(operation))
|
|
91
|
+
return OcctErrorCode.BooleanFailed;
|
|
92
|
+
if (TESSELLATION_OPS.has(operation))
|
|
93
|
+
return OcctErrorCode.TessellationFailed;
|
|
94
|
+
if (IO_OPS.has(operation))
|
|
95
|
+
return OcctErrorCode.ImportExportFailed;
|
|
96
|
+
if (HEALING_OPS.has(operation))
|
|
97
|
+
return OcctErrorCode.HealingFailed;
|
|
98
|
+
// "operation failed" is the generic SetupShape/FilletLike pattern
|
|
99
|
+
if (msg.includes("operation failed"))
|
|
100
|
+
return OcctErrorCode.ConstructionFailed;
|
|
101
|
+
// Unmatched errors from known OCCT operations are Standard_Failure propagations
|
|
102
|
+
if (operation)
|
|
103
|
+
return OcctErrorCode.KernelError;
|
|
104
|
+
return OcctErrorCode.Unknown;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Run `fn`, re-throwing any failure as an {@link OcctError} tagged with the
|
|
108
|
+
* given operation name. Shared by the kernel and the XCAF document so error
|
|
109
|
+
* classification stays in one place.
|
|
110
|
+
*/
|
|
111
|
+
export function wrap(operation, fn) {
|
|
112
|
+
try {
|
|
113
|
+
return fn();
|
|
114
|
+
}
|
|
115
|
+
catch (e) {
|
|
116
|
+
if (e instanceof OcctError) {
|
|
117
|
+
// Already classified by an inner wrapped call. Preserve the original
|
|
118
|
+
// (most-specific) code and just retag the operation, so re-wrapping
|
|
119
|
+
// a passthrough like cacheStep/loadCached doesn't reclassify e.g.
|
|
120
|
+
// ImportExportFailed down to KernelError.
|
|
121
|
+
throw new OcctError(operation, e.message, e.code);
|
|
122
|
+
}
|
|
123
|
+
if (e instanceof Error) {
|
|
124
|
+
throw new OcctError(operation, e.message);
|
|
125
|
+
}
|
|
126
|
+
throw new OcctError(operation, String(e));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "occt-wasm",
|
|
3
|
+
"version": "3.5.0",
|
|
4
|
+
"description": "OpenCascade (OCCT) compiled to WebAssembly with a clean TypeScript API",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"import": "./dist/index.js",
|
|
9
|
+
"types": "./dist/index.d.ts"
|
|
10
|
+
},
|
|
11
|
+
"./dist/occt-wasm.js": "./dist/occt-wasm.js",
|
|
12
|
+
"./dist/occt-wasm.wasm": "./dist/occt-wasm.wasm"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist/"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "tsc",
|
|
19
|
+
"prebuild": "bash scripts/copy-wasm.sh",
|
|
20
|
+
"lint": "eslint src/",
|
|
21
|
+
"typecheck": "tsc --noEmit"
|
|
22
|
+
},
|
|
23
|
+
"keywords": [
|
|
24
|
+
"opencascade",
|
|
25
|
+
"occt",
|
|
26
|
+
"wasm",
|
|
27
|
+
"webassembly",
|
|
28
|
+
"cad",
|
|
29
|
+
"brep",
|
|
30
|
+
"step"
|
|
31
|
+
],
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "git+https://github.com/andymai/occt-wasm.git",
|
|
35
|
+
"directory": "ts"
|
|
36
|
+
},
|
|
37
|
+
"license": "MIT OR Apache-2.0",
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@typescript-eslint/eslint-plugin": "^8",
|
|
40
|
+
"@typescript-eslint/parser": "^8",
|
|
41
|
+
"eslint": "^10",
|
|
42
|
+
"typescript": "^6.0"
|
|
43
|
+
}
|
|
44
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "cad-mcp-server",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "MCP server for inspecting STEP CAD files -- extract faces, edges, mass properties, and PMI from 3D models via LLM tools, no CAD software needed.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts"
|
|
11
|
+
},
|
|
12
|
+
"./package.json": "./package.json"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist",
|
|
16
|
+
"node_modules/occt-wasm/dist",
|
|
17
|
+
"node_modules/occt-wasm/package.json",
|
|
18
|
+
"!dist/tests",
|
|
19
|
+
"README.md",
|
|
20
|
+
"THIRD_PARTY_NOTICES.md",
|
|
21
|
+
"docs/EXAMPLE_PROMPTS.md"
|
|
22
|
+
],
|
|
23
|
+
"bin": {
|
|
24
|
+
"cad-mcp-server": "dist/index.js"
|
|
25
|
+
},
|
|
26
|
+
"engines": {
|
|
27
|
+
"node": ">=22"
|
|
28
|
+
},
|
|
29
|
+
"cpu": ["x64", "arm64"],
|
|
30
|
+
"os": ["darwin", "linux", "win32"],
|
|
31
|
+
"preferUnplugged": true,
|
|
32
|
+
"scripts": {
|
|
33
|
+
"build": "tsc",
|
|
34
|
+
"dev": "tsx src/index.ts",
|
|
35
|
+
"start": "node dist/index.js",
|
|
36
|
+
"prepack": "tsc",
|
|
37
|
+
"watch": "tsc --watch",
|
|
38
|
+
"test": "vitest run",
|
|
39
|
+
"test:watch": "vitest",
|
|
40
|
+
"fmt": "prettier --write src/",
|
|
41
|
+
"lint": "eslint \"src/**/*.ts\""
|
|
42
|
+
},
|
|
43
|
+
"keywords": [
|
|
44
|
+
"mcp",
|
|
45
|
+
"model-context-protocol",
|
|
46
|
+
"cad",
|
|
47
|
+
"step",
|
|
48
|
+
"stp",
|
|
49
|
+
"3d",
|
|
50
|
+
"mechanical-engineering",
|
|
51
|
+
"manufacturing",
|
|
52
|
+
"dfm",
|
|
53
|
+
"gdandt",
|
|
54
|
+
"pmi",
|
|
55
|
+
"geometry",
|
|
56
|
+
"inspection",
|
|
57
|
+
"quality",
|
|
58
|
+
"b-rep",
|
|
59
|
+
"opencascade",
|
|
60
|
+
"occt",
|
|
61
|
+
"wasm",
|
|
62
|
+
"claude",
|
|
63
|
+
"ai-tools"
|
|
64
|
+
],
|
|
65
|
+
"author": "Matt Mohandiss <mattmohandiss@gmail.com>",
|
|
66
|
+
"license": "MIT",
|
|
67
|
+
"funding": {
|
|
68
|
+
"type": "github",
|
|
69
|
+
"url": "https://github.com/sponsors/mattmohandiss"
|
|
70
|
+
},
|
|
71
|
+
"publishConfig": {
|
|
72
|
+
"access": "public",
|
|
73
|
+
"registry": "https://registry.npmjs.org"
|
|
74
|
+
},
|
|
75
|
+
"homepage": "https://github.com/mattmohandiss/cad-mcp-server#readme",
|
|
76
|
+
"repository": {
|
|
77
|
+
"type": "git",
|
|
78
|
+
"url": "git+https://github.com/mattmohandiss/cad-mcp-server.git"
|
|
79
|
+
},
|
|
80
|
+
"bugs": {
|
|
81
|
+
"url": "https://github.com/mattmohandiss/cad-mcp-server/issues"
|
|
82
|
+
},
|
|
83
|
+
"dependencies": {
|
|
84
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
85
|
+
"occt-wasm": "file:./occt/ts",
|
|
86
|
+
"zod": "^4.4.3"
|
|
87
|
+
},
|
|
88
|
+
"devDependencies": {
|
|
89
|
+
"@eslint/js": "^10.0.1",
|
|
90
|
+
"@types/node": "^24.10.0",
|
|
91
|
+
"@typescript-eslint/eslint-plugin": "^8.61.0",
|
|
92
|
+
"@typescript-eslint/parser": "^8.61.0",
|
|
93
|
+
"eslint": "^10.4.1",
|
|
94
|
+
"prettier": "^3.8.4",
|
|
95
|
+
"tsx": "^4.22.4",
|
|
96
|
+
"typescript": "^6.0.3",
|
|
97
|
+
"vitest": "^4.1.8"
|
|
98
|
+
},
|
|
99
|
+
"bundleDependencies": [
|
|
100
|
+
"occt-wasm"
|
|
101
|
+
]
|
|
102
|
+
}
|