Grasshopper Generator
v1.0.0Generate Rhino 7 Grasshopper (.ghx) XML files from natural language descriptions or images. Build parametric definitions with native GH components, GhPython...
Like a lobster shell, security has layers — review code before you run it.
Grasshopper Generator
Generate Rhino 7 Grasshopper (.ghx) files programmatically.
Workflow
1. Analyze Input
Image → Identify form (tower/dome/surface/facade), key features (twist/array/voronoi/diagrid), proportions. Text → Parse the same from description.
2. Design the Graph
Sliders → Geometry → Transforms → Booleans → Output
Component priority:
- Native GH components (see
references/component_guids.jsonfor 152 known GUIDs) - GhPython Script for complex custom logic
- Third-party plugins only when explicitly requested
Common patterns:
| Form | Key Components |
|---|---|
| Twisted tower | Rectangle → Rotate → Extrude → Series |
| Curved facade | Curve → Divide → Orient → Surface |
| Voronoi | Populate 2D → Voronoi → Boundary Surfaces |
| Diagrid | Hexagonal → Scale → Loft |
| Dome | Circle → Rotate → Sweep1 |
| Custom logic | GhPython Script |
3. Generate .ghx
import sys; sys.path.insert(0, 'SKILL_DIR/scripts')
from ghx_generator import GHXGenerator
gen = GHXGenerator("Definition Name", "Description")
r = gen.add_slider("Radius", 20, 1, 100, x=50, y=50)
c = gen.add_component("Circle", inputs=["Base Plane", "Radius"], outputs=["Circle"], x=300, y=50)
gen.connect(r, "output", c, "Radius")
gen.save("output.ghx")
4. GhPython Fallback
For complex geometry not achievable with native components:
py = gen.add_python("Custom", code, inputs=["x", "y"], outputs=["a"], x=300, y=200)
GhPython has full Rhino.Geometry API. Input variables available by name. Assign a = result for output.
5. Deliver
Save .ghx and send to user. Note adjustable parameters (sliders), definition purpose, and any plugin dependencies.
File Locations
- Generator:
scripts/ghx_generator.py— full API withadd_slider,add_component,add_python,connect,save - GUID database:
references/component_guids.json— 152 authentic component GUIDs extracted from real .gh files - Reference template:
references/template_voronoi.ghx— real Grasshopper file for structural reference
Notes
- Output is .ghx (XML), fully compatible with Rhino 7
- All GUIDs extracted from real Grasshopper installations
- For components not in the database, GhPython Script handles everything
- Supports wiring via
connect(source_ref, source_param, target_ref, target_param)
Comments
Loading comments...
