Your Best Source for CAD, CAM & CAE Articles

| About | Submit Article

CADdigest Weekly
Email (required) *

A week's worth of articles will be emailed to you. See latest issue .

CAD, CAM & CAE Articles



More News



  Independent Content    

Industry-Experts Cover
Products & Services You
Need to Know About.
Only on
Find Out More!

Linking Revit With Spreadsheets Using Ideate's BIMLink

By Elise Moss, October 3, 2012

Ideate's BIMLink exports and imports parameter information between Revit projects and Excel spreadsheets.

When I evaluate software, I don't look just at what the software does, but also at the learning curve. How much time do I have to invest in figuring out how to use the software and become productive; how useful might the software be for my use?

For this review, I am running Autodesk Revit Architecture 2013 on my laptop using the Windows 8 beta, and so this is a way to test if the add-on software will work on the next release of Windows. (It does.)

Before installing any add-in to Revit, you have to close it. Even so, the most recent release of BIMLink 2013 had an install bug. I sent an email to Ideate's customer support and they responded quickly with a link to the previous release of BIMLink 2013. The response time was lightning quick and the old release installed fine. Once installed, BIMLink shows up on the menu under Add-Ins. (See figure 1.) After this hiccup, BIMLink worked seamlessly inside of Revit 2013.

Figure 1: The BIMLink item shows up in Revit's Add-Ins tab

The easiest and best workflow for using BIMLink runs like this:

(a) Check out which family categories and parameters are available.

(b) Export a spreadsheet using those parameters.

(c) Modify the spreadsheet by adding new values (for adding new elements to the project).

To do this, I launched BIMLink from the Add-Ins menu, and then clicked New. (See figure 2.)

Figure 2: Click New to start a new spreadsheet link

Figure 3: Available family categories

I saw the list of all the family categories available. (See figure 3.) I picked a family category for which I wanted to create in my project. While creating elements is one function of BIMLink, the more common use is exporting and importing parameter data.

BIMLink provided me with a list of properties that I could use in my Excel spreadsheet. (See figure 4.)

Figure 4: Available properties

Sheet Sorting With BIMLink

I work with several architectural clients who have a list of standard sheets they use. Almost every one of them uses a custom parameter for sorting sheets in the Project Browser, sorting them according to sheet type. BIMLink definitely allowed me to leverage off this existing practice, and in doing so makes it even more powerful.

To create a custom sheet usage parameter, in Revit I went the Manage tab->Project Parameters. (See figure 5.)

Figure 5: Accessing Project Parameters in Revit's Manage tab

To specify the parameters, I selected the Add button. (See figure 6.)

Figure 6: Clicking Add to specify parameters

In the dialog box that appeared, I performed the following steps (see figure 7):

  1. At the top, I set the Parameter Type to Project Parameter.
  2. I entered Sheet Type for the name of the parameter data.
  3. I chose the Instance radio button.
  4. From the Group Parameter Under droplist, I chose General.
  5. In the Categories section, I enabled Sheets to have the parameter applied to sheets.

Figure 7: Setting up parameters

Figure 8: Assigning a default value for parameter names

To save typing, you can assign a default value for the parameter. In this case, I assigned A-FP – short for Architectural Floor Plan. (See figure 8.)

Next I exported the data using BIMLink. To do so, I went to Revit's Add-Ins tab->BIMLink. Select New. (See figure 9.)

Figure 9: Clicking New

I selected Sheets as the element to be used, and then clicked OK. (See figure 10.)

Figure 10: Selecting Sheets

I added the parameters with which I wanted to auto-fill the sheet, like the Sheet Number, Sheet Name, Sheet Type, and so on. (See figure 11.) Note that Sheet Type is the custom parameter just created – once any custom parameters are created and placed in a project, they become available for BIMLink's use.

Figure 11: Selecting link properties

Next, I exported the selected parameter values to a spreadsheet. (See figure 12.) I browsed to the folder in which I wanted to save the spreadsheet, and then named it whatever I wanted.

Figure 12: Exporting to the spreadsheet

After locating the spreadsheet I just saved, I opened it up. It has all the parameters available as the first row, and now I could just fill them in. (See figure 13.)

Figure 13: The spreadsheet is ready to populate

Use Excel's Auto-fill, I added new data to the Id column. This generates new sheet placeholders in the project. Next, I created the lists of values for the remaining columns.

Note that I used the Appears in Sheet List parameter, so that I could control that as well (see figure 14):

Figure 14: The spreadsheet as I populated it

I saved and closed the spreadsheet. Upon returning to BIMLink, I selected Import. (See figure 15.)

Figure 15: Importing the spreadsheet

I select the spreadsheet, and then waited a few seconds. I saw the report of how the import went (well!), and then selected the Import button at the bottom of the dialog. (See figure 16.) After this, I closed BIMLink.

Figure 16: BIMLink reporting on the imported data

For the next stage, I went to the Project Browser in Revit, right-clicked, and then selected New Sheet. (See figure 17.)

Figure 17: Starting a new sheet in Revit

Figure 18: Picking and choosing sheets

The list of sheets created is shown by figure 18. I could hold down the Ctrl key to select the any sheets I wanted to create, or else hold down the Shift key to select a series of sheets. In this way, I could pick and choose the sheets I wanted. This is a lot nicer than using a template, which may be cluttered with unused and unwanted sheets. Any sheet names highlighted will be created.

Even better, the sheets are all organized based on the Sheet Type. (See figure 19.) For this to work, I needed to set up the Browser Organization.

Figure 19: Organizing sheets by type

Figure 20: Choosing Browser Organization

To do this, I went to Revit's View tab, and then selected User Interface->Browser Organization. (See figure 20.)

I selected the Sheets tab (see figure 21), chose New, and then gave my new sort filter a name.

Figure 21: Defining the sort filter

I had it group by Sheet Type, and then sort by Sheet Number. (See figure 22.)

Figure 22: Specifying the sort order

Another advantage of using this method is I can create and email a spreadsheet of desired sheets to a sub-contractor; they can auto-generate the sheets they need using BIMLink.

Using BIMLink With Hardware Schedules

I took the time to watch Ideate's video for creating hardware schedules, but to me it seemed more work than just staying in Revit. For others who are not as familiar with Revit as me, however, using BIMLink lets them enter data in a spreadsheet, instead of Revit. Ideate notes that their customers commonly manage large volumes of keys and key-based parameters, for which BIMLink is well-suited.

Another upside could be if I wanted to use the same hardware schedule across projects. Basically, I would create a schedule once in a Revit project, export the schedule with BIMLink, and then re-use it across projects - but, wait, Revit already allows me to import and export schedules, so why not just skip BIMLink and use Revit?

Which is what I do, and it works fine for me on the kinds of projects I deal with. The process, however, becomes a slow process when it needs to be done a hundred times over in a project, and this case BIMLink could prove to be useful.

Generating Room Numbers and Names

I selected the properties I wanted, and then clicked Export. For example, I wanted to place new rooms in the project, and so I exported the data to my Excel spreadsheet with the Room Number and Name. (See figure 23.)

In the spreadsheet, I created some new room numbers, and then imported the updated spreadsheet back to Revit.

Figure 23: Room numbers and names exported by BIMLink from Revit to a spreadsheet

Figure 24: Spreadsheet-generated room numbers in Revit

As I placed rooms, the list imported by BIMLink became available on the Options bar, so that I could assign numbers and names as I went along. (See figure 24.) Using the drop-down list is easier than typing or having to constantly update values in the Properties panel.

I was able to use BIMLink to generate a list of room numbers very quickly.

So, I got excited and wanted to see if I could use it to also place areas and area schemes. As I found, however, BIMLink is limited to creating new unplaced rooms, spaces, and sheets in Revit from spreadsheets. That's it. Areas and area schemes aren't on that list, because they are not supported by Revit's API. In case you might want to create rooms, here's what happened when I tried it out:

I opened a project for a small office with several cubicles. (See figure 25.)

Figure 25: My sample project is a small office layout

I went to BIMLink on my Add-Inns menu to set up my spreadsheet. Under Tools, I selected New Link. (See figure 26.)

Figure 26: Creating a new link from the Tools menu

Figure 27: Selecting the Areas property

I wanted to set up areas, and so I selected that category. (See figure 27.)

I selected the name for the properties/parameters I wanted to include in my spreadsheet. (See figure 28.)

Figure 28: Selecting the Name property

And then I exported it out. (See figure 29.) I browsed to a location on my computer to save the file, and then allowed it to save, using the default file name.

Figure 29: Exporting the areas data Figure 30: Adding data to the spreadsheet

I closed the BIMLink dialog box, and then moved over to Excel. When I opened the spreadsheet, it showed me the default values for the properties I had selected. I entered "New" in the first column to designate a new element in the project. (See figure 30.) I next entered the name for the new area, and then saved and closed the spreadsheet.

Upon my return to Revit, I clicked the BIMLink button, and imported the updated spreadsheet file. (See figure 31.)

Figure 31: Importing the edited spreadsheet file

And I got an error. (See figure 32.)

Figure 32: BIMLink complains about the newly added elements

Nevertheless, I went ahead and clicked Import again and closed the dialog. I went ahead and placed my areas as I normally would without BIMLink. (See figure 33.)

Figure 33: Adding new areas in Revit

BIMLink could not import the names that I wanted to assign to the new areas, because Revit does not understand them. It was a bit frustrating to me because "Areas" is listed in the BIMLink dialog. But ultimately the problem lies with Revit if specific types of data are unavailable to third-party developers like Ideate.

Managing Occupancy Loads

Another common use for BIMLink is to manage Occupancy Loads. Most planning departments require floor plans to have room tags that display occupancy loads. Revit can calculate occupancy loads for schedules, but calculated values can't be used in tags.

A great work-around would be to create a custom tag with a value for occupancy load and then use a spreadsheet imported with BIMLink to auto-load all your room tags. I tried to do this, creating a custom tag, several custom parameters, watched Ideate's video more than once– which didn't show how to define the custom tag or the custom parameters – and after several hours gave up, even after getting an outline of the workflow from an Ideate employee.

BIMLink definitely pays off in using the same spreadsheet across projects. Really savvy users can create files for material take-offs, views, sheets, room assignments, and so on, and then use them over and over.

Even better, design offices could assign lower-level workers to the data entry task with spreadsheets, and then put the files up on a server. The architects and designers use the spreadsheets to build up projects.

While savvy CAD managers could avoid BIMLink by setting up decent template files filled with schedules, notes, and sheets, this assumes that most projects don't run over fifty sheets.

Better Spell Checking With BIMLink

So, what other features does BIMLink have which might make it worth it? Well, for one, BIMLink boasts the ability to run a spell-check or find/replace over an entire project. (See figure 34.) While Revit comes with a spell-check tool (on the Annotate tab), it works only on the active sheet or view. When you have projects with dozens of sheets, spell-checking entire projects with BIMLink certainly saves time.

Figure 34: Starting the spell check Figure 35: Revit finds some spelling errors...

To test spell checking, I set up a project with four sheets, and then created notes on each sheet with spelling errors. First, I tested Revit. On one sheet, Revit had no problem locating all spelling errors. (See figure 35.)

But on another sheet Revit considered "FLR" an alright spelling for "floor," apparently (See figure 36.)

Figure 36: …but not others.

Then I turned to BIMLink. The spell check process is not, however, quite as straightforward. To do so, I needed to start BIMLink, click New, and then choose the Text Notes category. (See figure 37.)

Figure 37: Selecting Text Notes in BIMLink

When I added Text as the property, I could see a preview of all notes available in the project. (See figure 38.) I exported the text to a spreadsheet that I named "Spellcheck."

Figure 38: List of text to be exported to Excel

I opened the spreadsheet in Excel, and then ran the spell checker to see what would happen. At first, Excel didn't find a single spelling error, but then Ideate pointed out that this was due to one of Excel's default options (in which all uppercase text is ignored).

After I corrected the spelling errors in Excel, I imported the file back into Revit using BIMLink. BIMLink recognized that the spelling errors had been corrected. (See figure 39.)

Figure 39: Corrected spelling passed back through BIMLink

Hurrah! I pressed Import. All the annotations on all the sheets were corrected and updated. (See figure 40.) That was pretty impressive.

Figure 40: Correctly spelled text back in Revit
Using BIMLink For Translation

I am told that some firms are using the SPELLCHECK function as a translator – translating documents from English to German or Spanish or vice versa.

BIMLink wasn't designed to be used that way, but like a lot of software, users figure out unusual ways to leverage their investment, and Ideate has a posted a video on YouTube to show how to use BIMLink to translate document sets.

For some more examples of BIMLink can do, see the family editing example at YouTube ( and how to manage calculated values in tags (

Closing Thoughts

I wasn't able to figure out why all the different categories are listed as possible new links for BIMLink, when BIMLink only allows for the creation of new rooms, space. You can use BIMLink as a fast way to add parameter values to existing elements inside of a project. Whether it really would be faster or if you could just ditch BIMLink and use Revit (like I did for the hardware schedule) depends on how your firm works. I found it frustrating that there were hints of greatness within BIMLink, but I wasn't able to really unlock them, because Help skipped steps and some of the videos were incomplete.

You can download a free trial from , which limits your data to 25 lines on the spreadsheet. This is more than sufficient to determine whether the $850 cost of a BIMLink 2013 license of is worth your investment. BIMLink is not going to provide a return on investment for small residential projects or projects with less than fifty sheets, but in speaking with Ideate, their typical customers are large firms producing hundreds of construction documents per project.

See All Independent Content | Back to Top

Additional Information

Back to Top

About the Author

Elise Moss has been teaching Autodesk and SOLIDWORKS software for the past decade. She is an Autodesk Certified Instructor and teaches at an Autodesk Authorized Training Center in San Francisco. She speaks regularly at SOLIDWORKS World and leads the Oakland SOLIDWORKS user group. Elise has a mechanical engineering degree. More…

About Independent Coverage

TenLinks uses over 125 expert authors for unprecedented coverage of CAD, CAM, CAE products and services. Find out more about Independent Content and apply for coverage.