cyclecad 3.2.0 → 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.
- 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,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!** 🚀
|