584x
005435
2024-02-27

Incorrect Material or Cross-Section Conversion in Revit or Tekla

I get an incorrect conversion in Tekla/Revit when using regular expressions in the conversion table.


Answer:

Regular expressions allow you to convert several objects, such as an entire IPE section series, with a single entry.

Example

Conversion of, for example, PIPE6STD in Tekla to Pipe Std. 6'" | AISC 16 | -- in RFEM 6 should also work for all other cross-sections of the Pipe cross-section series.

In order to create a conversion for the entire Pipe cross-section series, the regular expression is structured as follows:

Conversion from Tekla to RFEM 6 Tekla RFEM 6
Regular Expression PIPE(\d+)STD Pipe Std. $1 | SZS
Cross-Section Name PIPE6STD Pipe Std. 6 | SZS
Cross-Section Name PIPE8STD Pipe Std. 8 | SZS

For the expression (\d+), you can enter any decimal number. (Pipe Std. 6, Pipe Std. 8, …)

The expression $1 refers to the entered decimal number. In the following image, the regular expression has been added to the Tekla conversion table.

If there are two decimal numbers used, the expression $1 refers to the first number and $2 refers to the second number. The following table shows this.

Conversion from Tekla to RFEM 6 Tekla RFEM 6
Regular Expression W(\d+)X(\d+) W $1x$2
Cross-Section Name W12X22 W 12x22
Cross-Section Name C30/37 W 14x38

This article shows and explains possible problems when defining regular expressions.

The cross-section name 12*12 is not converted with the expression (\d+)*(\d+).

The asterisk * has a special meaning in regular expressions, and is therefore not interpreted as a simple character. To use the asterisk as a single character in a regular expression, you can write it with a backslash \ to invalidate its special meaning.

Conversion from Tekla to RFEM 6 Tekla RFEM 6
Regular Expression (\d+)\*(\d+) R_M1 $2/$1
Cross-Section Name 12*12 R_M1 12/12
Cross-Section Name 5*10 R_M1 5/10

The cross-section name HSS12*8*3/8 is not converted with the expression HSS(\d+)\*(\d+)\*(\d+).

If several similar regular expressions are used, this may result in the use of an incorrect regular expression (see the example in the image).

You can use superscript ^ to specify using a regular expression only if it is valid at the beginning of the material or cross-section name. The expression ^(\d+)\*(\d+) is thus no longer valid for the RHS section, because this section name does not start with a number (such as 400x400).

Conversion from Tekla to RFEM 6 Tekla RFEM 6
Regular Expression ^(\d+)\*(\d+) R_M1 $2/$1
Cross-Section Name 12*12 R_M1 12/12
Cross-Section Name 10*10 R_M1 10/10
Regular Expression Rect HSS(\d+)\*(\d+)\*(\d+) Rect HSS $1x$2x$3
Cross-Section Name Rect HSS7*3*0.313 Rect HSS 7x3x0.313
Cross-Section Name HSS4*2*0.250 Rect HSS 4x2x0.250

How can I convert the material/cross-section from RFEM 6 regardless of the standard designation?

In contrast to RFEM 6, Revit and Tekla assign material and cross-section names regardless of the standards. Therefore, to convert, for example, an HP 8x36 cross-section in RFEM 6 into an HP 8x36 with no standard reference in Revit or Tekla, you can use the regular expression .*$ to ignore the standard designation in the name.

Conversion from RFEM 6 to Tekla RFEM 6 Tekla
Regular Expression HP\s(\d+)x(\d+).*$ HP$1x$2
Cross-Section Name HP 8x36 AISC 16 HP8X36
Cross-Section Name HP 8x36 AISC 15 | SZS HP8X36
Cross-Section Name HP 8x36 AISC 14 HP8X36

The regular expressions for equal and unequal leg L-sections do not work simultaneously.

If several similar regular expressions are used, this may result in the use of the first expression only in the table (see the example in the image). For the unequal leg L-section (red), the regular expression of the equal leg L-section (yellow) is used incorrectly, because it is structured exactly the same from start to end.

To distinguish such expressions from each other, the incorrectly used expression must start with a ^ and end with a $.
Thus, the regular expression is only used if the section name matches this pattern exactly from start to end. The following table shows an example of this:

Conversion from Tekla to RFEM 6 Tekla RFEM 6
Regular Expression ^L(\d+)\*(\d+)$ L $1x$1x$2 | DIN EN 10056-1:1998-10 | --
Cross-Section Name L40*4 L 40x40x4 | | DIN EN 10056-1:1998-10 | --
Regular Expression L(\d+)\*(\d+)\*(\d+) L $1x$2x$3 | EN 10056-1:2017 | ArcelorMittal (2018)
Cross-Section Name L100*65*10 L 100x65x10 | EN 10056-1:2017 | ArcelorMittal (2018)

In RFEM, equal and unequal leg L-sections are defined by three values in the cross-section name. Tekla only uses two values for the cross-section name for the equal sections. How can I consider both cases at the same time?

First, you can create a regular printout with three values for the unequal leg sections:

Conversion from RFEM 6 to Tekla RFEM 6 Tekla
Regular Expression L (\d+)x(\d+)x(\d+).*$ L$1*$2*$3
Cross-Section Name L 100x75x8 L100*75*8

The regular expression for equal leg sections is defined as follows:

Conversion from RFEM 6 to Tekla RFEM 6 Tekla
Regular Expression L (\d+)x(\1)x(\d+).*$ L$1*$3
Cross-Section Name L 100x100x8 L100*8

(\d+) returns the first number.

(\1) checks if the second number is the same as the first one. (If so, then this regular expression is used)

(\d+) returns the third number.

How are cross-section names with decimal numbers converted?

In RFEM, there are cross-section series where the dimensions of the cross-sections are contained as a decimal number in the cross-section name (for example, CHS hollow sections). In the following example, the following cross-sections are to be converted with one expression:

  • CHS 25x2 | EN 10219-2 | Condesa (section names with two integers)
  • CHS 26.9x2 | EN 10219-2 | Condesa (cross-section names with a decimal number and an integer)
  • CHS 32x2.9 | EN 10219-2 | Condesa (cross-section names with an integer and a decimal number)
  • CHS 37.5x2.9 | EN 10219-2 | Condesa (cross-section names with two decimal numbers)

Thus, each number can optionally have a decimal place. The regular expression for this rule is structured as follows:

CHS (\d*\.?\d*)x(\d*\.?\d*).*$

\d* returns none or a number.

\.? optionally returns the decimal point (integers without a decimal point are thus taken into account)

\d* returns none or one number after the decimal point.

.*$ The standard in the name will be ignored.

Conversion from RFEM 6 to Tekla RFEM 6 Tekla
Regular Expression CHS (\d*\.?\d*)x(\d*\.?\d*).*$ RO$1*$2
Cross-Section Name CHS 25x2 | EN 10219-2 | Condesa RO25*2
Cross-Section Name CHS 26.9x2
  1. EN 10219-2
  1. Condesa
RO26.9*2
Cross-Section Name CHS 32x2.9
  1. EN 10219-2
  1. Condesa
RO32*2.9
Cross-Section Name CHS 37.5x2.9
  1. EN 10219-2
  1. Condesa
RO37.5*2.9


Author

Mr. Sivolgin supports product development in the area of interfaces.



;