Grasshopper PDF Generator Plugin

2024 · 2 months · Packhunt

AI Design Technologist, Computational Designer, Product Designer

Grasshopper plugin that turns parametric data and 3D geometry into client-ready PDF reports through RML templates. Report generation dropped from days to hours, and every engineer in the office ships the same format.

The problem

Teams spent days assembling each client report by hand: drawings, tables and parametric data pulled together manually. The results were inconsistent, and there was no standard way to generate these documents at all.

The constraint

The users were visual designers, not developers. An RML template is an abstract structure, and asking a Grasshopper user to hold it in their head was the real barrier, not the PDF generation.

What I built

A Grasshopper plugin that composes geometry, images and parametric data into multi-page PDFs through RML templates. Opinionated defaults cover most reports, and an instant feedback loop renders the result of the template logic as you build it, so the template stops being a black box. Built on the Grasshopper SDK and the RhinoCommon API in C#.

Role

Sole author. Architecture, plugin, component UX, documentation, and adoption inside the office.

Outcome

Report generation dropped from days to hours, and every engineer in the office, a team of ten, ships the same format. The second result matters as much as the first: the tool sets the standard, so output quality stopped depending on individual skill.

Lessons learned

Final reflection

This project marked a pivotal shift in my career from doing the work to building the tools that enable the work. It taught me that the most impactful engineering often isn't about raw performance, but about workflow empathy - understanding the user's friction points so deeply that the solution feels invisible.

By standardizing the output while flexible on the input, we didn't just save time; we raised the baseline quality of every report the office produced. It proved that automation, when designed with the user in mind, doesn't replace creativity, it clears the path for it.