Skip to content

User Perspective

Arne Martensen edited this page Dec 20, 2023 · 105 revisions

Getting Started

Before starting to use the RFEM6_toolkit, a little preparation is required.

  1. BHoM Installation

  2. Prepare RFEM6

⚠️ To effectively use the RFEM6_Toolkit, it is crucial to have access to both an RFEM6 license and a WebService and API license. While it is possible to access the RFEM6 API to a certain extent with just a valid RFEM6 license, this would significantly limit the user in terms of the actions they can perform and the quantity of elements that can be pushed into RFEM6. ⚠️

BHoM Installation

At this stage, the RFEM6_Toolkit is only available within the BHoM alpha version, which is only accessible internally at BH. To ensure that the RFEM6_Toolkit is available in your BHoM version, please make sure you are on the BHoM alpha version 231218_BuroHappold_BHoM_v7.0.alpha or later. However, the RFEM6_Toolkit will presumably also be available within the BHoM beta version and will be freely available to those outside of BH by the end of February or beginning of March 2024.

The installation itself is quite straightforward. If open, please close all Excel, Revit or Rhino windows and simply run the installer.

Prepare RFEM6

Open RFEM6. Navigate to 'Options' > 'Program Options & Settings'.

The following window will appear. Under the 'Options' tab at the very bottom, you will find the 'WebService' section. Please select 'Start the server automatically with the application' and apply the changes.

  • ⚠️ This step might require administrative rights on your machine. ⚠️

Current Capabilities

This section aims give an overview of the RFEM6_Toolkit's current capabilities, supported objects/types, and limitations, and to potentially share some useful tips and tricks for using the RFEM6_Toolkit 💡. For a brief overview of its current stage of development, please see here.

In the following sections, the objects covered are classified into two different categories. The first category is Geometry, which includes geometrical features such as Nodes, Edges, and Members, along with the Properties necessary for defining these elements (Materials, Sections, Surface Properties), and Constraints (e.g., Nodal Supports, Line Support).

Pushing/Pulling Geometry

Push/Pull Process

For both actions, an adapter is required; in this case, the RFEM6 Adapter. When performing a push, an additional push component is needed, whereas a pull operation requires a pull component. An example of a setup for both push and pull operations is illustrated below. The geometry intended for pushing should be input into the 'objects' section of the Push component. In contrast, the Pull component requires an additional 'FilterByBHoMType' component, as well as a 'Type' component corresponding to the BHoM Type that is intended to be pulled.
To initiate the process, simply activate both the Adapter and the Push/Pull component.

Nodes + Nodal Supports

When transferring points from BHoM into RFEM6, the appropriate BHoM object to use is 'Nodes.' Nodes in BHoM not only contain attributes that describe geometrical properties but also an attribute for Nodal Support. The input support is received from an object of the type 'Constraint6DOF' (see image below).

Edges + Line Supports

The transfer of lines into RFEM6 requires the use of BHoM objects of the type 'Edge.' Similar to Nodes, Edges have an attribute representing a geometrical component, in this case, a Curve, and a support. The process of defining Edges is analogous to that of Nodes. However, it's worth noting that only polylines, circles, or arcs can be pushed into RFEM6. Generally, Lines and Polylines are preferred over other curve types.

Bar + Hinge + Nodal Support

Panel + Opening + Line Support

When preparing a panel for pushing into RFEM6, this can be achieved by first defining its outlines. The 'property' parameter, which is an object itself, must also be defined. Currently, only properties of the 'ConstantThickness' type are supported. These properties additionally require a numerical value to define the panel thickness, as well as a material. It is possible to use a predefined BHoM dataset of different materials, although currently, only Concrete and Steel of different grades are supported.

In cases where the Panel outlines should be reinforced with Line support, Edges defined by curves matching the Panel outlines need to be established and equipped with the desired support (see here).

Pushing/Pulling Loading

Two Stage Push

When pushing loads from BHoM into RFEM6, it's important to follow a specific pattern, slightly different from the standard push process, to ensure successful execution. This method can be referred to as a 'two-stage push', meaning that the push process is divided into two distinct stages. The first stage involves pushing geometric features, as discussed above. The second stage deals with pushing various Load Cases and Loads. An example of this two-stage push is illustrated in the image below. It's crucial to ensure that the first push always includes the geometry intended for RFEM6.

Load Case

When pushing Loads into RFEM6, the ability to push Load Cases is a critical feature. However, it's important to note that the definition of Load Cases in BHoM and the Load Case definition in RFEM do not align perfectly, meaning there isn't a direct one-to-one relationship between them (see images below)

image image

Below is a table showing the corresponding Load Cases between BHoM and RFEM6:

BHoM RFEM6 Correspondence
Dead Permanent Exact match
SuperDead Permanent/Imposed Exact match
Live Imposed loads - A First option
Wind Wind Exact match
Seismic Seismic Action Exact match
Temperature Temperature(non Fire) Exact match
Snow Finnland, Iceland... First option
Accidental Accidental Action Exact match
Prestress Prestress Exact match

Note: When pushing Load Cases into RFEM, a 'Static Analysis Setting' will be created automatically. This setting is of the type 'Geometrically linear'.

Point Load

When defining Point Loads for pushing into RFEM6, there are several important considerations. Firstly, RFEM6 does not support Point Loads that apply both forces and moments to the same point. However, it is possible to push both by inputting vectors into the corresponding fields of the 'PointLoad' BHoM component (refer to the image below).

Moreover, the definition of Point Loads requires a 'LoadCase' and a 'BHoMGroup' of the Node type, which hosts the Location(s) of the defined Node. As a practical tip, it can sometimes be beneficial to add only one node to each 'BHoMGroup'. This approach results in numerous 'BHoMGroups', each with a single referenced node, rather than one 'BHoMGroup' containing multiple referenced 'Nodes'. This method is demonstrated in the image below by simply grafting the element input of the 'BHoMGroup'.

Bar Load

The process of defining Bar Loads in BHoM is quite similar to that of Point Loads (refer to the image below and compare with the previous section). However, there are some nuances in the definition of force and moment vectors. Currently, RFEM6 only accepts loads oriented parallel to the X, Y, or Z axis. Therefore, if loads in different directions are required, it would be necessary to deconstruct the force/moment vector into multiple vectors that meet this orientation criterion. Similar to Point Loads, it is also not possible to push Bar Loads that have both forces and moments attached to them. Presently, only uniformly distributed loads can be pushed.

Upon closer examination of the definition of a Bar Load, which in BHoM is called 'BarUniformlyDistributedLoad', it can be observed that, as mentioned earlier, it appears very similar to the Point Load. However, it has additional inputs, of which 'axis' can currently be ignored. In contrast, the 'Projections' input allows the user to apply the load directly on the Bar in its corresponding orientation or in a projected manner (refer to the images below).

Line Load

In RFEM6 atleas two kinds of Line Loads are defined. 'Line Loads' and 'Free Line Loads'. However, both types are always applied on atleas one Panel( or a line of a panel).

Free Line Loads

The image below does illustrate the definition of a Free Line Load. The corresponding BHoM component representing Line Loads (Free or non Free) is the 'GeometricalLineLoad'. In case of Line Load the RFEM6_Toolkit does support Trapezoidalshaped loads (here ForceA and ForceB, or Moment differ in magnitude). As with the Bar Load Also here Force or Moment vecotrs should always be parallel to the x,y or z axis. Also Moments and Vectors should not be blended into the same 'GeometricalLineLoad'. Note that the 'GeometricalLineLoad' also does require an input objets. This is 'BHoMGroup' fo type 'IAreaElement'(Note: Not Type Panel!!!) and represent the Panels on which the Load will be placed. This input is not mandatory. In case it objects are not defined the load will sipmly be defined on all panels. In generell it is reccomended always to define the corresponding Panels.

Note in in order to work with GeometricalLineLoads in combination with the RFEM6_Toolkit it is necessary to apply an Fragment toe the Line Load please see here.

Line Load (Non Free)

The definition of a line load works similare to the to the definition of a free line load. the Main differnce is that it is not necessary to assing any Panel to the 'GeometricalLineLoad' and that it is necessary that the input of the location input is a line which is located on the outline of one oa Panel. Exceopt for that the definition of the line load workd analoug to the one of a free line load which does also includes the adding of a fragment (see here).

Below two example of pushed line loads. One with an trapezoidal load and one without.

Add Fragnent to GeometricalLineLoad

Area Load

test

Good to know 💡

Summary Load Features

About BHoM Class Names

General

Clone this wiki locally