Move the Ring solar siding adapter into its own directory, add repo and project documentation, and introduce a preview script (OpenSCAD+xvfb or PyVista fallback) for catalog images.
3.2 KiB
OpenSCAD Projects
Parametric 3D-printable parts designed in OpenSCAD. Each project lives in its own folder with a .scad source file, a README.md, and a preview.png render.
Designs are tuned for FDM printing on a Bambu Lab P2S (256 × 256 × 256 mm build volume).
Requirements
- OpenSCAD 2021.01 or newer (tested with the Customizer UI)
- A slicer for your printer (e.g. Bambu Studio)
Most models here use vanilla OpenSCAD only. Future projects may use BOSL2; see .cursor/skills/openscad-bosl2/ for house-style conventions when working with that library.
Quick start
- Clone the repo and open a project's
.scadfile in OpenSCAD. - Adjust parameters in the Customizer panel (View → Customizer).
- Press F6 to render, then File → Export → Export as STL.
- Slice and print. Generated
.stlfiles are gitignored; export locally as needed.
Projects
| Preview | Project | Description |
|---|---|---|
![]() |
ring-solar-siding-adapter | Adapter plate to mount a Ring Solar Charger on horizontal beaded vinyl lap siding |
Preview images
OpenSCAD can export PNG previews from the command line when OpenGL is available (local GUI, or headless via xvfb-run):
openscad --render --viewall --imgsize=1200,900 \
-o ring-solar-siding-adapter/preview.png \
ring-solar-siding-adapter/ring-solar-siding-adapter.scad
OpenSCAD does not export JPG natively; convert PNG if needed.
Headless WSL / CI — install PyVista for the script's fallback renderer (smooth shaded, no wireframe):
pip install pyvista
python3 scripts/render-preview.py ring-solar-siding-adapter
Best quality (native OpenSCAD look) — install a virtual display so OpenSCAD can export PNG directly:
sudo apt install xvfb
python3 scripts/render-preview.py ring-solar-siding-adapter
The script tries OpenSCAD + xvfb-run first, then falls back to PyVista.
Repository layout
openscad-projects/
├── README.md
├── AGENTS.md
├── .gitignore # Ignores exported *.stl files
├── scripts/
│ └── render-preview.py # Headless preview generator
└── <project-name>/
├── README.md # Purpose, parameters, workflow
├── preview.png # Catalog render (committed)
├── <project-name>.scad # Parametric source
└── *.backup.scad # Optional design checkpoints
When adding a new project, create a kebab-case folder, add a single primary .scad file, write a README describing purpose and parameters, and generate a preview.
Printer
Designs target a Bambu Lab P2S. Build volume and material notes live in .cursor/skills/openscad-bosl2/references/bambu-p2s.md. Parts from this repo should fit within 256 × 256 × 256 mm unless noted otherwise.
License
No license file is included yet. Add one before publishing or sharing models externally.
