Thornton Tomasetti Guest Blog: Using Konstru with RAM

In this Guest Blog Post, Lead Computational Designer at Thornton Tomasetti (CORE Studio), Nicholas Mundell, details how to leverage Konstru with RAM. 

Planar Floors + Planar Beams

RAM requires any floor framing objects to be ‘hosted’ at a single Level, and for each Beam to be coincident with the Floor object that it ‘supports’. This is generally the most common issue with translating from Revit to RAM (as Revit floors are generally not this flat!), but is also the most easy to keep a handle on through a simple Revit ‘best practice’ modeling tip. This tip is to create and host all Floor framing in Revit on it’s own Structural Level, such as a ‘Top of Steel’ level. Whilst this is not the most common floor level condition in our models, for a Revit Structural model, the benefit’s of this approach are many, particularly when you are planning on translating your Revit model to an analysis platform like RAM.

Suggested Addition of a Structural Level to Revit to assist in maintaining a ‘connected’ model:

Benefit’s of including a Structural Level in Revit:

2.1. Minimize Framing Offsets

With the standard Architectural ‘Top of Slab’ model setup, the framing that supports the slab is forced to use offset parameters, preferable the ‘z offset’ parameter but often also the ‘start and end level’ offsets, to position it correctly in physical space. This model organization is ‘architect-centric’, with Structural engineers generally ceding control of the ‘edge of slab’ geometry (often rightly so) but at the same time, losing control of the ‘Levels’ in a Revit project. By including a Structural level to host framing in Revit (‘Top of Steel’ or ‘Top of Framing’ for concrete) users can avoid having to maintain hundred’s of localized Beam offset’s which are at the whim of the slab geometry and level.

2.2. Leverage Revit’s Automated Analytical Model Connectivity

During the standard process of modeling in Revit, the analytic representation of the framing objects will do their best to automatically snap to the closest analytic floor. If this floor is hosted at the same level as the Framing (as shown in the ‘Elevation of Level Setup’ image above) then the analytic representation of the model will more often than not keep to the ‘planar floors + planar beams’ requirement of RAM.

2.3 Column Splits

If you are planning on translating this model to RAM….you’ll need to split the Columns present in the model at the relevant Levels. If you were to split the Columns at a ‘Top of Slab’ level with the Framing hosted at a ‘Top of Steel’ level….obviously your floor framing will not be connected to the split Columns. See #5 for specifics.

Don’t forget to sign up for the Webinar: Intro to Konstru – Dec 14 – 12pm EST – Register Now

The 3 Feet Rule

With RAM being so rigorous in it’s requirement for planar framing, hosted at it’s own level, and for Columns and Walls to exist EXACTLY between project levels, Konstru RAM has built in tolerances to attempt to give RAM what it wants, even if the Revit model isn’t able to. It does this via a hard coded tolerance that, when creating a Konstru model in RAM, will associate a Beam or Column with a level in the RAM model if it is within 3′ of that level in Konstru. The difference between the Konstru model location and the level is added to the RAM object as an offset. This satisfy’s RAM’s requirement for all objects to be hosted, whilst also allowing the ‘non-hosted’ objects to be created in the correct location.

Any objects in the Konstru model that is being translated to RAM which are outside of this 3′ tolerance will have a new Level created during the translation into RAM specifically to host them. Again this satisfy’s RAM requirements for objects to be hosted, however there is the potential for Konstru to create many levels in the RAM model that were not present in the original Revit model. As such it’s recommended that users rely on the 3′ rule only after having done their best to apply the other methods listed in this post for model prep for RAM.

Konstru: Revit RAM 3 Foot Rule

Model Repair

Even with use of a Structural level to host framing in Revit, and additionally with the 3′ rule, keeping things planar can be tough….and keeping things CONNECTED can be even harder. Understanding this, Konstru has developed a suite of tools specifically designed to help automate the repair of poorly connected Revit models. You can find out more about these tools in these posts here.


Columns that span multiple Levels (i.e. you didn’t split them!)

Columns that span multiple levels in the Revit model will be created by Konstru in RAM in the correct 3D position as defined by the Level hosting in Revit (where the end points are + 3′ from a existing Revit level). However, any updates to the RAM model will result in the RAM forcing the Columns.

Sloped Columns

Sloped Columns are supported in RAM! However, they will also need to conform to the ‘level to level’ nature of vertical columns specified above, and the general difficulty of accurately modeling sloped Columns in Revit will almost certainly result in a need to use model repair to align these objects prior to translation to RAM.


For Revit objects that have been created as a Brace (either as a Vertical or Horizontal brace) Konstru will create what RAM defines as a Brace object. As with Sloped Columns, Vertical brace objects need to be built exactly between defined levels.


Konstru will create any Grids present in the Revit model in RAM, however the slight hiccup in RAM is that each individual grid created by Konstru will be a ‘grid system’ in RAM. These gird system’s in RAM still intersect, and as such RAM modelers are still able to utilize them to assist in RAM based modeling.

Nicolas Mundell

Lead Computational Designer | CORE studio

Thornton Tomasetti