cyclecad 3.2.1 → 3.4.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.
Files changed (65) hide show
  1. package/DOCKER-SETUP-VERIFICATION.md +399 -0
  2. package/DOCKER-TESTING.md +463 -0
  3. package/FUSION360_MODULES.md +478 -0
  4. package/FUSION_MODULES_README.md +352 -0
  5. package/INTEGRATION_SNIPPETS.md +608 -0
  6. package/KILLER-FEATURES-DELIVERY.md +469 -0
  7. package/MODULES_SUMMARY.txt +337 -0
  8. package/QUICK_REFERENCE.txt +298 -0
  9. package/README-DOCKER-TESTING.txt +438 -0
  10. package/app/index.html +23 -10
  11. package/app/js/fusion-help.json +1808 -0
  12. package/app/js/help-module-v3.js +1096 -0
  13. package/app/js/killer-features-help.json +395 -0
  14. package/app/js/killer-features.js +1508 -0
  15. package/app/js/modules/fusion-assembly.js +842 -0
  16. package/app/js/modules/fusion-cam.js +785 -0
  17. package/app/js/modules/fusion-data.js +814 -0
  18. package/app/js/modules/fusion-drawing.js +844 -0
  19. package/app/js/modules/fusion-inspection.js +756 -0
  20. package/app/js/modules/fusion-render.js +774 -0
  21. package/app/js/modules/fusion-simulation.js +986 -0
  22. package/app/js/modules/fusion-sketch.js +1044 -0
  23. package/app/js/modules/fusion-solid.js +1095 -0
  24. package/app/js/modules/fusion-surface.js +949 -0
  25. package/app/tests/FUSION_TEST_SUITE.md +266 -0
  26. package/app/tests/README.md +77 -0
  27. package/app/tests/TESTING-CHECKLIST.md +177 -0
  28. package/app/tests/TEST_SUITE_SUMMARY.txt +236 -0
  29. package/app/tests/brep-live-test.html +848 -0
  30. package/app/tests/docker-integration-test.html +811 -0
  31. package/app/tests/fusion-all-tests.html +670 -0
  32. package/app/tests/fusion-assembly-tests.html +461 -0
  33. package/app/tests/fusion-cam-tests.html +421 -0
  34. package/app/tests/fusion-simulation-tests.html +421 -0
  35. package/app/tests/fusion-sketch-tests.html +613 -0
  36. package/app/tests/fusion-solid-tests.html +529 -0
  37. package/app/tests/index.html +453 -0
  38. package/app/tests/killer-features-test.html +509 -0
  39. package/app/tests/run-tests.html +874 -0
  40. package/app/tests/step-import-live-test.html +1115 -0
  41. package/app/tests/test-agent-v3.html +93 -696
  42. package/architecture-dashboard.html +1970 -0
  43. package/docs/API-REFERENCE.md +1423 -0
  44. package/docs/BREP-LIVE-TEST-GUIDE.md +453 -0
  45. package/docs/DEVELOPER-GUIDE-v3.md +795 -0
  46. package/docs/DOCKER-QUICK-TEST.md +376 -0
  47. package/docs/FUSION-FEATURES-GUIDE.md +2513 -0
  48. package/docs/FUSION-TUTORIAL.md +1203 -0
  49. package/docs/INFRASTRUCTURE-GUIDE-INDEX.md +327 -0
  50. package/docs/KEYBOARD-SHORTCUTS.md +402 -0
  51. package/docs/KILLER-FEATURES-INTEGRATION.md +412 -0
  52. package/docs/KILLER-FEATURES-SUMMARY.md +424 -0
  53. package/docs/KILLER-FEATURES-TUTORIAL.md +784 -0
  54. package/docs/KILLER-FEATURES.md +562 -0
  55. package/docs/QUICK-REFERENCE.md +282 -0
  56. package/docs/README-v3-DOCS.md +274 -0
  57. package/docs/TUTORIAL-v3.md +1190 -0
  58. package/docs/architecture-dashboard.html +1970 -0
  59. package/docs/architecture-v3.html +1038 -0
  60. package/linkedin-post-v3.md +58 -0
  61. package/package.json +1 -1
  62. package/scripts/dev-setup.sh +338 -0
  63. package/scripts/docker-health-check.sh +159 -0
  64. package/scripts/integration-test.sh +311 -0
  65. package/scripts/test-docker.sh +515 -0
@@ -0,0 +1,784 @@
1
+ # Killer Features Tutorial — Step-by-Step Guides
2
+
3
+ This tutorial walks you through each of the 10 killer features with real-world examples.
4
+
5
+ ---
6
+
7
+ ## Tutorial 1: AI Design Copilot Chat
8
+
9
+ ### Goal: Create a custom gear in 30 seconds
10
+
11
+ **Time: 5 minutes**
12
+
13
+ ### Step 1: Open the Copilot
14
+ 1. Press **Ctrl+K** (or Cmd+K on Mac)
15
+ 2. The Copilot panel appears in the bottom-right corner
16
+ 3. You see the prompt: "Try: 'gear 24 teeth module 2'"
17
+
18
+ ### Step 2: Create Your First Gear
19
+ 1. In the input field, type: `gear 32 teeth module 3`
20
+ 2. Press **Enter**
21
+ 3. Watch the console: "Parsing intent... Creating gear 32T, module 3"
22
+ 4. The gear appears in the 3D viewport with:
23
+ - 32 teeth evenly distributed
24
+ - Module 3 pitch
25
+ - 10mm bore hole (default)
26
+ - PBR material (shiny steel look)
27
+
28
+ ### Step 3: Create More Complex Geometry
29
+ 1. Try: `bracket 120x60x8 with holes`
30
+ 2. An L-shaped bracket appears with mounting holes
31
+ 3. Try: `cylinder 50mm diameter 100 tall`
32
+ 4. A cylindrical shaft appears
33
+
34
+ ### Step 4: Multi-Step Commands
35
+ 1. Try: `gear 20 teeth module 2, bore 12mm`
36
+ 2. A smaller pinion gear with 12mm bore is created
37
+ 3. You can now have both gears in the scene
38
+
39
+ ### Tips
40
+
41
+ - **Typos are OK**: "gear" works, "geer" works, "dieameter" works
42
+ - **Units implied**: All dimensions in mm
43
+ - **Parametric ready**: Any created geometry can be modified in the Parameter Table
44
+ - **Undo supported**: Press Ctrl+Z to undo copilot commands
45
+
46
+ ### Next: Try These Commands
47
+
48
+ ```
49
+ "gear 40 teeth, module 4, bore 15mm"
50
+ "bracket 100x80x10 with 4 holes"
51
+ "washer, inner 10mm, outer 25mm"
52
+ "shaft 50mm long, diameter 12mm"
53
+ ```
54
+
55
+ ---
56
+
57
+ ## Tutorial 2: Physics Simulation
58
+
59
+ ### Goal: Test if your bracket survives a drop
60
+
61
+ **Time: 10 minutes**
62
+
63
+ ### Step 1: Create a Test Model
64
+ 1. Use the Copilot to create: `bracket 100x50x5`
65
+ 2. Or import an existing part
66
+
67
+ ### Step 2: Enable Physics Simulation
68
+ 1. Press **Ctrl+P** to toggle physics
69
+ 2. The console shows: "[Physics] Simulation started"
70
+ 3. All meshes become physics bodies
71
+ 4. Gravity is applied immediately
72
+
73
+ ### Step 3: Observe the Simulation
74
+ 1. Your bracket falls due to gravity
75
+ 2. When it hits the "ground" (at y = -50), it bounces
76
+ 3. The bounce coefficient is 0.6 (60% energy rebound)
77
+ 4. Watch for color changes:
78
+ - **Blue**: Safe (stress < 25%)
79
+ - **Yellow**: Warning (stress 25–50%)
80
+ - **Red**: Critical (stress > 50%)
81
+
82
+ ### Step 4: Identify Stress Hotspots
83
+ 1. As the bracket falls, certain areas turn yellow then red
84
+ 2. These are the areas most likely to crack
85
+ 3. Take note of corners and edges
86
+ 4. These are where you should add fillets
87
+
88
+ ### Step 5: Optimize Based on Simulation
89
+ 1. Press **Ctrl+T** to open the Parameter Table
90
+ 2. Increase `fillet_radius` from 5 to 10
91
+ 3. The bracket is rebuilt instantly
92
+ 4. Press **Ctrl+P** again to re-run physics
93
+ 5. Notice the bracket now handles impact better (less red stress)
94
+
95
+ ### Tips
96
+
97
+ - **Damping**: Air resistance is built in (0.99x per frame)
98
+ - **Collision**: Any two meshes within bounding box volume collide
99
+ - **Stop simulation**: Press Ctrl+P again to toggle off
100
+ - **Multiple objects**: All meshes simulate together
101
+
102
+ ### Understanding Stress Colors
103
+
104
+ ```
105
+ Temperature gradient: Blue → Yellow → Red
106
+ 0% stress (safe) 50% (warning) 100% (critical)
107
+ │ │ │
108
+ └─────────────────────┴───────────────┘
109
+ ```
110
+
111
+ ### Experiment: Test Different Wall Thicknesses
112
+
113
+ 1. Parameter Table → Set `wall_thickness = 1.5`
114
+ 2. Run physics → Notice more red stress
115
+ 3. Set `wall_thickness = 3.5`
116
+ 4. Run physics → Less red stress
117
+ 5. Find the sweet spot where stress is minimal
118
+
119
+ ---
120
+
121
+ ## Tutorial 3: Generative Design
122
+
123
+ ### Goal: Create a lightweight bracket with 50% material
124
+
125
+ **Time: 12 minutes**
126
+
127
+ ### Step 1: Set Up Your Base Model
128
+ 1. Use Copilot: `bracket 100x50x10`
129
+ 2. You have a solid rectangular bracket
130
+
131
+ ### Step 2: Open Generative Design
132
+ 1. Press **Ctrl+G**
133
+ 2. The Generative Design panel appears on the right
134
+ 3. You see sliders for:
135
+ - Material Budget: 10–100% (default 50%)
136
+ - Iterations: 1–100 (default 20)
137
+
138
+ ### Step 3: Generate Optimized Topology
139
+ 1. Keep Material Budget at **50%** (half the material)
140
+ 2. Set Iterations to **40** (more iterations = more refinement)
141
+ 3. Click **"Generate Optimized Structure"**
142
+ 4. Watch the progress bar: "Generating struts: 25%"
143
+ 5. The algorithm:
144
+ - Creates 40 Voronoi cells in the design space
145
+ - Connects nearby cells with struts
146
+ - Prunes unnecessary connections
147
+ - Shows the lattice structure
148
+
149
+ ### Step 4: Analyze the Result
150
+ 1. The lattice appears in the viewport
151
+ 2. It's made of struts (lines) connecting nodes
152
+ 3. The overall shape preserves the original bracket outline
153
+ 4. But it's now 50% lighter
154
+
155
+ ### Step 5: Compare Weight
156
+ 1. Original bracket weight: ~500g (estimate)
157
+ 2. Optimized bracket weight: ~250g (50% reduction)
158
+ 3. Stiffness is preserved by smart strut placement
159
+ 4. Perfect for aerospace or automotive
160
+
161
+ ### Material Budget Examples
162
+
163
+ | Budget | Use Case | Weight Reduction |
164
+ |--------|----------|------------------|
165
+ | 30% | Racing drone frame | 70% lighter |
166
+ | 50% | Aircraft bracket | 50% lighter |
167
+ | 70% | Car suspension | 30% lighter |
168
+ | 90% | Industrial mounting | 10% lighter |
169
+
170
+ ### Tips
171
+
172
+ - **More iterations = better topology** (but takes longer)
173
+ - **Lower budget = more sparse** (more artistic, less stiff)
174
+ - **Lattice is exportable** — Export as STL for 3D printing
175
+ - **You can refine** — Add fillets to struts, chamfer connections
176
+
177
+ ### Advanced: Multi-Step Optimization
178
+
179
+ 1. Generate with 50% budget
180
+ 2. Analyze the result
181
+ 3. Generate again with 40% budget
182
+ 4. Compare both versions in Version Control
183
+ 5. Pick the best one for your application
184
+
185
+ ---
186
+
187
+ ## Tutorial 4: Real-time Cost Estimator
188
+
189
+ ### Goal: Compare manufacturing costs for three methods
190
+
191
+ **Time: 8 minutes**
192
+
193
+ ### Step 1: Create a Part to Cost
194
+ 1. Use Copilot: `bracket 100x50x10`
195
+ 2. The cost estimator shows at the top-right
196
+ 3. It shows three boxes:
197
+ - **CNC Machining**: $XXX
198
+ - **3D Printing**: $XXX
199
+ - **Injection Mold**: $X.XX per unit
200
+
201
+ ### Step 2: Understand the Costs
202
+ 1. **CNC Machining**: $50–500 depending on size
203
+ - Formula: $15 per minute × (volume/10)
204
+ - Good for: One-offs, prototypes, small batches
205
+ - Lead time: 5–10 days
206
+
207
+ 2. **3D Printing**: $25–100
208
+ - Formula: $0.10 per cm³
209
+ - Good for: Rapid prototyping, complex geometry
210
+ - Lead time: 1–3 days
211
+
212
+ 3. **Injection Mold**: $5.05–50 per unit
213
+ - Formula: ($5,000 tooling + $0.05 per cm³) / 1000 units
214
+ - Good for: High-volume production
215
+ - Lead time: 2–4 weeks
216
+
217
+ ### Step 3: See the Recommendation
218
+ 1. Look at the bottom of the cost panel
219
+ 2. It says: **"3D Print is cheapest"** (or CNC, or Injection)
220
+ 3. This changes as you modify the model
221
+
222
+ ### Step 4: Experiment with Geometry
223
+ 1. **Make it bigger**: Add features → cost goes up
224
+ 2. Estimator recalculates every second
225
+ 3. Watch how costs change in real-time
226
+
227
+ ### Step 5: Make a Decision
228
+ 1. If you need 1 unit: Choose 3D Print or CNC
229
+ 2. If you need 100 units: CNC becomes cheaper
230
+ 3. If you need 1,000+ units: Injection mold becomes best option
231
+
232
+ ### Cost Decision Matrix
233
+
234
+ ```
235
+ 1 part: 3D Print ($50) < CNC ($200) << Injection ($5,050)
236
+ 10 parts: 3D Print ($500) < CNC ($1,500) << Injection ($500)
237
+ 100 parts: CNC ($1,200) < 3D Print ($2,000) < Injection ($505)
238
+ 1000 parts: Injection ($5,050) < CNC ($12,000) << 3D Print ($20,000)
239
+ ```
240
+
241
+ ### Pro Tips
242
+
243
+ - **Combine methods**: Injection mold case + 3D print prototype inside
244
+ - **Consider post-processing**: Add finishing costs to final estimate
245
+ - **Account for material**: Titanium costs 5× steel in all methods
246
+ - **Use for ROI**: "At what volume does injection mold break even?"
247
+
248
+ ---
249
+
250
+ ## Tutorial 5: Smart Snap & Auto-Dimension
251
+
252
+ ### Goal: Assemble parts automatically and generate drawing
253
+
254
+ **Time: 10 minutes**
255
+
256
+ ### Step 1: Create Multiple Parts
257
+ 1. Copilot: `bracket 100x50x5`
258
+ 2. Copilot: `shaft 50mm diameter 12mm` (creates a shaft)
259
+ 3. Copilot: `washer, inner 12mm, outer 25mm`
260
+ 4. You now have 3 parts in the viewport, scattered
261
+
262
+ ### Step 2: Enable Smart Snap
263
+ 1. Smart Snap is enabled by default
264
+ 2. Snap distance is 15 pixels
265
+
266
+ ### Step 3: Drag Parts to Snap
267
+ 1. Click and drag the washer towards the shaft
268
+ 2. As you get within 15px, a snap preview appears
269
+ 3. The system auto-detects: "concentric mate" (shaft through washer)
270
+ 4. Release mouse → washer snaps onto shaft
271
+ 5. They're now perfectly aligned
272
+
273
+ ### Step 4: Snap the Bracket
274
+ 1. Drag the shaft towards the bracket
275
+ 2. System detects: "tangent mate" (shaft rests on bracket)
276
+ 3. Release → shaft snaps into place on bracket
277
+ 4. You've assembled all parts without manual positioning!
278
+
279
+ ### Step 5: Auto-Generate Drawing
280
+ 1. Menu: File → Generate Drawing
281
+ 2. A new window opens with an engineering drawing
282
+ 3. The drawing includes:
283
+ - Three orthogonal views (Front, Top, Side)
284
+ - Auto-placed dimensions (bolt holes, ø25, 100, etc.)
285
+ - Title block with document info
286
+ - Bill of Materials table (3 items)
287
+ - ISO standard layout
288
+
289
+ ### Step 6: Export Drawing
290
+ 1. The drawing is shown as PNG at 200 DPI
291
+ 2. Button: "Download Drawing"
292
+ 3. You get a PDF-ready image that can be sent to a machine shop
293
+
294
+ ### Bolt Circle Detection Example
295
+
296
+ If you create 4 holes in a circle:
297
+ ```
298
+ Copilot: "gear 8 teeth"
299
+ Copilot: "gear 8 teeth" (again, 4 times)
300
+ Arrange them in a circle manually
301
+ ```
302
+
303
+ Smart Snap detects: **"4 holes on Ø80 circle"**
304
+ And auto-dimensions them on the drawing.
305
+
306
+ ### Tips
307
+
308
+ - **Snap distance**: Configurable, default 15px
309
+ - **Pattern detection**: Automatic, not manual
310
+ - **Drawing generation**: One-click, ISO 128 format
311
+ - **You can edit**: Download the PNG and add notes in Photoshop
312
+
313
+ ---
314
+
315
+ ## Tutorial 6: Version Control Visual Diff
316
+
317
+ ### Goal: Track design iterations with visual comparison
318
+
319
+ **Time: 8 minutes**
320
+
321
+ ### Step 1: Create Initial Design
322
+ 1. Copilot: `bracket 100x50x10`
323
+ 2. You have your first design
324
+
325
+ ### Step 2: Save a Version
326
+ 1. Bottom-left panel: Version Control
327
+ 2. Click **"Save Version"**
328
+ 3. The system creates a snapshot
329
+ 4. You see in history: `main/a3f2c1 · 1 features`
330
+
331
+ ### Step 3: Modify the Design
332
+ 1. Parameter Table: Change `width = 120`
333
+ 2. The bracket is now wider
334
+ 3. The version control panel still shows the old version
335
+
336
+ ### Step 4: Compare Two Versions
337
+ 1. Click **"Show Diff"**
338
+ 2. The visualization shows:
339
+ - Modified areas: **ORANGE**
340
+ - The wider section is highlighted
341
+ - The diff overlay helps you see what changed
342
+
343
+ ### Step 5: Create a Branch
344
+ 1. Version Control dropdown: Switch to `feature/reinforced`
345
+ 2. Modify design: Add fillets, increase wall thickness
346
+ 3. Save as new version
347
+ 4. You can now compare:
348
+ - main/a3f2c1 (original)
349
+ - feature/reinforced/b4g3d2 (your modification)
350
+
351
+ ### Step 6: Visual Diff Examples
352
+
353
+ **Before:**
354
+ ```
355
+ Original bracket:
356
+ 100mm wide, 50mm tall, 5mm thick
357
+ ```
358
+
359
+ **After:**
360
+ ```
361
+ Modified bracket:
362
+ 120mm wide, 50mm tall, 8mm thick
363
+ ```
364
+
365
+ **Visual Diff:**
366
+ - Green areas: New added material
367
+ - Red areas: Removed material
368
+ - Orange areas: Modified dimensions
369
+
370
+ ### Multi-Version Workflow
371
+
372
+ ```
373
+ main/v1.0 (original design)
374
+ ↓ (save)
375
+ feature/weight-opt (generative design applied)
376
+ ↓ (compare)
377
+ main/v1.1 (approved for production)
378
+ ↓ (branch)
379
+ feature/cad-fixups (fix issues found in testing)
380
+ ↓ (merge)
381
+ main/v1.2 (production release)
382
+ ```
383
+
384
+ ### Tips
385
+
386
+ - **Save often**: Every design milestone
387
+ - **Name branches**: feature/*, bugfix/*, release/*
388
+ - **Diff is visual**: See changes instantly, no git commands
389
+ - **Restore anytime**: Click any version to load it
390
+
391
+ ---
392
+
393
+ ## Tutorial 7: Parametric Table
394
+
395
+ ### Goal: Create a family of 10 bracket sizes with formulas
396
+
397
+ **Time: 10 minutes**
398
+
399
+ ### Step 1: Create Your Base Bracket
400
+ 1. Copilot: `bracket 100x50x10`
401
+ 2. Press **Ctrl+T** to open Parameter Table
402
+ 3. You see all parameters:
403
+ - width: 100
404
+ - height: 50
405
+ - depth: 10
406
+ - wall_thickness: 2
407
+ - hole_diameter: 10
408
+ - fillet_radius: 5
409
+
410
+ ### Step 2: Add Formulas for Dependencies
411
+ 1. Click the formula cell for `hole_diameter`
412
+ 2. Enter: `=wall_thickness*5`
413
+ 3. Press Enter → hole_diameter updates to 10 (2×5)
414
+ 4. Click formula for `fillet_radius`
415
+ 5. Enter: `=wall_thickness*2.5`
416
+ 6. Press Enter → fillet_radius updates to 5 (2×2.5)
417
+
418
+ ### Step 3: Create Variations
419
+ 1. Change `wall_thickness` to 1 → everything recalculates
420
+ - hole_diameter: 5
421
+ - fillet_radius: 2.5
422
+ 2. Change `wall_thickness` to 3 → everything recalculates
423
+ - hole_diameter: 15
424
+ - fillet_radius: 7.5
425
+ 3. Geometry updates LIVE in viewport
426
+
427
+ ### Step 4: Export as CSV
428
+ 1. Click **"Export CSV"**
429
+ 2. Download file: `parameters.csv`
430
+ 3. Open in Excel or Google Sheets
431
+ 4. File contents:
432
+ ```csv
433
+ Name,Value,Unit,Formula
434
+ width,100,mm,
435
+ height,50,mm,
436
+ depth,10,mm,
437
+ wall_thickness,3,mm,
438
+ hole_diameter,15,mm,=wall_thickness*5
439
+ fillet_radius,7.5,mm,=wall_thickness*2.5
440
+ ```
441
+
442
+ ### Step 5: Import and Modify
443
+ 1. Edit the CSV in Excel:
444
+ ```csv
445
+ width,150,mm, # Make it wider
446
+ wall_thickness,2,mm, # Thinner walls
447
+ ```
448
+ 2. Save as CSV
449
+ 3. Back in cycleCAD: Click **"Import CSV"**
450
+ 4. All parameters update, geometry rebuilds
451
+
452
+ ### Step 6: Create a Family of Sizes
453
+
454
+ Create multiple copies with different parameters:
455
+
456
+ **Size S (small):**
457
+ ```
458
+ width: 80, height: 40, depth: 8
459
+ wall_thickness: 1.5
460
+ Formulas calculate: hole_dia: 7.5, fillet: 3.75
461
+ ```
462
+
463
+ **Size M (medium):**
464
+ ```
465
+ width: 100, height: 50, depth: 10
466
+ wall_thickness: 2.0
467
+ Formulas calculate: hole_dia: 10, fillet: 5.0
468
+ ```
469
+
470
+ **Size L (large):**
471
+ ```
472
+ width: 150, height: 75, depth: 15
473
+ wall_thickness: 3.0
474
+ Formulas calculate: hole_dia: 15, fillet: 7.5
475
+ ```
476
+
477
+ ### Advanced Formula Examples
478
+
479
+ ```
480
+ bolt_hole_count = =5 + (width/20) # More holes for wider brackets
481
+ boss_height = =wall_thickness + 5 # Boss is always 5mm taller than walls
482
+ tab_width = =width * 0.3 # Tab is 30% of bracket width
483
+ ```
484
+
485
+ ### Tips
486
+
487
+ - **Formulas are live**: Change one value, everything updates
488
+ - **CSV roundtrip**: Export, modify, import
489
+ - **No limits**: Create 100+ parameter variations
490
+ - **Undo works**: Every change is tracked
491
+ - **Family of parts**: One spreadsheet = 10 similar parts
492
+
493
+ ---
494
+
495
+ ## Tutorial 8: Smart Assembly Mating
496
+
497
+ ### Goal: Assemble a complete gearbox in 3 minutes
498
+
499
+ **Time: 8 minutes**
500
+
501
+ ### Step 1: Create All Parts
502
+ 1. Copilot: `shaft 30mm diameter 150 tall`
503
+ 2. Copilot: `gear 24 teeth module 3, bore 30mm`
504
+ 3. Copilot: `gear 32 teeth module 3, bore 30mm`
505
+ 4. Copilot: `bearing, inner bore 30mm`
506
+ 5. Copilot: `housing, cavity 80mm`
507
+ 6. You have 5 parts, all in different locations
508
+
509
+ ### Step 2: Position First Shaft
510
+ 1. Click and drag the shaft towards the housing
511
+ 2. System detects: "tangent mate" (shaft goes through housing)
512
+ 3. Release → shaft snaps perfectly centered in housing
513
+
514
+ ### Step 3: Add First Gear
515
+ 1. Click and drag the first gear (24T) towards the shaft
516
+ 2. System detects: "concentric mate" (bore aligned with shaft)
517
+ 3. Release → gear snaps onto shaft, perfectly centered
518
+ 4. The bore is now at the same height as the shaft axis
519
+
520
+ ### Step 4: Add Bearing
521
+ 1. Click and drag bearing onto the shaft
522
+ 2. System detects: "concentric mate"
523
+ 3. Release → bearing is on shaft, centered
524
+ 4. Bearing can slide along shaft length
525
+
526
+ ### Step 5: Add Second Gear
527
+ 1. Click and drag 32T gear towards 24T gear
528
+ 2. System detects: "tangent mate" (gears mesh)
529
+ 3. Release → gears snap together at correct mesh distance
530
+ 4. They're now properly engaged
531
+
532
+ ### Step 6: Verify Assembly
533
+ 1. All parts are now assembled correctly
534
+ 2. Gears are meshed at the right distance
535
+ 3. Shafts are centered
536
+ 4. Everything is mechanically sound
537
+ 5. No manual positioning needed!
538
+
539
+ ### Mate Detection Rules
540
+
541
+ The system analyzes geometry:
542
+
543
+ ```
544
+ IF both objects have high aspect ratio (cylinder-like):
545
+ → CONCENTRIC mate (one inside the other)
546
+
547
+ ELSE IF one object is flat (aspect < 0.3):
548
+ → TANGENT mate (flat on cylinder surface)
549
+
550
+ ELSE:
551
+ → COINCIDENT mate (general overlap)
552
+ ```
553
+
554
+ ### Tips
555
+
556
+ - **Snap distance**: 20px (fairly forgiving)
557
+ - **Visual preview**: See snap point before releasing
558
+ - **Undo available**: Wrong snap? Ctrl+Z
559
+ - **Constraints are geometric**: Parts can slide along axes
560
+ - **Animation**: Snap happens with smooth easing
561
+
562
+ ### Advanced: Kinematic Assembly
563
+
564
+ After assembly, you can:
565
+ 1. Apply constraints (fixed points, sliding joints)
566
+ 2. Animate: Rotate first shaft, second gear rotates too
567
+ 3. Check interference: Do parts collide?
568
+ 4. Export animation: Create assembly sequence video
569
+
570
+ ---
571
+
572
+ ## Tutorial 9: Manufacturing Drawings Auto-Generator
573
+
574
+ ### Goal: Generate ISO 128 drawing in 10 seconds
575
+
576
+ **Time: 5 minutes**
577
+
578
+ ### Step 1: Prepare Your Model
579
+ 1. Create any part: `bracket 100x50x8`
580
+ 2. Or use existing design
581
+
582
+ ### Step 2: Generate Drawing
583
+ 1. Menu: File → Generate Drawing
584
+ 2. Or keyboard: (no shortcut, use menu)
585
+ 3. The generator processes:
586
+ - Analyzes geometry
587
+ - Creates orthogonal projections
588
+ - Places dimensions automatically
589
+ - Adds title block
590
+ - Creates BOM
591
+
592
+ ### Step 3: Drawing Generated
593
+ 1. New window opens showing PNG drawing
594
+ 2. Layout is ISO 128 standard:
595
+ - **Title block**: Bottom-right corner
596
+ - **Three views**: Front (left), Top (right), Side (below)
597
+ - **Dimensions**: Automatically placed
598
+ - **Notes**: Generic manufacturing notes
599
+ - **BOM**: List of all features
600
+
601
+ ### Step 4: Customize (Optional)
602
+ 1. Export as PNG
603
+ 2. Open in Photoshop, Illustrator, or Inkscape
604
+ 3. Add notes, change dimensions, adjust scale
605
+ 4. Print to PDF for machine shop
606
+
607
+ ### Step 5: Send to Manufacturing
608
+ 1. You now have a complete engineering drawing
609
+ 2. Send to:
610
+ - CNC machine shop (for machining)
611
+ - 3D print service (for printing)
612
+ - Injection mold shop (for molding)
613
+ 3. All required information is included
614
+
615
+ ### Drawing Content Example
616
+
617
+ ```
618
+ ┌─────────────────────────────────┐
619
+ │ ORTHOGONAL PROJECTIONS │
620
+ ├─────────────────────────────────┤
621
+ │ FRONT TOP │
622
+ │ ┌──────────┐ ┌──────────┐ │
623
+ │ │ ø25 │ │ 100 │ │
624
+ │ │ 100 │ │ │ │
625
+ │ │ │ └──────────┘ │
626
+ │ └──────────┘ 50 │
627
+ │ │
628
+ │ SIDE │
629
+ │ ┌──────────┐ │
630
+ │ │ 50 │ │
631
+ │ │ │ │
632
+ │ │ │ │
633
+ │ └──────────┘ │
634
+ │ 10 │
635
+ │ │
636
+ │ BILL OF MATERIALS │
637
+ │ ┌──────────────────────────┐ │
638
+ │ │ Item │ Description │ Qty │ │
639
+ │ │ 1 │ Bracket │ 1 │ │
640
+ │ │ 2 │ Fastener │ 4 │ │
641
+ │ └──────────────────────────┘ │
642
+ │ │
643
+ │ TITLE BLOCK │
644
+ │ Document: Bracket ASM.pdf │
645
+ │ Scale: 1:1 │
646
+ │ Date: 3/31/2026 │
647
+ │ Rev: A │
648
+ └─────────────────────────────────┘
649
+ ```
650
+
651
+ ### Tips
652
+
653
+ - **One-click**: No configuration needed
654
+ - **Standard format**: ISO 128 (can use ANSI if needed)
655
+ - **Automatic dimensions**: You don't place them manually
656
+ - **BOM is live**: Changes in model → BOM updates
657
+ - **PDF export**: Download for archival
658
+
659
+ ---
660
+
661
+ ## Tutorial 10: Digital Twin Live Data
662
+
663
+ ### Goal: Monitor a rotating shaft with live sensor data
664
+
665
+ **Time: 10 minutes**
666
+
667
+ ### Step 1: Create Your Model
668
+ 1. Copilot: `shaft 50mm diameter 200 tall`
669
+ 2. A realistic industrial shaft appears
670
+
671
+ ### Step 2: Enable Digital Twin
672
+ 1. Menu: View → Digital Twin
673
+ 2. Or check right sidebar
674
+ 3. HUD appears showing:
675
+ - Temperature: [████████░░] 55.2°C
676
+ - Vibration: [██████░░░░] 0.42 mm/s
677
+ - Wear: [███░░░░░░] 18%
678
+
679
+ ### Step 3: Watch Real-time Updates
680
+ 1. Colors change based on temperature:
681
+ - **Blue** (45–50°C): Normal operating
682
+ - **Yellow** (50–70°C): Elevated, monitor closely
683
+ - **Red** (70°C+): Critical, reduce load
684
+ 2. Vibration causes subtle scale animation
685
+ 3. Wear percentage increases slowly over time
686
+
687
+ ### Step 4: Interpret the Data
688
+ 1. **Temperature 62°C**: Bearing running warm but safe
689
+ 2. **Vibration 0.58 mm/s**: Slightly high, check balance
690
+ 3. **Wear 23%**: No immediate service needed, schedule preventive maintenance in 3 months
691
+
692
+ ### Step 5: Simulate Degradation
693
+ 1. The system simulates sensor data every 100ms
694
+ 2. Watch wear increase over "time"
695
+ 3. When wear hits 80%, status shows: "⚠ CRITICAL"
696
+ 4. When temperature hits 75°C, status shows: "🔴 OVERHEAT"
697
+
698
+ ### Step 6: Predictive Maintenance
699
+ 1. Track the trends over time
700
+ 2. Extract historical data to CSV
701
+ 3. Use to predict failure:
702
+ - Linear extrapolation: "Wear will reach 100% in 47 days"
703
+ - Exponential model: "Failure likely in 2 weeks"
704
+ 4. Schedule maintenance before failure
705
+
706
+ ### Sensor Data Format
707
+
708
+ ```javascript
709
+ {
710
+ "timestamp": "2026-03-31T12:34:56.000Z",
711
+ "temperature": 62.3, // Celsius
712
+ "vibration": 0.58, // mm/s
713
+ "wear": 23.5 // Percentage (0–100%)
714
+ }
715
+ ```
716
+
717
+ ### Real-World Connection
718
+
719
+ To connect real sensors:
720
+
721
+ 1. **IoT Device**: Sends WebSocket messages to your cycleCAD instance
722
+ 2. **Format**: JSON with temp, vibration, wear
723
+ 3. **Frequency**: 100–1000ms updates
724
+ 4. **Protocol**: WebSocket wss:// for secure
725
+
726
+ ### Tips
727
+
728
+ - **Simulation mode**: Test with simulated data (default)
729
+ - **Real sensors**: Connect via WebSocket
730
+ - **Color feedback**: Instant visual status
731
+ - **Export data**: Download CSV for analysis
732
+ - **Predictive**: Use wear trends to schedule maintenance
733
+
734
+ ### Advanced: Multi-Sensor Array
735
+
736
+ Monitor multiple bearings:
737
+ 1. Shaft has 4 bearings
738
+ 2. Each bearing has its own sensor
739
+ 3. Dashboard shows all 4 simultaneously
740
+ 4. Identifies which bearing is failing
741
+ 5. Guides technician to fix the right one
742
+
743
+ ---
744
+
745
+ ## Quick Reference Cheat Sheet
746
+
747
+ ### Keyboard Shortcuts
748
+
749
+ ```
750
+ Ctrl+K / Cmd+K AI Copilot Chat
751
+ Ctrl+P / Cmd+P Physics Simulation
752
+ Ctrl+G / Cmd+G Generative Design
753
+ Ctrl+C / Cmd+C Cost Estimator (show)
754
+ Ctrl+T / Cmd+T Parameter Table
755
+ Ctrl+Z / Cmd+Z Undo
756
+ Ctrl+Y / Cmd+Y Redo
757
+ Ctrl+S / Cmd+S Save
758
+ ```
759
+
760
+ ### Feature Quick Start
761
+
762
+ | Feature | Open | Action |
763
+ |---------|------|--------|
764
+ | AI Copilot | Ctrl+K | Type command → Enter |
765
+ | Physics | Ctrl+P | Watch gravity simulation |
766
+ | Generative | Ctrl+G | Set budget → Generate |
767
+ | Cost | Ctrl+C | View live cost update |
768
+ | Parameters | Ctrl+T | Edit → Geometry rebuilds |
769
+ | Drawings | Menu | Click Generate → Download |
770
+ | Digital Twin | View menu | Watch live sensor data |
771
+
772
+ ---
773
+
774
+ ## Next Steps
775
+
776
+ 1. **Complete all tutorials** (60 minutes total)
777
+ 2. **Experiment with combinations** (AI Copilot + Generative Design)
778
+ 3. **Join the community** (share your designs on GitHub)
779
+ 4. **Contribute features** (fork the repo, add improvements)
780
+ 5. **Build something amazing** (design a mechanical part from scratch)
781
+
782
+ ---
783
+
784
+ **Happy designing!** 🚀