Wyrażenia regularne umożliwiają przekształcenie kilku obiektów, takich jak np. cała seria przekrojów IPE, za pomocą jednego wpisu.
Przykład
Konwersja np. IPE120 w Tekla na IPE 120 | Euronorm 19-57; ... | -- w programie RFEM 6 powinien działać również dla wszystkich innych przekrojów z serii Rury.
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 | ||
Wyrażenie regularne | IPE(\d+) | IPE $1 |
|
|
Nazwa przekroju | IPE120 | IPE 120 |
|
|
Nazwa przekroju | IPE300 | Rura stand. 8 |
|
W wyrażeniu (\d+) można wprowadzić dowolną liczbę dziesiętną. (IPE200, IPE300, ...)
Wyrażenie $1 odnosi się do wstawionej liczby dziesiętnej. Im folgendem Bild wurde der reguläre Ausdruck in der Tekla Konvertierungstabelle ergänzt.
W przypadku zastosowania dwóch liczb dziesiętnych wyrażenie $1 odnosi się do pierwszej liczby, a $2 odnosi się do drugiej liczby. In der folgenden Tabelle wird dies am Beispiel einer Materialkonvertierung gezeigt.
Konvertierung von Tekla nach RFEM 6 | Tekla | RFEM 6 | |
Wyrażenie regularne | C(\d+)/(\d+) | C$1/$2 |
|
Nazwa przekroju | C20/25 | C20/25 |
|
Nazwa przekroju | C30/37 | C30/37 | EN 1992-1-1:2004/A1:2014 |
W tym artykule opisano i wyjaśniono możliwe problemy podczas definiowania wyrażeń regularnych.
Nazwa przekroju 400*400 nie jest konwertowana za pomocą wyrażenia (\d+)*(\d+).
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 |
Wyrażenie regularne | (\d+)\*(\d+) | R_M1 $2/$1 |
Nazwa przekroju | 400*400 | R_M1 400/400 |
Nazwa przekroju | 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 | ||
Wyrażenie regularne | ^(\d+)\*(\d+) | R_M1 $2/$1 | ||
Nazwa przekroju | 400*400 | R_M1 400/400 | ||
Nazwa przekroju | 300*300 | R_M1 300/300 | ||
Wyrażenie regularne | RHS(\d+)\*(\d+)\*(\d+) | RRO $1x2x3$ |
|
|
Nazwa przekroju | RHS200*100*5 | RRO 200x100x5 |
|
|
Nazwa przekroju | 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 | |
Wyrażenie regularne | HEA (\d+).*$ | HEA$1 | |
Nazwa przekroju | HEA 300 | DIN 1025-3:1994-03 | Ferona | HEA300 | |
Nazwa przekroju | HEA 300 | Euronorm 53-62; ... |
|
HEA300 |
Nazwa przekroju | 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 |
Wyrażenie regularne | ^L(\d+)\*(\d+)$ | L $1x$1x$2 | DIN EN 10056-1:1998-10 | -- |
Nazwa przekroju | L40*4 | L 40x40x4 | | DIN EN 10056-1:1998-10 | -- |
Wyrażenie regularne | L(\d+)\*(\d+)\*(\d+) | L $1x$2x$3 | EN 10056-1:2017 | ArcelorMittal (2018) |
Nazwa przekroju | 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 |
Wyrażenie regularne | L (\d+)x(\d+)x(\d+).*$ | L$1*$2*$3 |
Nazwa przekroju | 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 |
Wyrażenie regularne | L (\d+)x(\1)x(\d+).*$ | L$1*$3 |
Nazwa przekroju | 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 |
Wyrażenie regularne | CHS (\d*\.?\d*)x(\d*\.?\d*).*$ | RO$1*$2 |
Nazwa przekroju | CHS 25x2 | EN 10219-2 | Condesa | RO25*2 |
Nazwa przekroju | CHS 26.9x2 | EN 10219-2 | Condesa | RO26.9*2 |
Nazwa przekroju | CHS 32x2.9 | EN 10219-2 | Condesa | RO32*2.9 |
Nazwa przekroju | CHS 37.5x2.9 | EN 10219-2 | Condesa | RO37.5*2.9 |