I thought I’d share some projects I’ve completed in Dynamo, Revit’s visual programming language. Dynamo is a tool that allows user to create more efficient processes for whatever Revit task they are trying to conduct. I have found it to be immensely useful- I am a sucker for making any task automated!
I have not spoken on the topic of Revit very much on this blog, because it is a tool I use every day at work, but not frequently for hobby/personal use. Revit and the world of BIM deserve their own post (or even their own blog site), but for now I will say that Revit and Building Information Technology as a whole have made the design process, documentation, and communication amongst disciplines much easier and efficient in the world of architecture. I am young enough to not have known what the field was like before BIM, but I have seen it grow over the last ten years and directly witness the importance of its implementation.
I want to get into a specific project I completed using Dynamo, because I believe it exhibits how useful Dynamo can be when used with information from Excel. Managing data through Revit is expected during any project (there’s always someone responsible for the door schedule, am I right?), but what happens when you have thousands of data points from Excel needed to model specific pieces of equipment? That was the task I faced when I began this project.
Before I begin, I want to preface all of this with: I am building off an existing project completed by someone else long before my time. The majority of the dynamo script is my own, but I did have a basic script, family, excel and outline to work with. The existing script needed to be scrapped, but I do want to acknowledge my previous teammates’ efforts and providing me with a starting point.
The basic summary of the task is as followed: a user needed to import a few thousand pieces of equipment of varying sizes into a Revit model. The name, department, room number, width, height, and depth were listed in excel spreadsheet for each piece of equipment. The user wanted each piece of equipment to include this information as a family type (I was told this was in case they needed to create a duplicate instance of a piece of equipment), as well as change in size dependent on the parameters listed. For this blog post, I am going to be using an example Excel file with similar spreadsheet information, but with only 10 pieces of equipment:
A generic lab equipment family had been created that included these parameters, including (most importantly) the size parameters. First order of business was getting the excel and Revit to talk to one another. These are some rather standard nodes in Dynamo that allowed importing excel data:
The next step was creating the lab equipment family by type, using the equipment name and department from the excel sheet (index 0 and 1) as the type name. For example, the first family type would come into Revit as “EQ-01 – A”:
To finally finish the family type creation, we needed to set the size parameters of the equipment by the data from excel (indices 2, 3, and 4).
This set the width, depth, and height of each piece of equipment. In my next post, I will walk you through how we organized how each family type instance came into the model.