OpenSCAD Workshop Tool Modeling
Create parametric 3D models of workshop tools for layout planning and visualization.
Workflow
1. Gather Specifications
Collect from user, manuals, or product pages:
- Dimensions: Overall W x D x H, base plate size
- Weight: Helps verify scale is reasonable
- Key features: Chuck size, motor power, speeds (for header comment)
- Reference image: Essential for component identification
2. Identify Components
Decompose tool into logical modules. See references/code-structure.md for decomposition patterns by tool type.
Typical components:
- Base/frame (static foundation)
- Main body/motor housing
- Moving parts (quill, blade guard, plunge mechanism)
- Controls (buttons, dials, levers)
- Accessories (vise, fence, dust port)
3. Write OpenSCAD File
Follow the standardized structure in references/code-structure.md:
/* [Section] */ // Customizer sections
// Comment // Parameter description
param = value; // Actual parameter
module component() { ... } // One module per component
module tool_name() { ... } // Assembly module
tool_name(); // Render call
echo("=== ... ==="); // Debug output
Key patterns:
- Use
$fn = $preview ? 32 : 64 for quality switching
- Apply brand colors from reference table
- Include
show_* toggles for optional components
- Use
hull() for rounded shapes
- Add floor reference plane for context
4. Render Preview
openscad -o images/tool-name.png \
--autocenter --viewall \
--imgsize=800,1000 \
/path/to/tool.scad
5. Iterate
Adjust proportions based on visual comparison to reference image.
File Location
Save to: workshop/tools/<brand>-<model>.scad
Examples:
workshop/tools/bosch-pbd40.scad
workshop/tools/festool-ctl-midi.scad
workshop/tools/festool-ts55.scad
Quick Reference
| Tool Type |
Key Dimensions |
Critical Components |
| Drill press |
Base, column height, head depth |
Column, quill, chuck, handwheel |
| Track saw |
Body L x W x H, blade dia |
Base plate, blade guard, handle |
| Vacuum |
L x W x H, wheel dia |
Body, wheels, handle, hose port |
| Bandsaw |
Table size, throat depth |
Frame, table, blade guides |
1---2name: openscad-workshop-tools3description: Create parametric OpenSCAD 3D models of workshop tools (drill presses, vacuums, saws, etc.) for workshop layout planning. Use when asked to "model a tool", "create OpenSCAD for [tool]", "add [tool] to workshop", or when planning workshop layouts that need tool representations. Supports brand-accurate colors (Bosch, Festool, Makita, DeWalt, Milwaukee) and standardized code structure with customizer parameters.4---5
6# OpenSCAD Workshop Tool Modeling
7
8Create parametric 3D models of workshop tools for layout planning and visualization.
9
10## Workflow
11
12### 1. Gather Specifications
13
14Collect from user, manuals, or product pages:
15- **Dimensions**: Overall W x D x H, base plate size
16- **Weight**: Helps verify scale is reasonable
17- **Key features**: Chuck size, motor power, speeds (for header comment)
18- **Reference image**: Essential for component identification
19
20### 2. Identify Components
21
22Decompose tool into logical modules. See [references/code-structure.md](references/code-structure.md) for decomposition patterns by tool type.
23
24Typical components:
25- Base/frame (static foundation)
26- Main body/motor housing
27- Moving parts (quill, blade guard, plunge mechanism)
28- Controls (buttons, dials, levers)
29- Accessories (vise, fence, dust port)
30
31### 3. Write OpenSCAD File
32
33Follow the standardized structure in [references/code-structure.md](references/code-structure.md):
34
35```openscad
36/* [Section] */ // Customizer sections
37// Comment // Parameter description
38param = value; // Actual parameter
39
40module component() { ... } // One module per component
41module tool_name() { ... } // Assembly module
42tool_name(); // Render call
43echo("=== ... ==="); // Debug output
44```
45
46**Key patterns:**
47- Use `$fn = $preview ? 32 : 64` for quality switching
48- Apply brand colors from reference table
49- Include `show_*` toggles for optional components
50- Use `hull()` for rounded shapes
51- Add floor reference plane for context
52
53### 4. Render Preview
54
55```bash
56openscad -o images/tool-name.png \
57 --autocenter --viewall \
58 --imgsize=800,1000 \
59 /path/to/tool.scad
60```
61
62### 5. Iterate
63
64Adjust proportions based on visual comparison to reference image.
65
66## File Location
67
68Save to: `workshop/tools/<brand>-<model>.scad`
69
70Examples:
71- `workshop/tools/bosch-pbd40.scad`
72- `workshop/tools/festool-ctl-midi.scad`
73- `workshop/tools/festool-ts55.scad`
74
75## Quick Reference
76
77| Tool Type | Key Dimensions | Critical Components |
78|-----------|---------------|---------------------|
79| Drill press | Base, column height, head depth | Column, quill, chuck, handwheel |
80| Track saw | Body L x W x H, blade dia | Base plate, blade guard, handle |
81| Vacuum | L x W x H, wheel dia | Body, wheels, handle, hose port |
82| Bandsaw | Table size, throat depth | Frame, table, blade guides |