solidworks-mcp-server 3.0.8 → 3.1.3

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 (243) hide show
  1. package/CHANGELOG.md +175 -98
  2. package/LICENSE +20 -20
  3. package/README.md +195 -423
  4. package/dist/adapters/circuit-breaker.d.ts +84 -0
  5. package/dist/adapters/circuit-breaker.d.ts.map +1 -0
  6. package/dist/adapters/circuit-breaker.js +228 -0
  7. package/dist/adapters/circuit-breaker.js.map +1 -0
  8. package/dist/adapters/connection-pool.d.ts +83 -0
  9. package/dist/adapters/connection-pool.d.ts.map +1 -0
  10. package/dist/adapters/connection-pool.js +282 -0
  11. package/dist/adapters/connection-pool.js.map +1 -0
  12. package/dist/adapters/edge-adapter.d.ts +43 -0
  13. package/dist/adapters/edge-adapter.d.ts.map +1 -0
  14. package/dist/adapters/edge-adapter.js +417 -0
  15. package/dist/adapters/edge-adapter.js.map +1 -0
  16. package/dist/adapters/factory.d.ts +60 -0
  17. package/dist/adapters/factory.d.ts.map +1 -0
  18. package/dist/adapters/factory.js +212 -0
  19. package/dist/adapters/factory.js.map +1 -0
  20. package/dist/adapters/feature-complexity-analyzer.d.ts +102 -0
  21. package/dist/adapters/feature-complexity-analyzer.d.ts.map +1 -0
  22. package/dist/adapters/feature-complexity-analyzer.js +322 -0
  23. package/dist/adapters/feature-complexity-analyzer.js.map +1 -0
  24. package/dist/adapters/macro-generator.d.ts +30 -0
  25. package/dist/adapters/macro-generator.d.ts.map +1 -0
  26. package/dist/adapters/macro-generator.js +524 -0
  27. package/dist/adapters/macro-generator.js.map +1 -0
  28. package/dist/adapters/mock-solidworks-adapter.d.ts +92 -0
  29. package/dist/adapters/mock-solidworks-adapter.d.ts.map +1 -0
  30. package/dist/adapters/mock-solidworks-adapter.js +367 -0
  31. package/dist/adapters/mock-solidworks-adapter.js.map +1 -0
  32. package/dist/adapters/types.d.ts +376 -0
  33. package/dist/adapters/types.d.ts.map +1 -0
  34. package/dist/adapters/types.js +261 -0
  35. package/dist/adapters/types.js.map +1 -0
  36. package/dist/adapters/winax-adapter-enhanced.d.ts +55 -0
  37. package/dist/adapters/winax-adapter-enhanced.d.ts.map +1 -0
  38. package/dist/adapters/winax-adapter-enhanced.js +601 -0
  39. package/dist/adapters/winax-adapter-enhanced.js.map +1 -0
  40. package/dist/adapters/winax-adapter.d.ts +55 -0
  41. package/dist/adapters/winax-adapter.d.ts.map +1 -0
  42. package/dist/adapters/winax-adapter.js +667 -0
  43. package/dist/adapters/winax-adapter.js.map +1 -0
  44. package/dist/api/stainless-api.d.ts +29 -0
  45. package/dist/api/stainless-api.d.ts.map +1 -0
  46. package/dist/api/stainless-api.js +408 -0
  47. package/dist/api/stainless-api.js.map +1 -0
  48. package/dist/cache/manager.d.ts.map +1 -1
  49. package/dist/cache/manager.js +4 -3
  50. package/dist/cache/manager.js.map +1 -1
  51. package/dist/core/interfaces/core-abstractions.d.ts.map +1 -1
  52. package/dist/core/interfaces/core-abstractions.js.map +1 -1
  53. package/dist/db/connection.js +4 -4
  54. package/dist/db/connection.js.map +1 -1
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +86 -79
  57. package/dist/index.js.map +1 -1
  58. package/dist/knowledge/chromadb.d.ts.map +1 -1
  59. package/dist/knowledge/chromadb.js +5 -3
  60. package/dist/knowledge/chromadb.js.map +1 -1
  61. package/dist/macro/recorder.d.ts +1 -1
  62. package/dist/macro/recorder.d.ts.map +1 -1
  63. package/dist/macro/recorder.js +10 -10
  64. package/dist/macro/recorder.js.map +1 -1
  65. package/dist/resources/base.js +10 -10
  66. package/dist/resources/base.js.map +1 -1
  67. package/dist/resources/design-table.d.ts +10 -12
  68. package/dist/resources/design-table.d.ts.map +1 -1
  69. package/dist/resources/design-table.js +42 -39
  70. package/dist/resources/design-table.js.map +1 -1
  71. package/dist/resources/pdm.d.ts +44 -45
  72. package/dist/resources/pdm.d.ts.map +1 -1
  73. package/dist/resources/pdm.js +118 -79
  74. package/dist/resources/pdm.js.map +1 -1
  75. package/dist/resources/registry.d.ts +1 -1
  76. package/dist/resources/registry.d.ts.map +1 -1
  77. package/dist/resources/registry.js +1 -1
  78. package/dist/shared/constants/solidworks-constants.d.ts.map +1 -1
  79. package/dist/shared/constants/solidworks-constants.js +9 -9
  80. package/dist/shared/constants/solidworks-constants.js.map +1 -1
  81. package/dist/solidworks/api.d.ts +8 -6
  82. package/dist/solidworks/api.d.ts.map +1 -1
  83. package/dist/solidworks/api.js +614 -188
  84. package/dist/solidworks/api.js.map +1 -1
  85. package/dist/state/store.d.ts +1 -1
  86. package/dist/state/store.d.ts.map +1 -1
  87. package/dist/state/store.js +14 -14
  88. package/dist/state/store.js.map +1 -1
  89. package/dist/tools/analysis.d.ts +12 -2
  90. package/dist/tools/analysis.d.ts.map +1 -1
  91. package/dist/tools/analysis.js +141 -31
  92. package/dist/tools/analysis.js.map +1 -1
  93. package/dist/tools/diagnostics.d.ts +1 -1
  94. package/dist/tools/diagnostics.d.ts.map +1 -1
  95. package/dist/tools/diagnostics.js +2 -2
  96. package/dist/tools/diagnostics.js.map +1 -1
  97. package/dist/tools/drawing.d.ts +2 -2
  98. package/dist/tools/drawing.d.ts.map +1 -1
  99. package/dist/tools/drawing.js +94 -10
  100. package/dist/tools/drawing.js.map +1 -1
  101. package/dist/tools/enhanced-drawing.d.ts +1 -1
  102. package/dist/tools/enhanced-drawing.d.ts.map +1 -1
  103. package/dist/tools/enhanced-drawing.js +10 -13
  104. package/dist/tools/enhanced-drawing.js.map +1 -1
  105. package/dist/tools/export.d.ts +1 -1
  106. package/dist/tools/export.d.ts.map +1 -1
  107. package/dist/tools/export.js +88 -14
  108. package/dist/tools/export.js.map +1 -1
  109. package/dist/tools/extrusion-helper.d.ts +15 -0
  110. package/dist/tools/extrusion-helper.d.ts.map +1 -0
  111. package/dist/tools/extrusion-helper.js +61 -0
  112. package/dist/tools/extrusion-helper.js.map +1 -0
  113. package/dist/tools/macro-security.d.ts +2 -2
  114. package/dist/tools/macro-security.d.ts.map +1 -1
  115. package/dist/tools/macro-security.js +2 -2
  116. package/dist/tools/macro-security.js.map +1 -1
  117. package/dist/tools/modeling.d.ts +2 -2
  118. package/dist/tools/modeling.d.ts.map +1 -1
  119. package/dist/tools/modeling.js +6 -6
  120. package/dist/tools/modeling.js.map +1 -1
  121. package/dist/tools/native-macro.d.ts +1 -1
  122. package/dist/tools/native-macro.d.ts.map +1 -1
  123. package/dist/tools/native-macro.js +246 -239
  124. package/dist/tools/native-macro.js.map +1 -1
  125. package/dist/tools/sketch.d.ts +28 -28
  126. package/dist/tools/sketch.d.ts.map +1 -1
  127. package/dist/tools/sketch.js +202 -136
  128. package/dist/tools/sketch.js.map +1 -1
  129. package/dist/tools/template-manager.d.ts +5 -5
  130. package/dist/tools/template-manager.d.ts.map +1 -1
  131. package/dist/tools/template-manager.js +66 -65
  132. package/dist/tools/template-manager.js.map +1 -1
  133. package/dist/tools/vba-advanced.d.ts +10 -10
  134. package/dist/tools/vba-advanced.d.ts.map +1 -1
  135. package/dist/tools/vba-advanced.js +791 -708
  136. package/dist/tools/vba-advanced.js.map +1 -1
  137. package/dist/tools/vba-assembly.d.ts +10 -10
  138. package/dist/tools/vba-assembly.d.ts.map +1 -1
  139. package/dist/tools/vba-assembly.js +562 -500
  140. package/dist/tools/vba-assembly.js.map +1 -1
  141. package/dist/tools/vba-drawing.d.ts +12 -12
  142. package/dist/tools/vba-drawing.d.ts.map +1 -1
  143. package/dist/tools/vba-drawing.js +681 -572
  144. package/dist/tools/vba-drawing.js.map +1 -1
  145. package/dist/tools/vba-file-management.d.ts +12 -12
  146. package/dist/tools/vba-file-management.d.ts.map +1 -1
  147. package/dist/tools/vba-file-management.js +662 -589
  148. package/dist/tools/vba-file-management.js.map +1 -1
  149. package/dist/tools/vba-part.d.ts +10 -10
  150. package/dist/tools/vba-part.d.ts.map +1 -1
  151. package/dist/tools/vba-part.js +484 -426
  152. package/dist/tools/vba-part.js.map +1 -1
  153. package/dist/tools/vba.d.ts +361 -361
  154. package/dist/tools/vba.d.ts.map +1 -1
  155. package/dist/tools/vba.js +67 -81
  156. package/dist/tools/vba.js.map +1 -1
  157. package/dist/utils/config.js +2 -2
  158. package/dist/utils/config.js.map +1 -1
  159. package/dist/utils/environment.d.ts +243 -0
  160. package/dist/utils/environment.d.ts.map +1 -0
  161. package/dist/utils/environment.js +207 -0
  162. package/dist/utils/environment.js.map +1 -0
  163. package/dist/utils/logger.d.ts.map +1 -1
  164. package/dist/utils/logger.js +6 -6
  165. package/dist/utils/logger.js.map +1 -1
  166. package/dist/utils/solidworks-config.d.ts +39 -0
  167. package/dist/utils/solidworks-config.d.ts.map +1 -0
  168. package/dist/utils/solidworks-config.js +156 -0
  169. package/dist/utils/solidworks-config.js.map +1 -0
  170. package/package.json +84 -84
  171. package/scripts/setup.js +70 -70
  172. package/dist/application/services/command-bus.d.ts +0 -39
  173. package/dist/application/services/command-bus.d.ts.map +0 -1
  174. package/dist/application/services/command-bus.js +0 -88
  175. package/dist/application/services/command-bus.js.map +0 -1
  176. package/dist/application/services/event-bus.d.ts +0 -31
  177. package/dist/application/services/event-bus.d.ts.map +0 -1
  178. package/dist/application/services/event-bus.js +0 -83
  179. package/dist/application/services/event-bus.js.map +0 -1
  180. package/dist/application/services/query-bus.d.ts +0 -30
  181. package/dist/application/services/query-bus.d.ts.map +0 -1
  182. package/dist/application/services/query-bus.js +0 -59
  183. package/dist/application/services/query-bus.js.map +0 -1
  184. package/dist/application/services/tool-registry.d.ts +0 -53
  185. package/dist/application/services/tool-registry.d.ts.map +0 -1
  186. package/dist/application/services/tool-registry.js +0 -81
  187. package/dist/application/services/tool-registry.js.map +0 -1
  188. package/dist/application/use-cases/analysis/index.d.ts +0 -13
  189. package/dist/application/use-cases/analysis/index.d.ts.map +0 -1
  190. package/dist/application/use-cases/analysis/index.js +0 -17
  191. package/dist/application/use-cases/analysis/index.js.map +0 -1
  192. package/dist/application/use-cases/drawing/index.d.ts +0 -13
  193. package/dist/application/use-cases/drawing/index.d.ts.map +0 -1
  194. package/dist/application/use-cases/drawing/index.js +0 -17
  195. package/dist/application/use-cases/drawing/index.js.map +0 -1
  196. package/dist/application/use-cases/export/index.d.ts +0 -13
  197. package/dist/application/use-cases/export/index.d.ts.map +0 -1
  198. package/dist/application/use-cases/export/index.js +0 -17
  199. package/dist/application/use-cases/export/index.js.map +0 -1
  200. package/dist/application/use-cases/macro/index.d.ts +0 -13
  201. package/dist/application/use-cases/macro/index.d.ts.map +0 -1
  202. package/dist/application/use-cases/macro/index.js +0 -17
  203. package/dist/application/use-cases/macro/index.js.map +0 -1
  204. package/dist/application/use-cases/modeling/index.d.ts +0 -56
  205. package/dist/application/use-cases/modeling/index.d.ts.map +0 -1
  206. package/dist/application/use-cases/modeling/index.js +0 -385
  207. package/dist/application/use-cases/modeling/index.js.map +0 -1
  208. package/dist/index.refactored.d.ts +0 -7
  209. package/dist/index.refactored.d.ts.map +0 -1
  210. package/dist/index.refactored.js +0 -254
  211. package/dist/index.refactored.js.map +0 -1
  212. package/dist/infrastructure/config/configuration-manager.d.ts +0 -381
  213. package/dist/infrastructure/config/configuration-manager.d.ts.map +0 -1
  214. package/dist/infrastructure/config/configuration-manager.js +0 -566
  215. package/dist/infrastructure/config/configuration-manager.js.map +0 -1
  216. package/dist/infrastructure/container/service-locator.d.ts +0 -14
  217. package/dist/infrastructure/container/service-locator.d.ts.map +0 -1
  218. package/dist/infrastructure/container/service-locator.js +0 -38
  219. package/dist/infrastructure/container/service-locator.js.map +0 -1
  220. package/dist/infrastructure/logging/logger.d.ts +0 -24
  221. package/dist/infrastructure/logging/logger.d.ts.map +0 -1
  222. package/dist/infrastructure/logging/logger.js +0 -65
  223. package/dist/infrastructure/logging/logger.js.map +0 -1
  224. package/dist/infrastructure/solidworks/solidworks-adapter.d.ts +0 -43
  225. package/dist/infrastructure/solidworks/solidworks-adapter.d.ts.map +0 -1
  226. package/dist/infrastructure/solidworks/solidworks-adapter.js +0 -527
  227. package/dist/infrastructure/solidworks/solidworks-adapter.js.map +0 -1
  228. package/dist/presentation/mcp/request-handler.d.ts +0 -41
  229. package/dist/presentation/mcp/request-handler.d.ts.map +0 -1
  230. package/dist/presentation/mcp/request-handler.js +0 -100
  231. package/dist/presentation/mcp/request-handler.js.map +0 -1
  232. package/dist/presentation/transformers/error-transformer.d.ts +0 -16
  233. package/dist/presentation/transformers/error-transformer.d.ts.map +0 -1
  234. package/dist/presentation/transformers/error-transformer.js +0 -44
  235. package/dist/presentation/transformers/error-transformer.js.map +0 -1
  236. package/dist/presentation/transformers/response-transformer.d.ts +0 -24
  237. package/dist/presentation/transformers/response-transformer.d.ts.map +0 -1
  238. package/dist/presentation/transformers/response-transformer.js +0 -102
  239. package/dist/presentation/transformers/response-transformer.js.map +0 -1
  240. package/dist/tools/drawing-analysis.d.ts +0 -9
  241. package/dist/tools/drawing-analysis.d.ts.map +0 -1
  242. package/dist/tools/drawing-analysis.js +0 -239
  243. package/dist/tools/drawing-analysis.js.map +0 -1
@@ -0,0 +1,367 @@
1
+ /**
2
+ * Mock SolidWorks Adapter for Testing
3
+ *
4
+ * Simulates SolidWorks COM interface behavior for testing without SolidWorks installed.
5
+ * Useful for CI/CD, unit tests, and development without SolidWorks.
6
+ */
7
+ import { logger } from '../utils/logger.js';
8
+ export class MockSolidWorksAdapter {
9
+ config;
10
+ activeDoc;
11
+ documents;
12
+ version;
13
+ constructor(config = {}) {
14
+ this.config = {
15
+ version: config.version || '2024',
16
+ failOperations: config.failOperations || false,
17
+ simulateErrors: config.simulateErrors || false,
18
+ delayMs: config.delayMs || 0,
19
+ ...config,
20
+ };
21
+ this.version = this.config.version || '2024';
22
+ this.documents = new Map();
23
+ this.activeDoc = null;
24
+ logger.info(`MockSolidWorksAdapter initialized (version: ${this.version})`);
25
+ }
26
+ /**
27
+ * Simulate getting SolidWorks application
28
+ */
29
+ getApplication() {
30
+ return {
31
+ Visible: true,
32
+ RevisionNumber: () => {
33
+ // Return version in different formats based on year
34
+ const year = parseInt(this.version, 10);
35
+ if (year >= 2020) {
36
+ return `${this.version} SP5.0`;
37
+ }
38
+ else {
39
+ // Older format: version number (27 = 2019, 28 = 2020, etc.)
40
+ const majorVer = year - 1992;
41
+ return `${majorVer}.5.0.0084`;
42
+ }
43
+ },
44
+ GetUserPreferenceStringValue: (type) => {
45
+ // Return mock template paths
46
+ const templates = {
47
+ 0: `C:\\ProgramData\\SolidWorks\\SOLIDWORKS ${this.version}\\templates\\Part.prtdot`,
48
+ 1: `C:\\ProgramData\\SolidWorks\\SOLIDWORKS ${this.version}\\templates\\Assembly.asmdot`,
49
+ 8: `C:\\ProgramData\\SolidWorks\\SOLIDWORKS ${this.version}\\templates\\Drawing.drwdot`,
50
+ };
51
+ return templates[type] || '';
52
+ },
53
+ ActiveDoc: this.activeDoc,
54
+ NewPart: () => this.createDocument('part'),
55
+ NewDocument: (template) => this.createDocument('part', template),
56
+ OpenDoc6: (path, type) => this.openDocument(path, type),
57
+ CloseDoc: (name) => this.closeDocument(name),
58
+ GetDocumentCount: () => this.documents.size,
59
+ Frame: () => ({
60
+ ModelWindow: () => ({
61
+ ModelDoc: this.activeDoc,
62
+ }),
63
+ }),
64
+ };
65
+ }
66
+ /**
67
+ * Create a mock document
68
+ */
69
+ createDocument(type, _template) {
70
+ if (this.config.failOperations) {
71
+ return null;
72
+ }
73
+ const docId = `${type}_${Date.now()}`;
74
+ const doc = this.createMockDocument(type, docId);
75
+ this.documents.set(docId, doc);
76
+ this.activeDoc = doc;
77
+ logger.info(`Created mock ${type} document: ${docId}`);
78
+ return doc;
79
+ }
80
+ /**
81
+ * Open a mock document
82
+ */
83
+ openDocument(path, type) {
84
+ if (this.config.failOperations) {
85
+ return null;
86
+ }
87
+ const docTypes = ['part', 'assembly', 'drawing'];
88
+ const docType = docTypes[type - 1] || 'part';
89
+ const doc = this.createMockDocument(docType, path);
90
+ this.documents.set(path, doc);
91
+ this.activeDoc = doc;
92
+ logger.info(`Opened mock document: ${path}`);
93
+ return doc;
94
+ }
95
+ /**
96
+ * Close a mock document
97
+ */
98
+ closeDocument(name) {
99
+ for (const [key, doc] of this.documents.entries()) {
100
+ if (doc.GetTitle() === name || key === name) {
101
+ this.documents.delete(key);
102
+ if (this.activeDoc === doc) {
103
+ this.activeDoc = this.documents.values().next().value || null;
104
+ }
105
+ logger.info(`Closed mock document: ${name}`);
106
+ break;
107
+ }
108
+ }
109
+ }
110
+ /**
111
+ * Create a complete mock document object
112
+ */
113
+ createMockDocument(type, id) {
114
+ const features = [];
115
+ // Add some default features
116
+ features.push(this.createMockFeature('Sketch1', 'ProfileFeature'));
117
+ features.push(this.createMockFeature('Boss-Extrude1', 'Extrusion'));
118
+ return {
119
+ // Basic properties
120
+ GetTitle: () => `Mock_${type}_${id}`,
121
+ GetPathName: () => `C:\\temp\\${type}_${id}.sld${type === 'part' ? 'prt' : type === 'assembly' ? 'asm' : 'drw'}`,
122
+ GetType: () => (type === 'part' ? 1 : type === 'assembly' ? 2 : 3),
123
+ // Feature management
124
+ FeatureManager: this.createMockFeatureManager(features),
125
+ GetFeatureCount: () => features.length,
126
+ FeatureByPositionReverse: (index) => features[features.length - 1 - index] || null,
127
+ FeatureByName: (name) => features.find((f) => f.Name === name) || null,
128
+ // Sketch management
129
+ SketchManager: this.createMockSketchManager(),
130
+ // Selection management
131
+ Extension: this.createMockExtension(features),
132
+ SelectionManager: this.createMockSelectionManager(),
133
+ ClearSelection2: (_clear) => true,
134
+ // Save operations
135
+ Save3: () => true,
136
+ Save: () => true,
137
+ SaveAs3: (_path) => true,
138
+ SaveAs4: (_path) => true,
139
+ // Rebuild
140
+ EditRebuild3: () => true,
141
+ EditRebuild: () => true,
142
+ ForceRebuild3: () => true,
143
+ // Parameters
144
+ Parameter: (name) => this.createMockParameter(name),
145
+ GetParameter: (name) => this.createMockParameter(name),
146
+ // Mass properties
147
+ GetMassProperties: () => this.createMockMassProperties(),
148
+ // Drawing-specific
149
+ CreateDrawViewFromModelView3: (_modelPath, viewType, _x, _y, _scale) => {
150
+ if (this.config.failOperations)
151
+ return null;
152
+ return this.createMockDrawingView(viewType);
153
+ },
154
+ CreateUnfoldedViewAt3: (_x, _y, _scale, _unfold) => {
155
+ if (this.config.failOperations)
156
+ return null;
157
+ return this.createMockDrawingView('Section');
158
+ },
159
+ };
160
+ }
161
+ /**
162
+ * Create mock feature manager
163
+ */
164
+ createMockFeatureManager(features) {
165
+ return {
166
+ FeatureExtrusion: (..._args) => {
167
+ if (this.config.simulateErrors) {
168
+ throw new Error('Mock extrusion failed');
169
+ }
170
+ const feature = this.createMockFeature('Boss-Extrude1', 'Extrusion');
171
+ features.push(feature);
172
+ return feature;
173
+ },
174
+ FeatureExtrusion3: (..._args) => {
175
+ if (this.config.simulateErrors) {
176
+ throw new Error('Mock extrusion failed');
177
+ }
178
+ const feature = this.createMockFeature('Boss-Extrude1', 'Extrusion');
179
+ features.push(feature);
180
+ return feature;
181
+ },
182
+ FeatureRevolve2: (..._args) => {
183
+ const feature = this.createMockFeature('Revolve1', 'Revolve');
184
+ features.push(feature);
185
+ return feature;
186
+ },
187
+ InsertProtrusionSwept4: (..._args) => {
188
+ const feature = this.createMockFeature('Sweep1', 'Sweep');
189
+ features.push(feature);
190
+ return feature;
191
+ },
192
+ InsertProtrusionLoft3: (..._args) => {
193
+ const feature = this.createMockFeature('Loft1', 'Loft');
194
+ features.push(feature);
195
+ return feature;
196
+ },
197
+ GetPlane: (name) => ({ Name: name }),
198
+ };
199
+ }
200
+ /**
201
+ * Create mock sketch manager
202
+ */
203
+ createMockSketchManager() {
204
+ let activeSketch = null;
205
+ return {
206
+ InsertSketch: (exit) => {
207
+ if (!exit) {
208
+ activeSketch = { Name: 'Sketch1' };
209
+ }
210
+ else {
211
+ activeSketch = null;
212
+ }
213
+ return true;
214
+ },
215
+ ActiveSketch: activeSketch,
216
+ CreateLine: (x1, y1, z1, x2, y2, z2) => {
217
+ return { Type: 'Line', Points: [x1, y1, z1, x2, y2, z2] };
218
+ },
219
+ CreateCircle: (x, y, z, radius) => {
220
+ return { Type: 'Circle', Center: [x, y, z], Radius: radius };
221
+ },
222
+ CreateRectangle: (x1, y1, z1, x2, y2, z2) => {
223
+ return { Type: 'Rectangle', Points: [x1, y1, z1, x2, y2, z2] };
224
+ },
225
+ };
226
+ }
227
+ /**
228
+ * Create mock extension
229
+ */
230
+ createMockExtension(features) {
231
+ return {
232
+ SelectByID2: (name, type, _x, _y, _z, _append, _mark, _callout, _selOption) => {
233
+ // Simulate selection
234
+ if (type === 'SKETCH') {
235
+ return features.some((f) => f.Name === name && f.GetTypeName2().includes('Sketch'));
236
+ }
237
+ return features.some((f) => f.Name === name);
238
+ },
239
+ CustomPropertyManager: (_config) => this.createMockCustomPropertyManager(),
240
+ CreateMassProperty: () => this.createMockMassProperties(),
241
+ CreateMassProperty2: () => this.createMockMassProperties(),
242
+ SaveAs: (_path, _version, _options, _exportData, _errors, _warnings) => true,
243
+ GetParameter: (name) => this.createMockParameter(name),
244
+ };
245
+ }
246
+ /**
247
+ * Create mock selection manager
248
+ */
249
+ createMockSelectionManager() {
250
+ const selections = [];
251
+ return {
252
+ GetSelectedObjectCount: () => selections.length,
253
+ GetSelectedObject6: (index, _mark) => selections[index - 1] || null,
254
+ AddSelection: (obj) => selections.push(obj),
255
+ };
256
+ }
257
+ /**
258
+ * Create mock feature
259
+ */
260
+ createMockFeature(name, type) {
261
+ return {
262
+ Name: name,
263
+ GetName: () => name,
264
+ GetTypeName2: () => type,
265
+ Select2: (_append, _mark) => true,
266
+ SetSuppression2: (_state, _config, _children) => true,
267
+ IsSuppressed: () => false,
268
+ };
269
+ }
270
+ /**
271
+ * Create mock parameter/dimension
272
+ */
273
+ createMockParameter(name) {
274
+ let value = 0.025; // 25mm in meters
275
+ return {
276
+ Name: name,
277
+ SystemValue: value,
278
+ Value: value,
279
+ GetSystemValue: () => value,
280
+ SetSystemValue: (newValue) => {
281
+ value = newValue;
282
+ return true;
283
+ },
284
+ SetValue: (newValue) => {
285
+ value = newValue;
286
+ return true;
287
+ },
288
+ };
289
+ }
290
+ /**
291
+ * Create mock mass properties
292
+ */
293
+ createMockMassProperties() {
294
+ return {
295
+ Mass: 0.5,
296
+ Volume: 0.000125,
297
+ SurfaceArea: 0.0075,
298
+ CenterOfMass: [0.0125, 0.0125, 0.0125],
299
+ Density: 2700,
300
+ MomentOfInertia: [0.001, 0, 0, 0, 0.001, 0, 0, 0, 0.001],
301
+ Update: () => true,
302
+ Recalculate: () => true,
303
+ };
304
+ }
305
+ /**
306
+ * Create mock custom property manager
307
+ */
308
+ createMockCustomPropertyManager() {
309
+ const properties = new Map();
310
+ return {
311
+ Add3: (name, _type, value, _option) => {
312
+ properties.set(name, value);
313
+ return true;
314
+ },
315
+ Get6: (name, _useCached, _value, _resolvedValue, _wasResolved, _linkToProp) => {
316
+ return properties.has(name);
317
+ },
318
+ Set2: (name, value) => {
319
+ properties.set(name, value);
320
+ return true;
321
+ },
322
+ Delete2: (name) => {
323
+ properties.delete(name);
324
+ return true;
325
+ },
326
+ };
327
+ }
328
+ /**
329
+ * Create mock drawing view
330
+ */
331
+ createMockDrawingView(viewType) {
332
+ return {
333
+ Name: `${viewType}View`,
334
+ Type: viewType,
335
+ ScaleDecimal: 1.0,
336
+ SetScale: (_num, _den) => true,
337
+ };
338
+ }
339
+ /**
340
+ * Get current configuration
341
+ */
342
+ getConfig() {
343
+ return { ...this.config };
344
+ }
345
+ /**
346
+ * Update configuration
347
+ */
348
+ updateConfig(config) {
349
+ this.config = { ...this.config, ...config };
350
+ logger.info('Mock configuration updated', config);
351
+ }
352
+ /**
353
+ * Reset mock state
354
+ */
355
+ reset() {
356
+ this.documents.clear();
357
+ this.activeDoc = null;
358
+ logger.info('Mock adapter reset');
359
+ }
360
+ }
361
+ /**
362
+ * Factory function to create mock adapter
363
+ */
364
+ export function createMockSolidWorksAdapter(config) {
365
+ return new MockSolidWorksAdapter(config);
366
+ }
367
+ //# sourceMappingURL=mock-solidworks-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-solidworks-adapter.js","sourceRoot":"","sources":["../../src/adapters/mock-solidworks-adapter.ts"],"names":[],"mappings":"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"}