beyondAEC Hackathon 2017

The inaugural beyondAEC hackathon for the Greater Boston architecture, engineering, construction, and real estate development community was held on September 15-16, 2017. The competition consisted of a 24-hour window where teams of up to five could create never-before-seen technological solutions to challenges faced in the industry.


Held at Sasaki Associates in Watertown, the event was an overwhelming success with 43 registrants dividing into 10 project teams that consisted of: 7 college students (AEC and computer science), more than 25% women, and 21 different companies representing architecture, landscape architecture, construction, mechanical and structural engineering, technology and architecture consulting, computer science, software, and fabrication. In the end three projects were chosen for Most Impressive Use of Technology, Most Practical (could be used in an office "tomorrow"), and Best Cross-discipline Hack among teammates.

For a full recap of the event, winners, and photos head over to the website.


As one of the principal organizers of beyondAEC, my vision was to help propel the profession into the future by providing a forum where people could demonstrate technological expertise, learn new skills, and create something innovative through teamwork and collective resources. Teams naturally formed at the outset and the excitement and passion was palpable throughout as each worked diligently towards their ultimate deliverable. When the dust settled, I was blown away by the quality of the projects created and the sense of achievement -- I could not have asked for better turn out and participation. The hackathon provided a unique bonding activity across disciplines, experience levels, and offices to a level unlike any I have never seen in the Boston AEC space.

beyondAEC_KM announcements.jpg

We hope to make this an annual event and highly encourage participants from areas outside of Boston to join us as well. For future announcements, make sure to follow the beyondAEC Twitter account OR if you are interested in getting involved in the 2018 hackathon please supply your information through this form.

beyondAEC_post hack drinks.jpg

I cannot thank my team of collaborators enough for their persistent dedication and contributions -- Brad Prestbo, Jim Martin, Andrew Brown, Reilly Zlab, and Sebastian Ebarb. Thank you to our sponsors for taking the risk on this first event and helping bring it to life through their generous donations. Lastly, shout out to Jonatan Schumacher, Rob Otani, and Shannon McMullan from Thornton Tomasetti CORE Studio who put on one of the BEST hackathons year-after-year for the advice and inspiration.

Dynamo-litia Boston Turns 1!

This week the Dynamo-litia Boston celebrated it's One Year Anniversary. To celebrate, I used Dynamo to generate a virtual birthday cake.

Here are some of the highlights of the first year:

First session: September 21, 2015

7 Presentations:

  1. Introduction to Dynamo
  2. Dynamo for Production
  3. Dynamo and the Evolution of BIM
  4. Dynamo for All
  5. Dynamo and the Zen of Data Flow
  6. Work Smarter Not Harder
  7. Bringing Engineers & Architects Together Through Digital Design

1 Workshop:
Revit parameter export
Panelized surface & analysis

Did you know there is an entire Vimeo album devoted to the Dynamo-litia?

Dynamo-litia Boston Album

6 videos
1,777 Plays
51 Finishes
Average time per view: 34m,06s

Top 10 Countries:
US, UK, Spain, Canada, Brazil, Australia, Netherlands, Italy, Singapore, Germany

Lastly, this year would not have been possible without the contributions of many. Special thanks to:

Boston Society of Architects:
Conor MacDonald
Sara Garber
Revit User Group

Autodesk - Dynamo Team

Shepley Bulfinch

Zach Kron - Autodesk
Kevin Tracy - NBBJ
Christina Tully – Shepley Bulfinch
Masha Pekurovsky – Perkins Eastman
Eric Rudisaile - Microdesk
Timon Hazell - Silman

Most importantly, the Boston AEC Community! Looking forward to future sharing and collaboration.

RTCNA2016 Recap - "Computational Design for the 99%"

Several weeks ago I had the privilege of presenting at Revit Technology Conference – North America 2016. My presentation frequently repeated the phrase “Because Nobody Went to Architecture School to…” We have all been there at some point in our career – continuously repeating the same manual alteration to a Revit model, changing parameter information one click-at-a-time, or performing tedious data entry for hours on end – these are the moments when you wonder if the practice of architecture is not exactly what you dreamed about in architecture school. For all the advancements that BIM has introduced to the AEC industry, production validation, and maintaining uniformity of the information are still difficult undertakings. Tasks that require hours and days of individual modifications are not always professionally rewarding and monopolize time that can better be spent on the overall quality of the design and documentation. I often tell colleagues that if you find yourself asking the question, “There has to be a more efficient way to do this”, chances are good that Dynamo can help.

I did not come from a computer programming background but instead began teaching myself Dynamo to address specific problems frequently encountered in Revit. After achieving a basic understanding of how Dynamo works, I was able to investigate tasks of increasing complexity that began with simple changes to the model and evolved to automating entire processes. As my Dynamo experience continued to grow I began exploring ways that Revit could interact with other software platforms and how data could be manipulated and visualized. My skillset eventually evolved to where I understood more advanced concepts of geometry and parametricism for design but this was all built on the foundational knowledge acquired from researching daily production tasks.

In my presentation I preceded to share a sample of workflows that respond to specific challenges encountered on projects and tell the story of tedious task automation and process improvement for architectural practice. A highlight was the opportunity to collect data on a very large healthcare project that I developed into a workflow for tracking Revit model metrics. The goal was to look for correlations between various model metrics and how long it takes to sync or open the model — one of the most significant factors of workshared projects because the extra seconds and minutes it takes to sync on a slow model multiplied by all the users on the project adds up to many hours of lost productivity over the course of the project. Dynamo is used to track the overall size of the .RVT file, query and count various elements and categories, parse the Warnings export file, then export all the information to an Excel file. In addition to collecting these general model metrics, the Dynamo task updated two additional spreadsheets with every warning in the model over time and every placed family in the model over time. All three of these of these spreadsheets were linked into Microsoft PowerBI along with data from imaginIT Clarity’s Model Metrics tool, which tracks the time it takes to open the model over time. Over the course of three months, I ran this Dynamo definition on a daily basis for a total of 68 exports.

The final takeaway will not be a surprise to those who are familiar with Revit model performance… the data revealed that Auditing and Compacting the model as well as Purging Unused Families had the most overall impact on the time it takes to open and sync the model. Although this may not be a significant breakthrough, these real-time analysis tools help monitor the health of the model and indicate when may be the best time to intervene.

The last step was to find an easy way to communicate the status of the model to the production team. Since it is the responsibility of the Model Lead on the project to audit the Central file, Warnings are the only characteristic that individual team members have the opportunity to impact. The project from which this data was collected happens to be a children’s hospital so we placed an image of a Minion on the Message Board with a visibility parameter tied to the number of Warnings. The final Dynamo task overwrites the Warning count parameter in the Revit model and the Minion changes accordingly. Now the team is aware that when they open the model at the beginning of a workday, if the Minion is purple the Warnings have exceeded 400 and some time needs to be set aside to resolve.

In the end RTC was an excellent experience. I thoroughly enjoyed sharing my perspective and bonding with my fellow colleagues from all over the world.

Special thanks to everyone who helped contribute to my work:
RTC & Committee
Shepley Bulfinch
Jim Martin
Jim Chambers
Jessica Purcell
Christina Tully
Margaret Gammill
PJ Centofanti
Jamie Farrell

Design Space Exploration with Dynamo

One of the most challenging aspects of the architectural design process is determining how to organize form to fit an overall parti. Facing endless possible geometric configurations, making sequential alterations towards a fitting result can be difficult without a means to measure suitability. During the initial phases of design research, an architect gathers essential information such as program requirements to meet a clients needs, zoning and code information for a provided site, environmental and material influences, and aesthetic preferences. These assets serve as the foundation for a constraints based design approach where parameters can be assigned in an effort to influence and control form.

Constraints in design are rules or vocabularies that influence form through the design process. An inherent feature of the architectural process is that design must be performed within a set of given parameters. Parameters help to focus the scope of an architect by narrowing the range forms and formal relationships may take within a design solution... Constraint based design takes the parameters associated with a design problem and links them to the attributes of the formal components and relationships of a solution. (Dustin Eggink, )

Dynamo is an ideal platform for constraints based design because the visual programming environment allows you build a parametric model that can be quickly adjusted with changes to input values.

Once you have a functioning Dynamo definition, all of the nodes can be consolidated into one Custom Node by dragging a selection window over everything and going to Edit > Create Node From Selection. This will transition everything to the custom node editing mode -- you can always tell when you are in this mode because the background is yellow.

To create a custom node, the first step is to give it a name, description of what it does, and category (where it will be saved in the Library). All of the input number blocks (far left side) must be swapped out for Input nodes, generally named for the variable they represent. Output nodes also need to be added after the final nodes in the definition (far right side) that are providing the finalized geometry. When these steps are complete, save the node. Back in the Dynamo node space -- also known as the canvas -- number sliders can be added to the newly-created custom node. It is helpful to click the down arrow on the left side of the node to set the minimum, maximum, and step interval because large numbers can take awhile to process or crash Dynamo while zeros will often create null values and turn the majority of your definition yellow with warnings. Now you have a fully parametric custom node that allows you to explore a range of formal configurations with the simple adjustment of number sliders.

Developing custom nodes for form making allows for use with the Dynamo Customizer -- a web-based viewer currently in beta for viewing and interacting with Dynamo models real-time. This platform has a lot of potential for sharing designs in the future and allowing colleagues or clients to experiment with their own manipulations of the design.

Check out this example for the twisting tower here: Dynamo Customizer - Twisting Tower.
DISCLAIMER: you will have to request Beta access and sign in with your Autodesk ID to view this. For step-by-step instructions, visit:

After guiding parameters have been established, a design space can be generated for testing all possible variations of a few select variables of a design. Design space exploration is a concept involving a virtual -- or non physical -- space of possible design outcomes. This allows the designer to simultaneously see a wide range of options and extract only those that satisfy pre-determined criteria of fitness.

The core essence of this workflow is the use of Cartesian product which facilitates comparison of all possible pairings of variables. This mathematic operation can be understood as an array of combinations between x, y, z and 1, 2, 3 (below left) or as a slope graph of all possible correlations between the two lists of variables (below right).

Using the List.CartesianProduct node calculates all possible combinations of the number range values however all of the geometry is instantiated in Dynamo at the origin point, making it appear that only one object was created even though the count shows 132 (below left). Thanks to Zach Kron and the Design Options Layout node from the Buildz package, the nested list clusters of geometric objects are arrayed according to the Grid Size spacing value (below right). Using list management logic -- such as List.Transpose, List.Map with List.Transpose, etc. -- before the Design Options Layout node will re-arrange the list structure and result in different compositions of objects.

To set up a design space in Dynamo, the inputs to the custom node are fixed values. Whichever variables that you want to test must be left empty on the custom node and number ranges are connected to the List.CartesianProduct node. The number of list inputs in List.CartesianProduct must match the number of inputs left open on the custom node. It is also important to note that the list order for the number ranges in the List.CartesianProduct node must correspond to the same order of inputs in the custom node. The total number of values from each number range will not only determine the scale and form of the resultant geometry but count of values in each list will determine the overall size and shape of arrayed objects -- this is critical to remember because an excessive number of input values may take several minutes to process or potentially crash Dynamo. After the ranges of values have been set up, the List.CartesianProduct node is connected to the Design Options Layout node which arrays all possible combinations in 3D space. Depending on the geometry being tested, the Grid Size input determines the spacing between objects. When everything is connected correctly, Dynamo will display an array of forms which can be altered by changing the number range inputs and re-running the definition. If Dynamo crashes, geometry disappears, or there is an insufficient amount of variation in the forms, continue to calibrate the number ranges and explore the limitations of the parameters in your custom node.

A successful design space arrays all possible options along two or more axis utilizing the concept of dimensionality. Design space is theoretically unlimited, however the visualization of the virtual design space is limited to the constraints of graphic representation. Color can be added to provide visual differentiation of a third dimensions such as the analysis of generated outcomes, or could represent any of the associated properties of variables. Criteria for evaluation of fitness refers to the means by which the best solution is determined.

For example, a calculation of height of twisting tower forms can be colorized on minimum to maximum gradient (below left). Another representational technique is selective omission or hierarchical modifications to the representation (below right).

Ultimately design space and its subsequent representation is nothing more than a tool, designers still have to make decisions. Design space should function as a method of exploration to make informed, confident, substaintiated decisions.

Portions of this blog post were developed in collaboration with Jamie Farrell for our course Advanced Revit and Computational Workflows taught at the Boston Architectural College.


Image courtesy of Hung Pham

Image courtesy of Hung Pham

Canstruction is an international competition where “cansculptures” are created using cans of food, which are later donated to local hunger relief organizations. This year, the Houston office of Shepley Bulfinch assembled a team to take on the challenge.

After coming up with a design concept, the task of estimating the number of cans and positioning for structural stability is daunting. Since cans of food are a modular unit with standardized dimensions, this is a perfect opportunity for parametric design using Dynamo.

The first step was to figure out how to populate cans along a surface. Following a visit to a local grocery store for research, the height and diameter of a chosen can were entered into Dynamo to establish the base module. An undulating vertical cylinder was created to a height of 6 Feet and cross-sectional circumference curves were cut based the height of the can.

Points were then placed along the horizontal curves at a repeated distance of the width of the can. In order to ensure structural stability, the last step was to offset the location of the points along every other curve by the distance of half a can width so that they would be perfectly staggered to land at the point of intersection of two cans on the level below.

For the final design concept, the character Blanky from the animated classic The Brave Little Toaster was chose to help convey the message “Stitching Away Hunger!”

The initial 3D object to visualize the Blanky’s body was created using NURBS in Rhinoceros and then imported into Dynamo using the Mantis Shrimp package from Archi-lab . Initial attempts at generating curves from the Rhino surface resulted in a significant loss of definition of features due to the NURBS curves in Dynamo rounding off sharp corners between points.

It was determined that a better approach would be to model the concentric curves, similar to a digital topography model. The geometry was transitioned to Revit where contour lines were generated at a vertical spacing of the height the can. As splines in Revit, the contour lines could be easily adjusted to maintain the precision of the shape’s features.

Dynamo facilitated a seamless iterative design process as the contour curves were adjusted in Revit then queried in the definition to populate with cans. Upon visual inspection of the resulting 3D geometry in Dynamo, further adjustments could be made to the curves in Revit to perfect the overall shape.


Cans tend to become unstable after a certain number of stacked layers so a common practice is to add a thin layer of supporting material at regular intervals to provide a firm horizontal surface. The team chose 1/16” medium-density fiberboard (MDF) as their horizontal reinforcement layer at every level of cans and added supplemental contour curves in Revit to simulate the 1/16” spacing. The curves were picked up in Dynamo and populated with an extruded surface to and visualize the addition of supports, as well as calculate the increased overall height.

To emphasize the distinction between the character’s cape and the void below, the decision was made to use taller cans of a different color for the lower central portion of the can sculpture. In order to account for this design alteration, the contour curves were strategically split in Rhino and – at areas to be substituted with larger cans – contour lines were removed to account for the increased height.


One of the most significant benefits of designing a Canstruction sculpture with computation is the ability to perform an instantaneous takeoff of cans and materials. For this cansculpture, the final count came to 1763 short cans and 120 regular cans. In addition, there were 42 layers of support material, which ended up requiring [60] sheets of MDF. These numbers were critical for designing within budget and placing supply orders.

Image courtesy of Billi Jo Galow

Image courtesy of Billi Jo Galow


Linework from Dynamo can be pushed back into Rhino or exported as an SVG file. In preparation for build day, the assembly team printed out full-scale templates at each level of the cansculpture, which allowed them to quickly place cans on top of the template, eliminating most unforseen variances and the need for improvisation in the field.

Image courtesy of Billi Jo Galow

Image courtesy of Billi Jo Galow


Congratulations to the Shepley Bulfinch – Houston team for constructing an impressive cansculpture for a good cause. It was a pleasure to assist with the use of Dynamo and interoperability among several software platforms for simulation and delivery of their design. They demonstrated that visual programming is easy-to-learn and invaluable tool for integration into the design and documentation process, whether producing a sculpture made of cans or an entire building.

Claudia Ponce
Hung Pham
Julie Truong
Billi Jo Galow
Sandra Bauder
Stan Malinoski