1558x
005435
27-02-2024

Conversión incorrecta de material o sección en Revit o Tekla (regex)

Obtengo una conversión incorrecta en Tekla o Revit cuando utilizo expresiones regulares (regex) en la tabla de conversión.


Respuesta:

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

Autor

Paul desarrolla soluciones de interfaz en Ingeniería de Productos y además presta apoyo en Soporte Técnico. En este sentido, siempre mantiene en el punto de mira la integración continua del sistema.



;