Files

2.5 KiB
Raw Permalink Blame History

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:

python generate_nameplates.py

Test single nameplate (manual):

"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)