Regulární výrazy umožňují konvertovat několik objektů, například celou průřezovou řadu IPE, jediným příkazem.
Příklad použití
Např. konverze IPE120 v programu Tekla na IPE 120 | Euronorm 19-57; ... | SZS v programu RFEM 6 by měla fungovat také pro všechny ostatní průřezy řady průřezů IPE.
Aby bylo možné provést konverzi pro celou průřezovou řadu IPE, je standardní regulární výraz sestaven následovně:
Konverze z programu Tekla do programu RFEM 6 | Tekla | RFEM 6 |
regulární výraz | IPE(\d+) | IPE $1 | Euronorm 19-57; ... | SZS |
Název průřezu | IPE120 | IPE 120 | Euronorm 19-57; ... | SZS |
Název průřezu | IPE300 | IPE 300 | Euronorm 19-57; ... | SZS |
Za výraz (\d+) lze dosadit libovolné desetinné číslo. (IPE200, IPE300,...)
Výraz $1 se vztahuje na dosazené desetinné číslo. Na následujícím obrázku je do převodní tabulky Tekla přidán regulární výraz.
Pokud použijeme dvě desetinná čísla, vztahuje se výraz $1 na první číslo a výraz $2 na druhé číslo Následující tabulka to ukazuje na příkladu převodu materiálu.
Konverze z programu Tekla do programu RFEM 6 | Tekla | RFEM 6 |
regulární výraz | C(\d+)/(\d+) | C$1/$2 | EN 1992-1-1:2004/A1:2014 |
Název materiálu | C20/25 | C20/25 | EN 1992-1-1:2004/A1:2014 |
Název materiálu | C30/37 | C30/37 | EN 1992-1-1:2004/A1:2014 |
V tomto příspěvku si ukážeme a vysvětlíme možné problémy při zadávání regulárních výrazů.
Název průřezu 400*400 se pomocí výrazu (\d+)*(\d+) nezkonvertuje.
Hvězdička * má v regulárních výrazech zvláštní význam, a proto není interpretována jako samotný znak. Chcete-li použít hvězdičku jako samotný znak v regulárním výrazu, můžete ji zapsat se zpětným lomítkem \, a tím se zruší její zvláštní význam.
Konverze z programu Tekla do programu RFEM 6 | Tekla | RFEM 6 |
regulární výraz | (\d+)\*(\d+) | R_M1 $2/$1 |
Název průřezu | 400*400 | R_M1 400/400 |
Název průřezu | 150*200 | R_M1 150/200 |
Název průřezu RHS200*100*5 nelze vyjádřit výrazem RHS(\d+)\*(\d+)\*(\d+)
Pokud použijeme několik podobných regulárních výrazů, může dojít k použití nesprávného regulárního výrazu (viz příklad na obrázku).
Pomocí znaku pro horní index ^ lze určit, že se regulární výraz použije pouze tehdy, pokud je platný na začátku názvu materiálu nebo průřezu. Výraz ^(\d+)\*(\d+) proto již není pro RHS průřez platný, protože název tohoto průřezu nezačíná číslem (jako např. 400x400).
Konverze z programu Tekla do programu RFEM 6 | Tekla | RFEM 6 |
regulární výraz | ^(\d+)\*(\d+) | R_M1 $2/$1 |
Název průřezu | 400*400 | R_M1 400/400 |
Název průřezu | 300*300 | R_M1 300/300 |
regulární výraz | RHS(\d+)\*(\d+)\*(\d+) | RRO $1x$2x$3 | EN 10219-2 | ALUKÖNIGSTAHL |
Název průřezu | RHS200*100*5 | RRO 200x100x5 | EN 10219-2 | ALUKÖNIGSTAHL |
Název průřezu | RHS180*140*8 | RRO 180x140x8 | EN 10219-2 | ALUKÖNIGSTAHL |
Jak mohu převést materiál/průřez z programu RFEM 6 nezávisle na označení v normě?
Na rozdíl od programu RFEM 6 programy Revit a Tekla přiřazují názvy materiálů a průřezů nezávisle na normách. Pokud se tak například průřez HEA 300 z různých norem z programu RFEM 6 převede na HEA 300 v programu Revit nebo Tekla bez přiřazené normy, lze pomocí regulárního výrazu .*$ ignorovat označení normy v názvu.
Konverze z programu RFEM 6 do programu Tekla | RFEM 6 | Tekla |
regulární výraz | HEA (\d+).*$ | HEA$1 |
Název průřezu | HEA 300 | DIN 1025-3:1994-03 | Ferona | HEA300 |
Název průřezu | HEA 300 | Euronorm 53-62; ... | SZS | HEA300 |
Název průřezu | HEA 300 | GB/T 11263-2017 | -- | HEA300 |