From 3dp-mcp-server
Modify, transform, or combine 3D models — shell, split, add text, threaded holes, boolean operations, transforms, imports, and 2D views. Use when the user wants to change, combine, hollow, cut, engrave, or visualize an existing model.
How this skill is triggered — by the user, by Claude, or both
Slash command
/3dp-mcp-server:modify-modelThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Help the user modify existing 3D models using the modification, transform, and visualization tools.
Help the user modify existing 3D models using the modification, transform, and visualization tools.
| Tool | Use Case |
|---|---|
transform_model | Scale, rotate, mirror, or translate a model |
combine_models | Boolean union, subtract, or intersect two models |
import_model | Import an STL or STEP file from disk |
| Tool | Use Case |
|---|---|
shell_model | Hollow out a model with uniform wall thickness |
split_model | Cut a model along XY/XZ/YZ plane |
add_text | Emboss or deboss text onto a model face |
create_threaded_hole | Add threaded or heat-set insert holes (M2-M10) |
| Tool | Use Case |
|---|---|
section_view | Generate a 2D cross-section as SVG |
export_drawing | Multi-view 2D technical drawing as SVG |
| Tool | Use Case |
|---|---|
pack_models | Arrange multiple models on build plate for batch printing |
convert_format | Convert between STL, STEP, 3MF, BREP formats |
list_models to see available models in the sessionmeasure_model to verify the resultanalyze_printability to confirm the modified model is still printable1. shell_model(name="box_shell", source_name="my_box", thickness=2.0, open_faces='["top"]')
1. create_threaded_hole(name="box_with_holes", source_name="my_box",
position='[10, 10, 0]', thread_spec="M3", depth=8)
1. add_text(name="labeled_part", source_name="my_part", text="v1.0",
face="top", font_size=8, depth=0.5, emboss=False)
1. combine_models(name="assembly", model_a="base", model_b="lid", operation="union")
1. split_model(name="top_half", source_name="tall_part", plane="XY", keep="above")
2. split_model(name="bottom_half", source_name="tall_part", plane="XY", keep="below")
1. import_model(name="imported", file_path="/path/to/part.stl")
2. transform_model(name="scaled", source_name="imported",
operations='[{"type": "scale", "factor": 1.5}]')
1. export_drawing(name="my_part", views='["front", "top", "right", "iso"]',
page_size="A4")
shell_model requires a watertight solid — run analyze_printability firstsplit_model is useful for parts exceeding the build volume (256mm on X1C)add_text with emboss=False creates debossed (engraved) text — better for FDMtransform_model operations can be chained as a JSON arraycombine_models with "subtract" is how you cut holes, pockets, and slotssection_view outputs SVG — useful for verifying internal geometrypack_models arranges parts with padding for batch prints on one plateconvert_format output is restricted to the outputs directory for securitynpx claudepluginhub brs077/3dp-mcp-server --plugin 3dp-mcp-serverExports and optimizes 3D models for FDM/SLA printing: STL/3MF export, mesh integrity verification, wall thickness checking, support generation, and slicing. Use when preparing models from CAD or modeling software for additive manufacturing.
CAD modeling with build123d Python library. Use when creating 3D models, exporting to GLB/STEP/STL, or doing boolean operations (union, difference, intersection). Triggers on: CAD, 3D modeling, sphere, box, cylinder, mesh export, GLB, STEP, STL, solid modeling, parametric design, threads, fasteners, bolts, nuts, screws, gears, pipes, flanges, bearings, bd_warehouse, spur gear, helical gear, bevel gear, planetary gear, ring gear, cycloid gear, rack and pinion, gggears, herringbone, gear mesh, gear train.