Claude Code Plugins

Community-maintained marketplace

Feedback

cadquery-modeling

@benchflow-ai/skillsbench
15
0

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.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

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")