CAD Engineering Skill
Expert guidance on Computer-Aided Design systems, file formats, conversion technologies, and interoperability between CAD platforms.
Version Metadata
version: 1.0.0
python_min_version: '3.10'
compatibility:
tested_python:
- '3.10'
- '3.11'
- '3.12'
- '3.13'
os:
- Windows
- Linux
- macOS
Changelog
[1.0.0] - 2026-01-07
Added:
- Initial version metadata and dependency management
- Semantic versioning support
- Compatibility information for Python 3.10-3.13
Changed:
- Enhanced skill documentation structure
When to Use
- CAD software selection and guidance
- File format conversions (DWG, DXF, STEP, IGES, etc.)
- PDF to CAD conversion strategies
- Technical drawing analysis
- 3D modeling approaches
- Open-source vs proprietary CAD decisions
- CAD automation and scripting
- Cross-platform interoperability
Agent Capabilities
This skill integrates agent capabilities from /agents/cad-engineering-specialist/:
Open-Source CAD Expertise
| Software |
Capabilities |
| FreeCAD |
Parametric 3D modeling, Python scripting, workbench customization |
| LibreCAD |
2D drafting, DXF/DWG handling, command-line operations |
| OpenSCAD |
Programmatic 3D modeling, CSG operations, parametric design |
| QCAD |
Professional 2D CAD, scripting interface, batch processing |
| BRL-CAD |
Solid modeling, ray-tracing, geometric analysis |
| Blender |
CAD integration, mesh to solid conversion, technical visualization |
| KiCAD |
PCB design, electrical schematics, 3D board visualization |
Proprietary CAD Knowledge
| Software |
Capabilities |
| AutoCAD |
Full command set, AutoLISP/VBA automation, custom tools |
| SolidWorks |
Feature-based modeling, API programming, PDM integration |
| CATIA |
V5/V6 platforms, complex surfaces, PLM workflows |
| Inventor |
Parametric design, iLogic rules, Vault integration |
| Fusion 360 |
Cloud collaboration, generative design, CAM integration |
| Creo/Pro-E |
Advanced assembly, mechanism design |
| NX |
High-end manufacturing, synchronous technology |
File Format Expertise
| Category |
Formats |
| Native |
DWG, DXF, DGN, IGES, STEP, STL, SAT, Parasolid |
| Exchange |
IFC, COLLADA, OBJ, FBX, 3DS, VRML, X3D |
| Documentation |
PDF, SVG, EPS, DWF, 3D PDF |
Delegation Capability
This specialist agent delegates to software-specific agents:
delegation:
software_specific_agents:
freecad:
path: agents/freecad
capabilities:
- parametric_modeling
- assembly_design
- technical_drawings
gmsh:
path: agents/gmsh
capabilities:
- mesh_generation
- finite_element_preprocessing
- mesh_optimization
PDF to CAD Conversion
Conversion Strategy Selection
- Vector PDFs: Direct vector extraction
- Scanned Drawings: OCR and vectorization
- Mixed Content: Hybrid approach
- Complex Cases: Manual reconstruction
Conversion Tools
| Category |
Tools |
| Commercial |
AutoDWG, AnyDWG, Print2CAD, Scan2CAD, pdf2cad |
| Open-Source |
Inkscape+pstoedit, potrace, autotrace, pdf2dxf |
| Libraries |
OpenCV, Tesseract OCR, CADLib, LibreDWG, TeighaFile |
| Cloud Services |
Zamzar, CloudConvert, CAD Exchanger |
| AI/ML Tools |
Deep learning drawing recognition, neural vectorization |
PDF Analysis Workflow
from digitalmodel.agents.cad import PDFAnalyzer
# Analyze PDF type
analyzer = PDFAnalyzer()
analysis = analyzer.analyze("drawing.pdf")
print(f"PDF Type: {analysis['type']}") # vector/raster/hybrid
print(f"Creation Method: {analysis['creation_method']}")
print(f"Embedded Fonts: {analysis['fonts']}")
print(f"Layer Info: {analysis['layers']}")
print(f"Scale Detection: {analysis['detected_scale']}")
# Get conversion recommendation
recommendation = analyzer.recommend_conversion()
print(f"Recommended Tool: {recommendation['tool']}")
print(f"Expected Accuracy: {recommendation['accuracy']}")
print(f"Manual Cleanup: {recommendation['cleanup_required']}")
Conversion Quality Optimization
from digitalmodel.agents.cad import CADConverter
converter = CADConverter()
# Pre-processing for scanned PDFs
converter.preprocess(
input_file="scanned_drawing.pdf",
operations=[
"denoise",
"deskew",
"contrast_enhance"
]
)
# Vectorization with tuned parameters
result = converter.convert(
input_file="scanned_drawing.pdf",
output_file="drawing.dxf",
options={
"line_tolerance": 0.5,
"arc_detection": True,
"text_recognition": True,
"dimension_extraction": True
}
)
# Post-processing cleanup
converter.postprocess(
file="drawing.dxf",
operations=[
"remove_duplicates",
"close_gaps",
"standardize_layers"
]
)
Format Conversion Examples
STEP to DXF
from digitalmodel.agents.cad import FormatConverter
converter = FormatConverter()
# Convert STEP to DXF with projection
result = converter.convert(
input_file="model.step",
output_file="drawing.dxf",
projection="front", # top, front, right, isometric
scale=1.0,
layer_mapping={
"visible_edges": "0",
"hidden_edges": "hidden",
"dimensions": "dimensions"
}
)
DWG Version Conversion
# Convert between DWG versions
result = converter.convert(
input_file="drawing_2024.dwg",
output_file="drawing_2010.dwg",
target_version="2010" # For compatibility
)
Batch Format Conversion
from digitalmodel.agents.cad import BatchConverter
batch = BatchConverter()
# Convert all STEP files to IGES
results = batch.convert_directory(
input_directory="./step_files",
output_directory="./iges_files",
input_format="STEP",
output_format="IGES",
parallel=True,
workers=4
)
# Generate conversion report
batch.generate_report(results, "conversion_report.html")
Technical Drawing Analysis
from digitalmodel.agents.cad import DrawingAnalyzer
analyzer = DrawingAnalyzer()
# Analyze technical drawing
analysis = analyzer.analyze("technical_drawing.dxf")
# Extract information
print(f"Drawing Scale: {analysis['scale']}")
print(f"Units: {analysis['units']}")
print(f"Layers: {analysis['layers']}")
print(f"Blocks: {analysis['blocks']}")
print(f"Dimensions: {len(analysis['dimensions'])}")
print(f"Text Annotations: {len(analysis['text'])}")
# Validate against standards
validation = analyzer.validate(
standard="ISO", # or "ANSI", "DIN", "JIS"
checks=["layer_naming", "line_types", "dimensions"]
)
MCP Tool Integration
Swarm Coordination
// Initialize CAD expertise swarm
mcp__claude-flow__swarm_init { topology: "hierarchical", maxAgents: 5 }
// Spawn specialized agents
mcp__claude-flow__agent_spawn { type: "analyst", name: "format-analyzer" }
mcp__claude-flow__agent_spawn { type: "coder", name: "converter" }
mcp__claude-flow__agent_spawn { type: "reviewer", name: "quality-checker" }
Memory Coordination
// Store conversion configuration
mcp__claude-flow__memory_usage {
action: "store",
key: "cad/conversion/config",
namespace: "cad",
value: JSON.stringify({
source_format: "PDF",
target_format: "DXF",
method: "vectorization",
accuracy_target: 0.95
})
}
Best Practices
Format Selection
- STEP: Best for 3D geometry exchange
- IGES: Legacy support, use STEP when possible
- DXF: Best for 2D CAD interoperability
- STL: 3D printing and visualization only
Conversion Quality
- Always verify dimensional accuracy after conversion
- Check for missing entities (arcs, splines, text)
- Validate layer structure preservation
- Test with small sample before batch processing
Automation
- Use Python scripting for repeatable tasks
- Create conversion templates for standard workflows
- Implement quality checks in CI/CD pipelines
- Document conversion parameters for reproducibility
Common Issues
Lossy Conversions
# Check for conversion losses
losses = converter.check_losses(
original="model.step",
converted="model.iges"
)
if losses["geometry_count_diff"] > 0:
print(f"Lost {losses['geometry_count_diff']} entities")
if losses["accuracy_loss"] > 0.01:
print(f"Accuracy loss: {losses['accuracy_loss']*100:.1f}%")
Version Compatibility
# Check format version before conversion
info = converter.get_format_info("drawing.dwg")
print(f"DWG Version: {info['version']}")
print(f"Created By: {info['application']}")
print(f"Compatible With: {info['compatible_versions']}")
Related Skills
References
- DWG/DXF Specification: Open Design Alliance
- STEP Standard: ISO 10303
- IGES Standard: ASME Y14.26M
- Agent Configuration:
agents/cad-engineering-specialist/agent.yaml
Version History
- 1.0.0 (2025-01-02): Initial release from agents/cad-engineering-specialist/ configuration
1---2name: cad-engineering3description: Expert CAD Engineering Specialist with comprehensive knowledge of CAD systems, file formats, and conversion technologies. Use for CAD software guidance, file format conversions, technical drawings, 3D modeling, PDF to CAD conversions, and interoperability between open-source and proprietary CAD systems.4---5# CAD Engineering Skill
6
7Expert guidance on Computer-Aided Design systems, file formats, conversion technologies, and interoperability between CAD platforms.
8
9## Version Metadata
10
11```yaml
12version: 1.0.0
13python_min_version: '3.10'
14compatibility:
15 tested_python:
16 - '3.10'
17 - '3.11'
18 - '3.12'
19 - '3.13'
20 os:
21 - Windows
22 - Linux
23 - macOS
24```
25
26## Changelog
27
28### [1.0.0] - 2026-01-07
29
30**Added:**
31- Initial version metadata and dependency management
32- Semantic versioning support
33- Compatibility information for Python 3.10-3.13
34
35**Changed:**
36- Enhanced skill documentation structure
37
38
39## When to Use
40
41- CAD software selection and guidance
42- File format conversions (DWG, DXF, STEP, IGES, etc.)
43- PDF to CAD conversion strategies
44- Technical drawing analysis
45- 3D modeling approaches
46- Open-source vs proprietary CAD decisions
47- CAD automation and scripting
48- Cross-platform interoperability
49
50## Agent Capabilities
51
52This skill integrates agent capabilities from `/agents/cad-engineering-specialist/`:
53
54### Open-Source CAD Expertise
55
56| Software | Capabilities |
57|----------|-------------|
58| **FreeCAD** | Parametric 3D modeling, Python scripting, workbench customization |
59| **LibreCAD** | 2D drafting, DXF/DWG handling, command-line operations |
60| **OpenSCAD** | Programmatic 3D modeling, CSG operations, parametric design |
61| **QCAD** | Professional 2D CAD, scripting interface, batch processing |
62| **BRL-CAD** | Solid modeling, ray-tracing, geometric analysis |
63| **Blender** | CAD integration, mesh to solid conversion, technical visualization |
64| **KiCAD** | PCB design, electrical schematics, 3D board visualization |
65
66### Proprietary CAD Knowledge
67
68| Software | Capabilities |
69|----------|-------------|
70| **AutoCAD** | Full command set, AutoLISP/VBA automation, custom tools |
71| **SolidWorks** | Feature-based modeling, API programming, PDM integration |
72| **CATIA** | V5/V6 platforms, complex surfaces, PLM workflows |
73| **Inventor** | Parametric design, iLogic rules, Vault integration |
74| **Fusion 360** | Cloud collaboration, generative design, CAM integration |
75| **Creo/Pro-E** | Advanced assembly, mechanism design |
76| **NX** | High-end manufacturing, synchronous technology |
77
78### File Format Expertise
79
80| Category | Formats |
81|----------|---------|
82| **Native** | DWG, DXF, DGN, IGES, STEP, STL, SAT, Parasolid |
83| **Exchange** | IFC, COLLADA, OBJ, FBX, 3DS, VRML, X3D |
84| **Documentation** | PDF, SVG, EPS, DWF, 3D PDF |
85
86### Delegation Capability
87
88This specialist agent delegates to software-specific agents:
89
90```yaml
91delegation:
92 software_specific_agents:
93 freecad:
94 path: agents/freecad
95 capabilities:
96 - parametric_modeling
97 - assembly_design
98 - technical_drawings
99 gmsh:
100 path: agents/gmsh
101 capabilities:
102 - mesh_generation
103 - finite_element_preprocessing
104 - mesh_optimization
105```
106
107## PDF to CAD Conversion
108
109### Conversion Strategy Selection
110
1111. **Vector PDFs**: Direct vector extraction
1122. **Scanned Drawings**: OCR and vectorization
1133. **Mixed Content**: Hybrid approach
1144. **Complex Cases**: Manual reconstruction
115
116### Conversion Tools
117
118| Category | Tools |
119|----------|-------|
120| **Commercial** | AutoDWG, AnyDWG, Print2CAD, Scan2CAD, pdf2cad |
121| **Open-Source** | Inkscape+pstoedit, potrace, autotrace, pdf2dxf |
122| **Libraries** | OpenCV, Tesseract OCR, CADLib, LibreDWG, TeighaFile |
123| **Cloud Services** | Zamzar, CloudConvert, CAD Exchanger |
124| **AI/ML Tools** | Deep learning drawing recognition, neural vectorization |
125
126### PDF Analysis Workflow
127
128```python
129from digitalmodel.agents.cad import PDFAnalyzer
130
131# Analyze PDF type
132analyzer = PDFAnalyzer()
133analysis = analyzer.analyze("drawing.pdf")
134
135print(f"PDF Type: {analysis['type']}") # vector/raster/hybrid
136print(f"Creation Method: {analysis['creation_method']}")
137print(f"Embedded Fonts: {analysis['fonts']}")
138print(f"Layer Info: {analysis['layers']}")
139print(f"Scale Detection: {analysis['detected_scale']}")
140
141# Get conversion recommendation
142recommendation = analyzer.recommend_conversion()
143print(f"Recommended Tool: {recommendation['tool']}")
144print(f"Expected Accuracy: {recommendation['accuracy']}")
145print(f"Manual Cleanup: {recommendation['cleanup_required']}")
146```
147
148### Conversion Quality Optimization
149
150```python
151from digitalmodel.agents.cad import CADConverter
152
153converter = CADConverter()
154
155# Pre-processing for scanned PDFs
156converter.preprocess(
157 input_file="scanned_drawing.pdf",
158 operations=[
159 "denoise",
160 "deskew",
161 "contrast_enhance"
162 ]
163)
164
165# Vectorization with tuned parameters
166result = converter.convert(
167 input_file="scanned_drawing.pdf",
168 output_file="drawing.dxf",
169 options={
170 "line_tolerance": 0.5,
171 "arc_detection": True,
172 "text_recognition": True,
173 "dimension_extraction": True
174 }
175)
176
177# Post-processing cleanup
178converter.postprocess(
179 file="drawing.dxf",
180 operations=[
181 "remove_duplicates",
182 "close_gaps",
183 "standardize_layers"
184 ]
185)
186```
187
188## Format Conversion Examples
189
190### STEP to DXF
191
192```python
193from digitalmodel.agents.cad import FormatConverter
194
195converter = FormatConverter()
196
197# Convert STEP to DXF with projection
198result = converter.convert(
199 input_file="model.step",
200 output_file="drawing.dxf",
201 projection="front", # top, front, right, isometric
202 scale=1.0,
203 layer_mapping={
204 "visible_edges": "0",
205 "hidden_edges": "hidden",
206 "dimensions": "dimensions"
207 }
208)
209```
210
211### DWG Version Conversion
212
213```python
214# Convert between DWG versions
215result = converter.convert(
216 input_file="drawing_2024.dwg",
217 output_file="drawing_2010.dwg",
218 target_version="2010" # For compatibility
219)
220```
221
222### Batch Format Conversion
223
224```python
225from digitalmodel.agents.cad import BatchConverter
226
227batch = BatchConverter()
228
229# Convert all STEP files to IGES
230results = batch.convert_directory(
231 input_directory="./step_files",
232 output_directory="./iges_files",
233 input_format="STEP",
234 output_format="IGES",
235 parallel=True,
236 workers=4
237)
238
239# Generate conversion report
240batch.generate_report(results, "conversion_report.html")
241```
242
243## Technical Drawing Analysis
244
245```python
246from digitalmodel.agents.cad import DrawingAnalyzer
247
248analyzer = DrawingAnalyzer()
249
250# Analyze technical drawing
251analysis = analyzer.analyze("technical_drawing.dxf")
252
253# Extract information
254print(f"Drawing Scale: {analysis['scale']}")
255print(f"Units: {analysis['units']}")
256print(f"Layers: {analysis['layers']}")
257print(f"Blocks: {analysis['blocks']}")
258print(f"Dimensions: {len(analysis['dimensions'])}")
259print(f"Text Annotations: {len(analysis['text'])}")
260
261# Validate against standards
262validation = analyzer.validate(
263 standard="ISO", # or "ANSI", "DIN", "JIS"
264 checks=["layer_naming", "line_types", "dimensions"]
265)
266```
267
268## MCP Tool Integration
269
270### Swarm Coordination
271```javascript
272// Initialize CAD expertise swarm
273mcp__claude-flow__swarm_init { topology: "hierarchical", maxAgents: 5 }
274
275// Spawn specialized agents
276mcp__claude-flow__agent_spawn { type: "analyst", name: "format-analyzer" }
277mcp__claude-flow__agent_spawn { type: "coder", name: "converter" }
278mcp__claude-flow__agent_spawn { type: "reviewer", name: "quality-checker" }
279```
280
281### Memory Coordination
282```javascript
283// Store conversion configuration
284mcp__claude-flow__memory_usage {
285 action: "store",
286 key: "cad/conversion/config",
287 namespace: "cad",
288 value: JSON.stringify({
289 source_format: "PDF",
290 target_format: "DXF",
291 method: "vectorization",
292 accuracy_target: 0.95
293 })
294}
295```
296
297## Best Practices
298
299### Format Selection
3001. **STEP**: Best for 3D geometry exchange
3012. **IGES**: Legacy support, use STEP when possible
3023. **DXF**: Best for 2D CAD interoperability
3034. **STL**: 3D printing and visualization only
304
305### Conversion Quality
3061. Always verify dimensional accuracy after conversion
3072. Check for missing entities (arcs, splines, text)
3083. Validate layer structure preservation
3094. Test with small sample before batch processing
310
311### Automation
3121. Use Python scripting for repeatable tasks
3132. Create conversion templates for standard workflows
3143. Implement quality checks in CI/CD pipelines
3154. Document conversion parameters for reproducibility
316
317## Common Issues
318
319### Lossy Conversions
320```python
321# Check for conversion losses
322losses = converter.check_losses(
323 original="model.step",
324 converted="model.iges"
325)
326
327if losses["geometry_count_diff"] > 0:
328 print(f"Lost {losses['geometry_count_diff']} entities")
329if losses["accuracy_loss"] > 0.01:
330 print(f"Accuracy loss: {losses['accuracy_loss']*100:.1f}%")
331```
332
333### Version Compatibility
334```python
335# Check format version before conversion
336info = converter.get_format_info("drawing.dwg")
337print(f"DWG Version: {info['version']}")
338print(f"Created By: {info['application']}")
339print(f"Compatible With: {info['compatible_versions']}")
340```
341
342## Related Skills
343
344- [freecad-automation](../freecad-automation/SKILL.md) - FreeCAD operations
345- [gmsh-meshing](../gmsh-meshing/SKILL.md) - Mesh generation from CAD
346- [orcaflex-modeling](../orcaflex-modeling/SKILL.md) - Marine analysis integration
347- [structural-analysis](../structural-analysis/SKILL.md) - FEM preprocessing
348
349## References
350
351- DWG/DXF Specification: Open Design Alliance
352- STEP Standard: ISO 10303
353- IGES Standard: ASME Y14.26M
354- Agent Configuration: `agents/cad-engineering-specialist/agent.yaml`
355
356---
357
358## Version History
359
360- **1.0.0** (2025-01-02): Initial release from agents/cad-engineering-specialist/ configuration