Geometry Generator
Generates parametric bioinspired hierarchical ribbed membrane STL geometry.
All design parameters flow from upstream artifacts (StructureAnalyst motifs + PropertyPredictor targets) — no hardcoded values.
Usage
# From upstream artifact spec file
python3 {baseDir}/scripts/stl_generator.py \
--spec '{"rib_spacing_mm":2.5,"thickness_mm":0.4,"aspect_ratio":3.0,"num_scales":2}' \
--output /tmp/membrane.stl
# From upstream artifact file
python3 {baseDir}/scripts/stl_generator.py \
--spec-file /path/to/structural_motifs.json \
--output /tmp/membrane.stl
Output JSON
{
"stl_path": "/path/to/membrane.stl",
"num_vertices": 1234,
"num_faces": 2468,
"bounding_box_mm": {"x": 20.0, "y": 20.0, "z": 1.2},
"primary_rib_count": 8,
"secondary_rib_count": 16,
"prompt_used": "...",
"design_params": {...}
}
STL Prompt
The LLM is called with the canonical bioinspired ribbed membrane prompt (see PROMPT.md). It returns structured design parameters as JSON. Python then constructs the mesh from those parameters.