render-stl-png for Openclaw

A deterministic software renderer that converts STL files into clean, Blender-like PNG preview images without external dependencies.

ajmwagar
v0.1.0
Feb 1, 2026
0
3.1k
0

Install & Download

1. ClawHub CLI

The fastest way to install a skill directly from the registry.

npx clawhub@latest install render-stl-png

2. Manual Installation

Copy the skill folder to one of these locations

Global
~/.openclaw/skills/
Workspace
<project>/skills/

Priority: Workspace > Local > Bundled

3. Prompt Installation

Copy this prompt to OpenClaw to install it automatically.

Help me install render-stl-png using Clawhub. If Clawhub is not installed, install it first (npm i -g clawhub).

Prefer to download?

Get the raw skill files in a ZIP archive.

What is render-stl-png?

The render-stl-png skill provides a high-performance, deterministic software renderer designed to transform 3D STL files into consistent 2D PNG images. Unlike traditional rendering solutions that rely on heavy software suites or specific hardware acceleration, this tool operates without OpenGL or Blender dependencies. It uses a custom camera system, z-buffer logic, and Lambert shading to produce professional marketing or preview images.

This utility is a core part of the Openclaw Skills ecosystem, enabling developers to automate the visualization of 3D geometry in headless environments. It is particularly useful for generating thumbnails, previewing CAD exports, or documenting 3D assets in automated pipelines where speed and reproducibility are paramount.

render-stl-png Use Cases

  • Creating automated preview thumbnails for 3D model repositories.
  • Generating consistent product imagery for STL-based e-commerce catalogs.
  • Visualizing 3D mesh outputs in headless CI/CD environments where GPUs are unavailable.
  • Producing reproducible marketing assets for 3D printing projects using the Openclaw Skills framework.

How render-stl-png Works

  1. The script ingests a standard STL file, supporting both ASCII and binary formats.
  2. It initializes a virtual perspective camera based on user-defined azimuth, elevation, and field of view (FOV).
  3. The system calculates a bounding box and applies a framing margin to ensure the model is perfectly centered.
  4. It applies Lambertian reflectance to calculate light intensity based on a custom directional light vector.
  5. The software rasterizer uses a z-buffer to handle depth and pixel visibility without hardware acceleration.
  6. The final frame is exported as a PNG with customizable background and mesh base colors.

render-stl-png Setup

To get started with this skill, you can use the provided bash wrapper which automatically manages a cached virtual environment and ensures the Pillow library is available.

# Recommended usage via the wrapper
bash scripts/render_stl_png.sh /path/to/model.stl /tmp/model.png --color "#ffb703"
# Direct execution via Python
python3 scripts/render_stl_png.py --stl /path/to/model.stl --out /tmp/model.png --size 1024

render-stl-png Data Schema & Taxonomy

The skill manages input geometry and output imagery with the following parameters:

Parameter Description Type / Default
--size Image width and height in pixels Integer (1024)
--bg Hexadecimal background color String (#0b0f14)
--color Hexadecimal mesh base color String (#4cc9f0)
--azim-deg Camera azimuth angle around the Z-axis Float (-35)
--elev-deg Camera elevation angle Float (25)
--light-dir Directional light vector (x,y,z) String (-0.4,-0.3,1.0)

render-stl-png Advanced Features

  • Deterministic software rendering for 100% reproducible results across different machines.
  • Fully customizable lighting vectors for unique shadow casting and depth highlighting.
  • Flexible camera controls including azimuth, elevation, and field-of-view (FOV) adjustments.
  • Built-in framing margins to prevent mesh clipping and ensure aesthetic whitespace.
  • Zero-dependency architecture (no OpenGL/Blender required) making it ideal for Openclaw Skills server deployments.

SKILL.md


Loading

Related Openclaw Skills

METADATA

Github Stars: 0
forks: 0

Featured*