使用正则表达式可以一次转换多个对象,例如整个 IPE 截面系列。
示例
将例如 Tekla 中的PIPE6STD转换为 圆管标准6'" | 欧洲规范 19-57; ... | SZS in RFEM 6 soll auch für alle anderen Querschnitte der IPE-Profilreihe funktionieren.
Um eine Konvertierung für die ganze IPE-Profilreihe zu erstellen, wird der reguläre Ausdruck wie folgt aufgebaut:
Konvertierung von Tekla nach RFEM 6 | Tekla | RFEM 6 |
regulärer Ausdruck | IPE(\d+) | IPE $1 | Euronorm 19-57; ... | SZS |
Querschnittsname | IPE120 | Pipe Std. 6 | SZS |
Querschnittsname | IPE300 | Pipe Std. 8 | SZS |
可以对表达式(\d+)输入任意小数。 (IPE200, IPE300,...)
表达式$1指代输入的十进制数。 Im folgendem Bild wurde der reguläre Ausdruck in der Tekla Konvertierungstabelle ergänzt.
Werden zwei Zahlen verwendet, so bezieht man sich mit dem Ausdruck $1 auf die erste Zahl und mit $2 auf die zweite Zahl. In der folgenden Tabelle wird dies am Beispiel einer Materialkonvertierung gezeigt.
Konvertierung von Tekla nach RFEM 6 | Tekla | RFEM 6 |
regulärer Ausdruck | C(\d+)/(\d+) | C$1/$2 | EN 1992-1-1:2004/A1:2014 |
Materialname | C20/25 | C20/25 | EN 1992-1-1:2004/A1:2014 |
Materialname | C30/37 | C30/37 | EN 1992-1-1:2004/A1:2014 |
Nachfolgend sollen mögliche Probleme bei der Definition von regulären Ausdrücken dargestellt und erläutert werden.
Der Profilname 400*400 wird nicht mit dem Ausdruck (\d+)*(\d+) konvertiert.
Das Sternchen * hat eine spezielle Bedeutung in regulären Ausdrücken und wird deswegen nicht als einfaches Zeichen interpretiert. Um das Sternchen als einzelnes Zeichen in einem regulären Ausdruck zu verwenden, kann es mit einem Backslash \ geschrieben werden, um seine spezielle Bedeutung aufzuheben.
Konvertierung von Tekla nach RFEM 6 | Tekla | RFEM 6 |
regulärer Ausdruck | (\d+)\*(\d+) | R_M1 $2/$1 |
Querschnittsname | 400*400 | R_M1 400/400 |
Querschnittsname | 150*200 | R_M1 150/200 |
Der Profilname RHS200*100*5 wird nicht mit dem Ausdruck RHS(\d+)\*(\d+)\*(\d+) konvertiert.
Werden mehrere ähnliche reguläre Ausdrücke verwendet, kann es dazu führen, dass der falsche reguläre Ausdruck angewandt wird (Beispiel im Bild).
Mit einem Hochzeichen ^ kann festgelegt werden, dass ein regulärer Ausdruck nur dann verwendet wird, wenn er mit dem Anfang des Material- oder Querschnittsnamen übereinstimmt. Der Ausdruck ^(\d+)\*(\d+) ist somit für den RHS-Querschnitt nicht mehr gültig, da der RHS-Querschnittsname nicht mit einer Zahl beginnt (wie z. B. 400x400).
Konvertierung von Tekla nach RFEM 6 | Tekla | RFEM 6 |
regulärer Ausdruck | ^(\d+)\*(\d+) | R_M1 $2/$1 |
Querschnittsname | 400*400 | R_M1 400/400 |
Querschnittsname | 300*300 | R_M1 300/300 |
regulärer Ausdruck | RHS(\d+)\*(\d+)\*(\d+) | RRO $1x$2x$3 | EN 10219-2 | ALUKÖNIGSTAHL |
Querschnittsname | RHS200*100*5 | RRO 200x100x5 | EN 10219-2 | ALUKÖNIGSTAHL |
Querschnittsname | RHS180*140*8 | RRO 180x140x8 | EN 10219-2 | ALUKÖNIGSTAHL |
Wie kann ich ein Material/Querschnitt aus RFEM 6 unabhängig von der Normbezeichnung konvertieren.
Im Vergleich zu RFEM 6 vergeben Revit und Tekla ihren Material- und Querschnittsnamen unabhängig von Normen. Damit z. B. ein HEA 300 Querschnitt in RFEM 6 aus verschiedenen Normen in einen HEA 300 ohne Normzuweisung in Revit bzw. Tekla umgewandelt wird, kann mit dem regulären Ausdruck .*$ die Normbezeichnung im Namen ignoriert werden.
Konvertierung von RFEM 6 nach Tekla | RFEM 6 | Tekla |
regulärer Ausdruck | HEA (\d+).*$ | HEA$1 |
Querschnittsname | HEA 300 | DIN 1025-3:1994-03 | Ferona | HEA300 |
Querschnittsname | HEA 300 | Euronorm 53-62; ... | SZS | HEA300 |
Querschnittsname | HEA 300 | GB/T 11263-2017 | -- | HEA300 |
Die regulären Ausdrücke für gleichschenklige und ungleichschenklige L-Profile funktionieren nicht gleichzeitig.
Werden ähnliche reguläre Ausdrücke verwendet, kann es dazu führen, dass immer nur der erste Ausdruck in der Tabelle ausgelesen wird (Beispiel im Bild). Für das ungleichschenklige L-Profil (rot) wird fälschlicherweise der reguläre Ausdruck des gleichschenkligen L-Profils (gelb) genutzt, da dieser von Anfang bis Ende genau gleich aufgebaut ist.
Um solche Ausdrücke voneinander zu unterscheiden, muss der fälschlicherweise verwendete Ausdruck mit einem ^ beginnen und mit einem $ enden.
Dadurch wird festgelegt, dass der reguläre Ausdruck nur verwendet wird wenn der Profilname von Anfang bis Ende exakt diesem Muster entspricht. In der nachfolgenden Tabelle wird dies am Beispiel gezeigt:
Konvertierung von Tekla nach RFEM 6 | Tekla | RFEM 6 |
regulärer Ausdruck | ^L(\d+)\*(\d+)$ | L $1x$1x$2 | DIN EN 10056-1:1998-10 | -- |
Querschnittsname | L40*4 | L 40x40x4 | | DIN EN 10056-1:1998-10 | -- |
regulärer Ausdruck | L(\d+)\*(\d+)\*(\d+) | L $1x$2x$3 | EN 10056-1:2017 | ArcelorMittal (2018) |
Querschnittsname | L100*65*10 | L 100x65x10 | EN 10056-1:2017 | ArcelorMittal (2018) |
In RFEM werden gleichschenklige und ungleichschenklige L-Profile mit drei Werten im Querschnittsnamen definiert. Tekla verwendet für gleichschenklige Profile nur zwei Werte für den Querschnittsnamen. Wie kann ich beide Fälle gleichzeitig berücksichtigen?
Zunächst kann für die ungleichschenkligen Profile ein regulärer Ausdruck mit drei Werten erzeugt werden:
Konvertierung von RFEM 6 nach Tekla | RFEM 6 | Tekla |
regulärer Ausdruck | L (\d+)x(\d+)x(\d+).*$ | L$1*$2*$3 |
Querschnittsname | L 100x75x8 | L100*75*8 |
Für die gleichschenkligen Profile wird der reguläre Ausdruck wie folgt definiert:
Konvertierung von RFEM 6 nach Tekla | RFEM 6 | Tekla |
regulärer Ausdruck | L (\d+)x(\1)x(\d+).*$ | L$1*$3 |
Querschnittsname | L 100x100x8 | L100*8 |
(\d+) erfasst die erste Zahl.
(\1) überprüft ob die zweite Zahl mit der ersten identisch ist. (Wenn ja, dann wird dieser reguläre Ausdruck verwendet)
(\d+) erfasst die dritte Zahl.
Wie werden Querschnittsnamen mit Dezimalzahlen konvertiert?
In RFEM gibt es Querschnittsreihen, in denen die Abmessungen der Querschnitte als Dezimalzahl im Querschnittsnamen enthalten sind (z.B. CHS-Hohlprofile). Für das nachfolgende Beispiel sollen folgende Querschnitte mit einem Ausdruck konvertiert werden:
- CHS 25x2 | EN 10219-2 | Condesa (Querschnittsnamen mit zwei ganzen Zahlen)
- CHS 26.9x2 | EN 10219-2 | Condesa (Querschnittsnamen mit Dezimalzahl und ganzer Zahl)
- CHS 32x2.9 | EN 10219-2 | Condesa (Querschnittsnamen mit ganzer Zahl und Dezimalzahl)
- CHS 37.5x2.9 | EN 10219-2 | Condesa (Querschnittsnamen mit zwei Dezimalzahlen)
Jede Zahl kann somit optional eine Kommastelle besitzen. Der reguläre Ausdruck für diese Regel wird wie folgt aufgebaut:
CHS (\d*\.?\d*)x(\d*\.?\d*).*$
\d* erfasst keine oder eine Zahl.
\.? erfasst optional den Dezimalpunkt (ganze Zahlen ohne Dezimalpunkt werden somit berücksichtigt)
\d*erfasst keine oder eine Zahl nach dem Dezimalpunkt.
.*$ die Normbezeichnung im Namen wird ignoriert.
Konvertierung von RFEM 6 nach Tekla | RFEM 6 | Tekla |
regulärer Ausdruck | CHS (\d*\.?\d*)x(\d*\.?\d*).*$ | RO$1*$2 |
Querschnittsname | CHS 25x2 | EN 10219-2 | Condesa | RO25*2 |
Querschnittsname | CHS 26.9x2 | EN 10219-2 | Condesa | RO26.9*2 |
Querschnittsname | CHS 32x2.9 | EN 10219-2 | Condesa | RO32*2.9 |
Querschnittsname | CHS 37.5x2.9 | EN 10219-2 | Condesa | RO37.5*2.9 |