install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/ajmwagar/render-stl-png" ~/.claude/skills/clawdbot-skills-render-stl-png && rm -rf "$T"
manifest:
skills/ajmwagar/render-stl-png/SKILL.mdsource content
render-stl-png
Render an STL to a PNG from a nice, consistent 3D angle ("Blender-ish" default perspective) with a solid color.
This is a deterministic software renderer:
- No OpenGL
- No Blender dependency
- Uses a simple camera + z-buffer + Lambert shading
Inputs
- STL file path (ASCII or binary)
- Output PNG path
Parameters
: image width/height (square), default--size <px>1024
: background color, default--bg "#rrggbb"#0b0f14
: mesh base color, default--color "#rrggbb"#4cc9f0
: camera azimuth around Z, default--azim-deg <deg>-35
: camera elevation, default--elev-deg <deg>25
: perspective field of view, default--fov-deg <deg>35
: framing margin as fraction of view, default--margin <0..0.4>0.08
: directional light vector, default--light-dir "x,y,z"-0.4,-0.3,1.0
Usage
One-shot
python3 scripts/render_stl_png.py \ --stl /path/to/model.stl \ --out /tmp/model.png \ --color "#ffb703" \ --bg "#0b0f14" \ --size 1200
Wrapper (recommended)
The wrapper creates a cached venv (so
pillow is available) and runs the renderer.
bash scripts/render_stl_png.sh /path/to/model.stl /tmp/model.png --color "#ffb703"
Notes
- This is meant for marketing/preview images, not photorealism.
- If you need studio lighting / materials, use Blender — but this gets you 80% quickly and reproducibly.