What I do
- Create 2D drawings and 3D models of mechanical parts
- Generate technical documentation and manufacturing files
- Perform geometric constraint solving and parametric modeling
- Support assembly design and component routing
- Export designs for manufacturing or simulation
When to use me
- When creating mechanical designs for manufacturing
- When generating detailed engineering drawings
- When building 3D models for visualization or simulation
- When designing assemblies with multiple components
- When preparing files for CNC machining or 3D printing
Key Concepts
CAD File Formats
| Format |
Type |
Applications |
| STEP |
3D neutral |
Exchange, CAD interoperability |
| IGES |
3D neutral |
Legacy CAD exchange |
| STL |
3D mesh |
3D printing, rapid prototyping |
| DXF |
2D |
Drawing exchange |
| DWG |
2D |
AutoCAD native format |
| OBJ |
3D mesh |
Visualization, 3D graphics |
| Parasolid |
3D |
Siemens NX, SolidWorks |
Parametric Modeling
# Example: Creating a parameterized part
class ParametricPart:
def __init__(self, **dimensions):
self.dimensions = dimensions
def create_sketch(self, points):
"""Create 2D profile from points"""
return {
"type": "sketch",
"entities": points,
"constraints": []
}
def extrude(self, sketch, depth):
"""Extrude sketch to create 3D feature"""
return {
"type": "extrude",
"profile": sketch,
"depth": depth,
"direction": "positive"
}
def create_hole(self, location, diameter, depth):
"""Create a hole feature"""
return {
"type": "hole",
"center": location,
"diameter": diameter,
"depth": depth
}
Geometric Constraints
- Coincident: Two points occupy same location
- Collinear: Points lie on same line
- Parallel: Lines have same direction
- Perpendicular: Lines intersect at 90°
- Concentric: Centers coincide
- Equal: Dimensions or radii match
- Tangent: Curves touch without crossing
Assembly Design
# Assembly constraint types
ASSEMBLY_CONSTRAINTS = {
"mate": {
"description": "Two faces in contact, opposite directions",
"degrees_removed": 3
},
"flush": {
"description": "Two faces coplanar",
"degrees_removed": 2
},
"angle": {
"description": "Constrained angular relationship",
"degrees_removed": 2
},
"insert": {
"description": "Axial insertion (e.g., pin in hole)",
"degrees_removed": 2
}
}
Common CAD Software
| Software |
Vendor |
Strengths |
| SolidWorks |
Dassault Systèmes |
Mechanical, assemblies |
| CATIA |
Dassault Systèmes |
Complex surfaces, aerospace |
| NX |
Siemens |
Advanced manufacturing |
| Inventor |
Autodesk |
Mechanical, simulation |
| Fusion 360 |
Autodesk |
Cloud, accessible |
| Onshape |
PTC |
Web-based, collaboration |
| FreeCAD |
Open source |
Free, parametric |
1---2name: cad3description: Creates 2D drawings and 3D models of mechanical parts, generates technical documentation and manufacturing files, and supports assembly design and parametric modeling.4license: MIT5---67## What I do89- Create 2D drawings and 3D models of mechanical parts10- Generate technical documentation and manufacturing files11- Perform geometric constraint solving and parametric modeling12- Support assembly design and component routing13- Export designs for manufacturing or simulation1415## When to use me1617- When creating mechanical designs for manufacturing18- When generating detailed engineering drawings19- When building 3D models for visualization or simulation20- When designing assemblies with multiple components21- When preparing files for CNC machining or 3D printing2223## Key Concepts2425### CAD File Formats2627| Format | Type | Applications |28|--------|------|--------------|29| STEP | 3D neutral | Exchange, CAD interoperability |30| IGES | 3D neutral | Legacy CAD exchange |31| STL | 3D mesh | 3D printing, rapid prototyping |32| DXF | 2D | Drawing exchange |33| DWG | 2D | AutoCAD native format |34| OBJ | 3D mesh | Visualization, 3D graphics |35| Parasolid | 3D | Siemens NX, SolidWorks |3637### Parametric Modeling3839```python40# Example: Creating a parameterized part41class ParametricPart:42 def __init__(self, **dimensions):43 self.dimensions = dimensions44 45 def create_sketch(self, points):46 """Create 2D profile from points"""47 return {48 "type": "sketch",49 "entities": points,50 "constraints": []51 }52 53 def extrude(self, sketch, depth):54 """Extrude sketch to create 3D feature"""55 return {56 "type": "extrude",57 "profile": sketch,58 "depth": depth,59 "direction": "positive"60 }61 62 def create_hole(self, location, diameter, depth):63 """Create a hole feature"""64 return {65 "type": "hole",66 "center": location,67 "diameter": diameter,68 "depth": depth69 }70```7172### Geometric Constraints7374- **Coincident**: Two points occupy same location75- **Collinear**: Points lie on same line76- **Parallel**: Lines have same direction77- **Perpendicular**: Lines intersect at 90°78- **Concentric**: Centers coincide79- **Equal**: Dimensions or radii match80- **Tangent**: Curves touch without crossing8182### Assembly Design8384```python85# Assembly constraint types86ASSEMBLY_CONSTRAINTS = {87 "mate": {88 "description": "Two faces in contact, opposite directions",89 "degrees_removed": 390 },91 "flush": {92 "description": "Two faces coplanar",93 "degrees_removed": 294 },95 "angle": {96 "description": "Constrained angular relationship",97 "degrees_removed": 298 },99 "insert": {100 "description": "Axial insertion (e.g., pin in hole)",101 "degrees_removed": 2102 }103}104```105106### Common CAD Software107108| Software | Vendor | Strengths |109|----------|--------|-----------|110| SolidWorks | Dassault Systèmes | Mechanical, assemblies |111| CATIA | Dassault Systèmes | Complex surfaces, aerospace |112| NX | Siemens | Advanced manufacturing |113| Inventor | Autodesk | Mechanical, simulation |114| Fusion 360 | Autodesk | Cloud, accessible |115| Onshape | PTC | Web-based, collaboration |116| FreeCAD | Open source | Free, parametric |