Initial infrastructure documentation - comprehensive homelab reference

This commit is contained in:
Funky (OpenClaw)
2026-02-23 03:42:22 +00:00
commit 0682c79580
169 changed files with 63913 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
This is a 3D nameplate generator that creates two-layer oval nameplates with engraved text using OpenSCAD. The system batch-processes names from a text file and outputs STL files ready for 3D printing.
## Architecture
**Pipeline:**
1. Python script (`generate_nameplates.py`) reads names from `names.txt`
2. For each name, it invokes OpenSCAD CLI with the parametric template
3. OpenSCAD renders the 3D model using `nameplate_template.scad`
4. STL files are output to `output_stl/` directory
**Design Structure:**
- Two-layer design: white base (1.5mm) + blue top layer (1mm)
- Text is engraved completely through the blue layer to expose white underneath
- Oval shape created by scaling a cylinder
- All dimensions parametric for easy customization
## Key Commands
**Generate nameplates:**
```bash
python generate_nameplates.py
```
**Test single nameplate (manual):**
```bash
"C:\Program Files\OpenSCAD\openscad.exe" -D "name=\"TestName\"" -o output.stl nameplate_template.scad
```
## Critical Configuration
**OpenSCAD Path:**
The script uses hardcoded path: `C:\Program Files\OpenSCAD\openscad.exe`
Update in `generate_nameplates.py:36` if OpenSCAD is installed elsewhere.
**Font Requirements:**
- Uses Fordscript font (Fordscript.ttf in project root)
- Font MUST be installed in Windows (right-click → Install) for OpenSCAD to access it
- OpenSCAD references fonts by name, not file path
- Referenced in template as `font="Fordscript"` (line 44)
**Dimensions:**
Default nameplate size: 3" tall × 8" wide (76mm × 200mm)
All dimensions in `nameplate_template.scad:6-12`
## File Purposes
- `nameplate_template.scad` - OpenSCAD parametric template defining the 3D geometry
- `generate_nameplates.py` - Batch processor that calls OpenSCAD for each name
- `names.txt` - Input file with one name per line
- `Fordscript.ttf` - Custom cursive font (must be installed in Windows)
- `output_stl/` - Generated STL files (one per name)
## Modifying Dimensions
Key parameters in `nameplate_template.scad`:
- `oval_height` - Overall height (currently 76mm = 3 inches)
- `oval_width` - Overall width (currently 200mm ≈ 8 inches)
- `base_thickness` - White layer thickness (1.5mm)
- `top_thickness` - Blue layer thickness (1mm)
- `text_depth` - Engraving depth (1mm - cuts through entire blue layer)
- `text_size` - Font size (30mm)
- `base_offset` - How much white extends beyond blue (2mm)