Mediante el uso de expresiones regulares es posible la conversión de varios objetos – por ejemplo, de una serie de perfiles IPE completa – mediante una única entrada.
Ejemplo
La conversión de, por ejemplo, IPE120 en Tekla a IPE 120 | Euronorm 19-57; ... | SZS en RFEM 6 debe funcionar también para todas las demás secciones de la serie de perfiles IPE.
Para crear una conversión para toda la serie de perfiles IPE, la expresión regular se estructura de la siguiente manera:
| Conversión de Tekla a RFEM 6 | Tekla | RFEM 6 |
| expresión regular | IPE(\d+) | IPE $1 | Euronorm 19-57; ... | SZS |
| Descripción de sección | IPE120 | IPE 120 | Euronorm 19-57; ... | SZS |
| Descripción de sección | IPE300 | IPE 300 | Euronorm 19-57; ... | SZS |
Para la expresión (\d+) se puede introducir cualquier número entero (IPE200, IPE300,...).
Con la expresión $1 se hace referencia al número introducido. En la siguiente imagen se ha añadido la expresión regular en la tabla de conversión de Tekla.
Si se utilizan dos números, se hace referencia con la expresión $1 al primer número y con $2 al segundo número. En la siguiente tabla se muestra esto en el ejemplo de una conversión de material.
| Conversión de Tekla a RFEM 6 | Tekla | RFEM 6 |
| expresión regular | C(\d+)/(\d+) | C$1/$2 | EN 1992-1-1:2004/A1:2014 |
| nombre de material | C20/25 | C20/25 | EN 1992-1-1:2004/A1:2014 |
| nombre de material | C30/37 | C30/37 | EN 1992-1-1:2004/A1:2014 |
A continuación se presentarán y explicarán los posibles problemas al definir expresiones regulares.
El nombre de perfil 400*400 no se convierte con la expresión (\d+)*(\d+).
El asterisco * tiene un significado especial en las expresiones regulares y, por ello, no se interpreta como un carácter simple. Para usar el asterisco como un carácter individual en una expresión regular, se puede escribir con una barra invertida \ para anular su significado especial.
| Conversión de Tekla a RFEM 6 | Tekla | RFEM 6 |
| expresión regular | (\d+)\*(\d+) | R_M1 $2/$1 |
| Descripción de sección | 400*400 | R_M1 400/400 |
| Descripción de sección | 150*200 | R_M1 150/200 |
El nombre de perfil RHS200*100*5 no se convierte con la expresión RHS(\d+)\*(\d+)\*(\d+).
Si se utilizan varias expresiones regulares similares, puede ocurrir que se aplique la expresión regular incorrecta (ejemplo en la imagen).
Con un acento circunflejo ^ se puede definir que una expresión regular solo se utilice si coincide con el inicio del nombre del material o de la sección. Por lo tanto, la expresión ^(\d+)\*(\d+) ya no es válida para la sección RHS, ya que el nombre de la sección RHS no empieza por un número (como por ejemplo 400x400).
| Conversión de Tekla a RFEM 6 | Tekla | RFEM 6 |
| expresión regular | ^(\d+)\*(\d+) | R_M1 $2/$1 |
| Descripción de sección | 400*400 | R_M1 400/400 |
| Descripción de sección | 300*300 | R_M1 300/300 |
| expresión regular | RHS(\d+)\*(\d+)\*(\d+) | RRO $1x$2x$3 | EN 10219-2 | ALUKÖNIGSTAHL |
| Descripción de sección | RHS200*100*5 | RRO 200x100x5 | EN 10219-2 | ALUKÖNIGSTAHL |
| Descripción de sección | RHS180*140*8 | RRO 180x140x8 | EN 10219-2 | ALUKÖNIGSTAHL |
¿Cómo puedo convertir un material/sección de RFEM 6 independientemente de la designación de la norma?
En comparación con RFEM 6, Revit y Tekla asignan sus nombres de material y de sección de forma independiente a las normas. Para que, por ejemplo, una sección HEA 300 en RFEM 6 procedente de diferentes normas se convierta en un HEA 300 sin asignación de norma en Revit o Tekla, se puede ignorar la designación de la norma en el nombre mediante la expresión regular .*$.
| Conversión de RFEM 6 a Tekla | RFEM 6 | Tekla |
| expresión regular | HEA (\d+).*$ | HEA$1 |
| Descripción de sección | HEA 300 | DIN 1025-3:1994-03 | Ferona | HEA300 |
| Descripción de sección | HEA 300 | Euronorm 53-62; ... | SZS | HEA300 |
| Descripción de sección | HEA 300 | GB/T 11263-2017 | -- | HEA300 |
Las expresiones regulares para perfiles en L de lados iguales y desiguales no funcionan al mismo tiempo.
Si se utilizan expresiones regulares similares, puede ocurrir que siempre solo se lea la primera expresión de la tabla (ejemplo en la imagen). Para el perfil en L de lados desiguales (rojo) se utiliza erróneamente la expresión regular del perfil en L de lados iguales (amarillo), ya que esta está estructurada exactamente igual de principio a fin.
Para distinguir unas de otras estas expresiones, la expresión utilizada erróneamente debe comenzar con un ^ y terminar con un $. De este modo se define que la expresión regular solo se utiliza si el nombre del perfil corresponde exactamente a este patrón de principio a fin. En la siguiente tabla se muestra esto en un ejemplo:
| Conversión de Tekla a RFEM 6 | Tekla | RFEM 6 |
| expresión regular | ^L(\d+)\*(\d+)$ | L $1x$1x$2 | DIN EN 10056-1:1998-10 | -- |
| Descripción de sección | L40*4 | L 40x40x4 | | DIN EN 10056-1:1998-10 | -- |
| expresión regular | L(\d+)\*(\d+)\*(\d+) | L $1x$2x$3 | EN 10056-1:2017 | ArcelorMittal (2018) |
| Descripción de sección | L100*65*10 | L 100x65x10 | EN 10056-1:2017 | ArcelorMittal (2018) |
En RFEM, los perfiles en L de lados iguales y desiguales se definen con tres valores en el nombre de la sección. Tekla utiliza solo dos valores para el nombre de la sección en los perfiles de lados iguales. ¿Cómo puedo tener en cuenta ambos casos al mismo tiempo?
En primer lugar, se puede crear una expresión regular con tres valores para los perfiles de lados desiguales:
| Conversión de RFEM 6 a Tekla | RFEM 6 | Tekla |
| expresión regular | L (\d+)x(\d+)x(\d+).*$ | L$1*$2*$3 |
| Descripción de sección | L 100x75x8 | L100*75*8 |
Para los perfiles de lados iguales, la expresión regular se define de la siguiente manera:
| Conversión de RFEM 6 a Tekla | RFEM 6 | Tekla |
| expresión regular | L (\d+)x(\1)x(\d+).*$ | L$1*$3 |
| Descripción de sección | L 100x100x8 | L100*8 |
(\d+) captura el primer número.
(\1) comprueba si el segundo número es idéntico al primero. (Si es así, se utiliza esta expresión regular)
(\d+) captura el tercer número.
¿Cómo se convierten nombres de sección con números decimales?
En RFEM existen series de secciones en las que las dimensiones de las secciones se incluyen como números decimales en el nombre de la sección (por ejemplo, secciones huecas CHS). Para el siguiente ejemplo se deben convertir las siguientes secciones con una expresión:
- CHS 25x2 | EN 10219-2 | Condesa (nombres de sección con dos números enteros)
- CHS 26.9x2 | EN 10219-2 | Condesa (nombres de sección con número decimal y número entero)
- CHS 32x2.9 | EN 10219-2 | Condesa (nombres de sección con número entero y número decimal)
- CHS 37.5x2.9 | EN 10219-2 | Condesa (nombres de sección con dos números decimales)
Cada número puede, por lo tanto, tener opcionalmente una coma decimal. La expresión regular para esta regla se estructura de la siguiente manera:
CHS (\d*\.?\d*)x(\d*\.?\d*).*$
\d* no captura ningún número o captura un número.
\.? captura opcionalmente el punto decimal (de este modo se tienen en cuenta los números enteros sin punto decimal)
\d*no captura ningún número o captura un número después del punto decimal.
.*$ se ignora la designación de la norma en el nombre.
| Conversión de RFEM 6 a Tekla | RFEM 6 | Tekla |
| expresión regular | CHS (\d*\.?\d*)x(\d*\.?\d*).*$ | RO$1*$2 |
| Descripción de sección | CHS 25x2 | EN 10219-2 | Condesa | RO25*2 |
| Descripción de sección | CHS 26.9x2 | EN 10219-2 | Condesa | RO26.9*2 |
| Descripción de sección | CHS 32x2.9 | EN 10219-2 | Condesa | RO32*2.9 |
| Descripción de sección | CHS 37.5x2.9 | EN 10219-2 | Condesa | RO37.5*2.9 |
¿Por qué no se convierte la sección KREIS_M1 500?
Para algunas pocas secciones, la designación para la conversión difiere de la designación mostrada en alemán debido a los servicios web. La conversión para KREIS_M1 500 debe definirse como CIRCLE_M1 500. Esto se aplica igualmente a las siguientes descripciones de sección:
- KREIS→CIRCLE
- RRO→RHS
- QRO→SHS
- Kabel→Cable