Revit rooms to masses
Most Rhino/Revit tutorials focus on a unidirectional workflow whereby Rhino geometry is transferred into Revit. However, sometimes we need to go the other way. This tutorial describes how to convert Revit rooms into 3d objects for export to Rhino. This is useful if you want to run some solar/thermal analysis in Ladybug.
Step 1: Clean up the Revit file by deleting any unplaced rooms and checking room names/number are completed.
Step 2: Create a new workset, for example “room mass”, which is not visible by default. This will be used to create room volumes.
Step 3: In Rhino, use the ‘Room.ImportInstance’ node within the BVN package. This node incorporates the ‘LunchBox Room Element Collector’ to read all rooms, and then using a string, filters the rooms as desired, in this instance, ‘Room’. Since the Revit API doesn’t allow the creation of in-place masses, an import instance is placed instead. These objects can then be used for a variety of purposes such as 3D programmatic diagrams and basic solar analysis.
By adding an ‘Element.SetName’ node, the import instances can be re-named based on the room number it was derived from, e.g. 1.01. Note that regardless of how the area schemes are set (Architecture > Room & Area > Area & Volume Computations) – by wall face, finished face, etc. -the resulting geometry will be the internalised volume, subtracting walls and floors. Since the name of each mass is associated to the room name from which it originated, various analysis can be performed of the mass and the results pushed back into Revit via Dynamo and/or Excel. This process is particularly useful when using Grasshopper and Ladybug to run environmental of the Revit model.
Step 4: Select all the import instances and go File > export > CAD formats > *dwg. Hit the ellipsis under setup.
Under the solids tab, ensure it is set to ‘ACIS solids’. This will allow Rhino to import breps opposed to a mesh.
Step 5: Import *dwg file into Rhino. The objects will come in as blocks. Explode the blocks and merge all breps into a single layer.