A utilização de expressões regulares permite converter vários objetos (por exemplo, uma série de secções IPE completa) através de uma única entrada.
Exemplo
A conversão de, por exemplo, IPE120 no Tekla para IPE 120 | Euronorma 19–57; ... | SZS no RFEM 6 também deve funcionar para todas as outras secções da série de secções transversais IPE.
Para criar uma conversão para toda a série de secções transversais IPE, a expressão regular é estruturada da seguinte forma:
| Conversão do Tekla para o RFEM 6 | Tekla | RFEM 6 |
| Expressão regular | IPE(\d+) | IPE $1 | Euronorma 19–57; ... | SZS |
| Nome da secção transversal | IPE120 | IPE 120 | Euronorma 19–57; ... | SZS |
| Nome da secção transversal | IPE300 | IPE 300 | Euronorma 19–57; ... | SZS |
Para a expressão (\d+), pode introduzir qualquer número inteiro. (IPE200, IPE300,...)
A expressão $1 refere-se ao número introduzido. Na figura seguinte, a expressão regular foi adicionada à tabela de conversão do Tekla.
Se forem utilizados dois números, a expressão $1 refere-se ao primeiro número e $2 refere-se ao segundo número. A tabela seguinte mostra isso utilizando o exemplo de uma conversão de material.
| Conversão do Tekla para o 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 |
A seguir, são apresentados e explicados possíveis problemas ao definir expressões regulares.
O nome da secção transversal 400*400 não é convertido com a expressão (\d+)*(\d+).
O asterisco * tem um significado especial nas expressões regulares e, portanto, não é interpretado como um carácter simples. Para utilizar o asterisco como um carácter único numa expressão regular, pode escrevê-lo com uma barra invertida \ para invalidar o seu significado especial.
| Conversão do Tekla para o 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 da secção transversal RHS200*100*5 não é convertido com a expressão RHS(\d+)\*(\d+)\*(\d+).
Se forem utilizadas várias expressões regulares semelhantes, poderá ser utilizada uma expressão regular errada (ver exemplo na imagem).
Pode utilizar o sobrescrito ^ para especificar que a expressão regular só é utilizada se corresponder ao início do nome do material ou da secção transversal. A expressão ^(\d+)\*(\d+) deixa de ser válida para a secção RHS, porque o nome desta secção não começa com um número (por exemplo, 400x400).
| Conversão do Tekla para o 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 é que posso converter o material/a secção transversal do RFEM 6 independentemente da descrição da norma?
Em comparação com o RFEM 6, o Revit e o Tekla atribuem os nomes dos materiais e das secções independentemente das normas. Portanto, para converter, por exemplo, uma secção HEA 300 segundo várias normas no RFEM 6 numa secção HEA 300 sem referência à norma no Revit ou Tekla, pode utilizar a expressão regular .*$ para ignorar a designação da norma no nome.
| Conversão do RFEM 6 para o 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 | Euronorma 53–62; ... | SZS | HEA300 |
| Nome da secção transversal | HEA 300 | GB/T 11263-2017 | -- | HEA300 |
As expressões regulares para as secções em L de abas iguais e diferentes não funcionam em simultâneo.
Se forem utilizadas expressões regulares semelhantes, pode dar-se o caso de ser sempre lida apenas a primeira expressão da tabela (exemplo na figura). Para a secção em L de abas diferentes (vermelho), é utilizada incorretamente a expressão regular da secção em L de abas iguais (amarelo), porque está estruturada exatamente da mesma forma do início ao fim.
Para distinguir tais expressões, a expressão utilizada incorretamente tem de começar com ^ e terminar com $. Assim sendo, a expressão regular apenas é utilizada se o nome da secção corresponder exatamente a este padrão do início ao fim. A tabela a seguir mostra um exemplo disso:
| Conversão do Tekla para o 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, as secções em L de abas iguais e desiguais são definidas por três valores no nome da secção transversal. O Tekla utiliza apenas dois valores para o nome da secção transversal para secções isósceles. Como é que posso considerar os dois casos ao mesmo tempo?
Primeiro, pode ser criada uma impressão regular com três valores para as secções de abas diferentes:
| Conversão do RFEM 6 para o 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 |
A expressão regular para secções de abas iguais é definida da seguinte forma:
| Conversão do RFEM 6 para o 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+) corresponde ao primeiro número.
(\1) verifica se o segundo número é idêntico ao primeiro. (Em caso afirmativo, esta expressão regular é utilizada)
(\d+) corresponde ao terceiro número.
Como é que os nomes das secções transversais com números decimais são convertidos?
No RFEM, existem séries de secções transversais nas quais as dimensões das secções estão contidas como número decimal no nome da secção transversal (por exemplo, secção oca CHS). No exemplo a seguir, as seguintes secções transversais 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 ter opcionalmente uma casa decimal. A expressão regular para esta regra está estruturada da seguinte forma:
CHS (\d*\.?\d*)x(\d*\.?\d*).*$
\d* não corresponde a nenhum número ou a um número.
\.? deteção opcional do ponto decimal (números inteiros sem ponto decimal são tidos em consideração)
\d* não corresponde a nenhum número ou a um número após o ponto decimal.
.*$ a norma no nome será ignorada.
| Conversão do RFEM 6 para o 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 razão a secção transversal KREIS_M1 500 não é convertida?
Para algumas secções transversais, a designação para conversão difere da designação mostrada em alemão devido aos serviços web. A conversão para KREIS_M1 500 deve ser definida como CIRCLE_M1 500. Isso também se aplica às seguintes designações de secção transversal:
- KREIS→CIRCLE
- RRO→RHS
- QRO→SHS
- KHP→CHS
- Kabel→Cable