ワンクリックで
enclosure-export
Export OpenSCAD enclosure parts to STL files for 3D printing
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Export OpenSCAD enclosure parts to STL files for 3D printing
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Full PCB verification loop using local kicad-cli (DRC + 3D render + gerbers)
Create a new Claude Code skill for this project. Use when you need to add a new skill, improve an existing skill, or convert a workflow into a reusable skill.
Verifies that every PCB pad-to-net assignment matches the manufacturer datasheet pin specifications. Use when changing board.py/routing.py/footprints.py, after GPIO remapping, before releases, or when adding new components. Automated guard against wiring errors like unconnected VBUS, wrong pin assignments, or missing GND connections.
Design intent adversary — cross-checks GPIO, nets, power chains, signal paths across firmware/schematic/PCB/datasheet sources to find lost connections and inconsistencies
Analyze a DFM report and fix all issues in the PCB generation scripts
Run DFM guard tests and add new regression tests after fixing PCB issues
| name | enclosure-export |
| model | claude-haiku-4-5-20251001 |
| description | Export OpenSCAD enclosure parts to STL files for 3D printing |
| disable-model-invocation | true |
| allowed-tools | Bash, Read, Glob |
| argument-hint | ["all|top|bottom|buttons|dpad|abxy"] |
Export individual enclosure parts to STL files for FDM/SLA 3D printing.
Argument (optional): all (default), or specific part name.
Docker must be running with the OpenSCAD image built:
cd /Users/pierrejonnycau/Documents/WORKS/esp32-emu-turbo
docker compose build openscad
cd /Users/pierrejonnycau/Documents/WORKS/esp32-emu-turbo
mkdir -p hardware/enclosure/stl
# Top shell (display side)
docker compose run --rm openscad \
-o /output/case_top.stl \
-D 'part="case_top"' \
/project/enclosure.scad
# Bottom shell (battery side)
docker compose run --rm openscad \
-o /output/case_bottom.stl \
-D 'part="case_bottom"' \
/project/enclosure.scad
# D-pad cap
docker compose run --rm openscad \
-o /output/dpad.stl \
-D 'part="part_dpad"' \
/project/enclosure.scad
# ABXY button caps (4 individual)
for btn in a b x y; do
docker compose run --rm openscad \
-o "/output/btn_${btn}.stl" \
-D "part=\"part_btn_${btn}\"" \
/project/enclosure.scad
done
# Start, Menu, Select caps
for cap in start menu select; do
docker compose run --rm openscad \
-o "/output/${cap}.stl" \
-D "part=\"part_${cap}\"" \
/project/enclosure.scad
done
# Shoulder buttons
docker compose run --rm openscad \
-o /output/shoulder_l.stl \
-D 'part="part_shoulder_l"' \
/project/enclosure.scad
docker compose run --rm openscad \
-o /output/shoulder_r.stl \
-D 'part="part_shoulder_r"' \
/project/enclosure.scad
docker compose run --rm openscad \
-o /output/<part_name>.stl \
-D 'part="<part_selector>"' \
/project/enclosure.scad
| Part | Selector | Print Notes |
|---|---|---|
| Top shell | case_top | Print upside-down (flat face down) |
| Bottom shell | case_bottom | Print as-is (flat face down) |
| D-pad | part_dpad | Print cap-face down |
| Button A | part_btn_a | Print cap-face down |
| Button B | part_btn_b | Print cap-face down |
| Button X | part_btn_x | Print cap-face down |
| Button Y | part_btn_y | Print cap-face down |
| Start | part_start | Print cap-face down |
| Menu | part_menu | Print cap-face down |
| Select | part_select | Print cap-face down |
| Shoulder L | part_shoulder_l | Print cap-face down |
| Shoulder R | part_shoulder_r | Print cap-face down |
ls -la website/static/img/renders/*.stl 2>/dev/null || ls -la hardware/enclosure/stl/*.stl 2>/dev/null
hardware/enclosure/enclosure.scad — Main enclosure (all part selectors)hardware/enclosure/modules/*.scad — Component modulesdocker-compose.yml — OpenSCAD Docker servicewebsite/docs/enclosure.md — Design documentation