cyclecad 3.2.1 → 3.5.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/CLAUDE.md +155 -1
- package/DOCKER-SETUP-VERIFICATION.md +399 -0
- package/DOCKER-TESTING.md +463 -0
- package/FUSION360_MODULES.md +478 -0
- package/FUSION_MODULES_README.md +352 -0
- package/INTEGRATION_SNIPPETS.md +608 -0
- package/KILLER-FEATURES-DELIVERY.md +469 -0
- package/MODULES_SUMMARY.txt +337 -0
- package/QUICK_REFERENCE.txt +298 -0
- package/README-DOCKER-TESTING.txt +438 -0
- package/app/index.html +23 -10
- package/app/js/fusion-help.json +1808 -0
- package/app/js/help-module-v3.js +1096 -0
- package/app/js/killer-features-help.json +395 -0
- package/app/js/killer-features.js +1508 -0
- package/app/js/modules/fusion-assembly.js +842 -0
- package/app/js/modules/fusion-cam.js +785 -0
- package/app/js/modules/fusion-data.js +814 -0
- package/app/js/modules/fusion-drawing.js +844 -0
- package/app/js/modules/fusion-inspection.js +756 -0
- package/app/js/modules/fusion-render.js +774 -0
- package/app/js/modules/fusion-simulation.js +986 -0
- package/app/js/modules/fusion-sketch.js +1044 -0
- package/app/js/modules/fusion-solid.js +1095 -0
- package/app/js/modules/fusion-surface.js +949 -0
- package/app/tests/FUSION_TEST_SUITE.md +266 -0
- package/app/tests/README.md +77 -0
- package/app/tests/TESTING-CHECKLIST.md +177 -0
- package/app/tests/TEST_SUITE_SUMMARY.txt +236 -0
- package/app/tests/brep-live-test.html +848 -0
- package/app/tests/docker-integration-test.html +811 -0
- package/app/tests/fusion-all-tests.html +670 -0
- package/app/tests/fusion-assembly-tests.html +461 -0
- package/app/tests/fusion-cam-tests.html +421 -0
- package/app/tests/fusion-simulation-tests.html +421 -0
- package/app/tests/fusion-sketch-tests.html +613 -0
- package/app/tests/fusion-solid-tests.html +529 -0
- package/app/tests/index.html +453 -0
- package/app/tests/killer-features-test.html +509 -0
- package/app/tests/run-tests.html +874 -0
- package/app/tests/step-import-live-test.html +1115 -0
- package/app/tests/test-agent-v3.html +93 -696
- package/architecture-dashboard.html +1970 -0
- package/docs/API-REFERENCE.md +1423 -0
- package/docs/BREP-LIVE-TEST-GUIDE.md +453 -0
- package/docs/DEVELOPER-GUIDE-v3.md +795 -0
- package/docs/DOCKER-QUICK-TEST.md +376 -0
- package/docs/FUSION-FEATURES-GUIDE.md +2513 -0
- package/docs/FUSION-TUTORIAL.md +1203 -0
- package/docs/INFRASTRUCTURE-GUIDE-INDEX.md +327 -0
- package/docs/KEYBOARD-SHORTCUTS.md +402 -0
- package/docs/KILLER-FEATURES-INTEGRATION.md +412 -0
- package/docs/KILLER-FEATURES-SUMMARY.md +424 -0
- package/docs/KILLER-FEATURES-TUTORIAL.md +784 -0
- package/docs/KILLER-FEATURES.md +562 -0
- package/docs/QUICK-REFERENCE.md +282 -0
- package/docs/README-v3-DOCS.md +274 -0
- package/docs/TUTORIAL-v3.md +1190 -0
- package/docs/architecture-dashboard.html +1970 -0
- package/docs/architecture-v3.html +1038 -0
- package/linkedin-post-v3.md +58 -0
- package/package.json +1 -1
- package/scripts/dev-setup.sh +338 -0
- package/scripts/docker-health-check.sh +159 -0
- package/scripts/integration-test.sh +311 -0
- package/scripts/test-docker.sh +515 -0
|
@@ -0,0 +1,1096 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Help Module v3.2
|
|
3
|
+
* Comprehensive help system with 120+ searchable entries across 10 categories
|
|
4
|
+
* Includes interactive tutorials, context-sensitive help, and keyboard shortcut overlay
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export const HelpModule = {
|
|
8
|
+
name: 'help',
|
|
9
|
+
version: '3.2.0',
|
|
10
|
+
|
|
11
|
+
helpEntries: [
|
|
12
|
+
// ===== GETTING STARTED (15 entries) =====
|
|
13
|
+
{
|
|
14
|
+
id: 'gs_welcome',
|
|
15
|
+
title: 'Welcome to cycleCAD',
|
|
16
|
+
category: 'Getting Started',
|
|
17
|
+
description: 'cycleCAD is an agent-first parametric 3D CAD modeler. Create, visualize, and manufacture anything with AI assistance.',
|
|
18
|
+
tags: ['introduction', 'first-time'],
|
|
19
|
+
complexity: 'beginner'
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
id: 'gs_workspaces',
|
|
23
|
+
title: 'Understanding Workspaces',
|
|
24
|
+
category: 'Getting Started',
|
|
25
|
+
description: 'cycleCAD has 8 specialized workspaces: Design, Assembly, Render, Simulation, CAM, Drawing, Animation, Collaborate. Each activates relevant tools.',
|
|
26
|
+
tags: ['workspace', 'navigation'],
|
|
27
|
+
complexity: 'beginner',
|
|
28
|
+
example: 'Design: sketch & extrude → Assembly: add components & joints → CAM: generate toolpath'
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: 'gs_ui_layout',
|
|
32
|
+
title: 'UI Layout Overview',
|
|
33
|
+
category: 'Getting Started',
|
|
34
|
+
description: 'Menu bar (top) → Toolbars → 3D Viewport (center) → Left/Right panels. All panels are resizable and dockable.',
|
|
35
|
+
tags: ['ui', 'layout'],
|
|
36
|
+
complexity: 'beginner'
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: 'gs_keyboard',
|
|
40
|
+
title: 'Essential Keyboard Shortcuts',
|
|
41
|
+
category: 'Getting Started',
|
|
42
|
+
description: 'Press ? to open keyboard shortcuts. Common: L=line, C=circle, E=extrude, R=revolve, F=fillet, S=save, Ctrl+Z=undo',
|
|
43
|
+
tags: ['shortcuts', 'keyboard'],
|
|
44
|
+
complexity: 'beginner',
|
|
45
|
+
shortcut: '?'
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: 'gs_mouse',
|
|
49
|
+
title: 'Mouse Controls',
|
|
50
|
+
category: 'Getting Started',
|
|
51
|
+
description: 'Left drag = rotate, Right drag = pan, Scroll = zoom. Middle-click = fit all. Shift+left drag = constrained rotation.',
|
|
52
|
+
tags: ['mouse', 'navigation'],
|
|
53
|
+
complexity: 'beginner'
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
id: 'gs_first_part',
|
|
57
|
+
title: 'Your First Part Tutorial',
|
|
58
|
+
category: 'Getting Started',
|
|
59
|
+
description: 'Create a simple box, add a fillet, then export as STL. Takes 5 minutes.',
|
|
60
|
+
tags: ['tutorial', 'beginner'],
|
|
61
|
+
complexity: 'beginner',
|
|
62
|
+
tutorialId: 'tut_first_part'
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
id: 'gs_selection',
|
|
66
|
+
title: 'Selecting & Highlighting',
|
|
67
|
+
category: 'Getting Started',
|
|
68
|
+
description: 'Click on geometry to select. Hold Ctrl/Cmd to multi-select. Hold Shift to add/remove from selection. Double-click to isolate part.',
|
|
69
|
+
tags: ['selection'],
|
|
70
|
+
complexity: 'beginner'
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
id: 'gs_camera',
|
|
74
|
+
title: 'Camera & View Controls',
|
|
75
|
+
category: 'Getting Started',
|
|
76
|
+
description: 'Use View presets (Front, Top, Iso, etc.) or drag to rotate. Middle-click to reset. Press . to fit selected.',
|
|
77
|
+
tags: ['camera', 'view'],
|
|
78
|
+
complexity: 'beginner',
|
|
79
|
+
shortcut: '0-6 (view presets)'
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
id: 'gs_grid',
|
|
83
|
+
title: 'Grid & Snapping',
|
|
84
|
+
category: 'Getting Started',
|
|
85
|
+
description: 'Press G to toggle grid. Press S to toggle snap. Adjust grid size in Properties panel.',
|
|
86
|
+
tags: ['grid', 'snap'],
|
|
87
|
+
complexity: 'beginner',
|
|
88
|
+
shortcut: 'G'
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
id: 'gs_properties',
|
|
92
|
+
title: 'Properties Panel',
|
|
93
|
+
category: 'Getting Started',
|
|
94
|
+
description: 'Right panel shows properties of selected object. Edit dimensions, materials, colors. Changes apply in real-time.',
|
|
95
|
+
tags: ['panel', 'properties'],
|
|
96
|
+
complexity: 'beginner'
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
id: 'gs_tree',
|
|
100
|
+
title: 'Feature Tree Navigation',
|
|
101
|
+
category: 'Getting Started',
|
|
102
|
+
description: 'Left panel shows feature history. Right-click to rename, suppress, delete. Drag to reorder features.',
|
|
103
|
+
tags: ['tree', 'features'],
|
|
104
|
+
complexity: 'beginner'
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
id: 'gs_undo_redo',
|
|
108
|
+
title: 'Undo & Redo',
|
|
109
|
+
category: 'Getting Started',
|
|
110
|
+
description: 'Ctrl+Z to undo, Ctrl+Y to redo. Unlimited undo history (50 states). Can also use Edit menu.',
|
|
111
|
+
tags: ['undo', 'redo'],
|
|
112
|
+
complexity: 'beginner',
|
|
113
|
+
shortcut: 'Ctrl+Z / Ctrl+Y'
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
id: 'gs_save',
|
|
117
|
+
title: 'Saving Your Work',
|
|
118
|
+
category: 'Getting Started',
|
|
119
|
+
description: 'Press Ctrl+S to save. Files are auto-saved to IndexedDB. Pro users can sync to cloud.',
|
|
120
|
+
tags: ['save', 'file'],
|
|
121
|
+
complexity: 'beginner',
|
|
122
|
+
shortcut: 'Ctrl+S'
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
id: 'gs_export',
|
|
126
|
+
title: 'Exporting Designs',
|
|
127
|
+
category: 'Getting Started',
|
|
128
|
+
description: 'File → Export to save as STL, STEP, GLTF, OBJ, PDF. Or use Export toolbar button. Choose format and quality.',
|
|
129
|
+
tags: ['export', 'file'],
|
|
130
|
+
complexity: 'beginner',
|
|
131
|
+
shortcut: 'Ctrl+E'
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
id: 'gs_import',
|
|
135
|
+
title: 'Importing Files',
|
|
136
|
+
category: 'Getting Started',
|
|
137
|
+
description: 'File → Import to load STEP, IGES, OBJ, STL files. Supports models up to 500MB (Pro/Enterprise).',
|
|
138
|
+
tags: ['import', 'file'],
|
|
139
|
+
complexity: 'beginner'
|
|
140
|
+
},
|
|
141
|
+
|
|
142
|
+
// ===== SKETCH (20 entries) =====
|
|
143
|
+
{
|
|
144
|
+
id: 'sk_overview',
|
|
145
|
+
title: 'Sketch Overview',
|
|
146
|
+
category: 'Sketch',
|
|
147
|
+
description: 'Sketches are 2D profiles used as starting points for 3D features. Draw on a plane, add constraints, then extrude/revolve.',
|
|
148
|
+
tags: ['sketch', 'basics'],
|
|
149
|
+
complexity: 'beginner'
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
id: 'sk_create',
|
|
153
|
+
title: 'Creating a Sketch',
|
|
154
|
+
category: 'Sketch',
|
|
155
|
+
description: 'Design workspace → Sketch button → select a plane or face. Sketch toolbar appears. Draw using Line, Circle, Rectangle, Arc tools.',
|
|
156
|
+
tags: ['sketch', 'creation'],
|
|
157
|
+
complexity: 'beginner'
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
id: 'sk_line',
|
|
161
|
+
title: 'Line Tool',
|
|
162
|
+
category: 'Sketch',
|
|
163
|
+
description: 'Press L or click Line tool. Click points to draw line segments. Press Escape or right-click to finish. Press L again to continue.',
|
|
164
|
+
tags: ['line', 'tool'],
|
|
165
|
+
complexity: 'beginner',
|
|
166
|
+
shortcut: 'L'
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
id: 'sk_circle',
|
|
170
|
+
title: 'Circle Tool',
|
|
171
|
+
category: 'Sketch',
|
|
172
|
+
description: 'Press C. Click center, then drag to set radius. Or hold Shift for diameter mode. Circles are fully constrained (center + radius).',
|
|
173
|
+
tags: ['circle', 'tool'],
|
|
174
|
+
complexity: 'beginner',
|
|
175
|
+
shortcut: 'C'
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
id: 'sk_rect',
|
|
179
|
+
title: 'Rectangle Tool',
|
|
180
|
+
category: 'Sketch',
|
|
181
|
+
description: 'Press R. Click first corner, then opposite corner. Creates a 4-sided rectangle. Can constrain width/height independently.',
|
|
182
|
+
tags: ['rectangle', 'tool'],
|
|
183
|
+
complexity: 'beginner',
|
|
184
|
+
shortcut: 'R'
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
id: 'sk_arc',
|
|
188
|
+
title: 'Arc Tool',
|
|
189
|
+
category: 'Sketch',
|
|
190
|
+
description: 'Press A. Click center, start point, end point. Creates a circular arc. 3-point mode available via options.',
|
|
191
|
+
tags: ['arc', 'tool'],
|
|
192
|
+
complexity: 'beginner',
|
|
193
|
+
shortcut: 'A'
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
id: 'sk_constraint',
|
|
197
|
+
title: 'Adding Constraints',
|
|
198
|
+
category: 'Sketch',
|
|
199
|
+
description: 'Constraints define relationships: coincident, horizontal, vertical, parallel, perpendicular, tangent, equal, fixed, distance, angle.',
|
|
200
|
+
tags: ['constraint', 'parametric'],
|
|
201
|
+
complexity: 'intermediate'
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
id: 'sk_horizontal',
|
|
205
|
+
title: 'Horizontal Constraint',
|
|
206
|
+
category: 'Sketch',
|
|
207
|
+
description: 'Select a line, press H. Line becomes horizontal. Or Shift+select 2 points to make them horizontally aligned.',
|
|
208
|
+
tags: ['constraint', 'alignment'],
|
|
209
|
+
complexity: 'intermediate',
|
|
210
|
+
shortcut: 'H'
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
id: 'sk_vertical',
|
|
214
|
+
title: 'Vertical Constraint',
|
|
215
|
+
category: 'Sketch',
|
|
216
|
+
description: 'Select a line, press V. Line becomes vertical. Or select 2 points to vertically align them.',
|
|
217
|
+
tags: ['constraint', 'alignment'],
|
|
218
|
+
complexity: 'intermediate',
|
|
219
|
+
shortcut: 'V'
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
id: 'sk_distance',
|
|
223
|
+
title: 'Distance Constraint',
|
|
224
|
+
category: 'Sketch',
|
|
225
|
+
description: 'Select 2 points or a point and a line, press D. Enter distance value. Constraint applied with exact measurement.',
|
|
226
|
+
tags: ['dimension', 'constraint'],
|
|
227
|
+
complexity: 'intermediate',
|
|
228
|
+
shortcut: 'D'
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
id: 'sk_coincident',
|
|
232
|
+
title: 'Coincident Constraint',
|
|
233
|
+
category: 'Sketch',
|
|
234
|
+
description: 'Select point and line/circle, press O. Point is forced to lie on the geometry. Essential for connecting shapes.',
|
|
235
|
+
tags: ['constraint', 'connectivity'],
|
|
236
|
+
complexity: 'intermediate',
|
|
237
|
+
shortcut: 'O'
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
id: 'sk_tangent',
|
|
241
|
+
title: 'Tangent Constraint',
|
|
242
|
+
category: 'Sketch',
|
|
243
|
+
description: 'Select curve and line/arc, press T. Curves touch at exactly one point with same slope. Smooth transitions.',
|
|
244
|
+
tags: ['constraint', 'curve'],
|
|
245
|
+
complexity: 'intermediate',
|
|
246
|
+
shortcut: 'T'
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
id: 'sk_equal',
|
|
250
|
+
title: 'Equal Constraint',
|
|
251
|
+
category: 'Sketch',
|
|
252
|
+
description: 'Select 2 or more lines/circles, press E. They become the same length/radius. Useful for symmetric designs.',
|
|
253
|
+
tags: ['constraint', 'symmetry'],
|
|
254
|
+
complexity: 'intermediate',
|
|
255
|
+
shortcut: 'E'
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
id: 'sk_parallel',
|
|
259
|
+
title: 'Parallel Constraint',
|
|
260
|
+
category: 'Sketch',
|
|
261
|
+
description: 'Select 2 lines, press P. Lines become parallel (same direction). Maintains angle even if length changes.',
|
|
262
|
+
tags: ['constraint', 'alignment'],
|
|
263
|
+
complexity: 'intermediate',
|
|
264
|
+
shortcut: 'P'
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
id: 'sk_perpendicular',
|
|
268
|
+
title: 'Perpendicular Constraint',
|
|
269
|
+
category: 'Sketch',
|
|
270
|
+
description: 'Select 2 lines, press X. Lines become perpendicular (90° angle). Useful for right-angle features.',
|
|
271
|
+
tags: ['constraint', 'alignment'],
|
|
272
|
+
complexity: 'intermediate',
|
|
273
|
+
shortcut: 'X'
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
id: 'sk_exit',
|
|
277
|
+
title: 'Exiting Sketch',
|
|
278
|
+
category: 'Sketch',
|
|
279
|
+
description: 'Press Escape or click Close Sketch button. Returns to 3D modeling workspace. Sketch becomes available for extrude/revolve.',
|
|
280
|
+
tags: ['sketch', 'exit'],
|
|
281
|
+
complexity: 'beginner',
|
|
282
|
+
shortcut: 'Esc'
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
id: 'sk_centerline',
|
|
286
|
+
title: 'Centerline for Revolve',
|
|
287
|
+
category: 'Sketch',
|
|
288
|
+
description: 'In revolve mode, select a line as the rotation axis (centerline). The sketch profile revolves around this line.',
|
|
289
|
+
tags: ['revolve', 'axis'],
|
|
290
|
+
complexity: 'intermediate'
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
id: 'sk_symmetry',
|
|
294
|
+
title: 'Symmetric Sketch Design',
|
|
295
|
+
category: 'Sketch',
|
|
296
|
+
description: 'Use symmetry constraints and centered circles/rects to create symmetric profiles. Easier to manage parametrically.',
|
|
297
|
+
tags: ['design', 'efficiency'],
|
|
298
|
+
complexity: 'intermediate'
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
id: 'sk_tutorial',
|
|
302
|
+
title: 'Sketch Tutorial',
|
|
303
|
+
category: 'Sketch',
|
|
304
|
+
description: 'Learn sketch basics: draw a rectangle, add constraints, dimension it, then extrude to 3D.',
|
|
305
|
+
tags: ['tutorial'],
|
|
306
|
+
complexity: 'beginner',
|
|
307
|
+
tutorialId: 'tut_sketch'
|
|
308
|
+
},
|
|
309
|
+
|
|
310
|
+
// ===== MODELING (20 entries) =====
|
|
311
|
+
{
|
|
312
|
+
id: 'md_extrude',
|
|
313
|
+
title: 'Extrude Tool',
|
|
314
|
+
category: 'Modeling',
|
|
315
|
+
description: 'Press E. Select a sketch, choose direction (up/down/both), enter depth. Creates a 3D solid by pushing sketch profile.',
|
|
316
|
+
tags: ['extrude', 'feature'],
|
|
317
|
+
complexity: 'beginner',
|
|
318
|
+
shortcut: 'E'
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
id: 'md_revolve',
|
|
322
|
+
title: 'Revolve Tool',
|
|
323
|
+
category: 'Modeling',
|
|
324
|
+
description: 'Press R. Select a sketch and a centerline axis. Sketch rotates 360° around axis to create solid. Perfect for cylinders, cones.',
|
|
325
|
+
tags: ['revolve', 'feature'],
|
|
326
|
+
complexity: 'beginner',
|
|
327
|
+
shortcut: 'R'
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
id: 'md_sweep',
|
|
331
|
+
title: 'Sweep Tool',
|
|
332
|
+
category: 'Modeling',
|
|
333
|
+
description: 'Extrude a profile along a curved path. Select profile sketch and path (line/arc/curve). Creates custom shapes (pipes, spirals).',
|
|
334
|
+
tags: ['sweep', 'advanced'],
|
|
335
|
+
complexity: 'advanced'
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
id: 'md_loft',
|
|
339
|
+
title: 'Loft Tool',
|
|
340
|
+
category: 'Modeling',
|
|
341
|
+
description: 'Blend between multiple profile sketches. Creates smooth transitions (airplane fuselage, vase shapes). Select 2+ sketches.',
|
|
342
|
+
tags: ['loft', 'advanced'],
|
|
343
|
+
complexity: 'advanced'
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
id: 'md_fillet',
|
|
347
|
+
title: 'Fillet Tool',
|
|
348
|
+
category: 'Modeling',
|
|
349
|
+
description: 'Press F. Select edges to round. Enter radius. Smooths sharp corners. Useful for aesthetic & structural improvements.',
|
|
350
|
+
tags: ['fillet', 'feature'],
|
|
351
|
+
complexity: 'beginner',
|
|
352
|
+
shortcut: 'F'
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
id: 'md_chamfer',
|
|
356
|
+
title: 'Chamfer Tool',
|
|
357
|
+
category: 'Modeling',
|
|
358
|
+
description: 'Press C. Select edges. Enter chamfer distance or angle. Creates 45° or custom-angle bevels. Good for assembly clearance.',
|
|
359
|
+
tags: ['chamfer', 'feature'],
|
|
360
|
+
complexity: 'beginner',
|
|
361
|
+
shortcut: 'C'
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
id: 'md_pattern_rect',
|
|
365
|
+
title: 'Rectangular Pattern',
|
|
366
|
+
category: 'Modeling',
|
|
367
|
+
description: 'Select a feature, press P. Choose rectangular grid. Set count & spacing in X and Y. Creates array of copies.',
|
|
368
|
+
tags: ['pattern', 'array'],
|
|
369
|
+
complexity: 'intermediate',
|
|
370
|
+
shortcut: 'P'
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
id: 'md_pattern_circ',
|
|
374
|
+
title: 'Circular Pattern',
|
|
375
|
+
category: 'Modeling',
|
|
376
|
+
description: 'Select feature. Create circular array around a point/axis. Set count and angle. Perfect for holes in wheels.',
|
|
377
|
+
tags: ['pattern', 'array'],
|
|
378
|
+
complexity: 'intermediate'
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
id: 'md_mirror',
|
|
382
|
+
title: 'Mirror Feature',
|
|
383
|
+
category: 'Modeling',
|
|
384
|
+
description: 'Select feature and mirror plane. Creates mirrored copy on opposite side. Maintains parametric link.',
|
|
385
|
+
tags: ['mirror', 'symmetry'],
|
|
386
|
+
complexity: 'intermediate'
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
id: 'md_boolean',
|
|
390
|
+
title: 'Boolean Operations',
|
|
391
|
+
category: 'Modeling',
|
|
392
|
+
description: 'Combine solids: Union (merge), Cut (subtract), Intersect (overlap only). Select primary body then tool body.',
|
|
393
|
+
tags: ['boolean', 'csg'],
|
|
394
|
+
complexity: 'intermediate'
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
id: 'md_shell',
|
|
398
|
+
title: 'Shell Tool',
|
|
399
|
+
category: 'Modeling',
|
|
400
|
+
description: 'Remove faces from solid, leaving hollow shell with uniform wall thickness. Great for vessels, casings.',
|
|
401
|
+
tags: ['shell', 'hollow'],
|
|
402
|
+
complexity: 'intermediate'
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
id: 'md_draft',
|
|
406
|
+
title: 'Draft Tool',
|
|
407
|
+
category: 'Modeling',
|
|
408
|
+
description: 'Add taper angle to faces for easier mold removal. Select faces and enter draft angle (2-10° typical).',
|
|
409
|
+
tags: ['draft', 'manufacturing'],
|
|
410
|
+
complexity: 'advanced'
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
id: 'md_thread',
|
|
414
|
+
title: 'Thread Tool',
|
|
415
|
+
category: 'Modeling',
|
|
416
|
+
description: 'Add helical threads to cylinders. Specify pitch, profile (ISO/UNC), and male/female type. Auto-generates accurate geometry.',
|
|
417
|
+
tags: ['thread', 'fastener'],
|
|
418
|
+
complexity: 'advanced'
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
id: 'md_split',
|
|
422
|
+
title: 'Split Body',
|
|
423
|
+
category: 'Modeling',
|
|
424
|
+
description: 'Divide solid using planes or sketches. Creates separate bodies for analysis or manufacturing.',
|
|
425
|
+
tags: ['split', 'division'],
|
|
426
|
+
complexity: 'intermediate'
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
id: 'md_parameters',
|
|
430
|
+
title: 'Parametric Updates',
|
|
431
|
+
category: 'Modeling',
|
|
432
|
+
description: 'Change sketch dimensions or feature parameters → all downstream features update automatically. True parametric design.',
|
|
433
|
+
tags: ['parametric', 'workflow'],
|
|
434
|
+
complexity: 'intermediate'
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
id: 'md_history',
|
|
438
|
+
title: 'Feature Suppression',
|
|
439
|
+
category: 'Modeling',
|
|
440
|
+
description: 'Right-click feature in tree → Suppress. Removes from computation. Useful for testing variations without deleting.',
|
|
441
|
+
tags: ['feature', 'tree'],
|
|
442
|
+
complexity: 'intermediate'
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
id: 'md_reorder',
|
|
446
|
+
title: 'Reordering Features',
|
|
447
|
+
category: 'Modeling',
|
|
448
|
+
description: 'Drag features in tree to reorder. Can change which features affect later ones. Rebuilds automatically.',
|
|
449
|
+
tags: ['feature', 'tree'],
|
|
450
|
+
complexity: 'intermediate'
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
id: 'md_tip',
|
|
454
|
+
title: 'Feature Tip',
|
|
455
|
+
category: 'Modeling',
|
|
456
|
+
description: 'Right-click feature → Set as Tip. Only features up to tip are computed. Speeds up editing long histories.',
|
|
457
|
+
tags: ['feature', 'performance'],
|
|
458
|
+
complexity: 'intermediate'
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
id: 'md_tutorial',
|
|
462
|
+
title: 'Modeling Tutorial',
|
|
463
|
+
category: 'Modeling',
|
|
464
|
+
description: 'Create a bracket: sketch → extrude → add hole → fillet edges → export STL.',
|
|
465
|
+
tags: ['tutorial'],
|
|
466
|
+
complexity: 'intermediate',
|
|
467
|
+
tutorialId: 'tut_modeling'
|
|
468
|
+
},
|
|
469
|
+
|
|
470
|
+
// ===== ASSEMBLY (15 entries) =====
|
|
471
|
+
{
|
|
472
|
+
id: 'as_overview',
|
|
473
|
+
title: 'Assembly Basics',
|
|
474
|
+
category: 'Assembly',
|
|
475
|
+
description: 'Assemblies combine multiple parts using constraints. Switch to Assembly workspace to add components and create joints.',
|
|
476
|
+
tags: ['assembly'],
|
|
477
|
+
complexity: 'intermediate'
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
id: 'as_add_component',
|
|
481
|
+
title: 'Adding Components',
|
|
482
|
+
category: 'Assembly',
|
|
483
|
+
description: 'Assembly workspace → Add Component. Load STEP/CCAD files. Each component has its own coordinate system.',
|
|
484
|
+
tags: ['component'],
|
|
485
|
+
complexity: 'intermediate'
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
id: 'as_joint_mate',
|
|
489
|
+
title: 'Mate Joint',
|
|
490
|
+
category: 'Assembly',
|
|
491
|
+
description: 'Align faces or planes of two components. They touch and move together. Primary constraint for assemblies.',
|
|
492
|
+
tags: ['joint', 'constraint'],
|
|
493
|
+
complexity: 'intermediate'
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
id: 'as_joint_fixed',
|
|
497
|
+
title: 'Fixed Joint',
|
|
498
|
+
category: 'Assembly',
|
|
499
|
+
description: 'Lock a component in place. Zero degrees of freedom. Used for structural reference parts.',
|
|
500
|
+
tags: ['joint', 'constraint'],
|
|
501
|
+
complexity: 'beginner'
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
id: 'as_joint_hinge',
|
|
505
|
+
title: 'Hinge Joint (Revolute)',
|
|
506
|
+
category: 'Assembly',
|
|
507
|
+
description: 'Component rotates around an axis (like a door hinge). 1 degree of freedom. Define axis and rotation limits.',
|
|
508
|
+
tags: ['joint', 'kinematics'],
|
|
509
|
+
complexity: 'intermediate'
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
id: 'as_joint_slide',
|
|
513
|
+
title: 'Slider Joint (Prismatic)',
|
|
514
|
+
category: 'Assembly',
|
|
515
|
+
description: 'Component slides along a direction (like a piston). 1 degree of freedom. Define direction and limits.',
|
|
516
|
+
tags: ['joint', 'kinematics'],
|
|
517
|
+
complexity: 'intermediate'
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
id: 'as_joint_ball',
|
|
521
|
+
title: 'Ball Joint (Spherical)',
|
|
522
|
+
category: 'Assembly',
|
|
523
|
+
description: 'Two spheres align (like ball-and-socket). 3 rotational degrees of freedom. Useful for universal joints.',
|
|
524
|
+
tags: ['joint', 'kinematics'],
|
|
525
|
+
complexity: 'advanced'
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
id: 'as_bom',
|
|
529
|
+
title: 'Generate BOM',
|
|
530
|
+
category: 'Assembly',
|
|
531
|
+
description: 'Assembly → Generate BOM. Creates bill of materials with part counts, descriptions, total weight. Export to CSV.',
|
|
532
|
+
tags: ['bom', 'manufacturing'],
|
|
533
|
+
complexity: 'beginner'
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
id: 'as_explode',
|
|
537
|
+
title: 'Exploded View',
|
|
538
|
+
category: 'Assembly',
|
|
539
|
+
description: 'Assembly → Explode. Animates components away from assembly. Great for presentations. Can be exported as video.',
|
|
540
|
+
tags: ['visualization', 'presentation'],
|
|
541
|
+
complexity: 'beginner'
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
id: 'as_interference',
|
|
545
|
+
title: 'Interference Detection',
|
|
546
|
+
category: 'Assembly',
|
|
547
|
+
description: 'Validate → Check Interference. Highlights overlapping components. Ensures no clashes in final design.',
|
|
548
|
+
tags: ['validation'],
|
|
549
|
+
complexity: 'intermediate'
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
id: 'as_drive',
|
|
553
|
+
title: 'Drive Constraint',
|
|
554
|
+
category: 'Assembly',
|
|
555
|
+
description: 'Manually move a component with constrained motion. Test assembly before manufacturing.',
|
|
556
|
+
tags: ['test', 'animation'],
|
|
557
|
+
complexity: 'intermediate'
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
id: 'as_patterns',
|
|
561
|
+
title: 'Pattern Components',
|
|
562
|
+
category: 'Assembly',
|
|
563
|
+
description: 'Rectangular or circular array of a component. Maintains constraints. Useful for gear arrays, fastener patterns.',
|
|
564
|
+
tags: ['pattern', 'array'],
|
|
565
|
+
complexity: 'intermediate'
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
id: 'as_animation',
|
|
569
|
+
title: 'Assembly Animation',
|
|
570
|
+
category: 'Assembly',
|
|
571
|
+
description: 'Timeline workspace → record component motion. Animate hinges opening, sliders extending, etc. Export as video.',
|
|
572
|
+
tags: ['animation', 'motion'],
|
|
573
|
+
complexity: 'advanced'
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
id: 'as_tutorial',
|
|
577
|
+
title: 'Assembly Tutorial',
|
|
578
|
+
category: 'Assembly',
|
|
579
|
+
description: 'Import 2 parts → add mate constraints → generate BOM → create exploded view.',
|
|
580
|
+
tags: ['tutorial'],
|
|
581
|
+
complexity: 'intermediate',
|
|
582
|
+
tutorialId: 'tut_assembly'
|
|
583
|
+
},
|
|
584
|
+
|
|
585
|
+
// ===== DRAWING (15 entries) =====
|
|
586
|
+
{
|
|
587
|
+
id: 'dw_overview',
|
|
588
|
+
title: 'Engineering Drawings Basics',
|
|
589
|
+
category: 'Drawing',
|
|
590
|
+
description: 'Drawing workspace creates 2D engineering drawings from 3D models. Add standard views, dimensions, annotations.',
|
|
591
|
+
tags: ['drawing', 'engineering'],
|
|
592
|
+
complexity: 'intermediate'
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
id: 'dw_create',
|
|
596
|
+
title: 'Creating a Drawing',
|
|
597
|
+
category: 'Drawing',
|
|
598
|
+
description: 'Drawing workspace → New Sheet. Select paper size (A4, A3, A2). Add views from 3D model.',
|
|
599
|
+
tags: ['drawing'],
|
|
600
|
+
complexity: 'intermediate'
|
|
601
|
+
},
|
|
602
|
+
{
|
|
603
|
+
id: 'dw_view_front',
|
|
604
|
+
title: 'Front View',
|
|
605
|
+
category: 'Drawing',
|
|
606
|
+
description: 'Standard orthographic projection from front. Click → drag on sheet to place. Scale and position as needed.',
|
|
607
|
+
tags: ['view', 'orthographic'],
|
|
608
|
+
complexity: 'beginner'
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
id: 'dw_view_top',
|
|
612
|
+
title: 'Top View',
|
|
613
|
+
category: 'Drawing',
|
|
614
|
+
description: 'Orthographic projection from above. Usually placed above front view. Maintains alignment automatically.',
|
|
615
|
+
tags: ['view', 'orthographic'],
|
|
616
|
+
complexity: 'beginner'
|
|
617
|
+
},
|
|
618
|
+
{
|
|
619
|
+
id: 'dw_isometric',
|
|
620
|
+
title: 'Isometric View',
|
|
621
|
+
category: 'Drawing',
|
|
622
|
+
description: 'Angled 3D view (30°/30°). Great for clarity but not a true orthographic projection.',
|
|
623
|
+
tags: ['view', 'visualization'],
|
|
624
|
+
complexity: 'beginner'
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
id: 'dw_section',
|
|
628
|
+
title: 'Section View',
|
|
629
|
+
category: 'Drawing',
|
|
630
|
+
description: 'Cut-away view showing internal details. Define section line on drawing → creates view showing cross-section.',
|
|
631
|
+
tags: ['section', 'advanced'],
|
|
632
|
+
complexity: 'advanced'
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
id: 'dw_dimension',
|
|
636
|
+
title: 'Adding Dimensions',
|
|
637
|
+
category: 'Drawing',
|
|
638
|
+
description: 'Click Dimension tool → select edges/vertices. Add distance, angle, radius dimensions. Updates if 3D model changes.',
|
|
639
|
+
tags: ['dimension', 'annotation'],
|
|
640
|
+
complexity: 'intermediate'
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
id: 'dw_note',
|
|
644
|
+
title: 'Adding Notes',
|
|
645
|
+
category: 'Drawing',
|
|
646
|
+
description: 'Click Note tool → click location on drawing. Type text. Used for specifications, warnings, revision notes.',
|
|
647
|
+
tags: ['annotation'],
|
|
648
|
+
complexity: 'beginner'
|
|
649
|
+
},
|
|
650
|
+
{
|
|
651
|
+
id: 'dw_gdt',
|
|
652
|
+
title: 'GD&T Annotations',
|
|
653
|
+
category: 'Drawing',
|
|
654
|
+
description: 'Add Geometric Dimensioning & Tolerancing symbols (position, profile, perpendicularity, etc.). ISO 1101 compliant.',
|
|
655
|
+
tags: ['gdt', 'tolerance'],
|
|
656
|
+
complexity: 'advanced'
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
id: 'dw_titleblock',
|
|
660
|
+
title: 'Title Block',
|
|
661
|
+
category: 'Drawing',
|
|
662
|
+
description: 'Pre-formatted template with company name, part number, scale, revision. Customizable in settings.',
|
|
663
|
+
tags: ['template', 'administration'],
|
|
664
|
+
complexity: 'beginner'
|
|
665
|
+
},
|
|
666
|
+
{
|
|
667
|
+
id: 'dw_tolerance',
|
|
668
|
+
title: 'Setting Tolerances',
|
|
669
|
+
category: 'Drawing',
|
|
670
|
+
description: 'Dimension properties → set ±tolerance. Shows as 50±0.1. Critical for manufacturing accuracy.',
|
|
671
|
+
tags: ['tolerance', 'manufacturing'],
|
|
672
|
+
complexity: 'intermediate'
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
id: 'dw_export_pdf',
|
|
676
|
+
title: 'Exporting as PDF',
|
|
677
|
+
category: 'Drawing',
|
|
678
|
+
description: 'File → Export as PDF. Creates print-ready document with all views, dimensions, notes.',
|
|
679
|
+
tags: ['export', 'pdf'],
|
|
680
|
+
complexity: 'beginner'
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
id: 'dw_print',
|
|
684
|
+
title: 'Printing Drawings',
|
|
685
|
+
category: 'Drawing',
|
|
686
|
+
description: 'File → Print. Preview shows actual paper layout. Can print to physical printer or PDF.',
|
|
687
|
+
tags: ['print', 'output'],
|
|
688
|
+
complexity: 'beginner'
|
|
689
|
+
},
|
|
690
|
+
{
|
|
691
|
+
id: 'dw_tutorial',
|
|
692
|
+
title: 'Drawing Tutorial',
|
|
693
|
+
category: 'Drawing',
|
|
694
|
+
description: 'Create a simple drawing: add front/top views, dimension a hole, add notes, export as PDF.',
|
|
695
|
+
tags: ['tutorial'],
|
|
696
|
+
complexity: 'intermediate',
|
|
697
|
+
tutorialId: 'tut_drawing'
|
|
698
|
+
},
|
|
699
|
+
|
|
700
|
+
// ===== SIMULATION (10 entries) =====
|
|
701
|
+
{
|
|
702
|
+
id: 'sm_fea_overview',
|
|
703
|
+
title: 'FEA Simulation Basics',
|
|
704
|
+
category: 'Simulation',
|
|
705
|
+
description: 'Finite Element Analysis breaks model into small elements and calculates stress/strain. Predicts failure points.',
|
|
706
|
+
tags: ['fea', 'analysis'],
|
|
707
|
+
complexity: 'advanced'
|
|
708
|
+
},
|
|
709
|
+
{
|
|
710
|
+
id: 'sm_setup',
|
|
711
|
+
title: 'Setting Up a Simulation',
|
|
712
|
+
category: 'Simulation',
|
|
713
|
+
description: 'Simulation workspace → New Study. Choose analysis type (static, thermal, modal). Apply loads and constraints.',
|
|
714
|
+
tags: ['simulation', 'setup'],
|
|
715
|
+
complexity: 'advanced'
|
|
716
|
+
},
|
|
717
|
+
{
|
|
718
|
+
id: 'sm_mesh',
|
|
719
|
+
title: 'Mesh Generation',
|
|
720
|
+
category: 'Simulation',
|
|
721
|
+
description: 'Auto-mesh divides geometry into elements. Finer mesh = more accurate but slower. Set element size.',
|
|
722
|
+
tags: ['mesh'],
|
|
723
|
+
complexity: 'advanced'
|
|
724
|
+
},
|
|
725
|
+
{
|
|
726
|
+
id: 'sm_loads',
|
|
727
|
+
title: 'Applying Loads',
|
|
728
|
+
category: 'Simulation',
|
|
729
|
+
description: 'Apply forces (N), pressure (Pa), moments. Select faces or edges. Magnitude and direction matter.',
|
|
730
|
+
tags: ['load', 'boundary-condition'],
|
|
731
|
+
complexity: 'advanced'
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
id: 'sm_constraints',
|
|
735
|
+
title: 'Boundary Constraints',
|
|
736
|
+
category: 'Simulation',
|
|
737
|
+
description: 'Fix edges/faces to prevent motion. Select geometry → Fixed. Can also apply spring constraints for flexibility.',
|
|
738
|
+
tags: ['constraint', 'boundary-condition'],
|
|
739
|
+
complexity: 'advanced'
|
|
740
|
+
},
|
|
741
|
+
{
|
|
742
|
+
id: 'sm_material',
|
|
743
|
+
title: 'Setting Material',
|
|
744
|
+
category: 'Simulation',
|
|
745
|
+
description: 'Select body → Properties → Material. Choose from library (Steel, Aluminum, Plastic). System calculates Young\'s modulus, Poisson ratio.',
|
|
746
|
+
tags: ['material', 'property'],
|
|
747
|
+
complexity: 'intermediate'
|
|
748
|
+
},
|
|
749
|
+
{
|
|
750
|
+
id: 'sm_solve',
|
|
751
|
+
title: 'Running Analysis',
|
|
752
|
+
category: 'Simulation',
|
|
753
|
+
description: 'Click Solve. System performs FEA calculation. Progress bar shows computation. Takes seconds to minutes.',
|
|
754
|
+
tags: ['computation'],
|
|
755
|
+
complexity: 'advanced'
|
|
756
|
+
},
|
|
757
|
+
{
|
|
758
|
+
id: 'sm_results',
|
|
759
|
+
title: 'Interpreting Results',
|
|
760
|
+
category: 'Simulation',
|
|
761
|
+
description: 'Shows stress (MPa), strain, deformation, factor of safety. Color map indicates danger zones (red = high stress).',
|
|
762
|
+
tags: ['results', 'visualization'],
|
|
763
|
+
complexity: 'advanced'
|
|
764
|
+
},
|
|
765
|
+
{
|
|
766
|
+
id: 'sm_thermal',
|
|
767
|
+
title: 'Thermal Analysis',
|
|
768
|
+
category: 'Simulation',
|
|
769
|
+
description: 'Analyze heat flow. Set boundary temperatures, heat sources. See temperature distribution and heat flux.',
|
|
770
|
+
tags: ['thermal', 'analysis'],
|
|
771
|
+
complexity: 'advanced'
|
|
772
|
+
},
|
|
773
|
+
|
|
774
|
+
// ===== CAM (10 entries) =====
|
|
775
|
+
{
|
|
776
|
+
id: 'cm_overview',
|
|
777
|
+
title: 'CAM Basics',
|
|
778
|
+
category: 'CAM',
|
|
779
|
+
description: 'CAM workspace generates manufacturing toolpaths from 3D models. Choose machine type (CNC, 3D printer, laser) and tool.',
|
|
780
|
+
tags: ['cam', 'manufacturing'],
|
|
781
|
+
complexity: 'advanced'
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
id: 'cm_workpiece',
|
|
785
|
+
title: 'Setting Workpiece',
|
|
786
|
+
category: 'CAM',
|
|
787
|
+
description: 'Define stock material (solid, sheet, bar). Set dimensions and position. Toolpath calculates material removal.',
|
|
788
|
+
tags: ['setup'],
|
|
789
|
+
complexity: 'advanced'
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
id: 'cm_tool',
|
|
793
|
+
title: 'Selecting Tools',
|
|
794
|
+
category: 'CAM',
|
|
795
|
+
description: 'Choose end mill, ball mill, drill, or probe. Library has 100+ tools with flute counts, speeds, feeds.',
|
|
796
|
+
tags: ['tool'],
|
|
797
|
+
complexity: 'advanced'
|
|
798
|
+
},
|
|
799
|
+
{
|
|
800
|
+
id: 'cm_operation',
|
|
801
|
+
title: 'Creating Operations',
|
|
802
|
+
category: 'CAM',
|
|
803
|
+
description: 'Add face milling, slot milling, drilling, contour operations. Each operation uses selected tool and parameters.',
|
|
804
|
+
tags: ['operation'],
|
|
805
|
+
complexity: 'advanced'
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
id: 'cm_preview',
|
|
809
|
+
title: 'Toolpath Preview',
|
|
810
|
+
category: 'CAM',
|
|
811
|
+
description: 'Visualize cutting path on workpiece. Shows tool moving through stock. Check for collisions and tool changes.',
|
|
812
|
+
tags: ['visualization', 'verification'],
|
|
813
|
+
complexity: 'advanced'
|
|
814
|
+
},
|
|
815
|
+
{
|
|
816
|
+
id: 'cm_gcode',
|
|
817
|
+
title: 'G-Code Generation',
|
|
818
|
+
category: 'CAM',
|
|
819
|
+
description: 'Post-processor converts toolpath to G-code (machine instructions). Saves as .nc file for CNC machine.',
|
|
820
|
+
tags: ['gcode', 'output'],
|
|
821
|
+
complexity: 'advanced'
|
|
822
|
+
},
|
|
823
|
+
{
|
|
824
|
+
id: 'cm_fdm',
|
|
825
|
+
title: '3D Print Setup',
|
|
826
|
+
category: 'CAM',
|
|
827
|
+
description: 'CAM workspace → 3D Print. Choose layer height, infill, support type. Slices model automatically.',
|
|
828
|
+
tags: ['3dprint', 'fdm'],
|
|
829
|
+
complexity: 'intermediate'
|
|
830
|
+
},
|
|
831
|
+
{
|
|
832
|
+
id: 'cm_laser',
|
|
833
|
+
title: 'Laser Cutting',
|
|
834
|
+
category: 'CAM',
|
|
835
|
+
description: 'Set material, bed size, cutting power. Generates raster/vector path for laser engraver/cutter.',
|
|
836
|
+
tags: ['laser'],
|
|
837
|
+
complexity: 'advanced'
|
|
838
|
+
},
|
|
839
|
+
|
|
840
|
+
// ===== AI & RENDERING (10 entries) =====
|
|
841
|
+
{
|
|
842
|
+
id: 'ai_copilot',
|
|
843
|
+
title: 'AI Copilot',
|
|
844
|
+
category: 'AI Tools',
|
|
845
|
+
description: 'Talk to AI: "Create a socket head bolt" or "Add fillets to all edges". AI understands natural language and generates geometry.',
|
|
846
|
+
tags: ['ai', 'agent'],
|
|
847
|
+
complexity: 'beginner'
|
|
848
|
+
},
|
|
849
|
+
{
|
|
850
|
+
id: 'ai_textocad',
|
|
851
|
+
title: 'Text-to-CAD',
|
|
852
|
+
category: 'AI Tools',
|
|
853
|
+
description: 'Type description of part → AI generates 3D model. "50mm cylinder with 10mm hole" → done.',
|
|
854
|
+
tags: ['ai', 'generation'],
|
|
855
|
+
complexity: 'beginner'
|
|
856
|
+
},
|
|
857
|
+
{
|
|
858
|
+
id: 'ai_partid',
|
|
859
|
+
title: 'Part Identification',
|
|
860
|
+
category: 'AI Tools',
|
|
861
|
+
description: 'Upload image of part → AI identifies it (bolt, bearing, spring, etc.). Provides McMaster-Carr search link.',
|
|
862
|
+
tags: ['ai', 'identification'],
|
|
863
|
+
complexity: 'beginner'
|
|
864
|
+
},
|
|
865
|
+
{
|
|
866
|
+
id: 'rn_overview',
|
|
867
|
+
title: 'Rendering Basics',
|
|
868
|
+
category: 'Render',
|
|
869
|
+
description: 'Render workspace creates photorealistic images. Add materials, lighting, environment. Export high-res images.',
|
|
870
|
+
tags: ['rendering', 'visualization'],
|
|
871
|
+
complexity: 'intermediate'
|
|
872
|
+
},
|
|
873
|
+
{
|
|
874
|
+
id: 'rn_material',
|
|
875
|
+
title: 'Materials & PBR',
|
|
876
|
+
category: 'Render',
|
|
877
|
+
description: 'Set metalness, roughness, color. PBR (Physically Based Rendering) ensures realistic appearance under all lighting.',
|
|
878
|
+
tags: ['material', 'pbr'],
|
|
879
|
+
complexity: 'intermediate'
|
|
880
|
+
},
|
|
881
|
+
{
|
|
882
|
+
id: 'rn_lighting',
|
|
883
|
+
title: 'Lighting Setup',
|
|
884
|
+
category: 'Render',
|
|
885
|
+
description: 'Add directional lights, point lights, spotlights. Adjust intensity and color. Good lighting = professional renders.',
|
|
886
|
+
tags: ['lighting'],
|
|
887
|
+
complexity: 'intermediate'
|
|
888
|
+
},
|
|
889
|
+
{
|
|
890
|
+
id: 'rn_environment',
|
|
891
|
+
title: 'Environment Maps',
|
|
892
|
+
category: 'Render',
|
|
893
|
+
description: 'HDRI background provides realistic reflections. Affects final image appearance. Hundreds available.',
|
|
894
|
+
tags: ['environment', 'hdri'],
|
|
895
|
+
complexity: 'intermediate'
|
|
896
|
+
},
|
|
897
|
+
{
|
|
898
|
+
id: 'rn_raytrace',
|
|
899
|
+
title: 'Ray Tracing',
|
|
900
|
+
category: 'Render',
|
|
901
|
+
description: 'High-quality rendering with realistic shadows and reflections. Takes longer but photorealistic. Toggle with T key.',
|
|
902
|
+
tags: ['rendering', 'quality'],
|
|
903
|
+
complexity: 'advanced'
|
|
904
|
+
},
|
|
905
|
+
{
|
|
906
|
+
id: 'rn_animation',
|
|
907
|
+
title: 'Render Animation',
|
|
908
|
+
category: 'Render',
|
|
909
|
+
description: 'Timeline workspace → render to MP4. Captures smooth animation of rotating models, assemblies, etc.',
|
|
910
|
+
tags: ['animation', 'video'],
|
|
911
|
+
complexity: 'advanced'
|
|
912
|
+
},
|
|
913
|
+
|
|
914
|
+
// ===== PLATFORM (10 entries) =====
|
|
915
|
+
{
|
|
916
|
+
id: 'pl_collaboration',
|
|
917
|
+
title: 'Real-time Collaboration',
|
|
918
|
+
category: 'Platform',
|
|
919
|
+
description: 'Pro feature: invite users to edit same model together. See cursors, watch changes live. No merge conflicts.',
|
|
920
|
+
tags: ['collab', 'pro-feature'],
|
|
921
|
+
complexity: 'intermediate'
|
|
922
|
+
},
|
|
923
|
+
{
|
|
924
|
+
id: 'pl_cloud',
|
|
925
|
+
title: 'Cloud Sync',
|
|
926
|
+
category: 'Platform',
|
|
927
|
+
description: 'Pro feature: auto-sync to cloud. Access models on any device. 100GB storage included.',
|
|
928
|
+
tags: ['cloud', 'storage', 'pro-feature'],
|
|
929
|
+
complexity: 'beginner'
|
|
930
|
+
},
|
|
931
|
+
{
|
|
932
|
+
id: 'pl_billing',
|
|
933
|
+
title: 'Token Billing',
|
|
934
|
+
category: 'Platform',
|
|
935
|
+
description: 'Usage-based billing with $CYCLE tokens. Each operation costs tokens (extrude=50, FEA=500). Buy tokens or earn selling designs.',
|
|
936
|
+
tags: ['billing', 'tokens'],
|
|
937
|
+
complexity: 'beginner'
|
|
938
|
+
},
|
|
939
|
+
{
|
|
940
|
+
id: 'pl_marketplace',
|
|
941
|
+
title: 'Marketplace',
|
|
942
|
+
category: 'Platform',
|
|
943
|
+
description: 'Buy/sell designs, components, assemblies. Earn money from designs. Browse 10,000+ community models.',
|
|
944
|
+
tags: ['marketplace', 'community'],
|
|
945
|
+
complexity: 'beginner'
|
|
946
|
+
},
|
|
947
|
+
{
|
|
948
|
+
id: 'pl_api',
|
|
949
|
+
title: 'API & Integration',
|
|
950
|
+
category: 'Platform',
|
|
951
|
+
description: 'REST API to create/edit/export models programmatically. MCP integration for AI agents. Full documentation at cyclecad.com/api.',
|
|
952
|
+
tags: ['api', 'integration'],
|
|
953
|
+
complexity: 'advanced'
|
|
954
|
+
},
|
|
955
|
+
{
|
|
956
|
+
id: 'pl_plugins',
|
|
957
|
+
title: 'Plugin Development',
|
|
958
|
+
category: 'Platform',
|
|
959
|
+
description: 'Write custom features in JavaScript. Plugins hook into kernel and have access to geometry, UI, events.',
|
|
960
|
+
tags: ['plugin', 'development'],
|
|
961
|
+
complexity: 'advanced'
|
|
962
|
+
},
|
|
963
|
+
{
|
|
964
|
+
id: 'pl_whatsnew',
|
|
965
|
+
title: 'What\'s New in v3.2',
|
|
966
|
+
category: 'Platform',
|
|
967
|
+
description: 'LEGO microkernel · 8 workspaces · AI copilot · Real-time collaboration · $CYCLE tokens · 21 modules · 664 tests',
|
|
968
|
+
tags: ['release-notes'],
|
|
969
|
+
complexity: 'beginner'
|
|
970
|
+
}
|
|
971
|
+
],
|
|
972
|
+
|
|
973
|
+
// Interactive tutorials
|
|
974
|
+
tutorials: [
|
|
975
|
+
{
|
|
976
|
+
id: 'tut_first_part',
|
|
977
|
+
title: 'Your First Part',
|
|
978
|
+
description: 'Create a simple box, add a fillet, export as STL. 5 minutes.',
|
|
979
|
+
steps: [
|
|
980
|
+
'Click Design workspace',
|
|
981
|
+
'Click Sketch, select XY plane',
|
|
982
|
+
'Draw a 100x50mm rectangle',
|
|
983
|
+
'Press Escape to exit sketch',
|
|
984
|
+
'Click Extrude, set height to 50mm',
|
|
985
|
+
'Click Fillet, set radius to 5mm',
|
|
986
|
+
'Export as STL'
|
|
987
|
+
]
|
|
988
|
+
},
|
|
989
|
+
{
|
|
990
|
+
id: 'tut_sketch',
|
|
991
|
+
title: 'Mastering Sketches',
|
|
992
|
+
description: 'Draw constrained profiles for 3D features.',
|
|
993
|
+
steps: [
|
|
994
|
+
'Start new sketch on XY plane',
|
|
995
|
+
'Draw a circle (C key) diameter 50mm',
|
|
996
|
+
'Draw a line tangent to circle',
|
|
997
|
+
'Add horizontal constraint (H key)',
|
|
998
|
+
'Add distance constraint (D key): 100mm',
|
|
999
|
+
'Sketch is fully constrained (white)',
|
|
1000
|
+
'Extrude to create base feature'
|
|
1001
|
+
]
|
|
1002
|
+
},
|
|
1003
|
+
{
|
|
1004
|
+
id: 'tut_modeling',
|
|
1005
|
+
title: 'Modeling a Bracket',
|
|
1006
|
+
description: 'Create a complex part with multiple features.',
|
|
1007
|
+
steps: [
|
|
1008
|
+
'Extrude a 80x60x10mm base',
|
|
1009
|
+
'Add sketch on top face',
|
|
1010
|
+
'Draw mounting hole circles (Ø10mm)',
|
|
1011
|
+
'Extrude as pocket (negative)',
|
|
1012
|
+
'Add fillet to all edges (R=2mm)',
|
|
1013
|
+
'Add chamfer to mounting holes (1mm × 45°)',
|
|
1014
|
+
'Check in 3D: looks professional'
|
|
1015
|
+
]
|
|
1016
|
+
},
|
|
1017
|
+
{
|
|
1018
|
+
id: 'tut_assembly',
|
|
1019
|
+
title: 'Building an Assembly',
|
|
1020
|
+
description: 'Combine parts with constraints.',
|
|
1021
|
+
steps: [
|
|
1022
|
+
'Switch to Assembly workspace',
|
|
1023
|
+
'Add base component (bracket.ccad)',
|
|
1024
|
+
'Add shaft component',
|
|
1025
|
+
'Mate base face to mounting surface',
|
|
1026
|
+
'Mate shaft center to hole center',
|
|
1027
|
+
'Generate BOM: see part list',
|
|
1028
|
+
'Create exploded view animation'
|
|
1029
|
+
]
|
|
1030
|
+
},
|
|
1031
|
+
{
|
|
1032
|
+
id: 'tut_drawing',
|
|
1033
|
+
title: 'Creating Engineering Drawing',
|
|
1034
|
+
description: 'Generate 2D views with dimensions.',
|
|
1035
|
+
steps: [
|
|
1036
|
+
'Switch to Drawing workspace',
|
|
1037
|
+
'Add front and top views',
|
|
1038
|
+
'Add dimensions to critical features',
|
|
1039
|
+
'Add notes: material, finish, tolerances',
|
|
1040
|
+
'Insert title block with company info',
|
|
1041
|
+
'Export as PDF for manufacturing'
|
|
1042
|
+
]
|
|
1043
|
+
}
|
|
1044
|
+
],
|
|
1045
|
+
|
|
1046
|
+
init() {
|
|
1047
|
+
this.registerHelpUI();
|
|
1048
|
+
this.setupKeyboardShortcuts();
|
|
1049
|
+
},
|
|
1050
|
+
|
|
1051
|
+
registerHelpUI() {
|
|
1052
|
+
// Would be wired into main UI
|
|
1053
|
+
console.log('[Help] v3.2 initialized with', this.helpEntries.length, 'entries');
|
|
1054
|
+
},
|
|
1055
|
+
|
|
1056
|
+
setupKeyboardShortcuts() {
|
|
1057
|
+
document.addEventListener('keydown', (e) => {
|
|
1058
|
+
if (e.key === '?') {
|
|
1059
|
+
this.openHelpPanel();
|
|
1060
|
+
}
|
|
1061
|
+
});
|
|
1062
|
+
},
|
|
1063
|
+
|
|
1064
|
+
openHelpPanel() {
|
|
1065
|
+
// Opens help sidebar with search
|
|
1066
|
+
console.log('[Help] Opening help panel');
|
|
1067
|
+
},
|
|
1068
|
+
|
|
1069
|
+
searchHelp(query) {
|
|
1070
|
+
const q = query.toLowerCase();
|
|
1071
|
+
return this.helpEntries.filter(entry =>
|
|
1072
|
+
entry.title.toLowerCase().includes(q) ||
|
|
1073
|
+
entry.description.toLowerCase().includes(q) ||
|
|
1074
|
+
entry.tags.some(tag => tag.includes(q))
|
|
1075
|
+
);
|
|
1076
|
+
},
|
|
1077
|
+
|
|
1078
|
+
getEntriesByCategory(category) {
|
|
1079
|
+
return this.helpEntries.filter(entry => entry.category === category);
|
|
1080
|
+
},
|
|
1081
|
+
|
|
1082
|
+
getContextualHelp(context) {
|
|
1083
|
+
// Return relevant help based on current workspace/mode
|
|
1084
|
+
const mapping = {
|
|
1085
|
+
'sketch': ['sk_overview', 'sk_line', 'sk_circle', 'sk_constraint'],
|
|
1086
|
+
'modeling': ['md_extrude', 'md_revolve', 'md_fillet', 'md_boolean'],
|
|
1087
|
+
'assembly': ['as_overview', 'as_add_component', 'as_joint_mate'],
|
|
1088
|
+
'drawing': ['dw_overview', 'dw_dimension', 'dw_export_pdf'],
|
|
1089
|
+
'render': ['rn_overview', 'rn_material', 'rn_lighting'],
|
|
1090
|
+
'cam': ['cm_overview', 'cm_operation', 'cm_gcode']
|
|
1091
|
+
};
|
|
1092
|
+
return mapping[context] || [];
|
|
1093
|
+
}
|
|
1094
|
+
};
|
|
1095
|
+
|
|
1096
|
+
export default HelpModule;
|