1558x
005435
27.2.2024

Chybná konverze materiálu nebo průřezu v programu Revit nebo Tekla (regex)

Při použití regulárních (regex) výrazů v převodní tabulce dochází v Tekle/Revitu k nesprávné konverzi.


Odpověď:

Díky použití regulárních výrazů je možná konverze více objektů – například celé profilové řady IPE – pomocí jediného záznamu.

Příklad

Konverze např. IPE120 v Tekla na IPE 120 | Euronorm 19-57; ... | SZS v RFEM 6 má fungovat i pro všechny ostatní průřezy profilové řady IPE.

Aby bylo možné vytvořit konverzi pro celou profilovou řadu IPE, je regulární výraz sestaven následovně:

Konverze z Tekla do 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

Ve výrazu (\d+) lze použít libovolné celé číslo (IPE200, IPE300,...).

Výraz $1 odkazuje na použité číslo. Na následujícím obrázku byl regulární výraz doplněn do konverzní tabulky Tekla.

Při použití dvou čísel se výrazem $1 odkazuje na první číslo a výrazem $2 na druhé číslo. V následující tabulce je to ukázáno na příkladu konverze materiálu.

Konverze z Tekla do 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

Následně budou znázorněny a vysvětleny možné problémy při definování regulárních výrazů.

Název profilu 400*400 není konvertován výrazem (\d+)*(\d+).

Hvězdička * má v regulárních výrazech zvláštní význam, a proto není interpretována jako jednoduchý znak. Aby mohla být hvězdička v regulárním výrazu použita jako samostatný znak, lze ji zapsat s obráceným lomítkem \, čímž se zruší její zvláštní význam.

Konverze z Tekla do 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 profilu RHS200*100*5 není konvertován výrazem RHS(\d+)\*(\d+)\*(\d+).

Při použití více podobných regulárních výrazů může dojít k tomu, že je použit nesprávný regulární výraz (příklad na obrázku).

Pomocí stříšky ^ lze určit, že regulární výraz se použije pouze tehdy, pokud odpovídá začátku názvu materiálu nebo průřezu. Výraz ^(\d+)\*(\d+) tedy již pro průřez RHS neplatí, protože název průřezu RHS nezačíná číslem (např. jako 400x400).

Konverze z Tekla do 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 lze konvertovat materiál/průřez z RFEM 6 nezávisle na označení normy.

Ve srovnání s RFEM 6 přiřazují Revit a Tekla názvy svých materiálů a průřezů nezávisle na normách. Aby byl např. průřez HEA 300 v RFEM 6 z různých norem převeden na HEA 300 bez přiřazení normy v Revit resp. Tekla, lze pomocí regulárního výrazu .*$ ignorovat označení normy v názvu.

Konverze z RFEM 6 do 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

Regulární výrazy pro rovnostranné a nerovnostranné úhelníky nefungují současně.

Při použití podobných regulárních výrazů může dojít k tomu, že se v tabulce vždy přečte pouze první výraz (příklad na obrázku). Pro nerovnostranný úhelník (červeně) je nesprávně použit regulární výraz rovnostranného úhelníku (žlutě), protože je od začátku do konce postaven úplně stejně.

Aby bylo možné takové výrazy odlišit, musí nesprávně použitý výraz začínat znakem ^ a končit znakem $. Tím je určeno, že regulární výraz se použije pouze tehdy, pokud název profilu od začátku do konce přesně odpovídá tomuto vzoru. V následující tabulce je to ukázáno na příkladu:

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

124; EN 10219-2 | Condesa
| style="width:20%;"|RO25*2
|-
| style="width:20%;"|název průřezu
| style="width:30%;"|CHS 26.9x2 | EN 10219-2 | Condesa
| style="width:20%;"|RO26.9*2
|-
| style="width:20%;"|název průřezu
| style="width:30%;"|CHS 32x2.9 | EN 10219-2 | Condesa
| style="width:20%;"|RO32*2.9
|-
| style="width:20%;"|název průřezu
| style="width:30%;"|CHS 37.5x2.9 | EN 10219-2 | Condesa
| style="width:20%;"|RO37.5*2.9
|}


Proč není konvertován průřez KREIS_M1 500?

U několika průřezů se označení pro konverzi v důsledku webových služeb liší od zobrazeného označení v němčině. Konverze pro KREIS_M1 500 musí být definována jako CIRCLE_M1 500. To platí i pro následující označení průřezů:

  • KREIS→CIRCLE
  • RRO→RHS
  • QRO→SHS
  • Kabel→Cable

Autor

Paul vyvíjí v Product Engineering řešení rozhraní a navíc podporuje v Customer Support. Přitom má vždy na paměti průběžnou systémovou integraci.



;