solidworks-mcp-server 2.2.0 → 3.0.1

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.
Files changed (109) hide show
  1. package/README.md +33 -10
  2. package/dist/application/services/command-bus.d.ts +39 -0
  3. package/dist/application/services/command-bus.d.ts.map +1 -0
  4. package/dist/application/services/command-bus.js +88 -0
  5. package/dist/application/services/command-bus.js.map +1 -0
  6. package/dist/application/services/event-bus.d.ts +31 -0
  7. package/dist/application/services/event-bus.d.ts.map +1 -0
  8. package/dist/application/services/event-bus.js +83 -0
  9. package/dist/application/services/event-bus.js.map +1 -0
  10. package/dist/application/services/query-bus.d.ts +30 -0
  11. package/dist/application/services/query-bus.d.ts.map +1 -0
  12. package/dist/application/services/query-bus.js +59 -0
  13. package/dist/application/services/query-bus.js.map +1 -0
  14. package/dist/application/services/tool-registry.d.ts +53 -0
  15. package/dist/application/services/tool-registry.d.ts.map +1 -0
  16. package/dist/application/services/tool-registry.js +81 -0
  17. package/dist/application/services/tool-registry.js.map +1 -0
  18. package/dist/application/use-cases/analysis/index.d.ts +13 -0
  19. package/dist/application/use-cases/analysis/index.d.ts.map +1 -0
  20. package/dist/application/use-cases/analysis/index.js +17 -0
  21. package/dist/application/use-cases/analysis/index.js.map +1 -0
  22. package/dist/application/use-cases/drawing/index.d.ts +13 -0
  23. package/dist/application/use-cases/drawing/index.d.ts.map +1 -0
  24. package/dist/application/use-cases/drawing/index.js +17 -0
  25. package/dist/application/use-cases/drawing/index.js.map +1 -0
  26. package/dist/application/use-cases/export/index.d.ts +13 -0
  27. package/dist/application/use-cases/export/index.d.ts.map +1 -0
  28. package/dist/application/use-cases/export/index.js +17 -0
  29. package/dist/application/use-cases/export/index.js.map +1 -0
  30. package/dist/application/use-cases/macro/index.d.ts +13 -0
  31. package/dist/application/use-cases/macro/index.d.ts.map +1 -0
  32. package/dist/application/use-cases/macro/index.js +17 -0
  33. package/dist/application/use-cases/macro/index.js.map +1 -0
  34. package/dist/application/use-cases/modeling/index.d.ts +56 -0
  35. package/dist/application/use-cases/modeling/index.d.ts.map +1 -0
  36. package/dist/application/use-cases/modeling/index.js +385 -0
  37. package/dist/application/use-cases/modeling/index.js.map +1 -0
  38. package/dist/core/interfaces/core-abstractions.d.ts +289 -0
  39. package/dist/core/interfaces/core-abstractions.d.ts.map +1 -0
  40. package/dist/core/interfaces/core-abstractions.js +121 -0
  41. package/dist/core/interfaces/core-abstractions.js.map +1 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +11 -4
  44. package/dist/index.js.map +1 -1
  45. package/dist/index.refactored.d.ts +7 -0
  46. package/dist/index.refactored.d.ts.map +1 -0
  47. package/dist/index.refactored.js +254 -0
  48. package/dist/index.refactored.js.map +1 -0
  49. package/dist/infrastructure/config/configuration-manager.d.ts +381 -0
  50. package/dist/infrastructure/config/configuration-manager.d.ts.map +1 -0
  51. package/dist/infrastructure/config/configuration-manager.js +566 -0
  52. package/dist/infrastructure/config/configuration-manager.js.map +1 -0
  53. package/dist/infrastructure/container/service-locator.d.ts +14 -0
  54. package/dist/infrastructure/container/service-locator.d.ts.map +1 -0
  55. package/dist/infrastructure/container/service-locator.js +38 -0
  56. package/dist/infrastructure/container/service-locator.js.map +1 -0
  57. package/dist/infrastructure/logging/logger.d.ts +24 -0
  58. package/dist/infrastructure/logging/logger.d.ts.map +1 -0
  59. package/dist/infrastructure/logging/logger.js +65 -0
  60. package/dist/infrastructure/logging/logger.js.map +1 -0
  61. package/dist/infrastructure/solidworks/solidworks-adapter.d.ts +43 -0
  62. package/dist/infrastructure/solidworks/solidworks-adapter.d.ts.map +1 -0
  63. package/dist/infrastructure/solidworks/solidworks-adapter.js +527 -0
  64. package/dist/infrastructure/solidworks/solidworks-adapter.js.map +1 -0
  65. package/dist/presentation/mcp/request-handler.d.ts +41 -0
  66. package/dist/presentation/mcp/request-handler.d.ts.map +1 -0
  67. package/dist/presentation/mcp/request-handler.js +100 -0
  68. package/dist/presentation/mcp/request-handler.js.map +1 -0
  69. package/dist/presentation/transformers/error-transformer.d.ts +16 -0
  70. package/dist/presentation/transformers/error-transformer.d.ts.map +1 -0
  71. package/dist/presentation/transformers/error-transformer.js +44 -0
  72. package/dist/presentation/transformers/error-transformer.js.map +1 -0
  73. package/dist/presentation/transformers/response-transformer.d.ts +24 -0
  74. package/dist/presentation/transformers/response-transformer.d.ts.map +1 -0
  75. package/dist/presentation/transformers/response-transformer.js +102 -0
  76. package/dist/presentation/transformers/response-transformer.js.map +1 -0
  77. package/dist/shared/constants/solidworks-constants.d.ts +302 -0
  78. package/dist/shared/constants/solidworks-constants.d.ts.map +1 -0
  79. package/dist/shared/constants/solidworks-constants.js +471 -0
  80. package/dist/shared/constants/solidworks-constants.js.map +1 -0
  81. package/dist/tools/diagnostics.d.ts +21 -0
  82. package/dist/tools/diagnostics.d.ts.map +1 -0
  83. package/dist/tools/diagnostics.js +120 -0
  84. package/dist/tools/diagnostics.js.map +1 -0
  85. package/dist/tools/drawing-analysis.d.ts +9 -0
  86. package/dist/tools/drawing-analysis.d.ts.map +1 -0
  87. package/dist/tools/drawing-analysis.js +239 -0
  88. package/dist/tools/drawing-analysis.js.map +1 -0
  89. package/dist/tools/enhanced-drawing.d.ts +51 -0
  90. package/dist/tools/enhanced-drawing.d.ts.map +1 -0
  91. package/dist/tools/enhanced-drawing.js +193 -0
  92. package/dist/tools/enhanced-drawing.js.map +1 -0
  93. package/dist/tools/macro-security.d.ts +9 -0
  94. package/dist/tools/macro-security.d.ts.map +1 -0
  95. package/dist/tools/macro-security.js +86 -0
  96. package/dist/tools/macro-security.js.map +1 -0
  97. package/dist/tools/native-macro.d.ts +149 -0
  98. package/dist/tools/native-macro.d.ts.map +1 -0
  99. package/dist/tools/native-macro.js +654 -0
  100. package/dist/tools/native-macro.js.map +1 -0
  101. package/dist/tools/sketch.d.ts +663 -0
  102. package/dist/tools/sketch.d.ts.map +1 -0
  103. package/dist/tools/sketch.js +815 -0
  104. package/dist/tools/sketch.js.map +1 -0
  105. package/dist/tools/template-manager.d.ts +231 -0
  106. package/dist/tools/template-manager.d.ts.map +1 -0
  107. package/dist/tools/template-manager.js +626 -0
  108. package/dist/tools/template-manager.js.map +1 -0
  109. package/package.json +12 -7
@@ -0,0 +1,471 @@
1
+ /**
2
+ * SolidWorks Constants and Enumerations
3
+ * Replaces all magic numbers with meaningful constants
4
+ */
5
+ // ============================================
6
+ // DOCUMENT TYPES
7
+ // ============================================
8
+ export var SwDocumentType;
9
+ (function (SwDocumentType) {
10
+ SwDocumentType[SwDocumentType["None"] = 0] = "None";
11
+ SwDocumentType[SwDocumentType["Part"] = 1] = "Part";
12
+ SwDocumentType[SwDocumentType["Assembly"] = 2] = "Assembly";
13
+ SwDocumentType[SwDocumentType["Drawing"] = 3] = "Drawing";
14
+ })(SwDocumentType || (SwDocumentType = {}));
15
+ export const DocumentExtensions = {
16
+ Part: ['.sldprt', '.prt'],
17
+ Assembly: ['.sldasm', '.asm'],
18
+ Drawing: ['.slddrw', '.drw'],
19
+ Template: ['.prtdot', '.asmdot', '.drwdot'],
20
+ };
21
+ // ============================================
22
+ // SAVE OPTIONS
23
+ // ============================================
24
+ export var SwSaveAsOptions;
25
+ (function (SwSaveAsOptions) {
26
+ SwSaveAsOptions[SwSaveAsOptions["Silent"] = 1] = "Silent";
27
+ SwSaveAsOptions[SwSaveAsOptions["Copy"] = 2] = "Copy";
28
+ SwSaveAsOptions[SwSaveAsOptions["UpdateInactiveViews"] = 4] = "UpdateInactiveViews";
29
+ SwSaveAsOptions[SwSaveAsOptions["AvoidRebuildOnSave"] = 8] = "AvoidRebuildOnSave";
30
+ SwSaveAsOptions[SwSaveAsOptions["OverrideSaveEmodel"] = 16] = "OverrideSaveEmodel";
31
+ SwSaveAsOptions[SwSaveAsOptions["SaveEmodelData"] = 32] = "SaveEmodelData";
32
+ SwSaveAsOptions[SwSaveAsOptions["UseCurrentWorkingDirectory"] = 64] = "UseCurrentWorkingDirectory";
33
+ })(SwSaveAsOptions || (SwSaveAsOptions = {}));
34
+ export var SwSaveAsVersion;
35
+ (function (SwSaveAsVersion) {
36
+ SwSaveAsVersion[SwSaveAsVersion["CurrentVersion"] = 0] = "CurrentVersion";
37
+ SwSaveAsVersion[SwSaveAsVersion["Sw98plus"] = 5000] = "Sw98plus";
38
+ SwSaveAsVersion[SwSaveAsVersion["Sw99"] = 5500] = "Sw99";
39
+ SwSaveAsVersion[SwSaveAsVersion["Sw2000"] = 6000] = "Sw2000";
40
+ SwSaveAsVersion[SwSaveAsVersion["Sw2001"] = 7000] = "Sw2001";
41
+ SwSaveAsVersion[SwSaveAsVersion["Sw2001Plus"] = 7500] = "Sw2001Plus";
42
+ SwSaveAsVersion[SwSaveAsVersion["Sw2003"] = 8000] = "Sw2003";
43
+ })(SwSaveAsVersion || (SwSaveAsVersion = {}));
44
+ // ============================================
45
+ // FILE OPEN OPTIONS
46
+ // ============================================
47
+ export var SwOpenDocOptions;
48
+ (function (SwOpenDocOptions) {
49
+ SwOpenDocOptions[SwOpenDocOptions["Silent"] = 1] = "Silent";
50
+ SwOpenDocOptions[SwOpenDocOptions["ReadOnly"] = 2] = "ReadOnly";
51
+ SwOpenDocOptions[SwOpenDocOptions["ViewOnly"] = 4] = "ViewOnly";
52
+ SwOpenDocOptions[SwOpenDocOptions["LoadModel"] = 8] = "LoadModel";
53
+ SwOpenDocOptions[SwOpenDocOptions["DontLoadHiddenComponents"] = 16] = "DontLoadHiddenComponents";
54
+ SwOpenDocOptions[SwOpenDocOptions["LoadExternalReferences"] = 32] = "LoadExternalReferences";
55
+ SwOpenDocOptions[SwOpenDocOptions["AutoMissingConfig"] = 64] = "AutoMissingConfig";
56
+ SwOpenDocOptions[SwOpenDocOptions["LoadLightweight"] = 128] = "LoadLightweight";
57
+ SwOpenDocOptions[SwOpenDocOptions["RapidDraft"] = 256] = "RapidDraft";
58
+ })(SwOpenDocOptions || (SwOpenDocOptions = {}));
59
+ // ============================================
60
+ // FEATURE TYPES
61
+ // ============================================
62
+ export var SwFeatureType;
63
+ (function (SwFeatureType) {
64
+ SwFeatureType[SwFeatureType["ProfileFeature"] = 0] = "ProfileFeature";
65
+ SwFeatureType[SwFeatureType["ExtrudeFeature"] = 1] = "ExtrudeFeature";
66
+ SwFeatureType[SwFeatureType["RevolveFeature"] = 2] = "RevolveFeature";
67
+ SwFeatureType[SwFeatureType["SweepFeature"] = 3] = "SweepFeature";
68
+ SwFeatureType[SwFeatureType["LoftFeature"] = 4] = "LoftFeature";
69
+ SwFeatureType[SwFeatureType["BoundaryFeature"] = 5] = "BoundaryFeature";
70
+ SwFeatureType[SwFeatureType["FilletFeature"] = 6] = "FilletFeature";
71
+ SwFeatureType[SwFeatureType["ChamferFeature"] = 7] = "ChamferFeature";
72
+ SwFeatureType[SwFeatureType["ShellFeature"] = 8] = "ShellFeature";
73
+ SwFeatureType[SwFeatureType["DraftFeature"] = 9] = "DraftFeature";
74
+ SwFeatureType[SwFeatureType["PatternFeature"] = 10] = "PatternFeature";
75
+ SwFeatureType[SwFeatureType["MirrorFeature"] = 11] = "MirrorFeature";
76
+ SwFeatureType[SwFeatureType["HoleFeature"] = 12] = "HoleFeature";
77
+ })(SwFeatureType || (SwFeatureType = {}));
78
+ // ============================================
79
+ // END CONDITIONS FOR FEATURES
80
+ // ============================================
81
+ export var SwEndCondition;
82
+ (function (SwEndCondition) {
83
+ SwEndCondition[SwEndCondition["Blind"] = 0] = "Blind";
84
+ SwEndCondition[SwEndCondition["ThroughAll"] = 1] = "ThroughAll";
85
+ SwEndCondition[SwEndCondition["ThroughNext"] = 2] = "ThroughNext";
86
+ SwEndCondition[SwEndCondition["UpToVertex"] = 3] = "UpToVertex";
87
+ SwEndCondition[SwEndCondition["UpToSurface"] = 4] = "UpToSurface";
88
+ SwEndCondition[SwEndCondition["OffsetFromSurface"] = 5] = "OffsetFromSurface";
89
+ SwEndCondition[SwEndCondition["UpToBody"] = 6] = "UpToBody";
90
+ SwEndCondition[SwEndCondition["MidPlane"] = 7] = "MidPlane";
91
+ SwEndCondition[SwEndCondition["ThroughAllBoth"] = 8] = "ThroughAllBoth";
92
+ SwEndCondition[SwEndCondition["UpToSelection"] = 9] = "UpToSelection";
93
+ })(SwEndCondition || (SwEndCondition = {}));
94
+ // ============================================
95
+ // SELECTION TYPES
96
+ // ============================================
97
+ export var SwSelectType;
98
+ (function (SwSelectType) {
99
+ SwSelectType[SwSelectType["Faces"] = 2] = "Faces";
100
+ SwSelectType[SwSelectType["Edges"] = 3] = "Edges";
101
+ SwSelectType[SwSelectType["Vertices"] = 4] = "Vertices";
102
+ SwSelectType[SwSelectType["Sketches"] = 5] = "Sketches";
103
+ SwSelectType[SwSelectType["SketchSegments"] = 6] = "SketchSegments";
104
+ SwSelectType[SwSelectType["SketchPoints"] = 7] = "SketchPoints";
105
+ SwSelectType[SwSelectType["Datums"] = 8] = "Datums";
106
+ SwSelectType[SwSelectType["Axes"] = 9] = "Axes";
107
+ SwSelectType[SwSelectType["Planes"] = 10] = "Planes";
108
+ SwSelectType[SwSelectType["Components"] = 11] = "Components";
109
+ SwSelectType[SwSelectType["Bodies"] = 12] = "Bodies";
110
+ SwSelectType[SwSelectType["Features"] = 13] = "Features";
111
+ SwSelectType[SwSelectType["Dimensions"] = 14] = "Dimensions";
112
+ })(SwSelectType || (SwSelectType = {}));
113
+ // ============================================
114
+ // REBUILD OPTIONS
115
+ // ============================================
116
+ export var SwRebuildOptions;
117
+ (function (SwRebuildOptions) {
118
+ SwRebuildOptions[SwRebuildOptions["Current"] = 0] = "Current";
119
+ SwRebuildOptions[SwRebuildOptions["All"] = 1] = "All";
120
+ SwRebuildOptions[SwRebuildOptions["TopLevel"] = 2] = "TopLevel";
121
+ SwRebuildOptions[SwRebuildOptions["OnlyFeatures"] = 3] = "OnlyFeatures";
122
+ })(SwRebuildOptions || (SwRebuildOptions = {}));
123
+ // ============================================
124
+ // MASS PROPERTY ACCURACY
125
+ // ============================================
126
+ export var SwMassPropertyAccuracy;
127
+ (function (SwMassPropertyAccuracy) {
128
+ SwMassPropertyAccuracy[SwMassPropertyAccuracy["Low"] = 0] = "Low";
129
+ SwMassPropertyAccuracy[SwMassPropertyAccuracy["Medium"] = 1] = "Medium";
130
+ SwMassPropertyAccuracy[SwMassPropertyAccuracy["High"] = 2] = "High";
131
+ SwMassPropertyAccuracy[SwMassPropertyAccuracy["VeryHigh"] = 3] = "VeryHigh";
132
+ SwMassPropertyAccuracy[SwMassPropertyAccuracy["Exact"] = 4] = "Exact";
133
+ })(SwMassPropertyAccuracy || (SwMassPropertyAccuracy = {}));
134
+ // ============================================
135
+ // SHEET METAL FEATURES
136
+ // ============================================
137
+ export var SwSheetMetalReliefType;
138
+ (function (SwSheetMetalReliefType) {
139
+ SwSheetMetalReliefType[SwSheetMetalReliefType["Rectangular"] = 0] = "Rectangular";
140
+ SwSheetMetalReliefType[SwSheetMetalReliefType["Obround"] = 1] = "Obround";
141
+ SwSheetMetalReliefType[SwSheetMetalReliefType["Tear"] = 2] = "Tear";
142
+ })(SwSheetMetalReliefType || (SwSheetMetalReliefType = {}));
143
+ export var SwBendAllowance;
144
+ (function (SwBendAllowance) {
145
+ SwBendAllowance[SwBendAllowance["BendTable"] = 0] = "BendTable";
146
+ SwBendAllowance[SwBendAllowance["KFactor"] = 1] = "KFactor";
147
+ SwBendAllowance[SwBendAllowance["BendAllowance"] = 2] = "BendAllowance";
148
+ SwBendAllowance[SwBendAllowance["BendDeduction"] = 3] = "BendDeduction";
149
+ })(SwBendAllowance || (SwBendAllowance = {}));
150
+ // ============================================
151
+ // DRAWING VIEW TYPES
152
+ // ============================================
153
+ export var SwDrawingViewType;
154
+ (function (SwDrawingViewType) {
155
+ SwDrawingViewType[SwDrawingViewType["Standard"] = 0] = "Standard";
156
+ SwDrawingViewType[SwDrawingViewType["Projected"] = 1] = "Projected";
157
+ SwDrawingViewType[SwDrawingViewType["Auxiliary"] = 2] = "Auxiliary";
158
+ SwDrawingViewType[SwDrawingViewType["Section"] = 3] = "Section";
159
+ SwDrawingViewType[SwDrawingViewType["Detail"] = 4] = "Detail";
160
+ SwDrawingViewType[SwDrawingViewType["Broken"] = 5] = "Broken";
161
+ SwDrawingViewType[SwDrawingViewType["BreakOutSection"] = 6] = "BreakOutSection";
162
+ SwDrawingViewType[SwDrawingViewType["Isometric"] = 7] = "Isometric";
163
+ SwDrawingViewType[SwDrawingViewType["Named"] = 8] = "Named";
164
+ })(SwDrawingViewType || (SwDrawingViewType = {}));
165
+ export var SwDrawingViewOrientation;
166
+ (function (SwDrawingViewOrientation) {
167
+ SwDrawingViewOrientation[SwDrawingViewOrientation["Front"] = 0] = "Front";
168
+ SwDrawingViewOrientation[SwDrawingViewOrientation["Back"] = 1] = "Back";
169
+ SwDrawingViewOrientation[SwDrawingViewOrientation["Left"] = 2] = "Left";
170
+ SwDrawingViewOrientation[SwDrawingViewOrientation["Right"] = 3] = "Right";
171
+ SwDrawingViewOrientation[SwDrawingViewOrientation["Top"] = 4] = "Top";
172
+ SwDrawingViewOrientation[SwDrawingViewOrientation["Bottom"] = 5] = "Bottom";
173
+ SwDrawingViewOrientation[SwDrawingViewOrientation["Isometric"] = 6] = "Isometric";
174
+ SwDrawingViewOrientation[SwDrawingViewOrientation["Dimetric"] = 7] = "Dimetric";
175
+ SwDrawingViewOrientation[SwDrawingViewOrientation["Trimetric"] = 8] = "Trimetric";
176
+ SwDrawingViewOrientation[SwDrawingViewOrientation["Current"] = 9] = "Current";
177
+ })(SwDrawingViewOrientation || (SwDrawingViewOrientation = {}));
178
+ // ============================================
179
+ // DIMENSION TYPES
180
+ // ============================================
181
+ export var SwDimensionType;
182
+ (function (SwDimensionType) {
183
+ SwDimensionType[SwDimensionType["Linear"] = 0] = "Linear";
184
+ SwDimensionType[SwDimensionType["Angular"] = 1] = "Angular";
185
+ SwDimensionType[SwDimensionType["Radial"] = 2] = "Radial";
186
+ SwDimensionType[SwDimensionType["Diameter"] = 3] = "Diameter";
187
+ SwDimensionType[SwDimensionType["Ordinate"] = 4] = "Ordinate";
188
+ SwDimensionType[SwDimensionType["Chamfer"] = 5] = "Chamfer";
189
+ SwDimensionType[SwDimensionType["ArcLength"] = 6] = "ArcLength";
190
+ SwDimensionType[SwDimensionType["Coordinate"] = 7] = "Coordinate";
191
+ })(SwDimensionType || (SwDimensionType = {}));
192
+ export var SwDimensionToleranceType;
193
+ (function (SwDimensionToleranceType) {
194
+ SwDimensionToleranceType[SwDimensionToleranceType["None"] = 0] = "None";
195
+ SwDimensionToleranceType[SwDimensionToleranceType["Bilateral"] = 1] = "Bilateral";
196
+ SwDimensionToleranceType[SwDimensionToleranceType["Limit"] = 2] = "Limit";
197
+ SwDimensionToleranceType[SwDimensionToleranceType["Symmetric"] = 3] = "Symmetric";
198
+ SwDimensionToleranceType[SwDimensionToleranceType["Basic"] = 4] = "Basic";
199
+ SwDimensionToleranceType[SwDimensionToleranceType["Min"] = 5] = "Min";
200
+ SwDimensionToleranceType[SwDimensionToleranceType["Max"] = 6] = "Max";
201
+ })(SwDimensionToleranceType || (SwDimensionToleranceType = {}));
202
+ // ============================================
203
+ // EXPORT FORMATS
204
+ // ============================================
205
+ export var SwExportFormat;
206
+ (function (SwExportFormat) {
207
+ SwExportFormat["Step"] = "step";
208
+ SwExportFormat["Iges"] = "iges";
209
+ SwExportFormat["Stl"] = "stl";
210
+ SwExportFormat["Pdf"] = "pdf";
211
+ SwExportFormat["Dxf"] = "dxf";
212
+ SwExportFormat["Dwg"] = "dwg";
213
+ SwExportFormat["Parasolid"] = "x_t";
214
+ SwExportFormat["Sat"] = "sat";
215
+ SwExportFormat["Vrml"] = "wrl";
216
+ SwExportFormat["Obj"] = "obj";
217
+ SwExportFormat["Ply"] = "ply";
218
+ SwExportFormat["ThreeMf"] = "3mf";
219
+ })(SwExportFormat || (SwExportFormat = {}));
220
+ export const ExportExtensions = {
221
+ [SwExportFormat.Step]: ['.step', '.stp'],
222
+ [SwExportFormat.Iges]: ['.iges', '.igs'],
223
+ [SwExportFormat.Stl]: ['.stl'],
224
+ [SwExportFormat.Pdf]: ['.pdf'],
225
+ [SwExportFormat.Dxf]: ['.dxf'],
226
+ [SwExportFormat.Dwg]: ['.dwg'],
227
+ [SwExportFormat.Parasolid]: ['.x_t', '.x_b'],
228
+ [SwExportFormat.Sat]: ['.sat'],
229
+ [SwExportFormat.Vrml]: ['.wrl'],
230
+ [SwExportFormat.Obj]: ['.obj'],
231
+ [SwExportFormat.Ply]: ['.ply'],
232
+ [SwExportFormat.ThreeMf]: ['.3mf'],
233
+ };
234
+ // ============================================
235
+ // UNITS
236
+ // ============================================
237
+ export var SwLengthUnit;
238
+ (function (SwLengthUnit) {
239
+ SwLengthUnit[SwLengthUnit["Millimeters"] = 0] = "Millimeters";
240
+ SwLengthUnit[SwLengthUnit["Centimeters"] = 1] = "Centimeters";
241
+ SwLengthUnit[SwLengthUnit["Meters"] = 2] = "Meters";
242
+ SwLengthUnit[SwLengthUnit["Inches"] = 3] = "Inches";
243
+ SwLengthUnit[SwLengthUnit["Feet"] = 4] = "Feet";
244
+ SwLengthUnit[SwLengthUnit["FeetInches"] = 5] = "FeetInches";
245
+ SwLengthUnit[SwLengthUnit["Angstroms"] = 6] = "Angstroms";
246
+ SwLengthUnit[SwLengthUnit["Nanometers"] = 7] = "Nanometers";
247
+ SwLengthUnit[SwLengthUnit["Microns"] = 8] = "Microns";
248
+ })(SwLengthUnit || (SwLengthUnit = {}));
249
+ export var SwAngleUnit;
250
+ (function (SwAngleUnit) {
251
+ SwAngleUnit[SwAngleUnit["Degrees"] = 0] = "Degrees";
252
+ SwAngleUnit[SwAngleUnit["Radians"] = 1] = "Radians";
253
+ SwAngleUnit[SwAngleUnit["Gradians"] = 2] = "Gradians";
254
+ SwAngleUnit[SwAngleUnit["DegreesMinutes"] = 3] = "DegreesMinutes";
255
+ SwAngleUnit[SwAngleUnit["DegreesMinutesSeconds"] = 4] = "DegreesMinutesSeconds";
256
+ })(SwAngleUnit || (SwAngleUnit = {}));
257
+ export var SwMassUnit;
258
+ (function (SwMassUnit) {
259
+ SwMassUnit[SwMassUnit["Grams"] = 0] = "Grams";
260
+ SwMassUnit[SwMassUnit["Kilograms"] = 1] = "Kilograms";
261
+ SwMassUnit[SwMassUnit["Pounds"] = 2] = "Pounds";
262
+ SwMassUnit[SwMassUnit["Ounces"] = 3] = "Ounces";
263
+ SwMassUnit[SwMassUnit["Tons"] = 4] = "Tons";
264
+ })(SwMassUnit || (SwMassUnit = {}));
265
+ // ============================================
266
+ // CONVERSION FACTORS
267
+ // ============================================
268
+ export const ConversionFactors = {
269
+ // Length conversions to meters
270
+ MillimetersToMeters: 0.001,
271
+ CentimetersToMeters: 0.01,
272
+ InchesToMeters: 0.0254,
273
+ FeetToMeters: 0.3048,
274
+ // Length conversions from meters
275
+ MetersToMillimeters: 1000,
276
+ MetersToCentimeters: 100,
277
+ MetersToInches: 39.3701,
278
+ MetersToFeet: 3.28084,
279
+ // Angle conversions
280
+ DegreesToRadians: Math.PI / 180,
281
+ RadiansToDegrees: 180 / Math.PI,
282
+ // Mass conversions to kilograms
283
+ GramsToKilograms: 0.001,
284
+ PoundsToKilograms: 0.453592,
285
+ OuncesToKilograms: 0.0283495,
286
+ // Mass conversions from kilograms
287
+ KilogramsToGrams: 1000,
288
+ KilogramsToPounds: 2.20462,
289
+ KilogramsToOunces: 35.274,
290
+ };
291
+ // ============================================
292
+ // ERROR CODES
293
+ // ============================================
294
+ export var SwErrorCode;
295
+ (function (SwErrorCode) {
296
+ SwErrorCode[SwErrorCode["Success"] = 0] = "Success";
297
+ SwErrorCode[SwErrorCode["GenericError"] = 1] = "GenericError";
298
+ SwErrorCode[SwErrorCode["FileNotFound"] = 2] = "FileNotFound";
299
+ SwErrorCode[SwErrorCode["InvalidFileType"] = 3] = "InvalidFileType";
300
+ SwErrorCode[SwErrorCode["ReadOnly"] = 4] = "ReadOnly";
301
+ SwErrorCode[SwErrorCode["InvalidOperation"] = 5] = "InvalidOperation";
302
+ SwErrorCode[SwErrorCode["NoActiveDocument"] = 6] = "NoActiveDocument";
303
+ SwErrorCode[SwErrorCode["InvalidDimension"] = 7] = "InvalidDimension";
304
+ SwErrorCode[SwErrorCode["InvalidFeature"] = 8] = "InvalidFeature";
305
+ SwErrorCode[SwErrorCode["RebuildError"] = 9] = "RebuildError";
306
+ SwErrorCode[SwErrorCode["SaveError"] = 10] = "SaveError";
307
+ SwErrorCode[SwErrorCode["ExportError"] = 11] = "ExportError";
308
+ SwErrorCode[SwErrorCode["MacroError"] = 12] = "MacroError";
309
+ SwErrorCode[SwErrorCode["SelectionError"] = 13] = "SelectionError";
310
+ SwErrorCode[SwErrorCode["GeometryError"] = 14] = "GeometryError";
311
+ SwErrorCode[SwErrorCode["AssemblyError"] = 15] = "AssemblyError";
312
+ SwErrorCode[SwErrorCode["DrawingError"] = 16] = "DrawingError";
313
+ })(SwErrorCode || (SwErrorCode = {}));
314
+ // ============================================
315
+ // PAPER SIZES
316
+ // ============================================
317
+ export var SwPaperSize;
318
+ (function (SwPaperSize) {
319
+ SwPaperSize[SwPaperSize["Letter"] = 0] = "Letter";
320
+ SwPaperSize[SwPaperSize["LetterLandscape"] = 1] = "LetterLandscape";
321
+ SwPaperSize[SwPaperSize["Tabloid"] = 2] = "Tabloid";
322
+ SwPaperSize[SwPaperSize["TabloidLandscape"] = 3] = "TabloidLandscape";
323
+ SwPaperSize[SwPaperSize["C"] = 4] = "C";
324
+ SwPaperSize[SwPaperSize["CLandscape"] = 5] = "CLandscape";
325
+ SwPaperSize[SwPaperSize["D"] = 6] = "D";
326
+ SwPaperSize[SwPaperSize["DLandscape"] = 7] = "DLandscape";
327
+ SwPaperSize[SwPaperSize["E"] = 8] = "E";
328
+ SwPaperSize[SwPaperSize["ELandscape"] = 9] = "ELandscape";
329
+ SwPaperSize[SwPaperSize["A4"] = 10] = "A4";
330
+ SwPaperSize[SwPaperSize["A4Landscape"] = 11] = "A4Landscape";
331
+ SwPaperSize[SwPaperSize["A3"] = 12] = "A3";
332
+ SwPaperSize[SwPaperSize["A3Landscape"] = 13] = "A3Landscape";
333
+ SwPaperSize[SwPaperSize["A2"] = 14] = "A2";
334
+ SwPaperSize[SwPaperSize["A2Landscape"] = 15] = "A2Landscape";
335
+ SwPaperSize[SwPaperSize["A1"] = 16] = "A1";
336
+ SwPaperSize[SwPaperSize["A1Landscape"] = 17] = "A1Landscape";
337
+ SwPaperSize[SwPaperSize["A0"] = 18] = "A0";
338
+ SwPaperSize[SwPaperSize["A0Landscape"] = 19] = "A0Landscape";
339
+ SwPaperSize[SwPaperSize["UserDefined"] = 20] = "UserDefined";
340
+ })(SwPaperSize || (SwPaperSize = {}));
341
+ export const PaperDimensions = {
342
+ [SwPaperSize.Letter]: { width: 0.2159, height: 0.2794 },
343
+ [SwPaperSize.LetterLandscape]: { width: 0.2794, height: 0.2159 },
344
+ [SwPaperSize.Tabloid]: { width: 0.2794, height: 0.4318 },
345
+ [SwPaperSize.TabloidLandscape]: { width: 0.4318, height: 0.2794 },
346
+ [SwPaperSize.C]: { width: 0.4318, height: 0.5588 },
347
+ [SwPaperSize.CLandscape]: { width: 0.5588, height: 0.4318 },
348
+ [SwPaperSize.D]: { width: 0.5588, height: 0.8636 },
349
+ [SwPaperSize.DLandscape]: { width: 0.8636, height: 0.5588 },
350
+ [SwPaperSize.E]: { width: 0.8636, height: 1.0922 },
351
+ [SwPaperSize.ELandscape]: { width: 1.0922, height: 0.8636 },
352
+ [SwPaperSize.A4]: { width: 0.210, height: 0.297 },
353
+ [SwPaperSize.A4Landscape]: { width: 0.297, height: 0.210 },
354
+ [SwPaperSize.A3]: { width: 0.297, height: 0.420 },
355
+ [SwPaperSize.A3Landscape]: { width: 0.420, height: 0.297 },
356
+ [SwPaperSize.A2]: { width: 0.420, height: 0.594 },
357
+ [SwPaperSize.A2Landscape]: { width: 0.594, height: 0.420 },
358
+ [SwPaperSize.A1]: { width: 0.594, height: 0.841 },
359
+ [SwPaperSize.A1Landscape]: { width: 0.841, height: 0.594 },
360
+ [SwPaperSize.A0]: { width: 0.841, height: 1.189 },
361
+ [SwPaperSize.A0Landscape]: { width: 1.189, height: 0.841 },
362
+ [SwPaperSize.UserDefined]: { width: 0, height: 0 },
363
+ };
364
+ // ============================================
365
+ // MACRO SECURITY LEVELS
366
+ // ============================================
367
+ export var SwMacroSecurityLevel;
368
+ (function (SwMacroSecurityLevel) {
369
+ SwMacroSecurityLevel[SwMacroSecurityLevel["Low"] = 0] = "Low";
370
+ SwMacroSecurityLevel[SwMacroSecurityLevel["Medium"] = 1] = "Medium";
371
+ SwMacroSecurityLevel[SwMacroSecurityLevel["High"] = 2] = "High";
372
+ })(SwMacroSecurityLevel || (SwMacroSecurityLevel = {}));
373
+ // ============================================
374
+ // CONFIGURATION OPTIONS
375
+ // ============================================
376
+ export const DefaultConfiguration = {
377
+ Connection: {
378
+ RetryAttempts: 3,
379
+ RetryDelay: 1000, // milliseconds
380
+ Timeout: 30000, // milliseconds
381
+ },
382
+ Cache: {
383
+ MaxEntries: 1000,
384
+ TTL: 3600000, // 1 hour in milliseconds
385
+ },
386
+ Logging: {
387
+ Level: 'info',
388
+ MaxFileSize: 10485760, // 10MB
389
+ MaxFiles: 5,
390
+ },
391
+ Performance: {
392
+ MaxConcurrentOperations: 5,
393
+ OperationTimeout: 60000, // milliseconds
394
+ },
395
+ Templates: {
396
+ DefaultPartTemplate: 'C:\\ProgramData\\SolidWorks\\SOLIDWORKS 2023\\templates\\Part.prtdot',
397
+ DefaultAssemblyTemplate: 'C:\\ProgramData\\SolidWorks\\SOLIDWORKS 2023\\templates\\Assembly.asmdot',
398
+ DefaultDrawingTemplate: 'C:\\ProgramData\\SolidWorks\\SOLIDWORKS 2023\\templates\\Drawing.drwdot',
399
+ },
400
+ };
401
+ // ============================================
402
+ // HELPER FUNCTIONS
403
+ // ============================================
404
+ export class SwConstants {
405
+ /**
406
+ * Get document type from file extension
407
+ */
408
+ static getDocumentTypeFromExtension(filepath) {
409
+ const ext = filepath.toLowerCase().split('.').pop() || '';
410
+ if (DocumentExtensions.Part.some(e => ext.includes(e.substring(1)))) {
411
+ return SwDocumentType.Part;
412
+ }
413
+ if (DocumentExtensions.Assembly.some(e => ext.includes(e.substring(1)))) {
414
+ return SwDocumentType.Assembly;
415
+ }
416
+ if (DocumentExtensions.Drawing.some(e => ext.includes(e.substring(1)))) {
417
+ return SwDocumentType.Drawing;
418
+ }
419
+ return SwDocumentType.None;
420
+ }
421
+ /**
422
+ * Convert units
423
+ */
424
+ static convertLength(value, from, to) {
425
+ // Convert to meters first
426
+ let meters = value;
427
+ switch (from) {
428
+ case SwLengthUnit.Millimeters:
429
+ meters = value * ConversionFactors.MillimetersToMeters;
430
+ break;
431
+ case SwLengthUnit.Centimeters:
432
+ meters = value * ConversionFactors.CentimetersToMeters;
433
+ break;
434
+ case SwLengthUnit.Inches:
435
+ meters = value * ConversionFactors.InchesToMeters;
436
+ break;
437
+ case SwLengthUnit.Feet:
438
+ meters = value * ConversionFactors.FeetToMeters;
439
+ break;
440
+ }
441
+ // Convert from meters to target unit
442
+ switch (to) {
443
+ case SwLengthUnit.Millimeters:
444
+ return meters * ConversionFactors.MetersToMillimeters;
445
+ case SwLengthUnit.Centimeters:
446
+ return meters * ConversionFactors.MetersToCentimeters;
447
+ case SwLengthUnit.Inches:
448
+ return meters * ConversionFactors.MetersToInches;
449
+ case SwLengthUnit.Feet:
450
+ return meters * ConversionFactors.MetersToFeet;
451
+ default:
452
+ return meters;
453
+ }
454
+ }
455
+ /**
456
+ * Convert angle units
457
+ */
458
+ static convertAngle(value, from, to) {
459
+ // Convert to radians first
460
+ let radians = value;
461
+ if (from === SwAngleUnit.Degrees) {
462
+ radians = value * ConversionFactors.DegreesToRadians;
463
+ }
464
+ // Convert from radians to target unit
465
+ if (to === SwAngleUnit.Degrees) {
466
+ return radians * ConversionFactors.RadiansToDegrees;
467
+ }
468
+ return radians;
469
+ }
470
+ }
471
+ //# sourceMappingURL=solidworks-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solidworks-constants.js","sourceRoot":"","sources":["../../../src/shared/constants/solidworks-constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,+CAA+C;AAC/C,iBAAiB;AACjB,+CAA+C;AAE/C,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mDAAQ,CAAA;IACR,mDAAQ,CAAA;IACR,2DAAY,CAAA;IACZ,yDAAW,CAAA;AACb,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;CACnC,CAAC;AAEX,+CAA+C;AAC/C,eAAe;AACf,+CAA+C;AAE/C,MAAM,CAAN,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,yDAAU,CAAA;IACV,qDAAQ,CAAA;IACR,mFAAuB,CAAA;IACvB,iFAAsB,CAAA;IACtB,kFAAuB,CAAA;IACvB,0EAAmB,CAAA;IACnB,kGAA+B,CAAA;AACjC,CAAC,EARW,eAAe,KAAf,eAAe,QAQ1B;AAED,MAAM,CAAN,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,yEAAkB,CAAA;IAClB,gEAAe,CAAA;IACf,wDAAW,CAAA;IACX,4DAAa,CAAA;IACb,4DAAa,CAAA;IACb,oEAAiB,CAAA;IACjB,4DAAa,CAAA;AACf,CAAC,EARW,eAAe,KAAf,eAAe,QAQ1B;AAED,+CAA+C;AAC/C,oBAAoB;AACpB,+CAA+C;AAE/C,MAAM,CAAN,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IAC1B,2DAAU,CAAA;IACV,+DAAY,CAAA;IACZ,+DAAY,CAAA;IACZ,iEAAa,CAAA;IACb,gGAA6B,CAAA;IAC7B,4FAA2B,CAAA;IAC3B,kFAAsB,CAAA;IACtB,+EAAqB,CAAA;IACrB,qEAAgB,CAAA;AAClB,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,QAU3B;AAED,+CAA+C;AAC/C,gBAAgB;AAChB,+CAA+C;AAE/C,MAAM,CAAN,IAAY,aAcX;AAdD,WAAY,aAAa;IACvB,qEAAkB,CAAA;IAClB,qEAAkB,CAAA;IAClB,qEAAkB,CAAA;IAClB,iEAAgB,CAAA;IAChB,+DAAe,CAAA;IACf,uEAAmB,CAAA;IACnB,mEAAiB,CAAA;IACjB,qEAAkB,CAAA;IAClB,iEAAgB,CAAA;IAChB,iEAAgB,CAAA;IAChB,sEAAmB,CAAA;IACnB,oEAAkB,CAAA;IAClB,gEAAgB,CAAA;AAClB,CAAC,EAdW,aAAa,KAAb,aAAa,QAcxB;AAED,+CAA+C;AAC/C,8BAA8B;AAC9B,+CAA+C;AAE/C,MAAM,CAAN,IAAY,cAWX;AAXD,WAAY,cAAc;IACxB,qDAAS,CAAA;IACT,+DAAc,CAAA;IACd,iEAAe,CAAA;IACf,+DAAc,CAAA;IACd,iEAAe,CAAA;IACf,6EAAqB,CAAA;IACrB,2DAAY,CAAA;IACZ,2DAAY,CAAA;IACZ,uEAAkB,CAAA;IAClB,qEAAiB,CAAA;AACnB,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB;AAED,+CAA+C;AAC/C,kBAAkB;AAClB,+CAA+C;AAE/C,MAAM,CAAN,IAAY,YAcX;AAdD,WAAY,YAAY;IACtB,iDAAS,CAAA;IACT,iDAAS,CAAA;IACT,uDAAY,CAAA;IACZ,uDAAY,CAAA;IACZ,mEAAkB,CAAA;IAClB,+DAAgB,CAAA;IAChB,mDAAU,CAAA;IACV,+CAAQ,CAAA;IACR,oDAAW,CAAA;IACX,4DAAe,CAAA;IACf,oDAAW,CAAA;IACX,wDAAa,CAAA;IACb,4DAAe,CAAA;AACjB,CAAC,EAdW,YAAY,KAAZ,YAAY,QAcvB;AAED,+CAA+C;AAC/C,kBAAkB;AAClB,+CAA+C;AAE/C,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,6DAAW,CAAA;IACX,qDAAO,CAAA;IACP,+DAAY,CAAA;IACZ,uEAAgB,CAAA;AAClB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AAED,+CAA+C;AAC/C,yBAAyB;AACzB,+CAA+C;AAE/C,MAAM,CAAN,IAAY,sBAMX;AAND,WAAY,sBAAsB;IAChC,iEAAO,CAAA;IACP,uEAAU,CAAA;IACV,mEAAQ,CAAA;IACR,2EAAY,CAAA;IACZ,qEAAS,CAAA;AACX,CAAC,EANW,sBAAsB,KAAtB,sBAAsB,QAMjC;AAED,+CAA+C;AAC/C,uBAAuB;AACvB,+CAA+C;AAE/C,MAAM,CAAN,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,iFAAe,CAAA;IACf,yEAAW,CAAA;IACX,mEAAQ,CAAA;AACV,CAAC,EAJW,sBAAsB,KAAtB,sBAAsB,QAIjC;AAED,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,+DAAa,CAAA;IACb,2DAAW,CAAA;IACX,uEAAiB,CAAA;IACjB,uEAAiB,CAAA;AACnB,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED,+CAA+C;AAC/C,qBAAqB;AACrB,+CAA+C;AAE/C,MAAM,CAAN,IAAY,iBAUX;AAVD,WAAY,iBAAiB;IAC3B,iEAAY,CAAA;IACZ,mEAAa,CAAA;IACb,mEAAa,CAAA;IACb,+DAAW,CAAA;IACX,6DAAU,CAAA;IACV,6DAAU,CAAA;IACV,+EAAmB,CAAA;IACnB,mEAAa,CAAA;IACb,2DAAS,CAAA;AACX,CAAC,EAVW,iBAAiB,KAAjB,iBAAiB,QAU5B;AAED,MAAM,CAAN,IAAY,wBAWX;AAXD,WAAY,wBAAwB;IAClC,yEAAS,CAAA;IACT,uEAAQ,CAAA;IACR,uEAAQ,CAAA;IACR,yEAAS,CAAA;IACT,qEAAO,CAAA;IACP,2EAAU,CAAA;IACV,iFAAa,CAAA;IACb,+EAAY,CAAA;IACZ,iFAAa,CAAA;IACb,6EAAW,CAAA;AACb,CAAC,EAXW,wBAAwB,KAAxB,wBAAwB,QAWnC;AAED,+CAA+C;AAC/C,kBAAkB;AAClB,+CAA+C;AAE/C,MAAM,CAAN,IAAY,eASX;AATD,WAAY,eAAe;IACzB,yDAAU,CAAA;IACV,2DAAW,CAAA;IACX,yDAAU,CAAA;IACV,6DAAY,CAAA;IACZ,6DAAY,CAAA;IACZ,2DAAW,CAAA;IACX,+DAAa,CAAA;IACb,iEAAc,CAAA;AAChB,CAAC,EATW,eAAe,KAAf,eAAe,QAS1B;AAED,MAAM,CAAN,IAAY,wBAQX;AARD,WAAY,wBAAwB;IAClC,uEAAQ,CAAA;IACR,iFAAa,CAAA;IACb,yEAAS,CAAA;IACT,iFAAa,CAAA;IACb,yEAAS,CAAA;IACT,qEAAO,CAAA;IACP,qEAAO,CAAA;AACT,CAAC,EARW,wBAAwB,KAAxB,wBAAwB,QAQnC;AAED,+CAA+C;AAC/C,iBAAiB;AACjB,+CAA+C;AAE/C,MAAM,CAAN,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,+BAAa,CAAA;IACb,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,mCAAiB,CAAA;IACjB,6BAAW,CAAA;IACX,8BAAY,CAAA;IACZ,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,iCAAe,CAAA;AACjB,CAAC,EAbW,cAAc,KAAd,cAAc,QAazB;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAqC;IAChE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IACxC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IACxC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;IAC9B,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;IAC9B,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;IAC9B,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;IAC9B,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAC5C,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;IAC9B,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;IAC/B,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;IAC9B,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;IAC9B,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC;CACnC,CAAC;AAEF,+CAA+C;AAC/C,QAAQ;AACR,+CAA+C;AAE/C,MAAM,CAAN,IAAY,YAUX;AAVD,WAAY,YAAY;IACtB,6DAAe,CAAA;IACf,6DAAe,CAAA;IACf,mDAAU,CAAA;IACV,mDAAU,CAAA;IACV,+CAAQ,CAAA;IACR,2DAAc,CAAA;IACd,yDAAa,CAAA;IACb,2DAAc,CAAA;IACd,qDAAW,CAAA;AACb,CAAC,EAVW,YAAY,KAAZ,YAAY,QAUvB;AAED,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,mDAAW,CAAA;IACX,mDAAW,CAAA;IACX,qDAAY,CAAA;IACZ,iEAAkB,CAAA;IAClB,+EAAyB,CAAA;AAC3B,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAED,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,6CAAS,CAAA;IACT,qDAAa,CAAA;IACb,+CAAU,CAAA;IACV,+CAAU,CAAA;IACV,2CAAQ,CAAA;AACV,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AAED,+CAA+C;AAC/C,qBAAqB;AACrB,+CAA+C;AAE/C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,+BAA+B;IAC/B,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,IAAI;IACzB,cAAc,EAAE,MAAM;IACtB,YAAY,EAAE,MAAM;IAEpB,iCAAiC;IACjC,mBAAmB,EAAE,IAAI;IACzB,mBAAmB,EAAE,GAAG;IACxB,cAAc,EAAE,OAAO;IACvB,YAAY,EAAE,OAAO;IAErB,oBAAoB;IACpB,gBAAgB,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG;IAC/B,gBAAgB,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE;IAE/B,gCAAgC;IAChC,gBAAgB,EAAE,KAAK;IACvB,iBAAiB,EAAE,QAAQ;IAC3B,iBAAiB,EAAE,SAAS;IAE5B,kCAAkC;IAClC,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,OAAO;IAC1B,iBAAiB,EAAE,MAAM;CACjB,CAAC;AAEX,+CAA+C;AAC/C,cAAc;AACd,+CAA+C;AAE/C,MAAM,CAAN,IAAY,WAkBX;AAlBD,WAAY,WAAW;IACrB,mDAAW,CAAA;IACX,6DAAgB,CAAA;IAChB,6DAAgB,CAAA;IAChB,mEAAmB,CAAA;IACnB,qDAAY,CAAA;IACZ,qEAAoB,CAAA;IACpB,qEAAoB,CAAA;IACpB,qEAAoB,CAAA;IACpB,iEAAkB,CAAA;IAClB,6DAAgB,CAAA;IAChB,wDAAc,CAAA;IACd,4DAAgB,CAAA;IAChB,0DAAe,CAAA;IACf,kEAAmB,CAAA;IACnB,gEAAkB,CAAA;IAClB,gEAAkB,CAAA;IAClB,8DAAiB,CAAA;AACnB,CAAC,EAlBW,WAAW,KAAX,WAAW,QAkBtB;AAED,+CAA+C;AAC/C,cAAc;AACd,+CAA+C;AAE/C,MAAM,CAAN,IAAY,WAsBX;AAtBD,WAAY,WAAW;IACrB,iDAAU,CAAA;IACV,mEAAmB,CAAA;IACnB,mDAAW,CAAA;IACX,qEAAoB,CAAA;IACpB,uCAAK,CAAA;IACL,yDAAc,CAAA;IACd,uCAAK,CAAA;IACL,yDAAc,CAAA;IACd,uCAAK,CAAA;IACL,yDAAc,CAAA;IACd,0CAAO,CAAA;IACP,4DAAgB,CAAA;IAChB,0CAAO,CAAA;IACP,4DAAgB,CAAA;IAChB,0CAAO,CAAA;IACP,4DAAgB,CAAA;IAChB,0CAAO,CAAA;IACP,4DAAgB,CAAA;IAChB,0CAAO,CAAA;IACP,4DAAgB,CAAA;IAChB,4DAAgB,CAAA;AAClB,CAAC,EAtBW,WAAW,KAAX,WAAW,QAsBtB;AAED,MAAM,CAAC,MAAM,eAAe,GAA2D;IACrF,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IACvD,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IAChE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IACxD,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IACjE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IAClD,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IAC3D,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IAClD,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IAC3D,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IAClD,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IAC3D,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IACjD,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IAC1D,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IACjD,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IAC1D,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IACjD,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IAC1D,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IACjD,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IAC1D,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IACjD,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IAC1D,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;CACnD,CAAC;AAEF,+CAA+C;AAC/C,wBAAwB;AACxB,+CAA+C;AAE/C,MAAM,CAAN,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC9B,6DAAO,CAAA;IACP,mEAAU,CAAA;IACV,+DAAQ,CAAA;AACV,CAAC,EAJW,oBAAoB,KAApB,oBAAoB,QAI/B;AAED,+CAA+C;AAC/C,wBAAwB;AACxB,+CAA+C;AAE/C,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,UAAU,EAAE;QACV,aAAa,EAAE,CAAC;QAChB,UAAU,EAAE,IAAI,EAAE,eAAe;QACjC,OAAO,EAAE,KAAK,EAAE,eAAe;KAChC;IACD,KAAK,EAAE;QACL,UAAU,EAAE,IAAI;QAChB,GAAG,EAAE,OAAO,EAAE,yBAAyB;KACxC;IACD,OAAO,EAAE;QACP,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,QAAQ,EAAE,OAAO;QAC9B,QAAQ,EAAE,CAAC;KACZ;IACD,WAAW,EAAE;QACX,uBAAuB,EAAE,CAAC;QAC1B,gBAAgB,EAAE,KAAK,EAAE,eAAe;KACzC;IACD,SAAS,EAAE;QACT,mBAAmB,EAAE,sEAAsE;QAC3F,uBAAuB,EAAE,0EAA0E;QACnG,sBAAsB,EAAE,yEAAyE;KAClG;CACO,CAAC;AAEX,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C,MAAM,OAAO,WAAW;IACtB;;OAEG;IACH,MAAM,CAAC,4BAA4B,CAAC,QAAgB;QAClD,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAE1D,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,OAAO,cAAc,CAAC,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,OAAO,cAAc,CAAC,QAAQ,CAAC;QACjC,CAAC;QACD,IAAI,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,OAAO,cAAc,CAAC,OAAO,CAAC;QAChC,CAAC;QAED,OAAO,cAAc,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa,CAClB,KAAa,EACb,IAAkB,EAClB,EAAgB;QAEhB,0BAA0B;QAC1B,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,YAAY,CAAC,WAAW;gBAC3B,MAAM,GAAG,KAAK,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;gBACvD,MAAM;YACR,KAAK,YAAY,CAAC,WAAW;gBAC3B,MAAM,GAAG,KAAK,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;gBACvD,MAAM;YACR,KAAK,YAAY,CAAC,MAAM;gBACtB,MAAM,GAAG,KAAK,GAAG,iBAAiB,CAAC,cAAc,CAAC;gBAClD,MAAM;YACR,KAAK,YAAY,CAAC,IAAI;gBACpB,MAAM,GAAG,KAAK,GAAG,iBAAiB,CAAC,YAAY,CAAC;gBAChD,MAAM;QACV,CAAC;QAED,qCAAqC;QACrC,QAAQ,EAAE,EAAE,CAAC;YACX,KAAK,YAAY,CAAC,WAAW;gBAC3B,OAAO,MAAM,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;YACxD,KAAK,YAAY,CAAC,WAAW;gBAC3B,OAAO,MAAM,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;YACxD,KAAK,YAAY,CAAC,MAAM;gBACtB,OAAO,MAAM,GAAG,iBAAiB,CAAC,cAAc,CAAC;YACnD,KAAK,YAAY,CAAC,IAAI;gBACpB,OAAO,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC;YACjD;gBACE,OAAO,MAAM,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,KAAa,EACb,IAAiB,EACjB,EAAe;QAEf,2BAA2B;QAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,IAAI,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;YACjC,OAAO,GAAG,KAAK,GAAG,iBAAiB,CAAC,gBAAgB,CAAC;QACvD,CAAC;QAED,sCAAsC;QACtC,IAAI,EAAE,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;YAC/B,OAAO,OAAO,GAAG,iBAAiB,CAAC,gBAAgB,CAAC;QACtD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+ import { SolidWorksAPI } from '../solidworks/api.js';
3
+ export declare const diagnosticTools: {
4
+ name: string;
5
+ description: string;
6
+ inputSchema: z.ZodObject<{
7
+ macroPath: z.ZodString;
8
+ moduleName: z.ZodDefault<z.ZodString>;
9
+ procedureName: z.ZodString;
10
+ }, "strip", z.ZodTypeAny, {
11
+ macroPath: string;
12
+ moduleName: string;
13
+ procedureName: string;
14
+ }, {
15
+ macroPath: string;
16
+ procedureName: string;
17
+ moduleName?: string | undefined;
18
+ }>;
19
+ handler: (args: any, swApi: SolidWorksAPI) => string;
20
+ }[];
21
+ //# sourceMappingURL=diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/tools/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;oBASR,GAAG,SAAS,aAAa;GA2H5C,CAAC"}
@@ -0,0 +1,120 @@
1
+ import { z } from 'zod';
2
+ export const diagnosticTools = [
3
+ {
4
+ name: 'diagnose_macro_execution',
5
+ description: 'Diagnose macro execution issues with detailed logging',
6
+ inputSchema: z.object({
7
+ macroPath: z.string().describe('Full path to the macro file (.swp or .swb)'),
8
+ moduleName: z.string().default('Module1').describe('Module name containing the procedure'),
9
+ procedureName: z.string().describe('Procedure name to execute'),
10
+ }),
11
+ handler: (args, swApi) => {
12
+ const results = [];
13
+ try {
14
+ // Step 1: Check SolidWorks connection
15
+ results.push('Step 1: Checking SolidWorks connection...');
16
+ const swApp = swApi.swApp;
17
+ if (!swApp) {
18
+ results.push(' ❌ ERROR: Not connected to SolidWorks');
19
+ return results.join('\n');
20
+ }
21
+ results.push(' ✅ Connected to SolidWorks');
22
+ // Step 2: Check if file exists (using SolidWorks API)
23
+ results.push(`Step 2: Checking if macro file exists: ${args.macroPath}`);
24
+ try {
25
+ // Try to use FileSystemObject through SolidWorks
26
+ const fso = swApp.GetFileSystemObject();
27
+ if (fso && fso.FileExists(args.macroPath)) {
28
+ results.push(' ✅ File exists (verified via FileSystemObject)');
29
+ }
30
+ else {
31
+ results.push(' ⚠️ File not found via FileSystemObject');
32
+ }
33
+ }
34
+ catch (e) {
35
+ results.push(` ⚠️ Could not verify file existence: ${e}`);
36
+ }
37
+ // Step 3: Check macro security settings
38
+ results.push('Step 3: Checking macro security settings...');
39
+ try {
40
+ const secLevel = swApp.GetUserPreferenceIntegerValue(77);
41
+ const secLevels = ['Low (Macros enabled)', 'Medium (Prompt for macros)', 'High (Macros disabled)'];
42
+ results.push(` Security Level: ${secLevels[secLevel] || 'Unknown'}`);
43
+ if (secLevel === 2) {
44
+ results.push(' ⚠️ WARNING: High security may block macro execution!');
45
+ }
46
+ }
47
+ catch (e) {
48
+ results.push(` ⚠️ Could not check security level: ${e}`);
49
+ }
50
+ // Step 4: Try different RunMacro methods
51
+ results.push('Step 4: Testing macro execution methods...');
52
+ // Method 1: RunMacro2 with all parameters
53
+ try {
54
+ results.push(' Testing RunMacro2 (full parameters)...');
55
+ const result = swApp.RunMacro2(args.macroPath, args.moduleName, args.procedureName, 0, // swRunMacroDefault
56
+ 0 // error parameter
57
+ );
58
+ results.push(` Result: ${result}`);
59
+ if (result) {
60
+ results.push(' ✅ SUCCESS: Macro executed!');
61
+ return results.join('\n');
62
+ }
63
+ }
64
+ catch (e) {
65
+ results.push(` ❌ Failed: ${e}`);
66
+ }
67
+ // Method 2: RunMacro2 without error parameter
68
+ try {
69
+ results.push(' Testing RunMacro2 (no error param)...');
70
+ const result = swApp.RunMacro2(args.macroPath, args.moduleName, args.procedureName, 2 // swRunMacroOption_Synchronously
71
+ );
72
+ results.push(` Result: ${result}`);
73
+ if (result) {
74
+ results.push(' ✅ SUCCESS: Macro executed!');
75
+ return results.join('\n');
76
+ }
77
+ }
78
+ catch (e) {
79
+ results.push(` ❌ Failed: ${e}`);
80
+ }
81
+ // Method 3: Legacy RunMacro
82
+ try {
83
+ results.push(' Testing RunMacro (legacy)...');
84
+ const result = swApp.RunMacro(args.macroPath, args.moduleName, args.procedureName);
85
+ results.push(` Result: ${result}`);
86
+ if (result) {
87
+ results.push(' ✅ SUCCESS: Macro executed!');
88
+ return results.join('\n');
89
+ }
90
+ }
91
+ catch (e) {
92
+ results.push(` ❌ Failed: ${e}`);
93
+ }
94
+ // Step 5: Alternative approach - try to open VBA editor
95
+ results.push('Step 5: Attempting to open VBA editor...');
96
+ try {
97
+ swApp.RunCommand(52); // swCommands_VbaEditMacro
98
+ results.push(' ✅ VBA Editor command sent');
99
+ }
100
+ catch (e) {
101
+ results.push(` ❌ Could not open VBA editor: ${e}`);
102
+ }
103
+ results.push('\n📊 DIAGNOSIS COMPLETE');
104
+ results.push('All macro execution methods failed.');
105
+ results.push('Possible causes:');
106
+ results.push(' 1. Macro file format issue (.swp vs .swb)');
107
+ results.push(' 2. Module/Procedure names don\'t match');
108
+ results.push(' 3. Macro security blocking execution');
109
+ results.push(' 4. VBA subsystem not initialized');
110
+ results.push(' 5. Macro contains errors');
111
+ return results.join('\n');
112
+ }
113
+ catch (error) {
114
+ results.push(`\n❌ CRITICAL ERROR: ${error}`);
115
+ return results.join('\n');
116
+ }
117
+ },
118
+ },
119
+ ];
120
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/tools/diagnostics.ts"],"names":[],"mappings":"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"}