559x
005435
27.2.2024

Nesprávný převod materiálu nebo průřezu v programu Revit nebo Tekla

Při použití regulárních výrazů v převodní tabulce dochází v programech Tekla/Revit k nesprávnému převodu.


Odpověď:

Regulární výrazy umožňují konvertovat několik objektů, například celou průřezovou řadu IPE, jediným příkazem.

Příklad

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; ... #/#

Název materiálu|IPE120|IPE 120 | Euronorm 19-57; ... #/#
Název materiálu|IPE300|IPE 300 | Euronorm 19-57; ... #/#

  1. /#

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 materiálu 400*400 R_M1 400/400
Název materiálu 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 materiálu 400*400 R_M1 400/400
Název materiálu 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 materiálu RHS200*100*5 RRO 200x100x5 | EN 10219-2 | ALUKÖNIGSTAHL
Název materiálu 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 materiálu HEA 300 | DIN 1025-3:1994-03 | Ferona HEA300
Název materiálu HEA 300 | Euronorm 53-62; ... #/#

|HEA300
Název materiálu|HEA 300 | GB/T 11263-2017 | --|HEA300
  1. /#

Regulární výrazy pro L-profily se stejnými a nestejnými rameny nefungují současně.

Při použití podobných regulárních výrazů se může stát, že se načte vždy pouze první výraz v tabulce (příklad na obrázku). U L-profilu s nestejnými rameny (červeně) se nesprávně použije regulární výraz L-profilu se stejnými rameny (žlutě), protože je strukturovaný od začátku do konce naprosto stejně.

Aby bylo možné tyto výrazy od sebe odlišit, musí nesprávně použitý výraz začínat znakem ^ a končit znakem $.
Tím se zajistí, že regulární výraz se tak použije pouze tehdy, pokud název průřezu přesně odpovídá tomuto vzoru od začátku do konce. V následující tabulce je uveden příklad:

Konverze z programu Tekla do programu RFEM 6 Tekla RFEM 6
regulární výraz ^L(\d+)\*(\d+)$ L $1x$1x$2
  1. DIN EN 10056-1:1998-10
  1. --
Název materiálu L40*4 L 40x40x4
  1. DIN EN 10056-1:1998-10
  1. --
regulární výraz L(\d+)\*(\d+)\*(\d+) L $1x$2x$3
  1. EN 10056-1:2017
  1. ArcelorMittal (2018)
Název materiálu L100*65*10 L 100x65x10
  1. EN 10056-1:2017
  1. ArcelorMittal (2018)

V programu RFEM jsou rovnoramenné a nerovnoramenné L-profily definovány třemi hodnotami v názvu průřezu. Tekla používá pouze dvě hodnoty pro název průřezu pro rovnoramenné průřezy. Jak mohu zohlednit oba případy současně?

Nejdříve lze pro nerovnoramenné průřezy vytvořit běžný tiskový protokol se třemi hodnotami:

Konverze z programu RFEM 6 do programu Tekla RFEM 6 Tekla
regulární výraz L (\d+)x(\d+)x(\d+).*$ L$1*$2*$3
Název materiálu L 100x75x8 L100*75*8

Regulární výraz pro rovnoramenné průřezy je definován následovně:

Konverze z programu RFEM 6 do programu Tekla RFEM 6 Tekla
regulární výraz L (\d+)x(\1)x(\d+).*$ L$1*$3
Název materiálu L 100x100x8 L100*8

(\d+) zachytí první číslo.

(\1) zkontroluje, zda se druhé číslo shoduje s prvním. (Pokud ano, pak se použije tento regulární výraz)

(\d+) zachytí třetí číslo.

Jak se převádějí názvy průřezů s desetinnými čísly?

V programu RFEM existují řady průřezů, kde jsou rozměry průřezů uvedeny jako desetinné číslo v názvu průřezu (např. CHS duté průřezy). V následujícím příkladu se mají pomocí jednoho výrazu přepočítat následující průřezy:

  • CHS 25x2 | EN 10219-2 | Condesa (názvy průřezů se dvěma celými čísly)
  • CHS 26,9x2 | EN 10219-2 | Condesa (názvy průřezů s desetinným číslem a celým číslem)
  • CHS 32x2,9 | EN 10219-2 | Condesa (názvy průřezů s celým číslem a desetinným číslem)
  • CHS 37,5x2,9 | EN 10219-2 | Condesa (názvy průřezů se dvěma desetinnými čísly)

Každé číslo tak může mít desetinné místo. Regulární výraz pro toto pravidlo má následující strukturu:

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

\d* vrací žádné nebo číslo.

\.? volitelně vrací desetinnou čárku (zohlední se tak celá čísla bez desetinné čárky)

\d* vrátí žádné nebo jedno číslo za desetinnou čárkou.

.*$ Norma v názvu bude ignorována.

Konverze z programu RFEM 6 do programu Tekla RFEM 6 Tekla
regulární výraz CHS (\d*\.?\d*)x(\d*\.?\d*).*$ RO$1*$2
Název materiálu CHS 25x2
  1. EN 10219-2
  1. Condesa
RO25*2
Název materiálu CHS 26.9x2
  1. EN 10219-2
  1. Condesa
RO26.9*2
Název materiálu CHS 32x2.9
  1. EN 10219-2
  1. Condesa
RO32*2.9
Název materiálu CHS 37.5x2.9
  1. EN 10219-2
  1. Condesa
RO37.5*2.9


Autor

Pan Sivolgin pracuje na vývoji produktů v oblasti rozhraní.



;