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 IPE.
Para criar uma conversão para toda a série de secções 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 do material | IPE120 | IPE 120 | Euronorma 19–57; ... | SZS |
Nome do material | 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 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 do material | 400*400 | R_M1 400/400 |
Nome do material | 150*200 | R_M1 150/200 |
O nome da secção 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. 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 do material | 400*400 | R_M1 400/400 |
Nome do material | 300*300 | R_M1 300/ |
Expressão regular | RHS(\d+)\*(\d+)\*(\d+) | RRO $1x$2x$3 | EN 10219-2 | ALUKÖNIGSTAHL |
Nome do material | RHS200*10 | RRO 200x100x5 | EN 10219-2 | ALUKÖNIGSTAHL |
Nome do material | RHS180*140*8 | RRO 180x140x8 | EN 10219-2 | ALUKÖNIGSTAHL |
Como é que posso converter o material/a secção 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 do material | HEA 300 | DIN 1025-3:1994-03 | Ferona | HEA300 |
Nome do material | HEA 300 | Euronorma 53–62; ... | SZS | HEA300 |
Nome do material | 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 do material | 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 do material | 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. O Tekla utiliza apenas dois valores para o nome da secção para secções isósceles. Como é que posso considerar os dois casos ao mesmo tempo?
Zunächst kann für die ungleichschenkligen Profile ein regulärer Ausdruck mit drei Werten erzeugt werden:
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 do material | L 100x75x8 | L100*75*8 |
Für die gleichschenkligen Profile wird der reguläre Ausdruck wie folgt definiert:
Conversão do RFEM 6 para o Tekla | RFEM 6 | Tekla |
Expressão regular | L (\d+)x(\1)x(\d+).*$ | L$1*$3 |
Nome do material | L 100x100x8 | L100*8 |
(\d+) erfasst die erste Zahl.
(\1) überprüft ob die zweite Zahl mit der ersten identisch ist. (Wenn ja, dann wird dieser reguläre Ausdruck verwendet)
(\d+) erfasst die dritte Zahl.
Como é que os nomes das secções com números decimais são convertidos?
No RFEM, existem séries de secções nas quais as dimensões das secções estão contidas como número decimal no nome da secção (por exemplo, secção oca CHS). No exemplo a seguir, as seguintes secções devem ser convertidas com uma expressão:
- CHS 25x2 | EN 10219-2 | Condesa (nomes de secções com dois números inteiros)
- CHS 26.9x2 | EN 10219-2 | Condesa (nomes de secções com um número decimal e um número inteiro)
- CHS 32x2.9 | EN 10219-2 | Condesa (nomes de secções com um número inteiro e um número decimal)
- CHS 37.5x2.9 | EN 10219-2 | Condesa (nomes de secções 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 do material | CHS 25x2 | EN 10219-2 | Condesa | RO25*2 |
Nome do material | CHS 26.9x2 | EN 10219-2 | Condesa | RO26.9*2 |
Nome do material | CHS 32x2.9 | EN 10219-2 | Condesa | RO32*2.9 |
Nome do material | CHS 37.5x2.9 | EN 10219-2 | Condesa | RO37.5*2.9 |