Advanced Grasshopper3D plugin development
We build the Grasshopper plugins that the rest of the industry depends on.
Production-grade Grasshopper3D plugins for the companies leading this space -
Karamba3D , ShapeDiver , HKS , and tooling that automates Lawrence Berkeley National Laboratory’s THERM . From SDK-level engineering to user-facing UX, we ship plugins that hold up to enterprise use.
Start a conversation
See deep case studies
A specialist practice at the frontier of Grasshopper engineering
Most computational design teams write Grasshopper definitions. A small number write components. Fewer still write commercial plugins that ship to thousands of users.
ARPM works at that last tier - deep inside the Rhino and Grasshopper SDKs, on plugins that are reviewed, signed, distributed, and supported in production.
We are the partner industry leaders call when the work is genuinely hard:
an
alpha-stage Grasshopper 2 SDK with no documentation, an unsupported third-party engine with no API, an enterprise BIM workflow that has to land natively in Revit. Every project on this page is a real plugin, in real use.
That depth comes from years inside the toolchain. Our team has contributed to the
ShapeDiver platform itself, built an advanced
Karamba3D plugin for Grasshopper 2 while the SDK was still alpha, shipped internal plugins for
HKS LINE , and published peer-reviewed research on the future of visual scripting at CAADRIA 2023 .
GH1 + GH2
Cross-version plugins, single codebase
7+ years
As long-term ShapeDiver platform partner
Karamba3D
GH2 plugin shipped during SDK alpha
CAADRIA 2023
Peer-reviewed visual scripting research
What we build
A complete delivery capability for Grasshopper3D plugin work - from initial architecture through release, distribution, and long-term support.
We work in C#/.NET against the Rhino and Grasshopper SDKs, and pair it with TypeScript, Python, and native interop where the rest of the workflow demands it.
Commercial plugins for AECTech vendors
Plugins that ship to thousands of paying users - with proper architecture, licensing hooks, error handling, and the documentation a vendor team can support behind.
Cross-version (GH1 & GH2) engineering
Unified codebases that target both Grasshopper 1 and Grasshopper 2. Conditional compilation, decoupled core libraries, and adapter layers that absorb breaking SDK changes.
Enterprise integration plugins
Custom plugins that bridge Rhino and Grasshopper to Revit, BIM systems, fabrication pipelines, and analysis engines - with the schedules, parameters, and metadata that production demands.
Wrappers around unsupported tools
When no official API exists, we reverse-engineer file formats, drive command-line solvers, and build clean Grasshopper components that hide that complexity from end users.
Performance-critical components
Heavy compute, large geometric datasets, and parallel solves - written for predictable behaviour inside Grasshopper’s solver lifecycle.
Polished UI and UX
Custom Grasshopper widgets, attributes, and component UIs - built on the same SDK patterns the platform itself uses, so the result feels native.
Cloud and configurator pipelines
Grasshopper definitions and plugin work that target ShapeDiver, web configurators, and headless cloud execution - with the file hygiene needed for stable cloud runs.
Distribution and review
Food4Rhino releases, package signing, version pipelines, and the manual review choreography that ecosystems like ShapeDiver require for third-party plugin onboarding.
Selected plugin work
A representative slice of recent and ongoing Grasshopper plugin development - for structural analysis vendors, cloud geometry platforms, leading global architecture practices, and the broader Rhino community.
{
{
}
}
Case study · Karamba3D
Shipping a Grasshopper 2 plugin while the SDK was still in alpha
Karamba3D is the leading parametric structural-analysis toolkit for Grasshopper, used by engineers and architects worldwide.
ARPM was brought in to deliver Karamba3D’s next-generation plugin - targeting both Grasshopper 1 and the then-alpha Grasshopper 2 from a single codebase.
The technical challenge
Grasshopper 2 SDK was alpha-stage with no public documentation. APIs changed week to week. There was no community knowledge to lean on.
The data model itself shifted. Grasshopper 2 introduced a new Tree type that diverges from Grasshopper 1’s GH_Structure , breaking core assumptions inside Karamba3D’s component logic.
UI and widget primitives were rewritten. Component attributes, custom widgets, and how plugins draw themselves on the canvas all needed new implementations.
Karamba3D had to keep shipping for Grasshopper 1 users. A clean rewrite that abandoned existing customers was not an option.
What we engineered
Decoupled architecture. Pulled Karamba3D’s core analytical and engineering logic out of the plugin layer into a self-contained library, referenced cleanly from both the GH1 and GH2 plugin projects.
Component unification. Designed a base-class and wrapper system so each component is authored once. Conditional compilation symbols then select the right SDK calls per target.
Custom DataTree wrapper. Built an internal abstraction over GH_Structure and Tree so component code is identical regardless of platform.
Unified UI layer. Common interfaces for widget management, attribute drawing, and component UI - backed by GH1 and GH2 specific implementations behind the same API.
Compile-time switching. A single solution can be built for either Grasshopper version on demand, allowing rapid iteration as the GH2 alpha SDK shifted.
The outcome
Karamba3D was given a forward-compatible foundation for Grasshopper 2 without losing its Grasshopper 1 user base - and a plugin architecture that can absorb future visual-scripting platforms with minimal disruption.
The work was delivered ahead of GH2’s public availability, putting Karamba3D among the earliest commercial structural-analysis plugins ready for the new platform.
GH2 alpha shipping target
Single codebase for GH1 + GH2
Zero regression for existing GH1 users
Future-ready for additional VST platforms
Read the project page
Case study · ShapeDiver
A three-year platform partnership: plugin tooling, AR, and the only dual-badge listing
ShapeDiver is the leading cloud geometry and configurator platform for Grasshopper. ARPM was a long-term technical partner across the development of ShapeDiver’s second-generation product (2020–2023), and is the only studio recognized by ShapeDiver as
both a Grasshopper partner
and a
Web development partner .
The technical challenge
The Grasshopper plugin needed a ground-up rebuild for ShapeDiver’s second-generation cloud platform, with new components, new icons, and new internal contracts.
AR support had to land inside a browser
- reliable, cross-device, and tied to a 3D web viewer that already had a complex runtime of its own.
Third-party plugin onboarding was a manual quality gate. Every plugin proposed for the platform had to be reviewed by a human before being trusted to run in the cloud, and the review process did not scale.
Customer-facing Grasshopper definitions still had to be delivered in parallel, often with bespoke logic for enterprise users.
What we engineered
Next-gen Grasshopper plugin contributions. Co-developed components, contributed UI assets and icon sets, and helped land the prototype that became ShapeDiver’s second-generation Grasshopper plugin.
AR web viewer R&D. Researched, prototyped, and shipped browser-based AR for the ShapeDiver viewer in TypeScript and C#, targeting AR-capable mobile devices.
Plugin review automation. Streamlined and partially automated the third-party plugin onboarding pipeline to reduce repetitive manual review effort while keeping quality standards intact.
Customer success delivery. Authored Grasshopper definitions and configurator logic for ShapeDiver enterprise clients, alongside platform engineering work.
Technical content. Tutorials, technical blog posts, graphics, and copy that helped users adopt the new platform and its tools.
The outcome
ShapeDiver gained both a long-term plugin and platform engineering partner and an embedded customer-success and enablement team - with the same group writing Grasshopper components, AR code, configurator logic, and customer documentation.
The collaboration is on record from ShapeDiver’s leadership: the CTO and Head of Product have publicly endorsed ARPM’s contribution to the platform.
2020–2023 three-year engagement
Dual-badge ShapeDiver partner
Plugin + AR + reviews co-delivered
Endorsed by CTO and Head of Product
Read the project page
See the ShapeDiver partner page
Enterprise R&D · HKS LINE & LBNL
Internal Grasshopper plugins for one of the world’s largest architecture practices
ARPM worked as an engineering partner to
HKS LINE
- HKS’s Laboratory for INtensive Exploration - building internal Grasshopper plugins that move enterprise design, BIM, and analysis workflows from manual labour to scripted, repeatable systems. Our plugin work for HKS reaches further than a single team: one plugin, VolcanoSnail , automates
Lawrence Berkeley National Laboratory’s THERM
- the de facto standard for facade thermal-bridging analysis.
VolcanoSnail - LBNL THERM automation
Internal Grasshopper plugin for HKS Facades that orchestrates Lawrence Berkeley National Laboratory’s THERM solver from inside Rhino.
THERM ships without a supported API or public SDK. We reverse-engineered its file formats, built defensive read/write logic, and orchestrate THERM headlessly from the command line so detail sections drawn in Rhino flow into batch thermal solves.
Results land back in the Rhino viewport for parametric sweeps across many facade details at once.
Headless THERM execution for batch runs - no on-screen UI friction during sweeps.
Reverse-engineered file format support, validated across edge cases.
In-Rhino visualization of thermal results, with export paths for offline review.
Read project
Healthcare Planning Automation
Internal Grasshopper plugin for HKS that treats clinical-floor layout as a constraint-driven optimization problem.
ICU, OPD, and consult-room layouts have to satisfy clearances, infection-control logic, and standards that vary by region and client.
Our plugin lets HKS planners propose a footprint and a constraint set, generate candidate layouts rapidly, and measure them against KPIs - bed counts, room yields, circulation efficiency, and code compliance.
Encoded healthcare-specific clinical and code-driven rules in Grasshopper.
Rapid optioneering across many layout variants in one definition.
Quantitative scoring of bed counts, room yields, and circulation.
Read project
Rhino–Revit Facade Pipeline
Custom Grasshopper tooling on top of Rhino.Inside.Revit for HKS facade delivery.
Most Rhino-to-Revit workflows hand over “dumb” geometry. Our pipeline builds
procedural Revit families with adaptive parameters, materials, identity data, tags, and dimensional metadata - instantiated parametrically from Grasshopper. The result is a curtain-wall–class facade authored in Rhino but delivered as a native Revit production model, with real schedules, tagging, and drawing extraction.
Procedural family authoring with full BIM data, not flat geometry.
Parametric instantiation from Grasshopper through custom Rhino.Inside.Revit code.
Validated across three demanding production facades.
Read project
In their words
Direct endorsements from leadership at the companies whose plugins we build.
{
{
}
}
Have a Grasshopper plugin that needs to be built - or rebuilt?
Whether it’s a commercial plugin for an AECTech vendor, an internal automation tool for a large practice, or an integration against an analysis engine that has no SDK,
we’ll scope the architecture, the dependencies, and the delivery plan together. Then we ship it.
Contact ARPM
Browse all projects