So you’re out to dinner at a new restaurant in town.
You’re excited to be here and you’ve invited a couple of friends.
You invited these particular two people to dinner because you have some important work to do and you need them to work together in order to get this thing done.
Now, these two people have never spoken to each other. In fact, until tonight, they didn’t know the other existed.
You have a great relationship with both of them individually. You talk every day. You’ve shared some great times and some tough times too. But this if the first time you’ve put the two of them together.
They seem amicable on the surface but you notice they’re eyeing each other suspiciously.
As you start talking about what you want to do, you realize the problem.
While they can both understand you, they can’t understand each other. It’s as if they don’t hear what the other is saying. The words just wash right over them.
How are you going to get your work done when two of the most important players in the project can’t talk to each other, let alone hear one another.
Sound familiar? This is how most of our software operates.
Finding common ground
While out-of-the-box interoperability is a great goal, what’s more realistic is finding common ground between applications. Once you’ve established it, you can use this common ground to move the relevant data from one format to the other. For example, I recently got a question about converting Visio diagrams into Revit.
Visio is a great tool for creating building program diagrams. You can quickly “sketch” out a floor plan using rough dimensions, play around with some options, and come up with a diagram that works for your project.
But when you’re ready to take the next step and start developing your diagram in three dimensions using Revit, you’re out of luck.
Revit doesn’t read Visio files. It doesn’t even know they exist.
Yes, you can export your Visio diagram to DWG and bring this into Revit, but you lose a lot of the room information you put into Visio.
It’s like you’re back at your dinner party and your guests can understand every 5th word the other is saying. You need to do a lot of work to fill in the gaps.
Let’s face it, this is not a great way to get things done. You spend a lot of time and effort smoothing over the rough edges.
We can’t expect every piece of software to talk to each other. It’s unreasonable. Software developers can’t anticipate everything users are going to want to do with their software. Plus, we users don’t always have the luxury of time to wait for the developers to get around to writing the particular plug-ins we need to get our work done.
But what if you had a tool that made communication between software easier? What if you could get the data out of one program and put into another with minimal effort on your part?
You can, with a little help from Dynamo.
Connect Revit the Smart Way
It’s easy to import a Visio file into Revit. All you need is Dynamo and a little elbow grease. Here’s how to do it.
Step 1 – Create your diagram
Go ahead and create your diagram in Visio. Below is a screenshot of the sample diagram I’m using in this example.
I’m using the “Space” shape, which comes pre-configured with room information. If you want to import additional information into Revit, be sure to add it to the object. We’ll export all this data out to Excel in the next step.
Step 2 – Export data
Once you have the diagram, export a report of your data to Excel. This report should contain all your room information, including the center point of each room.
Here’s what the exported data looks like in Excel:
To make things easier, clean up this data in Exel and remove the unneeded columns. This will streamline the process of importing the data into Revit. Also, the X and Y coordinates come out of Visio as text with “ft” and “in” suffixes. Dynamo doesn’t really like this. You can use the InchCalc Excel add-in to convert these units to inches, as shown below.
Also, save your diagram out as a DWG file using File > Save As. We’ll use the DWG in the next step to generate room separation lines.
Step 3 – Link DWG file
Switch over to Revit and link in the DWG file to a floor plan view.
Next, use the Quick Convert tool (which is part of the ArchSmarter PowerPack add-in) to convert the DWG lines to room separation lines.
You now have the room boundaries, but not the room data, in Revit.
Now it’s time for Dynamo to provides the smarts.
Step 4 – Import data using Dynamo
Open Dynamo and create a new graph. This graph will read the Visio data from Excel and create new room objects based on that data. Insert the room objects using their Visio insertion points. This will drop the rooms right inside the Revit room boundaries.
Boom! You have your Visio diagram translated into Revit.
BONUS – Create walls
If you want to go the next step, use the Lines to Walls macro to generate walls from the lines in the linked DWG file. You’ll need to import the linked CAD file and explode it. I’m working on a version of the macro that will generate walls from a linked file. Look for it soon in the ArchSmarter Toolbox.
It’s that easy. The trick to connecting software is finding the common ground between your applications. In this case, we’re using DWG and Excel to make the link between Revit and Visio. Dynamo is a great tool for filling the interoperability gaps. All it takes is some smarts and a little elbow grease.
Want to learn more?
Want to learn more? Check out the Managing Building Data with Dynamo mini-course. In this 90 minute class, I’ll show you how you can use Dynamo to create a direct link between Revit and Excel. If you want to work smarter in Revit, this class is for you. I’ll show you how to import and export Revit data to Excel using Dynamo. I’ll also show you how to drive your model right from Excel. Lots of cool stuff! Click the link below to learn more and to enroll.