Category: Help, How-To & Tips

How to Set Up Units and Databases

With access to a rich palette of databases that contains sections and materials meeting different standards, structural engineers can work in React Structures with country-specific section shapes and imperial or metric units within the same integrated model. React Structures supports steel, concrete and timber structures.
The program uses imperial units by default. A short info about current units is displayed in the program status bar.

Step1
In the next series of steps I would like to show you the process how to set up units and databases in your project

  1. 1. Click units info in the status bar or the Options button available in the menu unfolded when you click on the R icon in the upper left corner.
  2. Step1b
    2. Units system can be changed by clicking on the first category in the tree menu. The next categories allow set units types.  Change the default imperial settings to Metric.
  3. Step2
    3. Select Materials in the tree menu and change the Basic set for Steel and Concrete material types. In the drop-down menu select S 355 for Steel and C20/25 for Concrete.
  4. Step3
    4. Next, select Databases in the tree menu and verify the default section database for steel members.
    Step4
    5. All databases loaded to the program can be checked when you click on the Sections category in the tree menu. Additional databases can be loaded to the project by clicking on the  button over the table. Add the EURO database (European Section Database).

Step5
6. When everything is done in the Options dialog, press OK button to save settings and quit the dialog.

Model Transfer: from Revit into React Structures

With the Dynamo integration available in both React Structures TP3 and Revit, engineers are able to transfer a Revit model into React Structures in a very flexible way.

In this post you will discover how to build a Dynamo graph to create a one-way model exchange workflow from Revit to React Structures. For that we will see how to:

    1. -Read analytical model from Revit stick elements
    2. -Convert the Revit analytical model representation to React Structures members
    3. -Read family types from Revit elements to get cross section names
    4. -Load cross sections defined in Revit that are not matching steel cross sections loaded into current -React Structures project
    5. -Assign proper cross sections to React Structures members.

To achieve this workflow, you will need to have installed on your machine:

  • React Structures TP3 – available here
  • Revit 2016 – available here
  • Dynamo for Revit version 0.9 (installed with React TP3)
  • Files for this excercise – available in this .zip archive

1. Get Started

To get started, let’s follow initial steps:

  • Start Revit 2016 and open one of the .rvt files from the zip attached (imperial and metric versions are both available).
  • Open React Structures and create a new empty project.
  • The steel building model is a steel frame composed of 9 columns, 10 beams and 4 beams system.
  • r2r01
  • Start Dynamo 0.9 from Revit Add-ins Ribbon tab and create a new graph
  • Set the graph evaluation run to Manual.

 

2. Read Revit analytical model with Dynamo

Now we are setup and we need to read the analytical model from Revit and move its representation into Dynamo.

  • To expose analytical model of stick elements into Dynamo, we need to add the node All Elements of Type to our graph (1). This node take as input Revit Element type node output (2).

The node Elements type exposes all element types available in Revit. We should add this node to our graph, connect it to the input of the All Elements of Type node and choose AnalyticalModelStick from the combo box (2).

To see result we could now add a Watch node (3) and hit the run button.

r2r02
  • At this stage the connection Revit and dynamo is set. To view analytical elements in Dynamo canvas and access their geometry, we need to add the node curves and connect it to the output of the All Elements of Type node (1). After the evaluation of the graph, the output will be a list of curves for each of our Revit analytical elements and the geometry will be drawn in the 3D view (2).
r2r03
  • Now we need to get the cross section assigned to Revit analytical model element. In Revit, the cross section name is defined by the family type parameter. To access this parameter we could add the node GetParameterValueByName (1). This node takes two inputs, an element and the name of the parameter. Elements will come from the output of the node All Element of Type. To specify the name of the parameter, we will add a CodeBlock node (2) (by double click inside Dynamo canvas) and set “Family Type”; as input value. The result will be the family type of each physical element hosting a stick analytical model.
r2r04

3. Prepare the analytical model

We have now access to data describing the Revit model in Dynamo however few additional steps are necessary to before sending them to React Structures

  • If you are looking at the output of the curves node you will see that the analytical model is split in three pieces. We need to find a way to convert these 3 curves into a single curve that will represent a member in React Structures. For this we will use a CodeBlock to merge curves. The code we need add into our CodeBlock node is the following:

 

//get the list of first curves describing the analytical model and store it
firstCurves = List.FirstItem(curves<2>);
// get the list of second and third curves describing the analytical model and store it
secondAndThirdCurves = List.RestOfItems(curves<2>);

// Join elements from the first list and the second list
firstCurves.Join(secondAndThirdCurves);
The output of this node is a list of Polycurves describing our analytical model and this list will be used to create bars in React Structures.

r2r05

To assign a cross section to React Structures element, we need its name. To achieve this we could connect the Element.GetParameterValueByName node output to a FamilyType.Name node. The output of this node will be the name of the cross section assigned to each of the elements.

r2r06
  • Dynamo is passing data to React Structures into SI units. This mean that unit for length in Revit should be set meter. If this is not the case, a scale factor could be applied to the geometry using the node Scale. Our list of curves should be pass as input of the node as well the value 0.3048 witch is the ratio foot-meter.
r2r07

4. Create the model in React Structures

Now we need to add to our graph some nodes that will create model in the React Structures.

  • React Structures installation add a series of dynamo nodes into Dynamo for Revit. These nodes could be found under the category Analyze/Structural Analysis for Dynamo. To create a bar in React Structures, the node ByCurves could be used. This node will create a straight element in React Structures using the curve start point and end point passed as input. The input of this node is here our list of polycurves objects returned by our previously created CodeBlock node.

 

r2r08
  • Running the script at this stage will generate bars in React Structures, however cross section won’t be applied.
r2r09
  • To assign a cross section to a React Structures element, the section should be available in current project. To be sure that required section are available, we will create a new CodeBlock with following code:

 

// Create a list of unique section name
uniqueNames= List.UniqueItems(names);
// Load section into react Structures
Bars.LoadSections(uniqueNames);
// return the list of section name that
//should be assigned to each members
names;

Now, when evaluating the graph, all missing sections will be loaded into React Structures if they are present into the active React Structures section database.

r2r10
  • To complete this graph, we need to assign cross sections to React Structures members. This could be achieved by using the node SetSectionByname. Inputs of this node are the list of analytical bars created by the node Bars.Bycurves and our list of strings output of our second CodeBlock.
r2r11
  • Running the script will now assigned proper sections to React Structures elements.
r2r12

You can see a quick video of building and running this script below:

5. Conclusion and limitations

With this graph, our Revit model is passed to React Structures using Dynamo as proxy. If we turn the Dynamo evaluation model into automatic, Revit model changes like the modification of the location, changing the family type and adding and removing elements will be propagated automatically into React Structures.

This graph is an example of the workflow we could enable using React Structures, Revit and Dynamo. This graph could be extended to manage some additional analytical model elements like curved beams and surface elements and to transfer some Revit analytical model parameters like supports, release and loading condition.

As reference, we are joining to this article a zip file containing an imperial and metric version of the Revit model used and associated Dynamo graphs.

Questions? Comments? Jump to the forum to discuss with the team

Example of a Parametric Truss using Dynamo + React Structures

Dynamo
The version 0.9 of Dynamo with the Structural Analysis package is installed along with React Structures Technology Preview 2.
If the user/structural engineer wants to use React Structures in conjunction with Dynamo, he has everything he needs to get started.

React Structures Ribbon
In the world of structural engineering, we are challenged to make several structural analysis models, to find the best solution, and to be the leaders in economic structure design. React Structures + Dynamo are great solutions that help with this. It speeds up the modelling process of parametric structures which are very often used by structural engineers.
Dynamo for React Structures helps users not only to generate structural geometry but also:
• Assign structural properties such as: section shapes, materials, releases etc…Dynamo Structural Properties
• Create load cases and apply various types of loads.
Loads
• Run calculations.
Analysis
• And finally display and retrieve results of structural analysis.
Results
I would like to show you the process in the following example of a parametric truss. The script I created allows the definition of different types of trusses depending on the input parameters.

Type 1 Type 2Type 3

Type 4A truss can be precisely placed in the existing project. In my script I used just an insertion point but you can define other ways of placement too, for example:
– Using a starting point and an end point
– Using a starting point and a vector etc…

Insertion Point
There are some other parameters which define the geometry of a truss.

Input Parameters
The last parameter lets the engineer specify if the first diagonal goes up or down.

Now that the Dynamo geometry is set, it’s time to create the analytical model representation of this geometry in the React Structures environment. You can do this using the AnalyticalBar.ByLines nodes.

AnalyticalBar.ByLines
Before you assign cross-section properties to the analytical members, you need to make sure the sections are loaded in React Structures. This can be done in the React Structures project file you use, but this can also be performed in Dynamo with the Bars.LoadSections node for steel or timber sections.

Bars.LoadSections
If the sections are available in the active React Structures project, then you can start assigning the right sections to the right analytical bars with the AnalyticalBar.SetSectionByName node.

AnalyticalBar.SetSectionByName
The boundary conditions are the most important settings for the simulation of a structure. They will define the behaviour of a structure. In case no boundary conditions are defined, React Structures sets the structure as perfectly fixed by default. Though supports are always necessary to define.

In this step the supports are defined by the AnalyticalNode.SetSupportByName node.
In this case the supports are set to analytical nodes. The nodes can be detected using the AnalyticalBar.StartNode or AnalyticalBar.EndNode nodes, depending on which side of the element needs support.

AnalyticalNode.SetSupportByName
The bar end releases are optional, but in the case of trusses, they are indispensable. They can be set up in the same way as supports, but you use the AnalyticalBar.SetReleaseByName node instead.

AnalyticalBar.SetReleaseByName
Next is the definition of load cases in React Structures. These load cases will contain the structural loads which will be applied to the truss later.

A load case can be created with the LoadCase.ByNatureAndType node. This node requires three inputs:
Case Nature: dead load, live load, wind, snow etc…
Case Type: At this moment there is only the “simple” option available.
Case Name: This is a string representing the name of the load case in React Structures.

LoadCase.ByNatureAndType
In my script I added the snow load case and applied loads in the upper chord nodes using the NodalLoad.ByNodes node.

Load Cases and LoadsThe value of nodal forces is recalculated every time when the truss geometry changes.

This next step in the process is Analysis and it is a pretty important one.
The Analysis.Calculate node is the one that starts the analysis in React Structures. It’s advised only to connect this node, when your analytical model is set up completely (geometry, sections, loads and boundary conditions).
To properly prepare all data for analysis, a flattened list containing all objects that represents the calculation model should be created.

The list should contain the following elements:
– All analytical bars which are generated
– The analytical nodes with supports applied
– All defined load cases
– All load definitions.

Analysis.Calculate
Analytical objects that are not part of the input list will be removed from the calculation model.
As output of the calculation node, four lists should be created and they should contain all bars, nodes and load cases objects.

When the analysis is done results can be reviewed in the React Structures environment…React Results
…or you can get access to different kinds of results using Dynamo nodes.

Dynamo Results
With the Structural Analysis package for Dynamo software, structural engineers may optimize their existing structural workflows or invent some new ways of doing things with which improves their productivity.

Jump to React forums to discuss this article.

Did You Know that You Can Perform Math Operations in Edit Boxes?

In React Structures Tech Preview 2, using edit boxes in dialogs, you can perform mathematical operations, such as: addition, subtraction, multiplication, division, powering, and square rooting. You can use brackets in formulas. The correct order of operations is preserved while executing formulas.

Let me give you a few examples. You can calculate section shape dimensions:
Example01
To execute a formula, enter an = equal sign at the end of the formula.Example01b
You can use this function when you apply loads too.
Example02a
You can also convert units in edit boxes properly.

Example

Jump to the forums to discuss this article.

Manage Structural Attributes in Your Model

After you have sketched your model elements, you can assign structural attributes to the model. In React Structures Tech Preview 2 four types of attributes are available: supports, sections, releases and thicknesses.

AttributesSome attributes, such as sections for linear elements, and thickness, for surface elements, are assigned when sketching these elements.

Default Values

The default values are assigned then and you can edit their properties or assign new attributes afterwards.

In one of my previous posts I covered how to assign and work with supports. The process of the assignment of the other types of attributes is pretty much the same.

While you have been working with your model you add more and more specific attributes of a particular type to the project, making the list of the available attributes in a project longer. In the meantime making some changes in your model may result in having some attributes available on the active list but not used in the model. As a result of this you may end up with a very long list of attributes. It makes the list of your attributes not clear and messy.

Long List of AttributesFortunately, there is an extremely useful tool for your convenience to help you better manage your lists of attributes. This tool keeps your lists of attributes better organized and make you more productive while working with lists of any type.

I would like to introduce the Attributes Manager. From this dialog you have a quick review of all lists active attributes in the Project.

Attributes Manager

There are two ways to access this manager. When you click an attribute tool for example Supports or Sections, in the bottom right corner of the contextual ribbon panel, click the arrow icon.

Arrow Icon

You can also open the Attributes Manager dialog by clicking links with attribute names in the Property pane.

Property Pane

By default, the active attribute is selected. Using this combo box you can filter the list of attributes.

Filter the List of Attributes

The “Info” column is available for some attributes. For sections, it displays information about the material type.

The “In Use” column contains information if an attribute with a given label is used in a project. If it is, the “checkmark” icon displays in the label row.

You can quickly sort this column, and then using multi row selection delete all that are not used (not-needed) attributes in your project.

Delete Not Used

Attributes Manager is a convenient tool to access lists of all attribute labels and to manage them quickly and efficiently improving your productivity.

Comments? Jump to the forums to discuss this article.

Did You Know that You Can Work with Submodels?

When you select part of your model you can open it in a new window.

Selection of Part of the ModelThis option allows opening a viewer presenting part of your structure (or the entire structure depending on your selection) and editing the substructure in this viewer.

Open in New View
Displaying only a portion of your model can improve your productivity while you are working with your structural models.
When you apply loads or add attributes to structural members it is better to have displayed elements in a viewer you are focused on.
For example if a window with your substructure is active then structural loads will be applied only on items that are in the active window regardless of the number of elements selected in the window with the entire structure.

Working in New WindowWhen defining supports the number of available options, the types of supports depends on the types of elements as being part of your substructure. For example if you selected only slabs in a new window the nodal option will be disabled. This provides a greater clarity in the user interface.

Support DefinitionEvery window has its own visual display setting so you can very quickly switch over between different displays of the same model.

Unique Display SettingWorking with a substructure is extremely useful while you explore results and prepare your documentation too.

Explore Results in New WindowIt helps you to display results in a clear way for the selected elements of the model.

Explore Results in New Window

Questions? Comments? Let us know in the forums.

Exploring Results

React Structures software provides structural engineers with flexibility in being able to obtain analysis results.

Exploring Results

React Structures is the powerful tool not only for calculations but for visual exploring results. Thanks to many different ways of presenting results of structural analysis and the ease of access to them, structural engineers can very quickly prepare the final structural documentation for review and input by project stakeholders.

Watch and learn how to explore results of structural analysis in Autodesk React Structures Tech Preview 1:

Questions? Comments? Jump to the forums to share your thoughts.

Learn How to Apply Structural Loads

Once the structural engineer has defined the geometry of the structure for analysis, the next task is to apply loads representative of the loading which will be applied to the structure in use to simulate model behavior under different types of actions.

Structural LoadsStructural loads are forces applied to a component of a structure or to the structure as a whole.
In React Structures, before you apply any loads you should define load cases. A load case represents a group of loads of the same nature, such as dead, live, wind (in one direction), snow, accidental, or seismic.

Structural Load TypesReact Structures allows for the definition of many different types of loads such as nodal, linear, and surface.
When you create a new project, a self-weight load case is added automatically. It is used to apply a self-weight load to the model while you define elements of your structure.

The Load tab in the Ribbon contains all load features. If the Load Case dialog contains only an automatic self-weight load case, clicking + adds a dead load case with a consecutive number. When you add the next load cases, cells with their parameters are populated based on the last load case.

Add Load CaseWhen you have added a load case you can select a nature of it using the combo box.

Select Nature

Natures such as: dead, live, wind, snow, accidental, or seismic are available.
Labels are created automatically and you cannot edit them. They are abbreviated names of load cases indicating their natures. For example, LL1 is a label of the first live load case in the project. You can name your load case using the Case name field.

Load Cases

Once you have created all your load cases it’s time to apply structural loads related to these load cases.

In React Structures Tech Preview 1 four types of loads are available:

Types of Loads
You can run all these tools and switch over between them using a very convenient and productive Dialog Organizer mechanism.

Dialog Organizer

Before you set up the parameters of your loading you should select a load case.

Select Load Case

When you want to apply linear or surface loads to the structure you can do this in the global or local coordinate system.

Coordinat System

In addition, you have the Global with projected load option. It specifies a load direction in the global coordinate system. You can use it to apply the load to the element length projected on the plane that is normal to the load direction.
This is often used for snow loads to reduce the load intensity when you apply loads to inclined member or surfaces.

Projected Load
Similar to the support definition you can use two assignment modes to apply loads to elements.
You can use the Direct mode to apply loads to elements that you select directly in the drawing area. You can select elements consistent with the load type. For example, for surface loads, you can select surface elements. You can select one element at a time. The load is applied instantly and the load contour is displayed in the model view.

Direct Method

You can use the Selection mode to apply loads to a selection of elements.

Selected
The elements in your selection that are consistent with the load type are displayed in the selection box. When you click Apply the loads are added to the elements and displayed in the model view.

Select Method

You can control visibility of load symbols and its values using two options in the Status bar.

Visibility of Load Symbols Once you have applied all loads to your structure you can review them by switching between load cases using the combo box in the Object Inspector.

Select Load Case 2

Wind LoadIn order to apply wind loads you can also perform wind simulation. The wind loads simulation feature enables you to simulate a wind flow around your structure, and to generate wind loads automatically.

Wind Simulation Dialog

This feature is especially useful with structures that have a complicated geometry, and for which it is usually difficult to define the right wind loads. The wind simulation acts as a wind tunnel, and displays colored pressure maps on the model in order to help visualize and understand the effects of the wind.

Wind Simulation
With React Structures you can apply structural loads of various types quickly and easily to any type of structure.

Check Out React Structures Sample Models

We have included two sample models with React Structures Tech Preview 1. You can use these models to fast-forward through modeling and review React’s results exploration features quickly. Just open the example file, hit “Analyze” and you can dive into deformations, displacement maps and force diagrams in no time!

Sigma Model Deformations

You can access the sample models directly from the React start screen, using “Explore Sample models” link. You can also find them in your Documents folder, stored in Autodesk React Structures Tech Preview directory.

Use "Explore Sample Models" to access the files.

Sigma model is a typical steel structure (concrete floor, steel beams and columns, curtail walls). Omega model is a reinforced concrete structure with steel shed on the top floor.

Omega Sample Model

As always, head over to React forums to post your feedback!

Learn How to Work with Supports

With React Structures you can assign support conditions quickly and easily to any type of structure. Watch and learn how to work with supports in Autodesk React Structures.

Jump to the React forums to discuss.