Search FAQ

In case of any questions or problems, we are here for you. In addition to personal support (for example, via email or chat), you can find useful resources available 24/7 on our website.

Receive information including news, useful tips, scheduled events, special offers, and vouchers on a regular basis.

1 - 10 of 2934

Sort by:

Items:

• ### I have to use custom parameters for methods of the Python High Level Library for RFEM in my Python program. How can I determine the necessary parameters?

New

005369

One possibility is to call this URL while RFEM is running:

This shows the definition of the entire API as XML (see also WSDL https://en.wikipedia.org/wiki/Web_Services_Description_Language).

A pragmatic way to determine the parameters is, for example, to first compile the desired material in RFEM and then read out the properties. The following program shows the procedure:

1. code.python #

from RFEM.initModel import *

Model (True, ' Material.rf6 ') Model.clientModel.service.begin_modification ()

m = Model.clientModel.service.get_material (1) print (m)

Model.clientModel.service.finish_modification () Model.clientModel.service.close_connection ()

1. /#

This method can be used for all objects in RFEM.

• ### How can I create a nonlinear line hinge with a Python program?

New

005368

A function for nonlinear line hinges is currently not available in the Python High Level Library. However, since user-defined parameters can be used as usual in the method for line hinges, it is not a problem to also generate nonlinear line hinges.

In the example program, 2 rectangular surfaces with nodal supports are first created, which are connected on line 6.

The definition of the nonlinear line hinge begins from line 39. First, a dictionary  p  is created with the parameters. 3 degrees of freedom of displacement and one degree of freedom of rotation must be defined. The value  0.0  means that the Count of Freedom is free. If a numerical value is written instead, it is interpreted as a spring. Make sure that SI basic units are used here. With  inf  the degree of freedom is defined as fixed.

The y-direction should be given a non-linearity. This is set with the key  translational_release_u_y_nonlinearity . This article describes how necessary values such as  NONLINEARITY_TYPE_FAILURE_IF_POSITIVE  can be determined.

1. code.python #

from RFEM.enums import * from RFEM.initModel import * from RFEM.BasicObjects.node import Node from RFEM.BasicObjects.line import Line from RFEM.BasicObjects.material import material from RFEM.BasicObjects.thickness import Thickness from RFEM.BasicObjects.surface import Surface from RFEM.TypesForNodes.nodalSupport import NodalSupport from RFEM.TypesForLines.lineHinge import LineHinge from RFEM.dataTypes import inf

Model (True, "Line Hinge") Model.clientModel.service.begin_modification ()

Node (1, 0.0, 0.0, 0.0) Node (2, 5.0, 0.0, 0.0) Node (3, 10.0, 0.0, 0.0) Node (4, 0.0, 4.0, 0.0) Node (5, 5.0, 4.0, 0.0) Node (6, 10.0, 4.0, 0.0)

Line (1, ' 1 2 ') Line (2, ' 2 3 ') Line (3, ' 4 5 ') Line (4, ' 5 6 ') Line (5, ' 1 4 ') Line (6, ' 2 5 ') Line (7, ' 3 6 ')

Material (1, ' S235 ')

Thickness (1, material_no = 1, uniform_thickness_d = 0.050)

Surface (1, ' 1 6 3 5 ') Surface (2, ' 2 7 4 6 ')

NodalSupport (1, ' 1-3 4-6 ')

p = {

1. ' translational_release_u_x ': 0.0,
2. ' translational_release_u_y ': 0.0,
3. ' translational_release_u_y_nonlinearity ': ' NONLINEARITY_TYPE_FAILURE_IF_POSITIVE ',
4. ' translational_release_u_z ': inf,
5. ' rotational_release_phi_x ': inf

} LineHinge (1, ' 1/6 ', params = p)

Model.clientModel.service.finish_modification () Model.clientModel.service.close_connection ()

1. /#
• ### How can I read out the deformation at a certain node with a Python program?

New

005367

In the example program, a cantilever is first created from an IPE 200. This is loaded with a member load of 3.5 kN and the calculation is carried out.

This table is accessed in line 34:

[Image 5910]

The  ResultTables.NodesDeformations ()  method requires 3 arguments. First, it is determined which type of results are to be read out. Results of

• Result Combinations
• Design Situations
• Construction Stages

be.

Then the number of the load case, load combination, etc. is given. For the shot, the node number is transferred to the method.

The return value  d  of the method is a list that contains a dictonary. In line 37,  d  is displayed in full. Line 40 shows how a specific value can be accessed.  [0]  is the list index and  [' displacement_z ']  is the key of the dictionary.

1. code.python #

from RFEM.enums import * from RFEM.initModel import * from RFEM.BasicObjects.material import material from RFEM.BasicObjects.section import Section from RFEM.BasicObjects.node import Node from RFEM.BasicObjects.member import member from RFEM.TypesForNodes.nodalSupport import NodalSupport from RFEM.LoadCasesAndCombinations.staticAnalysisSettings import StaticAnalysisSettings from RFEM.LoadCasesAndCombinations.loadCase import LoadCase from RFEM.Loads.memberLoad import MemberLoad from RFEM.Results.resultTables import ResultTables

Model (True, "Beam.rf6") Model.clientModel.service.delete_all () Model.clientModel.service.begin_modification ()

Material (1, ' S235 ') Section (1, ' IPE 200 ')

Node (1, 0.0, 0.0, 0.0) Node (2, 5.0, 0.0, 0.0)

Member.Beam (1, 1, 2, start_section_no = 1, end_section_no = 1)

NodalSupport (1, ' 1 ', NodalSupportType.FIXED)

StaticAnalysisSettings.GeometricallyLinear (1, "Linear") LoadCase (1, ' Load ', [True, 0.0, 0.0, 1.0])

MemberLoad (1, 1, ' 1 ', magnitude = 3500)

Calculate_all ()

d = ResultTables.NodesDeformations (CaseObjectType.E_OBJECT_TYPE_LOAD_CASE, 1, 2)

1. all:

print (d)

1. displacement in Z

print (d [0] [' displacement_z '])

Model.clientModel.service.finish_modification ()

1. /#
• ### How can I create an elastic nodal support with a Python program?

New

005366

The example program shows two different methods of creating nodal supports. The enumeration type  NodalSupportType  is used for the first nodal support.

Alternatively, a list can also be transferred. The list must contain 6 values. The first three values define the degrees of freedom of movement, the last three the degrees of freedom of torsion.

The value  inf  means that the degree of freedom is fixed. With  0  the degree of freedom is not maintained. A numerical value defines a spring.

1. code.python #

from RFEM.enums import * from RFEM.initModel import * from RFEM.BasicObjects.node import Node from RFEM.TypesForNodes.nodalSupport import NodalSupport from RFEM.dataTypes import inf

Model (True, ' Nodal_support.rf6 ')

Model.clientModel.service.begin_modification ()

Node (1, 0.0, 0.0, 0.0) Node (2, 5.0, 0.0, 0.0)

NodalSupport (1, ' 1 ', NodalSupportType.HINGED) NodalSupport (2, ' 2 ', [inf, inf, inf, 0, 234000, 0])

Model.clientModel.service.finish_modification () Model.clientModel.service.close_connection ()

1. /#
• ### How can I create an orthotropic material with a Python program?

New

005365

In the Python High Level Library there is no direct function for the generation of orthotropic material. However, it is possible to transfer user-defined parameters for all methods. This means that such a material can easily be produced. This example shows the procedure:

1. code.python #

from RFEM.enums import * from RFEM.initModel import * from RFEM.BasicObjects.material import material

Model (True, ' Material.rf6 ') Model.clientModel.service.begin_modification ()

p = {

1. "material_type": "TYPE_TIMBER",
2. "material_model": "MODEL_ORTHOTROPIC_2D",
3. "application_context": "TIMBER_DESIGN",
4. "stiffness_modification": True,
5. "stiffness_modification_type": "STIFFNESS_MODIFICATION_TYPE_DIVISION"

} Material (1, ' C24 | EN 338: 2016-04 ', params = p)

Model.clientModel.service.finish_modification () Model.clientModel.service.close_connection ()

1. /#

The user-defined parameter is first defined as Dictonary  p  and then transferred to  params  when creating the material. This article shows the possibilities:

• ### How can I create a multilayer structure with a Python program?

New

005364

With  SetAddonStatus (Model.clientModel, AddOn.timber_design_active, True)  the add-on multi-layer structure is activated first.

In the next step, an orthotropic material is created. To do this, it is necessary to use user-defined parameters when creating the material. They are first saved in the dictionary  p  and then passed as the parameter params.

With Thickness.Layers(1, 'CLT', [[0, 1, 0.012, 0.0], [0, 1, 0.010, 90]]) the Thickness applied. A nested list is passed as parameters after the number and the name. Each entry in the list represents a layer. If isotropic material is created, the list must contain 3 entries for a layer, the type of layer, material number and layer thickness. If the material is orthotropic, as in this case, then the list must also include a 4th Entry contain the angle of rotation. Watch out! The angle of rotation is given in DEG and not in RAD as is usual.

1. code.python #

from RFEM.initModel import * from RFEM.BasicObjects.material import material from RFEM.BasicObjects.thickness import Thickness

Model (new_model = True, model_name = "MyModel") Model.clientModel.service.begin_modification () Model.clientModel.service.delete_all ()

p = {

1. "material_type": "TYPE_TIMBER",
2. "material_model": "MODEL_ORTHOTROPIC_2D",
3. "application_context": "TIMBER_DESIGN",
4. "stiffness_modification": True,
5. "stiffness_modification_type": "STIFFNESS_MODIFICATION_TYPE_DIVISION"

} Material (1, ' CL26E11.8 | Hasslacher ', params = p)

Thickness.Layers(1, 'CLT', 1, 0.012, 0.0], [0, 1, 0.010, 90)

Model.clientModel.service.finish_modification () Model.clientModel.service.close_connection ()

1. /#
• ### How do you use the feature ' transferring support forces from another model '?

New

005363

#### Requirements:

Two conditions must be met so that support forces can be adopted from other models:

1. Both models must be in the same project (same project ID)
2. Both models must have different model ID ' s.

So that models have different ID ' s, each model must be created via "File> New ...". Alternatively, an existing model can also be saved as a copy via "File> Save As ..."; this then also has a different ID. The ID ' s can be viewed in the general information of a model.

#### Procedure

If the requirements are met, the "From support reaction ..." checkmark can be activated in the menu for a nodal load in the "Child" model. In the corresponding new tab, the "mother" model (model from which the load is to be taken), the load (load case/load combination) and the node of the nodal support must be specified.

It should be noted that loads can be applied more than once. The position of the node does not have to be the same as that in the "mother" model. When the load has been applied, the value "??" appears first. The correct value is only displayed once the respective load case has been calculated. This calculation also triggers the calculation in the "mother" model.

#### Changes in the source model

If changes are made in the "mother" model, the load in the "child" model is reverted to "??" set if the "mother" model has been saved. A recalculation of the load case in the "child" model adopts the new values.

• ### How can I define a scissor hinge in RFEM 6?

During the creation of a new member hinge, it is required to specify a Global Coordinate System for the hinge, for the Scissor Hinge option to be available. After selecting the function, new tab of options becomes available where you can define exactly the directions in which the scissor hinge is supposed to work.

In the example shown below there are two substructures. The left model shows behaviour of a system, where moments are transferred in a continuous direction between two elements with a scissor hinge defined.

The right model shows behaviour of a system, where only one of the elements has a scissor hinge.

• ### Where can I display or adjust the local axis systems in RFEM 6?

New

005361

It is possible to display local axis systems for Lines, Members, Surfaces and Solids. The selection of display is available for example in Project Navigator, Display tab.

For surfaces the X and Y axis fit in the plane of the surface and the Z axis is perpendicular to it. The direction of local Z for a surface is not dependent on Global direction of Z Axis.

For members the X axis by default is located along the member, and the Y and Z axes are perpendicular. For most of the profiles, the Z axis is located along the stronger axis of inertia of an element.

The local axis system can be reversed by the option in the context menu of a given element, or in the case of Surfaces, by the element options of Specific axes.

• ### Where can I display or adjust the local axis systems in RFEM 6?

New

005361

It is possible to display local axis systems for Lines, Members, Surfaces and Solids. The selection of display is available for example in Project Navigator, Display tab.

For surfaces the X and Y axis fit in the plane of the surface and the Z axis is perpendicular to it. The direction of local Z for a surface is not dependent on Global direction of Z Axis.

For members the X axis by default is located along the member, and the Y and Z axes are perpendicular. For most of the profiles, the Z axis is located along the stronger axis of inertia of an element.

The local axis system can be reversed by the option in the context menu of a given element, or in the case of Surfaces, by the element options of Specific axes.

1 - 10 of 2934

Submit Individual Question

First Steps

Check out these tips to help you get started with the RFEM and RSTAB programs.

Wind Simulation & Wind Load Generation

It's getting windy here! Send your structures to the digital wind tunnel using the stand-alone program RWIND 2. It simulates wind flows around structures, regardless of whether they are simple or complex.

You can easily import the generated wind loads acting on these objects into RFEM or RSTAB and use them for your further calculations.

Your support is by far the best

“Thank you very much for the useful information.

I would like to pay a compliment to your support team. I am always impressed how quickly and professionally the questions are answered. In the industry of structural analysis, I use several software including service contract, but your support is by far the best.”