It has begun more than a year ago with an email from Kevin Allen, a Director of BIM and Productivity at Comfort Systems USA. Kevin sent an email to Bad Monkeys asking if it was possible to create custom Dynamo nodes, that would help him automate creation of Assembly Views for Fabrication Parts. We decided that it would be best if I (Konrad) took the lead on this one, due to my time-zone proximity, and matching skill requirement (more on that a little later). After a few more email exchanges and a phone call, it was clear to us that Dynamo wasn’t the best possible approach. Sure, it was the easiest way for Kevin and his colleagues to start prototyping, and experimenting with the new Fabrication functionality. However, as we were learning more and more about the project requirements, it was becoming clear to us, that a different approach would be better.
It’s worth noting that Dynamo is an exceptional tool for those that want to quickly prototype some basic Revit API functionality. It requires very little textual programming knowledge, and instead relies on your ability to connect little chunks of code wrapped into “nodes”. You can simply connect these nodes by wires, and on a fly create very powerful automation scripts. This method is called Visual Programming and since it requires no prior knowledge in any programming languages, has become quite popular amongst Architects and Engineers.
So despite the fact that we were most comfortable discussing required functionality using references to Dynamo, we have ultimately decided that developing a Revit External Application (a plug-in) would be the best way forward. This approach offers a much easier way to manage versions and distributions, and since Comfort Systems USA and their affiliated companies span across the entire US, with more than 100 locations, it was critical to think about these issues early on. Still, to this day Kevin likes to mock up proposed functionality in Dynamo…and why not? It’s not a secret that Dynamo is what brought the Bad Monkeys together and we remain active members of the community, so we very much appreciate the opportunity to work that way when feasible.
"I am from the MEP sector so I'll help you get acquainted with some of our processes and work flows! This year 2017 Revit brings Fabrication Parts into the workflow, so I am one of many mechanical contractors who will be making the switch from the AutoCAD world into Revit. I have lots to learn so bear with me as well!"
Kevin Allen, Comfort Systems USA
Back to our collaboration. After a few weeks of coding, testing and learning we were ready for a release. We say “learning” because continuing education was and still is an important aspect of our relationship with CSUSA. I might have a good understanding of Revit, but I mostly used it in context of Architecture, and here I was developing an application for MEP Fabricators. On the flip side, Kevin and CSUSA as a whole, were coming from CAD background having worked previously with great success in applications like CADmep and MepEST. What made this relationship work for both parties, was a clear and honest admission of our limitations right from the get go. I remember saying to Kevin in one of our first emails, that “I mostly work on Architecture side, so I haven’t done much work with Assemblies, but if you don’t mind walking me through some of the Revit interface workflows, then I will be perfectly fine with Revit API side.” On the other end Kevin was quick to admitting that he’s new to Revit himself, but more than willing to learn and teach me if necessary: “I am from the MEP sector so I’ll help you get acquainted with some of our processes and work flows! This year 2017 Revit brings Fabrication Parts into the workflow, so I am one of many mechanical contractors who will be making the switch from the AutoCAD world into Revit. I have lots to learn so bear with me as well!” Just like that we were off to the races.
Our first release of Assembly Manager was an attempt at automating creation of Assembly Views – plan, schedule, ortho view, sheet – and some basic reporting abilities. For those of you familiar with the process, the idea was to take the MEP “design” model, and convert it into MEP “fabrication” model. That was not exactly an easy task, and as much as creating Assemblies themselves wasn’t too bad, the process of “spooling” pipes, and ducts was very time consuming. Using the conventional methods of manually creating each view and placing it on a Sheet for every Assembly was just not an option. Considering that CADmep already had batch processing tools for creating spools, there was no benefit for anyone to switch over to Revit, if Revit didn’t have at least the same basic abilities. By working with Bad Monkeys on development of Assembly Manager tool, CSUSA has been able to transition their staff to Revit based workflow, with minimal productivity loss. It also means that they can now stay in a “design” model much longer, because their transition to “fabrication” is constantly improving and being automated.
"That's the beauty of collaboration - everyone wins. In today's world of instant results, we were able to slow down at times, and even go back to the drawing board to do a major refactor. For a software developer that kind of understanding and flexibility is invaluable. Also, feedback is our lifeline, and Kevin and his team really deliver when it comes to user feedback and testing."
Konrad K Sobon, Bad Monkeys
Also, Assembly Manager has come a long way since this AU presentation. From a simple view creation automation and basic feedback, we have developed it into a full fledged fabrication project management tool. Now with extended reporting, increased navigation and soon with printing ability, the current version of Assembly Manager allows CSUSA to move from design to fabrication in one smooth process, all using a single tool to create, manage and spool. What’s exciting about the work that we are doing with CSUSA, is the fact that they are not satisfied. I love waking up in the morning to find a new email in my mailbox, with some Dynamo questions or ideas for new tools. Yeah, they are constantly working, experimenting, looking at new ways to solve the industry problems that we all encounter in our practices. I love that kind of attitude.
Personally it has been nothing short of great for me to work with Kevin. We have been able to swap ideas, and have meaningful conversations, sometimes about processes that few months ago I would have had no idea about. That’s the beauty of collaboration – everyone wins. In today’s world of instant results, we were able to slow down at times, extensively test new functionality, and even once go back to the drawing board to do a major refactor. For a software developer that’s invaluable. Feedback is our lifeline, and Kevin and his team really deliver when it comes to user feedback and testing.
With our first year behind us, I am excited about the future. I know Kevin is too. He’s already planning his next project. I am happy that Bad Monkeys will be part of it. This collaboration has been equally as rewarding as it has been challenging and stimulating. I sure appreciate what we were been able to do together, and I am looking forward to what we can do in the future.