Регулярные выражения позволяют преобразовать несколько объектов, например, всю серию профилей IPE, с помощью одной записи.
Пример
Преобразование, например, IPE120 в программе Tekla в IPE 120 | Евронорма 19-57; ... | SZS в RFEM 6 также должен работать для всех других сечений серии IPE.
Для создания преобразования для всей серии сечений труб, регулярное выражение структурировано следующим образом:
Преобразование из Tekla в RFEM 6 | Tekla | RFEM 6 | ||
Регулярное выражение | IPE(\d+) | IPE $1 |
|
|
Название материала | IPE120 | IPE 120 |
|
|
Название материала | IPE300 | IPE 300 Евронорма 19-57; ... |
|
Для выражения (\d+) можно ввести любое десятичное число. (IPE200, IPE300,...)
Выражение $1 относится к вставленному десятичному числу. На следующем рисунке к таблице преобразования Tekla добавлено регулярное выражение.
Если используются два десятичных знака, то выражение $1 относится к первому номеру, а выражение $2 относится к второму номеру. Это показано на примере преобразования материала в следующей таблице.
Преобразование из Tekla в RFEM 6 | Tekla | RFEM 6 | |
Регулярное выражение | C(\d+)/(\d+) | C$1/$2 EN 1992-1-1:2004/A1:2014 | |
Название материала | C20/25 | C20/25 |
|
Название материала | C30/37 | C30/37 EN 1992-1-1:2004/A1:2014 |
В этой статье показаны и объяснены возможные проблемы при задании регулярных выражений.
Название сечения 400*400 не преобразуется с помощью выражения (\d+)*(\d+).
Звездочка * имеет особое значение в регулярных выражениях и поэтому не интерпретируется как простой символ. Чтобы использовать звездочку в качестве отдельного символа в регулярном выражении, вы можете написать её с обратной косой чертой '\' , чтобы сделать недействительной её особое значение.
Преобразование из Tekla в RFEM 6 | Tekla | RFEM 6 |
Регулярное выражение | (\d+)\*(\d+) | R_M1 $2/$1 |
Название материала | 400*400 | R_M1 400/400 |
Название материала | 150*200 | R_M1 150/200 |
Der Profilname RHS200*100*5 wird nicht mit dem Ausdruck RHS(\d+)\*(\d+)\*(\d+) konvertiert.
Если применяется несколько похожих регулярных выражений, это может привести к использованию неправильного регулярного выражения (см. пример на рисунке).
Вы можете использовать символ ^ для ввода с помощью регулярного выражения, только если он действителен в начале названия материала или сечения. Таким образом, выражение ^(\d+)\*(\d+) iнедействительно для сечения RHS, поскольку это имя сечения не начинается с цифры (например, 400x400).
Преобразование из Tekla в RFEM 6 | Tekla | RFEM 6 |
Регулярное выражение | ^(\d+)\*(\d+) | R_M1 $2/$1 |
Название материала | 400*400 | R_M1 400/400 |
Название материала | 300*300 | R_M1 300/300 |
Регулярное выражение | RHS(\d+)\*(\d+)\*(\d+) | RRO $1x$2x$3 EN 10219-2 ALUKÖNIGSTAHL |
Название материала | RHS200*100*5 | RRO 200x100x5 EN 10219-2 ALUKÖNIGSTAHL |
Название материала | RHS180*140*8 | RRO 180x140x8 EN 10219-2 ALUKÖNIGSTAHL |
Как можно преобразовать материал/сечение из RFEM 6 независимо от описания в норме?
В отличие от RFEM 6, программы Revit и Tekla присваивают названия материалов и сечений независимо от норм. Поэтому, чтобы преобразовать, например, сечение HEA 300 в RFEM 6 в HEA 300 без ссылки на норму в Revit или Tekla, вы можете использовать регулярное выражение .*$, чтобы игнорировать нормативное обозначение названия.
Преобразование RFEM 6 в Tekla | RFEM 6 | Tekla | |
Регулярное выражение | HEA (\d+).*$ | HEA$1 | |
Название материала | HEA 300 DIN 1025-3:1994-03 Ферона | HEA300 | |
Название материала | HEA 300 Евронорма 53-62; ... |
|
HEA300 |
Название материала | 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:
Преобразование из Tekla в RFEM 6 | Tekla | RFEM 6 |
Регулярное выражение | ^L(\d+)\*(\d+)$ | L $1x$1x$2 | DIN EN 10056-1:1998-10 | -- |
Название материала | L40*4 | L 40x40x4 | | DIN EN 10056-1:1998-10 | -- |
Регулярное выражение | L(\d+)\*(\d+)\*(\d+) | L $1x$2x$3 | EN 10056-1:2017 | ArcelorMittal (2018) |
Название материала | 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:
Преобразование RFEM 6 в Tekla | RFEM 6 | Tekla |
Регулярное выражение | L (\d+)x(\d+)x(\d+).*$ | L$1*$2*$3 |
Название материала | L 100x75x8 | L100*75*8 |
Für die gleichschenkligen Profile wird der reguläre Ausdruck wie folgt definiert:
Преобразование RFEM 6 в Tekla | RFEM 6 | Tekla |
Регулярное выражение | L (\d+)x(\1)x(\d+).*$ | L$1*$3 |
Название материала | 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.
Преобразование RFEM 6 в Tekla | RFEM 6 | Tekla |
Регулярное выражение | CHS (\d*\.?\d*)x(\d*\.?\d*).*$ | RO$1*$2 |
Название материала | CHS 25x2 | EN 10219-2 | Condesa | RO25*2 |
Название материала | CHS 26.9x2 | EN 10219-2 | Condesa | RO26.9*2 |
Название материала | CHS 32x2.9 | EN 10219-2 | Condesa | RO32*2.9 |
Название материала | CHS 37.5x2.9 | EN 10219-2 | Condesa | RO37.5*2.9 |