The Challenge
A mid-size architecture practice faced a significant challenge in managing the complex documentation of facade panels for a sprawling curvilinear tower. The conventional manual methods were proving inefficient, with extensive time and resources consumed in iterating designs and aligning panels precisely to the curvatures of the tower. The need for an innovative solution was evident as existing workflows were not sufficient to keep pace with project timelines and demands for precision.
The Solution
Adyantrix rose to the occasion by delivering a sophisticated parametric facade automation solution tailored to the unique requirements of the curvilinear design. Our team implemented Dynamo scripts alongside Revit plugins, transforming the design process into a highly efficient, automated workflow.
The automation focused on generating facade panel data that could be seamlessly adjusted and replicated across the tower's contours without manual intervention. By defining parametric variables and constraints, our solution ensured that any design iteration could be quickly processed, maintaining the integrity and intent of the architect's vision while significantly optimizing time.
Moreover, predictive modelling was integrated to anticipate and accommodate structural variations, effectively reducing errors and reworks in the panelization process.
Key Features
- Dynamo Integration: Custom scripts automated the alignment and layout of facade panels to suit the tower's complex geometry.
- Revit Plugins: Optimized documentation and design iterations through user-friendly tools designed for seamless integration.
- Parametric Variables: Allowed for dynamic adjustments and modifications in design, enhancing flexibility and reducing manual workload.
- Error Reduction: Advanced modelling reduced potential inaccuracies in panel deployment, minimizing costly changes on-site.
Key Results
The parametric facade automation implemented by Adyantrix resulted in an impressive reduction of panel documentation time by 80%. Where the traditional method demanded weeks of meticulous manual detailing, our approach allowed the team to achieve the same results in a fraction of the time.
This innovation not only accelerated project timelines but also empowered the architectural practice to focus on higher-level design considerations, enhancing overall productivity and design quality. The success of this initiative exemplifies how smart BIM solutions can lead to substantial gains in efficiency and precision in architectural projects.
The architecture firm found a newfound agility in responding to design changes and client demands, translating into a smoother project delivery and elevated client satisfaction. This case demonstrates the clear value of BIM automation in complex architectural landscapes, setting a precedent for future projects within the industry.
Technical Approach
The tower's facade comprised approximately 2,200 individual unitised panels distributed across a double-curvature geometry — a form in which no two floor levels described the same plan footprint, and the facade surface curved simultaneously in the vertical and horizontal axes. This geometry made manual panel documentation effectively intractable: each panel had unique dimensions, unique corner angles, and a unique spatial relationship to the structural grid behind it.
The automation pipeline was built across two interconnected environments: Rhino 3D / Grasshopper for parametric surface definition and panelisation logic, and Autodesk Revit / Dynamo for documentation generation and BIM integration.
Grasshopper surface and panelisation script: The tower's conceptual geometry was defined in Rhino as a NURBS surface derived from the architect's original form-finding model. The Grasshopper script took this surface as input and performed the following operations automatically:
- Divided the surface into horizontal bands corresponding to structural floor levels, using the structural grid as a driver.
- Subdivided each band into individual panel zones using a variable-width rule that maintained panel widths within the fabricator's specified range of 900–1,500 mm whilst minimising the number of non-standard panel sizes.
- Analysed each panel zone for planarity using the Kangaroo physics engine to assess panel deviation from a flat plane — a critical fabrication constraint for the unitised glazing system, which required panels to be within 8 mm of planar over their full extent.
- Flagged non-planar panels automatically and applied a subdivision logic to split them into smaller planar sub-panels, maintaining the facade's visual continuity whilst meeting the fabrication constraint.
- Extracted panel geometry, corner coordinates, area, deviation angle from vertical, and adjacency relationships as structured data for downstream documentation.
Dynamo-to-Revit documentation pipeline: The structured panel data output from Grasshopper was imported into Dynamo via a JSON interchange file. The Dynamo script then performed the following:
- Generated a Revit Generic Model family instance for each panel, positioned and oriented in 3D space using the corner coordinates from Grasshopper.
- Populated shared parameters (panel ID, dimensions, area, zone designation, structural zone, glazing type) on each instance from the Grasshopper data.
- Automatically created a Revit schedule filtered by facade zone, sorted by floor level and panel ID, and formatted to the fabricator's submittal template.
- Generated a Revit sheet set with panel arrangement plans per floor level, with panel IDs annotated automatically.
The complete pipeline — from surface input to fully annotated Revit documentation set — ran in approximately 45 minutes for the full 2,200-panel facade. The equivalent manual process had been estimated at 6–8 weeks of BIM technician time.
Implementation Highlights
Developing the automation pipeline required close iterative collaboration with both the architecture practice and the specialist facade contractor who had been appointed at design development stage.
Fabrication constraint integration was the most technically demanding aspect of the work. The facade contractor's unitised system required panels to meet three constraints simultaneously: planarity within 8 mm, maximum panel area of 2.1 m², and a minimum inter-panel joint width of 12 mm at any corner. The Grasshopper script needed to enforce all three constraints simultaneously during panelisation, which produced conflicting requirements in zones of high curvature where maintaining planarity demanded small panels, but meeting the area maximum and joint width minimum simultaneously was geometrically difficult. We resolved this through an iterative relaxation algorithm within Grasshopper that found the optimal panel boundary for each conflict zone, validated against all three constraints before outputting data to Dynamo.
Version control between Grasshopper and Revit required a disciplined workflow because the architect continued to refine the tower geometry during the automation development period. Each geometric change to the Rhino surface required the Grasshopper script to be re-run and a new JSON data file to be output, which then needed to be imported into Dynamo to regenerate the Revit model. We implemented a versioning convention for the JSON exchange files and a Dynamo script parameter that recorded the source file version on each Revit panel instance — providing a clear audit trail of which model version each documentation set was derived from.
Training the architecture practice's BIM team to operate and maintain the pipeline after handover was a critical deliverable. The practice had limited Dynamo experience and no Grasshopper experience prior to this project. We delivered a five-day hands-on training programme covering the Grasshopper surface and panelisation script, the Dynamo documentation pipeline, and the JSON interchange format — enabling the practice's team to re-run the pipeline independently for subsequent design iterations and to make minor modifications to panelisation rules without Adyantrix involvement. This self-sufficiency was a contractual requirement that we designed the pipeline architecture to support from the outset.
Structural grid coordination was an early challenge: the structural engineer's grid did not align precisely with the architect's floor level data in the Rhino model. A 15 mm discrepancy in floor-to-floor heights at floors 12 to 17 (arising from a beam depth change that had been incorporated in the structural model but not reflected in the architectural surface) caused the panelisation script to generate a row of panels at floor 12 that violated the planarity constraint. Identifying and resolving this coordination gap required a joint review session between the architect, structural engineer, and Adyantrix, and resulted in a formal co-ordination note that the structural floor levels would be considered definitive for panelisation purposes.
Measurable Outcomes
The automation pipeline delivered measurable benefits across documentation time, design iteration speed, and fabrication accuracy:
- Documentation time reduction: The full 2,200-panel facade documentation set was generated in 45 minutes from an updated surface input, compared to the 6–8 week estimate for manual production. This represents an approximately 98% reduction in calendar time for full-facade documentation regeneration — the 80% figure quoted in the project headline reflects time savings on partial updates and iteration cycles inclusive of review and approval time.
- Design iterations accommodated: The architect made seven significant surface geometry revisions during the design development period. Each revision triggered a full pipeline re-run, producing updated documentation within the same working day. Under the previous manual workflow, a single surface revision would have required a minimum of two weeks to propagate through the full panel documentation set. The ability to accommodate rapid iteration fundamentally changed the design process, allowing the architect to explore facade geometry options that would previously have been prohibitively time-consuming to document.
- Fabrication non-conformances: During the fabrication submittal review process, the specialist facade contractor reported zero panel geometry non-conformances related to planarity, area, or joint width violations — confirming that the constraint enforcement logic in the Grasshopper script had been effective across all 2,200 panels.
- Schedule impact: The overall architectural documentation programme was completed three weeks ahead of the contracted completion date, directly attributed to the elimination of the manual panelisation documentation workstream. This schedule saving reduced the practice's resource cost on the project and allowed earlier contractor tender issue.
- Quantity extraction accuracy: Facade panel area quantities extracted from the Revit schedule were verified by the QS against a manual quantity check on a sample of 100 panels; the automated quantities were accurate to within 0.3% across the sample, confirming the reliability of the parametric data for cost planning purposes.
Lessons Learned
Define fabrication constraints with the specialist contractor before writing the first line of script. In early conversations with the architecture practice, the panelisation brief described only general design intent — maintaining a consistent visual panel rhythm — without specifying fabrication limits. It was only when the specialist facade contractor was brought into a technical workshop that the three hard fabrication constraints (planarity, area, joint width) were formally stated. Had we built the Grasshopper script to the original brief and then received these constraints later, significant rework would have been required. Identifying all downstream fabrication and structural constraints at the outset of automation development is now a mandatory first step in our facade automation projects.
Invest in the Grasshopper-to-Revit interchange format as a formal interface specification. The JSON file structure used to pass panel data from Grasshopper to Dynamo was initially developed informally during the first sprint. As the pipeline evolved, the schema required several breaking changes that necessitated corresponding Dynamo script updates — avoidable disruption had the interchange format been formally specified and versioned from the start. For future automation pipelines with similar Grasshopper-to-Revit handoffs, we now author the interchange schema as a versioned specification document before development begins.
Self-sufficiency training is a design constraint, not an afterthought. The requirement for the architecture practice to operate the pipeline independently after handover influenced several design decisions: using JSON rather than a proprietary database for the interchange file (legible without specialist tools), structuring Dynamo nodes with human-readable names and inline comments, and breaking the pipeline into discrete named stages rather than a single monolithic script. These decisions added approximately 15% to the development time but were essential for the practice to maintain and adapt the pipeline without ongoing support dependency.
Why This Approach Worked
The parametric pipeline worked because it addressed the underlying geometric complexity of the problem directly, rather than attempting to simplify the facade design to fit within the constraints of manual documentation methods.
The architecture practice's previous approach to complex facade projects involved simplifying the geometry until it could be manageable in 2D — introducing panel regularisation constraints that compromised the architectural intent in order to reduce documentation workload. This project demonstrated an alternative: encode the full geometric complexity in the parametric surface model, then automate the documentation derivation so that complexity no longer implied proportional documentation effort.
The two-environment architecture — Grasshopper for geometric intelligence, Dynamo for BIM integration — was the right division of responsibility. Grasshopper's open parametric environment was better suited to the complex surface mathematics and fabrication constraint optimisation, while Dynamo's native integration with Revit ensured that outputs were directly usable in the practice's established BIM workflows without format conversion losses. Attempting to perform the entire workflow within either environment alone would have required significant compromises: Dynamo's geometric capabilities are limited for complex surface analysis, and Grasshopper has no native BIM object or schedule generation capability. Using each tool for what it does best, connected by a well-defined data interchange, was the architectural decision that made the pipeline both powerful and maintainable.
Speak with our BIM Consulting team at Adyantrix to find out how we can support your next project.
Work with Adyantrix
If you are looking to tackle a similar challenge, Adyantrix has the expertise to help across the full project lifecycle. Our BIM consulting practice covers BEP authoring, ISO 19650 strategy, and CDE implementation. Our architectural BIM practice covers Revit modelling from concept through construction documentation. Our Dynamo & Revit scripting practice covers custom Dynamo graphs and pyRevit scripts for your workflows. Our BIM automation practice covers Dynamo scripts, Revit plugins, and model quality automation. Get in touch to discuss your requirements — no commitment required.



