Através da utilização de expressões regulares, é possível converter vários objetos – por exemplo, uma série completa de perfis IPE – através de uma única entrada.
Exemplo
A conversão de, por exemplo, IPE120 no Tekla para IPE 120 | Euronorm 19-57; ... | SZS no RFEM 6 também deve funcionar para todas as outras secções transversais da série de perfis IPE.
Para criar uma conversão para toda a série de perfis IPE, a expressão regular é estruturada da seguinte forma:
| Conversão de Tekla para RFEM 6 | Tekla | RFEM 6 |
| expressão regular | IPE(\d+) | IPE $1 | Euronorm 19-57; ... | SZS |
| nome da secção transversal | IPE120 | IPE 120 | Euronorm 19-57; ... | SZS |
| nome da secção transversal | IPE300 | IPE 300 | Euronorm 19-57; ... | SZS |
Para a expressão (\d+), pode ser inserido qualquer número inteiro (IPE200, IPE300,...).
Com a expressão $1, faz-se referência ao número inserido. Na figura seguinte, a expressão regular foi adicionada na tabela de conversão do Tekla.
Se forem utilizados dois números, com a expressão $1 faz-se referência ao primeiro número e com $2 ao segundo número. Na tabela seguinte, isto é mostrado com o exemplo de uma conversão de material.
| Conversão de Tekla para RFEM 6 | Tekla | RFEM 6 |
| expressão regular | C(\d+)/(\d+) | C$1/$2 | EN 1992-1-1:2004/A1:2014 |
| nome do material | C20/25 | C20/25 | EN 1992-1-1:2004/A1:2014 |
| nome do material | C30/37 | C30/37 | EN 1992-1-1:2004/A1:2014 |
De seguida, serão apresentados e explicados possíveis problemas na definição de expressões regulares.
O nome do perfil 400*400 não é convertido com a expressão (\d+)*(\d+).
O asterisco * tem um significado especial em expressões regulares e, por isso, não é interpretado como um carácter simples. Para utilizar o asterisco como carácter individual numa expressão regular, pode ser escrito com uma barra invertida \, para anular o seu significado especial.
| Conversão de Tekla para RFEM 6 | Tekla | RFEM 6 |
| expressão regular | (\d+)\*(\d+) | R_M1 $2/$1 |
| nome da secção transversal | 400*400 | R_M1 400/400 |
| nome da secção transversal | 150*200 | R_M1 150/200 |
O nome do perfil RHS200*100*5 não é convertido com a expressão RHS(\d+)\*(\d+)\*(\d+).
Se forem utilizadas várias expressões regulares semelhantes, isso pode levar a que seja aplicada a expressão regular errada (exemplo na imagem).
Com um acento circunflexo ^, pode ser definido que uma expressão regular só é utilizada quando corresponde ao início do nome do material ou da secção transversal. A expressão ^(\d+)\*(\d+) deixa assim de ser válida para a secção transversal RHS, uma vez que o nome da secção transversal RHS não começa por um número (como, por exemplo, 400x400).
| Conversão de Tekla para RFEM 6 | Tekla | RFEM 6 |
| expressão regular | ^(\d+)\*(\d+) | R_M1 $2/$1 |
| nome da secção transversal | 400*400 | R_M1 400/400 |
| nome da secção transversal | 300*300 | R_M1 300/300 |
| expressão regular | RHS(\d+)\*(\d+)\*(\d+) | RRO $1x$2x$3 | EN 10219-2 | ALUKÖNIGSTAHL |
| nome da secção transversal | RHS200*100*5 | RRO 200x100x5 | EN 10219-2 | ALUKÖNIGSTAHL |
| nome da secção transversal | RHS180*140*8 | RRO 180x140x8 | EN 10219-2 | ALUKÖNIGSTAHL |
Como posso converter um material/secção transversal do RFEM 6 independentemente da designação da norma?
Em comparação com o RFEM 6, o Revit e o Tekla atribuem os seus nomes de materiais e secções transversais independentemente das normas. Para que, por exemplo, uma secção HEA 300 no RFEM 6 de diferentes normas seja convertida para uma HEA 300 sem atribuição de norma no Revit ou no Tekla, a designação da norma no nome pode ser ignorada com a expressão regular .*$.
| Conversão de RFEM 6 para Tekla | RFEM 6 | Tekla |
| expressão regular | HEA (\d+).*$ | HEA$1 |
| nome da secção transversal | HEA 300 | DIN 1025-3:1994-03 | Ferona | HEA300 |
| nome da secção transversal | HEA 300 | Euronorm 53-62; ... | SZS | HEA300 |
| nome da secção transversal | HEA 300 | GB/T 11263-2017 | -- | HEA300 |
As expressões regulares para perfis L simétricos e assimétricos não funcionam simultaneamente.
Se forem utilizadas expressões regulares semelhantes, isso pode fazer com que seja sempre lida apenas a primeira expressão da tabela (exemplo na imagem). Para o perfil L assimétrico (a vermelho), é utilizada incorretamente a expressão regular do perfil L simétrico (a amarelo), uma vez que esta é estruturada exatamente da mesma forma do início ao fim.
Para distinguir estas expressões entre si, a expressão utilizada incorretamente deve começar com um ^ e terminar com um $.
Desta forma, é definido que a expressão regular só é utilizada quando o nome do perfil corresponde exatamente a este padrão do início ao fim. Na tabela seguinte, isto é mostrado com o exemplo:
| Conversão de Tekla para RFEM 6 | Tekla | RFEM 6 |
| expressão regular | ^L(\d+)\*(\d+)$ | L $1x$1x$2 | DIN EN 10056-1:1998-10 | -- |
| nome da secção transversal | L40*4 | L 40x40x4 | | DIN EN 10056-1:1998-10 | -- |
| expressão regular | L(\d+)\*(\d+)\*(\d+) | L $1x$2x$3 | EN 10056-1:2017 | ArcelorMittal (2018) |
| nome da secção transversal | L100*65*10 | L 100x65x10 | EN 10056-1:2017 | ArcelorMittal (2018) |
No RFEM, os perfis L simétricos e assimétricos são definidos com três valores no nome da secção transversal. O Tekla utiliza apenas dois valores para o nome da secção transversal nos perfis simétricos. Como posso considerar ambos os casos ao mesmo tempo?
Primeiro, pode ser gerada uma expressão regular com três valores para os perfis assimétricos:
| Conversão de RFEM 6 para Tekla | RFEM 6 | Tekla |
| expressão regular | L (\d+)x(\d+)x(\d+).*$ | L$1*$2*$3 |
| nome da secção transversal | L 100x75x8 | L100*75*8 |
Para os perfis simétricos, a expressão regular é definida da seguinte forma:
| Conversão de RFEM 6 para Tekla | RFEM 6 | Tekla |
| expressão regular | L (\d+)x(\1)x(\d+).*$ | L$1*$3 |
| nome da secção transversal | L 100x100x8 | L100*8 |
(\d+) capta o primeiro número.
(\1) verifica se o segundo número é idêntico ao primeiro. (Se sim, então esta expressão regular é utilizada)
(\d+) capta o terceiro número.
Como são convertidos os nomes das secções transversais com números decimais?
No RFEM, existem séries de secções transversais em que as dimensões das secções transversais estão contidas como número decimal no nome da secção transversal (por exemplo, perfis tubulares CHS). Para o exemplo seguinte, as secções transversais seguintes devem ser convertidas com uma expressão:
- CHS 25x2 | EN 10219-2 | Condesa (nomes de secções transversais com dois números inteiros)
- CHS 26.9x2 | EN 10219-2 | Condesa (nomes de secções transversais com um número decimal e um número inteiro)
- CHS 32x2.9 | EN 10219-2 | Condesa (nomes de secções transversais com um número inteiro e um número decimal)
- CHS 37.5x2.9 | EN 10219-2 | Condesa (nomes de secções transversais com dois números decimais)
Assim, cada número pode opcionalmente ter uma casa decimal. A expressão regular para esta regra é estruturada da seguinte forma:
CHS (\d*\.?\d*)x(\d*\.?\d*).*$
\d* capta nenhum número ou um número.
\.? capta opcionalmente o ponto decimal (números inteiros sem ponto decimal são assim considerados)
\d*capta nenhum número ou um número após o ponto decimal.
.*$ a designação da norma no nome é ignorada.
| Conversão de RFEM 6 para Tekla | RFEM 6 | Tekla |
| expressão regular | CHS (\d*\.?\d*)x(\d*\.?\d*).*$ | RO$1*$2 |
| nome da secção transversal | CHS 25x2 | EN 10219-2 | Condesa | RO25*2 |
| nome da secção transversal | CHS 26.9x2 | EN 10219-2 | Condesa | RO26.9*2 |
| nome da secção transversal | CHS 32x2.9 | EN 10219-2 | Condesa | RO32*2.9 |
| nome da secção transversal | CHS 37.5x2.9 | EN 10219-2 | Condesa | RO37.5*2.9 |
Por que a secção transversal KREIS_M1 500 não é convertida?
Para algumas secções transversais, a designação para a conversão diverge da designação apresentada em língua alemã devido aos serviços Web.
A conversão para KREIS_M1 500 tem de ser definida como CIRCLE_M1 500.
Isto também se aplica às seguintes designações de secções transversais:
- KREIS→CIRCLE
- RRO→RHS
- QRO→SHS
- KHP→CHS
- Kabel→Cable