| name | cadquery-modeling |
| description | Create parametric 3D CAD models using CadQuery Python library. Use when building mechanical parts, assemblies, or exporting to STEP/STL formats. Supports workplanes, extrusions, chamfers, fillets, and boolean operations. |
CadQuery Modeling
CadQuery is a Python library for building parametric 3D CAD models programmatically.
Installation
pip install cadquery-ocp
Basic Workflow
import cadquery as cq
# Create a parametric box with a hole
result = (
cq.Workplane("XY")
.box(10, 10, 5)
.faces(">Z")
.workplane()
.hole(2)
)
# Export to STEP
cq.exporters.export(result, "part.step")
# Export to STL
cq.exporters.export(result, "part.stl")
Common Operations
Workplanes and Sketching
# Start on XY plane
wp = cq.Workplane("XY")
# Create rectangle and extrude
part = wp.rect(20, 10).extrude(5)
# Select face and add features
part = part.faces(">Z").workplane().circle(3).cutThrough()
Boolean Operations
# Union
combined = part1.union(part2)
# Subtract
result = base.cut(tool)
# Intersect
common = part1.intersect(part2)
Assemblies
# Create assembly
assy = cq.Assembly()
assy.add(base_part, name="base", color=cq.Color("gray"))
assy.add(bolt, name="bolt", loc=cq.Location((5, 0, 10)))
# Export assembly
assy.save("assembly.step")
Face Selection
# Select by direction
part.faces(">Z") # Top face
part.faces("<Z") # Bottom face
part.faces(">X") # Right face
# Select by index
part.faces().item(0)
# Select multiple
part.faces("|Z") # All faces parallel to Z
Export Formats
- STEP:
cq.exporters.export(obj, "file.step") - STL:
cq.exporters.export(obj, "file.stl") - DXF:
cq.exporters.exportDXF(obj, "file.dxf") - SVG:
cq.exporters.export(obj, "file.svg")