solidworks-mcp-server 2.2.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -10
- package/dist/application/services/command-bus.d.ts +39 -0
- package/dist/application/services/command-bus.d.ts.map +1 -0
- package/dist/application/services/command-bus.js +88 -0
- package/dist/application/services/command-bus.js.map +1 -0
- package/dist/application/services/event-bus.d.ts +31 -0
- package/dist/application/services/event-bus.d.ts.map +1 -0
- package/dist/application/services/event-bus.js +83 -0
- package/dist/application/services/event-bus.js.map +1 -0
- package/dist/application/services/query-bus.d.ts +30 -0
- package/dist/application/services/query-bus.d.ts.map +1 -0
- package/dist/application/services/query-bus.js +59 -0
- package/dist/application/services/query-bus.js.map +1 -0
- package/dist/application/services/tool-registry.d.ts +53 -0
- package/dist/application/services/tool-registry.d.ts.map +1 -0
- package/dist/application/services/tool-registry.js +81 -0
- package/dist/application/services/tool-registry.js.map +1 -0
- package/dist/application/use-cases/analysis/index.d.ts +13 -0
- package/dist/application/use-cases/analysis/index.d.ts.map +1 -0
- package/dist/application/use-cases/analysis/index.js +17 -0
- package/dist/application/use-cases/analysis/index.js.map +1 -0
- package/dist/application/use-cases/drawing/index.d.ts +13 -0
- package/dist/application/use-cases/drawing/index.d.ts.map +1 -0
- package/dist/application/use-cases/drawing/index.js +17 -0
- package/dist/application/use-cases/drawing/index.js.map +1 -0
- package/dist/application/use-cases/export/index.d.ts +13 -0
- package/dist/application/use-cases/export/index.d.ts.map +1 -0
- package/dist/application/use-cases/export/index.js +17 -0
- package/dist/application/use-cases/export/index.js.map +1 -0
- package/dist/application/use-cases/macro/index.d.ts +13 -0
- package/dist/application/use-cases/macro/index.d.ts.map +1 -0
- package/dist/application/use-cases/macro/index.js +17 -0
- package/dist/application/use-cases/macro/index.js.map +1 -0
- package/dist/application/use-cases/modeling/index.d.ts +56 -0
- package/dist/application/use-cases/modeling/index.d.ts.map +1 -0
- package/dist/application/use-cases/modeling/index.js +385 -0
- package/dist/application/use-cases/modeling/index.js.map +1 -0
- package/dist/core/interfaces/core-abstractions.d.ts +289 -0
- package/dist/core/interfaces/core-abstractions.d.ts.map +1 -0
- package/dist/core/interfaces/core-abstractions.js +121 -0
- package/dist/core/interfaces/core-abstractions.js.map +1 -0
- package/dist/index.refactored.d.ts +7 -0
- package/dist/index.refactored.d.ts.map +1 -0
- package/dist/index.refactored.js +254 -0
- package/dist/index.refactored.js.map +1 -0
- package/dist/infrastructure/config/configuration-manager.d.ts +381 -0
- package/dist/infrastructure/config/configuration-manager.d.ts.map +1 -0
- package/dist/infrastructure/config/configuration-manager.js +566 -0
- package/dist/infrastructure/config/configuration-manager.js.map +1 -0
- package/dist/infrastructure/container/service-locator.d.ts +14 -0
- package/dist/infrastructure/container/service-locator.d.ts.map +1 -0
- package/dist/infrastructure/container/service-locator.js +38 -0
- package/dist/infrastructure/container/service-locator.js.map +1 -0
- package/dist/infrastructure/logging/logger.d.ts +24 -0
- package/dist/infrastructure/logging/logger.d.ts.map +1 -0
- package/dist/infrastructure/logging/logger.js +65 -0
- package/dist/infrastructure/logging/logger.js.map +1 -0
- package/dist/infrastructure/solidworks/solidworks-adapter.d.ts +43 -0
- package/dist/infrastructure/solidworks/solidworks-adapter.d.ts.map +1 -0
- package/dist/infrastructure/solidworks/solidworks-adapter.js +527 -0
- package/dist/infrastructure/solidworks/solidworks-adapter.js.map +1 -0
- package/dist/presentation/mcp/request-handler.d.ts +41 -0
- package/dist/presentation/mcp/request-handler.d.ts.map +1 -0
- package/dist/presentation/mcp/request-handler.js +100 -0
- package/dist/presentation/mcp/request-handler.js.map +1 -0
- package/dist/presentation/transformers/error-transformer.d.ts +16 -0
- package/dist/presentation/transformers/error-transformer.d.ts.map +1 -0
- package/dist/presentation/transformers/error-transformer.js +44 -0
- package/dist/presentation/transformers/error-transformer.js.map +1 -0
- package/dist/presentation/transformers/response-transformer.d.ts +24 -0
- package/dist/presentation/transformers/response-transformer.d.ts.map +1 -0
- package/dist/presentation/transformers/response-transformer.js +102 -0
- package/dist/presentation/transformers/response-transformer.js.map +1 -0
- package/dist/resources/design-table.d.ts +28 -28
- package/dist/resources/pdm.d.ts +70 -70
- package/dist/shared/constants/solidworks-constants.d.ts +302 -0
- package/dist/shared/constants/solidworks-constants.d.ts.map +1 -0
- package/dist/shared/constants/solidworks-constants.js +471 -0
- package/dist/shared/constants/solidworks-constants.js.map +1 -0
- package/dist/tools/diagnostics.d.ts +21 -0
- package/dist/tools/diagnostics.d.ts.map +1 -0
- package/dist/tools/diagnostics.js +120 -0
- package/dist/tools/diagnostics.js.map +1 -0
- package/dist/tools/drawing-analysis.d.ts +9 -0
- package/dist/tools/drawing-analysis.d.ts.map +1 -0
- package/dist/tools/drawing-analysis.js +239 -0
- package/dist/tools/drawing-analysis.js.map +1 -0
- package/dist/tools/drawing.d.ts +4 -4
- package/dist/tools/enhanced-drawing.d.ts +51 -0
- package/dist/tools/enhanced-drawing.d.ts.map +1 -0
- package/dist/tools/enhanced-drawing.js +193 -0
- package/dist/tools/enhanced-drawing.js.map +1 -0
- package/dist/tools/export.d.ts +6 -6
- package/dist/tools/macro-security.d.ts +9 -0
- package/dist/tools/macro-security.d.ts.map +1 -0
- package/dist/tools/macro-security.js +86 -0
- package/dist/tools/macro-security.js.map +1 -0
- package/dist/tools/vba-advanced.d.ts +12 -12
- package/dist/tools/vba-assembly.d.ts +8 -8
- package/dist/tools/vba-drawing.d.ts +14 -14
- package/dist/tools/vba-file-management.d.ts +16 -16
- package/dist/tools/vba-part.d.ts +10 -10
- package/dist/tools/vba.d.ts +67 -67
- package/package.json +12 -7
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { SolidWorksAPI } from '../solidworks/api.js';
|
|
3
|
+
export declare const drawingAnalysisTools: {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
7
|
+
handler: (args: any, swApi: SolidWorksAPI) => any;
|
|
8
|
+
}[];
|
|
9
|
+
//# sourceMappingURL=drawing-analysis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drawing-analysis.d.ts","sourceRoot":"","sources":["../../src/tools/drawing-analysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,eAAO,MAAM,oBAAoB;;;;oBAKb,GAAG,SAAS,aAAa;GAkP5C,CAAC"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const drawingAnalysisTools = [
|
|
3
|
+
{
|
|
4
|
+
name: 'get_drawing_sheet_info',
|
|
5
|
+
description: 'Get comprehensive information about the current drawing sheet including size, scale, and recommended view positions',
|
|
6
|
+
inputSchema: z.object({}),
|
|
7
|
+
handler: (args, swApi) => {
|
|
8
|
+
try {
|
|
9
|
+
// This will call the new getDrawingSheetInfo method we're adding to the API
|
|
10
|
+
return swApi.getDrawingSheetInfo();
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
return `Failed to get drawing sheet info: ${error}`;
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'get_drawing_views',
|
|
19
|
+
description: 'Get information about all views in the current drawing',
|
|
20
|
+
inputSchema: z.object({}),
|
|
21
|
+
handler: (args, swApi) => {
|
|
22
|
+
try {
|
|
23
|
+
return swApi.getDrawingViews();
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
return `Failed to get drawing views: ${error}`;
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: 'set_drawing_sheet_size',
|
|
32
|
+
description: 'Set the drawing sheet size',
|
|
33
|
+
inputSchema: z.object({
|
|
34
|
+
paperSize: z.enum(['Letter', 'Letter-Landscape', 'Tabloid', 'Tabloid-Landscape', 'A4', 'A3', 'A2', 'A1', 'A0', 'Custom']).describe('Paper size'),
|
|
35
|
+
width: z.number().optional().describe('Width in inches (for custom size)'),
|
|
36
|
+
height: z.number().optional().describe('Height in inches (for custom size)'),
|
|
37
|
+
}),
|
|
38
|
+
handler: (args, swApi) => {
|
|
39
|
+
try {
|
|
40
|
+
return swApi.setDrawingSheetSize(args.paperSize, args.width, args.height);
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
return `Failed to set sheet size: ${error}`;
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'get_template_custom_properties',
|
|
49
|
+
description: 'Get custom properties from the drawing template, including view position settings',
|
|
50
|
+
inputSchema: z.object({}),
|
|
51
|
+
handler: (args, swApi) => {
|
|
52
|
+
try {
|
|
53
|
+
return swApi.getTemplateCustomProperties();
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
return `Failed to get template properties: ${error}`;
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'set_template_custom_properties',
|
|
62
|
+
description: 'Set custom properties in the drawing template for view positions and other settings',
|
|
63
|
+
inputSchema: z.object({
|
|
64
|
+
properties: z.record(z.string()).describe('Key-value pairs of properties to set'),
|
|
65
|
+
}),
|
|
66
|
+
handler: (args, swApi) => {
|
|
67
|
+
try {
|
|
68
|
+
return swApi.setTemplateCustomProperties(args.properties);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
return `Failed to set template properties: ${error}`;
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
name: 'setup_template_positions',
|
|
77
|
+
description: 'Set up a drawing template with standard view positions',
|
|
78
|
+
inputSchema: z.object({
|
|
79
|
+
sheetSize: z.enum(['Letter', 'Tabloid', 'A4', 'A3']).default('Tabloid').describe('Sheet size to configure for'),
|
|
80
|
+
}),
|
|
81
|
+
handler: (args, swApi) => {
|
|
82
|
+
try {
|
|
83
|
+
let properties = {};
|
|
84
|
+
if (args.sheetSize === 'Tabloid') {
|
|
85
|
+
// 11x17 positions
|
|
86
|
+
properties = {
|
|
87
|
+
'VIEW_ISO_X': '0.0762', // 3 inches
|
|
88
|
+
'VIEW_ISO_Y': '0.2286', // 9 inches
|
|
89
|
+
'VIEW_ISO_SCALE': '1.5',
|
|
90
|
+
'VIEW_TOP_X': '0.2159', // 8.5 inches
|
|
91
|
+
'VIEW_TOP_Y': '0.1397', // 5.5 inches
|
|
92
|
+
'VIEW_TOP_SCALE': '2',
|
|
93
|
+
'VIEW_SIDE_X': '0.3429', // 13.5 inches
|
|
94
|
+
'VIEW_SIDE_Y': '0.1397', // 5.5 inches
|
|
95
|
+
'VIEW_SIDE_SCALE': '2',
|
|
96
|
+
'VIEW_SECTION_X': '0.2159', // 8.5 inches
|
|
97
|
+
'VIEW_SECTION_Y': '0.0508', // 2 inches
|
|
98
|
+
'VIEW_SECTION_SCALE': '2',
|
|
99
|
+
'DIM_TEXT_HEIGHT': '0.003175', // 1/8 inch
|
|
100
|
+
'DIM_ARROW_SIZE': '0.00238', // 3/32 inch
|
|
101
|
+
'DIM_OFFSET': '0.00635', // 1/4 inch
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
else if (args.sheetSize === 'Letter') {
|
|
105
|
+
// 8.5x11 positions
|
|
106
|
+
properties = {
|
|
107
|
+
'VIEW_ISO_X': '0.0508', // 2 inches
|
|
108
|
+
'VIEW_ISO_Y': '0.1778', // 7 inches
|
|
109
|
+
'VIEW_ISO_SCALE': '1',
|
|
110
|
+
'VIEW_TOP_X': '0.1080', // 4.25 inches
|
|
111
|
+
'VIEW_TOP_Y': '0.1016', // 4 inches
|
|
112
|
+
'VIEW_TOP_SCALE': '1.5',
|
|
113
|
+
'VIEW_SIDE_X': '0.1651', // 6.5 inches
|
|
114
|
+
'VIEW_SIDE_Y': '0.1016', // 4 inches
|
|
115
|
+
'VIEW_SIDE_SCALE': '1.5',
|
|
116
|
+
'VIEW_SECTION_X': '0.1080', // 4.25 inches
|
|
117
|
+
'VIEW_SECTION_Y': '0.0381', // 1.5 inches
|
|
118
|
+
'VIEW_SECTION_SCALE': '1.5',
|
|
119
|
+
'DIM_TEXT_HEIGHT': '0.00238', // 3/32 inch
|
|
120
|
+
'DIM_ARROW_SIZE': '0.001905', // 3/40 inch
|
|
121
|
+
'DIM_OFFSET': '0.00476', // 3/16 inch
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
const result = swApi.setTemplateCustomProperties(properties);
|
|
125
|
+
return {
|
|
126
|
+
...result,
|
|
127
|
+
message: `Template configured for ${args.sheetSize} size with standard positions`,
|
|
128
|
+
hint: 'Save the template to preserve these settings'
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
return `Failed to setup template: ${error}`;
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
name: 'get_drawing_dimensions',
|
|
138
|
+
description: 'Get all dimensions in the current drawing view',
|
|
139
|
+
inputSchema: z.object({
|
|
140
|
+
viewName: z.string().optional().describe('Specific view name, or all views if not specified'),
|
|
141
|
+
}),
|
|
142
|
+
handler: (args, swApi) => {
|
|
143
|
+
try {
|
|
144
|
+
const model = swApi.getCurrentModel();
|
|
145
|
+
if (!model || model.GetType() !== 3) {
|
|
146
|
+
throw new Error('Current document must be a drawing');
|
|
147
|
+
}
|
|
148
|
+
const drawingDoc = model;
|
|
149
|
+
const dimensions = [];
|
|
150
|
+
// Get all views or specific view
|
|
151
|
+
const sheet = drawingDoc.GetCurrentSheet();
|
|
152
|
+
const views = sheet.GetViews();
|
|
153
|
+
if (views && views.length > 0) {
|
|
154
|
+
for (const view of views) {
|
|
155
|
+
if (args.viewName && view.Name !== args.viewName)
|
|
156
|
+
continue;
|
|
157
|
+
// Get dimensions from this view
|
|
158
|
+
const dispDim = view.GetFirstDisplayDimension();
|
|
159
|
+
let currentDim = dispDim;
|
|
160
|
+
while (currentDim) {
|
|
161
|
+
try {
|
|
162
|
+
const dim = currentDim.GetDimension2(0);
|
|
163
|
+
if (dim) {
|
|
164
|
+
dimensions.push({
|
|
165
|
+
name: dim.FullName || dim.Name,
|
|
166
|
+
value: dim.SystemValue * 1000, // Convert to mm
|
|
167
|
+
text: currentDim.GetText(0),
|
|
168
|
+
view: view.Name
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
catch (e) {
|
|
173
|
+
// Continue with next dimension
|
|
174
|
+
}
|
|
175
|
+
currentDim = view.GetNextDisplayDimension(currentDim);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return {
|
|
180
|
+
dimensionCount: dimensions.length,
|
|
181
|
+
dimensions: dimensions
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
return `Failed to get drawing dimensions: ${error}`;
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
name: 'set_drawing_scale',
|
|
191
|
+
description: 'Set the scale of the drawing sheet or a specific view',
|
|
192
|
+
inputSchema: z.object({
|
|
193
|
+
scaleNumerator: z.number().describe('Scale numerator (e.g., 2 for 2:1)'),
|
|
194
|
+
scaleDenominator: z.number().default(1).describe('Scale denominator (e.g., 1 for 2:1)'),
|
|
195
|
+
viewName: z.string().optional().describe('Specific view name, or sheet scale if not specified'),
|
|
196
|
+
}),
|
|
197
|
+
handler: (args, swApi) => {
|
|
198
|
+
try {
|
|
199
|
+
const model = swApi.getCurrentModel();
|
|
200
|
+
if (!model || model.GetType() !== 3) {
|
|
201
|
+
throw new Error('Current document must be a drawing');
|
|
202
|
+
}
|
|
203
|
+
const drawingDoc = model;
|
|
204
|
+
if (args.viewName) {
|
|
205
|
+
// Set specific view scale
|
|
206
|
+
const sheet = drawingDoc.GetCurrentSheet();
|
|
207
|
+
const views = sheet.GetViews();
|
|
208
|
+
let viewFound = false;
|
|
209
|
+
for (const view of views) {
|
|
210
|
+
if (view.Name === args.viewName) {
|
|
211
|
+
view.ScaleDecimal = args.scaleNumerator / args.scaleDenominator;
|
|
212
|
+
view.UseSheetScale = 0; // Don't use sheet scale
|
|
213
|
+
viewFound = true;
|
|
214
|
+
break;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
if (!viewFound) {
|
|
218
|
+
throw new Error(`View "${args.viewName}" not found`);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
// Set sheet scale
|
|
223
|
+
const sheet = drawingDoc.GetCurrentSheet();
|
|
224
|
+
sheet.SetScale(args.scaleNumerator, args.scaleDenominator, false, false);
|
|
225
|
+
}
|
|
226
|
+
drawingDoc.EditRebuild3();
|
|
227
|
+
return {
|
|
228
|
+
success: true,
|
|
229
|
+
scale: `${args.scaleNumerator}:${args.scaleDenominator}`,
|
|
230
|
+
appliedTo: args.viewName || 'Sheet'
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
catch (error) {
|
|
234
|
+
return `Failed to set scale: ${error}`;
|
|
235
|
+
}
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
];
|
|
239
|
+
//# sourceMappingURL=drawing-analysis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drawing-analysis.js","sourceRoot":"","sources":["../../src/tools/drawing-analysis.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/drawing.d.ts
CHANGED
|
@@ -110,17 +110,17 @@ export declare const drawingTools: ({
|
|
|
110
110
|
finish: z.ZodOptional<z.ZodString>;
|
|
111
111
|
}, "strip", z.ZodTypeAny, {
|
|
112
112
|
finish?: string | undefined;
|
|
113
|
+
title?: string | undefined;
|
|
113
114
|
date?: string | undefined;
|
|
114
115
|
scale?: string | undefined;
|
|
115
|
-
title?: string | undefined;
|
|
116
116
|
drawnBy?: string | undefined;
|
|
117
117
|
checkedBy?: string | undefined;
|
|
118
118
|
material?: string | undefined;
|
|
119
119
|
}, {
|
|
120
120
|
finish?: string | undefined;
|
|
121
|
+
title?: string | undefined;
|
|
121
122
|
date?: string | undefined;
|
|
122
123
|
scale?: string | undefined;
|
|
123
|
-
title?: string | undefined;
|
|
124
124
|
drawnBy?: string | undefined;
|
|
125
125
|
checkedBy?: string | undefined;
|
|
126
126
|
material?: string | undefined;
|
|
@@ -128,9 +128,9 @@ export declare const drawingTools: ({
|
|
|
128
128
|
}, "strip", z.ZodTypeAny, {
|
|
129
129
|
properties: {
|
|
130
130
|
finish?: string | undefined;
|
|
131
|
+
title?: string | undefined;
|
|
131
132
|
date?: string | undefined;
|
|
132
133
|
scale?: string | undefined;
|
|
133
|
-
title?: string | undefined;
|
|
134
134
|
drawnBy?: string | undefined;
|
|
135
135
|
checkedBy?: string | undefined;
|
|
136
136
|
material?: string | undefined;
|
|
@@ -138,9 +138,9 @@ export declare const drawingTools: ({
|
|
|
138
138
|
}, {
|
|
139
139
|
properties: {
|
|
140
140
|
finish?: string | undefined;
|
|
141
|
+
title?: string | undefined;
|
|
141
142
|
date?: string | undefined;
|
|
142
143
|
scale?: string | undefined;
|
|
143
|
-
title?: string | undefined;
|
|
144
144
|
drawnBy?: string | undefined;
|
|
145
145
|
checkedBy?: string | undefined;
|
|
146
146
|
material?: string | undefined;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { SolidWorksAPI } from '../solidworks/api.js';
|
|
3
|
+
export declare const enhancedDrawingTools: ({
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
inputSchema: z.ZodObject<{
|
|
7
|
+
viewName: z.ZodString;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
viewName: string;
|
|
10
|
+
}, {
|
|
11
|
+
viewName: string;
|
|
12
|
+
}>;
|
|
13
|
+
handler: (args: any, swApi: SolidWorksAPI) => string;
|
|
14
|
+
} | {
|
|
15
|
+
name: string;
|
|
16
|
+
description: string;
|
|
17
|
+
inputSchema: z.ZodObject<{
|
|
18
|
+
configs: z.ZodArray<z.ZodObject<{
|
|
19
|
+
name: z.ZodString;
|
|
20
|
+
outsideDiameter: z.ZodNumber;
|
|
21
|
+
insideDiameter: z.ZodNumber;
|
|
22
|
+
thickness: z.ZodNumber;
|
|
23
|
+
}, "strip", z.ZodTypeAny, {
|
|
24
|
+
name: string;
|
|
25
|
+
thickness: number;
|
|
26
|
+
outsideDiameter: number;
|
|
27
|
+
insideDiameter: number;
|
|
28
|
+
}, {
|
|
29
|
+
name: string;
|
|
30
|
+
thickness: number;
|
|
31
|
+
outsideDiameter: number;
|
|
32
|
+
insideDiameter: number;
|
|
33
|
+
}>, "many">;
|
|
34
|
+
}, "strip", z.ZodTypeAny, {
|
|
35
|
+
configs: {
|
|
36
|
+
name: string;
|
|
37
|
+
thickness: number;
|
|
38
|
+
outsideDiameter: number;
|
|
39
|
+
insideDiameter: number;
|
|
40
|
+
}[];
|
|
41
|
+
}, {
|
|
42
|
+
configs: {
|
|
43
|
+
name: string;
|
|
44
|
+
thickness: number;
|
|
45
|
+
outsideDiameter: number;
|
|
46
|
+
insideDiameter: number;
|
|
47
|
+
}[];
|
|
48
|
+
}>;
|
|
49
|
+
handler: (args: any, swApi: SolidWorksAPI) => string;
|
|
50
|
+
})[];
|
|
51
|
+
//# sourceMappingURL=enhanced-drawing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enhanced-drawing.d.ts","sourceRoot":"","sources":["../../src/tools/enhanced-drawing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,eAAO,MAAM,oBAAoB;;;;;;;;;;oBA8Eb,GAAG,SAAS,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAsFzB,GAAG,SAAS,aAAa;IA2C5C,CAAC"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const enhancedDrawingTools = [
|
|
3
|
+
{
|
|
4
|
+
name: 'add_diameter_dimension',
|
|
5
|
+
description: 'Add dimension with diameter symbol to a view',
|
|
6
|
+
inputSchema: z.object({
|
|
7
|
+
viewName: z.string().describe('Name of the view'),
|
|
8
|
+
x: z.number().describe('X position'),
|
|
9
|
+
y: z.number().describe('Y position'),
|
|
10
|
+
text: z.string().optional().describe('Custom dimension text')
|
|
11
|
+
}),
|
|
12
|
+
handler: (args, swApi) => {
|
|
13
|
+
try {
|
|
14
|
+
const model = swApi.getCurrentModel();
|
|
15
|
+
if (!model)
|
|
16
|
+
throw new Error('No drawing open');
|
|
17
|
+
const drawing = model;
|
|
18
|
+
const view = drawing.GetFirstView();
|
|
19
|
+
// Find target view
|
|
20
|
+
let targetView = view.GetNextView();
|
|
21
|
+
while (targetView) {
|
|
22
|
+
if (targetView.GetName2() === args.viewName) {
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
targetView = targetView.GetNextView();
|
|
26
|
+
}
|
|
27
|
+
if (!targetView)
|
|
28
|
+
throw new Error('View not found');
|
|
29
|
+
// Select an edge in the view
|
|
30
|
+
targetView.SelectEntity(false);
|
|
31
|
+
// Add dimension with diameter symbol
|
|
32
|
+
const swApp = swApi.getApp();
|
|
33
|
+
const dim = drawing.AddDimension2(args.x, args.y, 0);
|
|
34
|
+
if (dim) {
|
|
35
|
+
// Try multiple methods to add diameter symbol
|
|
36
|
+
const methods = [
|
|
37
|
+
'<MOD-DIAM><DIM>', // SolidWorks modifier
|
|
38
|
+
'<MOD-DIAM>', // Just the modifier
|
|
39
|
+
String.fromCharCode(8960), // Unicode diameter
|
|
40
|
+
'\u2300<DIM>', // Unicode with dimension
|
|
41
|
+
'<FONT name="Arial" effect=U+2300><DIM>' // Font with Unicode
|
|
42
|
+
];
|
|
43
|
+
for (const method of methods) {
|
|
44
|
+
try {
|
|
45
|
+
dim.SetText(0, args.text || method);
|
|
46
|
+
console.log(`Diameter symbol method worked: ${method}`);
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
catch (e) {
|
|
50
|
+
console.log(`Method failed: ${method}`);
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// Set as diameter dimension type
|
|
55
|
+
try {
|
|
56
|
+
dim.DimensionType = 2; // swDiameterDimension
|
|
57
|
+
}
|
|
58
|
+
catch (e) {
|
|
59
|
+
console.log('Could not set dimension type');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return 'Diameter dimension added';
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
return `Failed to add diameter dimension: ${error}`;
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: 'set_view_grayscale_enhanced',
|
|
71
|
+
description: 'Enhanced method to set view to grayscale',
|
|
72
|
+
inputSchema: z.object({
|
|
73
|
+
viewName: z.string().describe('Name of the view to set grayscale')
|
|
74
|
+
}),
|
|
75
|
+
handler: (args, swApi) => {
|
|
76
|
+
try {
|
|
77
|
+
const model = swApi.getCurrentModel();
|
|
78
|
+
if (!model)
|
|
79
|
+
throw new Error('No drawing open');
|
|
80
|
+
const drawing = model;
|
|
81
|
+
const view = drawing.GetFirstView();
|
|
82
|
+
// Find target view
|
|
83
|
+
let targetView = view.GetNextView();
|
|
84
|
+
while (targetView) {
|
|
85
|
+
if (targetView.GetName2() === args.viewName) {
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
targetView = targetView.GetNextView();
|
|
89
|
+
}
|
|
90
|
+
if (!targetView)
|
|
91
|
+
throw new Error('View not found');
|
|
92
|
+
const results = [];
|
|
93
|
+
// Method 1: SetDisplayMode with various options
|
|
94
|
+
try {
|
|
95
|
+
targetView.SetDisplayMode3(false, 4, false, false); // 4 = Shaded
|
|
96
|
+
results.push('Set to shaded mode');
|
|
97
|
+
}
|
|
98
|
+
catch (e) {
|
|
99
|
+
results.push(`SetDisplayMode3 failed: ${e}`);
|
|
100
|
+
}
|
|
101
|
+
// Method 2: Try RenderMode
|
|
102
|
+
try {
|
|
103
|
+
targetView.RenderMode = 3; // Grayscale
|
|
104
|
+
results.push('RenderMode set to 3');
|
|
105
|
+
}
|
|
106
|
+
catch (e) {
|
|
107
|
+
results.push(`RenderMode failed: ${e}`);
|
|
108
|
+
}
|
|
109
|
+
// Method 3: DisplayData with various states
|
|
110
|
+
try {
|
|
111
|
+
const dispData = targetView.GetDisplayData();
|
|
112
|
+
if (dispData) {
|
|
113
|
+
const states = [3, 6, 9, 12, 15]; // Possible grayscale states
|
|
114
|
+
for (const state of states) {
|
|
115
|
+
try {
|
|
116
|
+
dispData.SetDisplayState(state);
|
|
117
|
+
results.push(`DisplayState set to ${state}`);
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
catch (e) {
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
catch (e) {
|
|
127
|
+
results.push(`DisplayData failed: ${e}`);
|
|
128
|
+
}
|
|
129
|
+
// Method 4: Try configuration display state
|
|
130
|
+
try {
|
|
131
|
+
const config = model.GetActiveConfiguration();
|
|
132
|
+
if (config) {
|
|
133
|
+
config.UseAlternateDisplayStateInDrawings = true;
|
|
134
|
+
config.AlternateDisplayState = 'Grayscale';
|
|
135
|
+
results.push('Set alternate display state to Grayscale');
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
catch (e) {
|
|
139
|
+
results.push(`Config display state failed: ${e}`);
|
|
140
|
+
}
|
|
141
|
+
return results.join('\n');
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
return `Failed to set grayscale: ${error}`;
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
name: 'create_configurations_batch',
|
|
150
|
+
description: 'Create multiple configurations with dimensions',
|
|
151
|
+
inputSchema: z.object({
|
|
152
|
+
configs: z.array(z.object({
|
|
153
|
+
name: z.string(),
|
|
154
|
+
outsideDiameter: z.number(),
|
|
155
|
+
insideDiameter: z.number(),
|
|
156
|
+
thickness: z.number()
|
|
157
|
+
}))
|
|
158
|
+
}),
|
|
159
|
+
handler: (args, swApi) => {
|
|
160
|
+
try {
|
|
161
|
+
const model = swApi.getCurrentModel();
|
|
162
|
+
if (!model)
|
|
163
|
+
throw new Error('No model open');
|
|
164
|
+
const results = [];
|
|
165
|
+
for (const config of args.configs) {
|
|
166
|
+
try {
|
|
167
|
+
// Create configuration
|
|
168
|
+
const newConfig = model.AddConfiguration3(config.name, `OD: ${config.outsideDiameter}, ID: ${config.insideDiameter}`, '', 0, '');
|
|
169
|
+
if (newConfig) {
|
|
170
|
+
// Activate configuration
|
|
171
|
+
model.ShowConfiguration2(config.name);
|
|
172
|
+
// Set dimensions
|
|
173
|
+
swApi.setDimension('OUTSIDE DIAMETER@FRONT SKETCH@WasherTest.Part', config.outsideDiameter);
|
|
174
|
+
swApi.setDimension('INSIDE DIAMETER@FRONT SKETCH@WasherTest.Part', config.insideDiameter);
|
|
175
|
+
swApi.setDimension('WASHER THICKNESS@SIDE SKETCH@WasherTest.Part', config.thickness);
|
|
176
|
+
// Rebuild
|
|
177
|
+
model.EditRebuild3();
|
|
178
|
+
results.push(`✅ Created config: ${config.name}`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
catch (e) {
|
|
182
|
+
results.push(`❌ Failed config ${config.name}: ${e}`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return results.join('\n');
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
return `Failed to create configurations: ${error}`;
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
}
|
|
192
|
+
];
|
|
193
|
+
//# sourceMappingURL=enhanced-drawing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enhanced-drawing.js","sourceRoot":"","sources":["../../src/tools/enhanced-drawing.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/export.d.ts
CHANGED
|
@@ -46,33 +46,33 @@ export declare const exportTools: ({
|
|
|
46
46
|
version: z.ZodOptional<z.ZodString>;
|
|
47
47
|
quality: z.ZodOptional<z.ZodEnum<["coarse", "fine", "custom"]>>;
|
|
48
48
|
}, "strip", z.ZodTypeAny, {
|
|
49
|
+
version?: string | undefined;
|
|
49
50
|
binary?: boolean | undefined;
|
|
50
51
|
units?: "mm" | "in" | "m" | undefined;
|
|
51
|
-
version?: string | undefined;
|
|
52
52
|
quality?: "custom" | "coarse" | "fine" | undefined;
|
|
53
53
|
}, {
|
|
54
|
+
version?: string | undefined;
|
|
54
55
|
binary?: boolean | undefined;
|
|
55
56
|
units?: "mm" | "in" | "m" | undefined;
|
|
56
|
-
version?: string | undefined;
|
|
57
57
|
quality?: "custom" | "coarse" | "fine" | undefined;
|
|
58
58
|
}>;
|
|
59
59
|
}, "strip", z.ZodTypeAny, {
|
|
60
|
-
format: "step" | "iges" | "stl";
|
|
61
60
|
options: {
|
|
61
|
+
version?: string | undefined;
|
|
62
62
|
binary?: boolean | undefined;
|
|
63
63
|
units?: "mm" | "in" | "m" | undefined;
|
|
64
|
-
version?: string | undefined;
|
|
65
64
|
quality?: "custom" | "coarse" | "fine" | undefined;
|
|
66
65
|
};
|
|
66
|
+
format: "step" | "iges" | "stl";
|
|
67
67
|
outputPath: string;
|
|
68
68
|
}, {
|
|
69
|
-
format: "step" | "iges" | "stl";
|
|
70
69
|
options: {
|
|
70
|
+
version?: string | undefined;
|
|
71
71
|
binary?: boolean | undefined;
|
|
72
72
|
units?: "mm" | "in" | "m" | undefined;
|
|
73
|
-
version?: string | undefined;
|
|
74
73
|
quality?: "custom" | "coarse" | "fine" | undefined;
|
|
75
74
|
};
|
|
75
|
+
format: "step" | "iges" | "stl";
|
|
76
76
|
outputPath: string;
|
|
77
77
|
}>;
|
|
78
78
|
handler: (args: any, swApi: SolidWorksAPI) => string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { SolidWorksAPI } from '../solidworks/api.js';
|
|
3
|
+
export declare const macroSecurityTools: {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
7
|
+
handler: (args: any, swApi: SolidWorksAPI) => string;
|
|
8
|
+
}[];
|
|
9
|
+
//# sourceMappingURL=macro-security.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"macro-security.d.ts","sourceRoot":"","sources":["../../src/tools/macro-security.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,eAAO,MAAM,kBAAkB;;;;oBAwCX,GAAG,SAAS,aAAa;GAgD5C,CAAC"}
|