Long before I knew anything about Ideate BIMLink, I found myself spending a lot of time creating and managing Revit data, especially for custom building facades. While massing and adaptive components give you virtually limitless possibilities when it comes to design, using a simple curtain wall with custom panels can be just as effective. But what would happen if you have a lot of curtain wall panels that you want to randomize, such as their thicknesses and materials? Having to manage this data, panel by panel, could take you several days and leave you very frustrated, especially if you have hundreds of panels to edit.

Using Ideate BIMLink, I will show you how you can easily get started with Computational Design by exporting your curtain wall panel data to an Excel file and quickly apply random materials and thicknesses to several hundred curtain wall panels in a matter of seconds for a unique and fun building façade.

In this example, we will be using Ideate BIMlink to manipulate over 700 curtain wall
panels to create some colorful glass boxes with a variety of block depths.

Here's how you get it done. Step 1: Create a custom curtain wall panel starting with the Curtain Wall Panel.rft template file that ships with Revit.

Create a custom curtain wall panel, with custom parameters.

Step 2: Create a Material Parameter and set its properties to Instance.

Step 3: Create a Thickness Parameter and set its properties to Instance. Setting both the material and thickness parameters as instances will allow for greater flexibility of the family and will make the randomization of the panels thickness and materials a lot easier to control.

Step 4: Assign the custom material parameter to the default Material Parameter that is part of the Curtain Wall Panel template.

Assign the custom material parameter to the Default
Material parameter in the Curtain Wall family file.

Step 5: Save the Curtain Wall Panel and load it into your project. Once the curtain wall panel is loaded, it will be available so that you can create a custom curtain wall and apply this panel to that wall.

Step 6: Create your curtain walls using the custom Curtain Wall Panel family and a pattern of your choice.

Create a custom curtain wall using the custom curtain wall panel.

Step 7: Create a link file in BIMLink using the Curtain Wall Panels category. You can use a pre-defined .link file and edit the fields as necessary, or create your own from scratch.

Create an Ideate BIMLink link by adding the required fields for modification in Excel.

Step 8: If your project has multiple curtain wall panel types, it may be a good idea to filter out the ones that you are not interested in editing. In this example, I set my filter to only show my custom panel.

Filter out unwanted Curtain Wall Panels in your link definition by selecting the
custom Curtain Wall Panel that you created.

Step 9: Once your Excel file has been exported and opened, you will need to add a tab next to the Excel tab that was exported by Ideate BIMLink so that you can define the Material List that you want to apply to the custom curtain wall.

Create a new tab for your Materials, then create a Named List for those materials.

Step 10: Select all of the materials and then give the selection a name. In this example, I called this list MaterialList. We will use this list to create an index of materials so that Excel can randomize the materials on the Excel spreadsheet that was exported with BIMLink. Take note that we have a list with 7 materials. This number will be very important when we randomize the materials.

Step 11: In order to randomize the materials for the Curtain Wall Panels, you must use the INDEX formula. What the INDEX formula does is it returns a value or the reference to a value from within a table or range. In this example, we are indexing the MaterialsList and randomizing the list as well. Below is how the formula for the Material Parameter works:

  • INDEX(array,row_num,column_num), where the array is the MaterialList, the row_num is the row number from the MaterialList and the column_num is the column number from the MaterialList.
  • ROUND(Number, num_digits), where number is a specified number and num_digits is now many digits you want to round by. In this example, we are going to ROUND a random number.
  • RAND(), which will return a random number greater than or equal to 0 and less than 1.

Randomize your Material List by indexing the list and applying the randomization formula. 

For this example, we randomized the row_num by using the RAND() feature, then ROUND the randomly returned value (anything between 0 & 1), then multiplied by 6, with 0 decimal places, then adding 1 (which represents the 7 rows from the MaterialList), and finally, referring to Column 1 of the defined MaterialList. The final results is a completely randomized list of the 7 materials that we created.

Step 12: In order to randomize the Panel Thickness Parameter, you can use the RANDBETWEEN () formula. What this formula allows you to do is specify a lower and upper value and then a randomization will occur between the lower and upper values. Below is how the formula for the Panel Thickness works:

  • RANDBETWEEN(bottom, top), returns a random number between a bottom and top value specificed.
  • &(text1, text2, etc) [Also known as the CONCATENATE formula], allows you to join several pieces of text together.

Randomize the Curtain Wall Panel thickness by applying the RANDBETWEEN
formula and adding the inches symbol to the outputted number.

For this example, we randomized numbers between 1 & 48, then added the inch marks to those numbers using the & or CONCATENATE feature. This will return all of the randomized values in inches, which is easy for us to understand.

Step 13: Once you have completed the randomization of the Material column and the Panel Thickness column, you can either accept the current values and import the Excel back into BIMLink or you can re-randomize the values for both columns. To do so, simply hit the F9 button on your keyboard as many times as you like.

Step 14: Once you have saved your Excel file and imported it back in using Ideate BIMLink, be sure to review the dialogue box for errors and warnings, along with all of your changes. If everything looks good, click on the Import button to finalize your changes.

Review imported Excel file for errors, warnings & changes to original parameter settings.

Enjoy the results!

Perspective View 

South Elevation View

For some fun, real-world examples of Computational Design using Ideate BIMLink, be sure to check out this Studies in Success article, in which BIMlink was used to create a complex sun screen: BVN Jasmax Study in Success.

About the Author

Sash Kazeminejad - ACI, LEED AP AEC Senior Application Specialist Sash brings proficiency in Autodesk solutions including AutoCAD and Revit Architecture to Ideate customers. His industry experience includes project management, BIM Management, and design for Architectural firms in California, Montana and Oregon. He is LEED accredited professional and is on track to achieve California licensure with Oregon to follow. In his academic life, Sash was awarded a variety of college scholarships, earned a BA in Environmental Design, a MA in Architecture from Montana State University (MSU) and taught Building Information Modeling courses at MSU Gallatin College. As a Revit Architecture Autodesk Certified Instructor, Sash provides Revit Architecture training and support for AEC firms. @sashpdx