1154x
005435
27-02-2024

Conversión Incorrecta de Material o Sección en Revit o Tekla (regex)

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


Respuesta:

Mediante el uso de expresiones regulares, es posible convertir varios objetos, por ejemplo, toda una serie de perfiles IPE, mediante una sola entrada.

Ejemplo

La conversión de, p. ej., IPE120 en Tekla a IPE 120 | Euronorm 19-57; ... | SZS en RFEM 6 también debe funcionar 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 construye 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
nombre de la sección IPE120 IPE 120 | Euronorm 19-57; ... | SZS
nombre de la sección IPE300 IPE 300 | Euronorm 19-57; ... | SZS

Para la expresión (\d+) se puede insertar cualquier número entero (IPE200, IPE300,...).

Con la expresión $1 se hace referencia al número insertado. 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, con la expresión $1 se hace referencia al primer número y con $2 al segundo número. En la siguiente tabla se muestra esto con 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 del material C20/25 C20/25 | EN 1992-1-1:2004/A1:2014
nombre del material C30/37 C30/37 | EN 1992-1-1:2004/A1:2014

A continuación se muestran y explican posibles problemas al definir expresiones regulares.

El nombre del 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 utilizar el asterisco como carácter individual en una expresión regular, puede escribirse 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
nombre de la sección 400*400 R_M1 400/400
nombre de la sección 150*200 R_M1 150/200

El nombre del 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 comienza con un número (como, p. ej., 400x400).

Conversión de Tekla a RFEM 6 Tekla RFEM 6
expresión regular ^(\d+)\*(\d+) R_M1 $2/$1
nombre de la sección 400*400 R_M1 400/400
nombre de la sección 300*300 R_M1 300/300
expresión regular RHS(\d+)\*(\d+)\*(\d+) RRO $1x$2x$3 | EN 10219-2 | ALUKÖNIGSTAHL
nombre de la sección RHS200*100*5 RRO 200x100x5 | EN 10219-2 | ALUKÖNIGSTAHL
nombre de la 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 denominación de la norma?

En comparación con RFEM 6, Revit y Tekla asignan sus nombres de materiales y secciones independientemente de las normas. Para que, por ejemplo, una sección HEA 300 de RFEM 6 de distintas normas se convierta en una HEA 300 sin asignación de norma en Revit o Tekla, se puede ignorar la denominación de la norma en el nombre con la expresión regular .*$.

Conversión de RFEM 6 a Tekla RFEM 6 Tekla
expresión regular HEA (\d+).*$ HEA$1
nombre de la sección HEA 300 | DIN 1025-3:1994-03 | Ferona HEA300
nombre de la sección HEA 300 | Euronorm 53-62; ... | SZS HEA300
nombre de la sección HEA 300 | GB/T 11263-2017 | -- HEA300

Las expresiones regulares para perfiles en L equiláteros y no equiláteros no funcionan simultáneamente.

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 no equilátero (rojo), se utiliza erróneamente la expresión regular del perfil en L equilátero (amarillo), ya que esta está estructurada exactamente igual de principio a fin.

Para distinguir estas expresiones entre sí, la expresión utilizada erróneamente debe comenzar con un ^ y terminar con un $.
De este modo, se establece que la expresión regular solo se utilice cuando el nombre del perfil corresponda exactamente a este patrón de principio a fin. En la siguiente tabla se muestra 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 | --
nombre de la 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)
nombre de la sección L100*65*10 L 100x65x10 | EN 10056-1:2017 | ArcelorMittal (2018)

En RFEM, los perfiles en L equiláteros y no equiláteros 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 equiláteros. ¿Cómo puedo tener en cuenta ambos casos simultáneamente?

En primer lugar, para los perfiles no equiláteros se puede crear una expresión regular con tres valores:

Conversión de RFEM 6 a Tekla RFEM 6 Tekla
expresión regular L (\d+)x(\d+)x(\d+).*$ L$1*$2*$3
nombre de la sección L 100x75x8 L100*75*8

Para los perfiles equiláteros, 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
nombre de la 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 los nombres de secciones con números decimales?

En RFEM hay series de secciones en las que las dimensiones de las secciones aparecen como número decimal en el nombre de la sección (p. ej., perfiles huecos CHS). Para el siguiente ejemplo, las siguientes secciones se convertirán con una expresión:

  • CHS 25x2 | EN 10219-2 | Condesa (nombres de secciones con dos números enteros)
  • CHS 26.9x2 | EN 10219-2 | Condesa (nombres de secciones con un número decimal y un número entero)
  • CHS 32x2.9 | EN 10219-2 | Condesa (nombres de secciones con un número entero y un número decimal)
  • CHS 37.5x2.9 | EN 10219-2 | Condesa (nombres de secciones con dos números decimales)

Por tanto, cada número puede contener opcionalmente un separador decimal. La expresión regular para esta regla se construye de la siguiente manera:

CHS (\d*\.?\d*)x(\d*\.?\d*).*$

\d* captura ningún número o un número.

\.? captura opcionalmente el punto decimal (por tanto, se tienen en cuenta los números enteros sin punto decimal)

\d*captura ningún número o un número después del punto decimal.

.*$ la denominación de la norma en el nombre se ignora.

Conversión de RFEM 6 a Tekla RFEM 6 Tekla
expresión regular CHS (\d*\.?\d*)x(\d*\.?\d*).*$ RO$1*$2
nombre de la sección CHS 25x2 | EN 10219-2 | Condesa RO25*2
nombre de la sección CHS 26.9x2 | EN 10219-2 | Condesa RO26.9*2
nombre de la sección CHS 32x2.9 | EN 10219-2 | Condesa RO32*2.9
nombre de la 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 pocas secciones, la denominación para la conversión difiere de la denominación mostrada en alemán debido a los servicios web. La conversión para KREIS_M1 500 debe definirse como CIRCLE_M1 500. Esto también se aplica a las siguientes denominaciones de secciones:

  • KREIS→CIRCLE
  • RRO→RHS
  • QRO→SHS
  • KHP→CHS
  • Kabel→Cable

Autor

Paul desarrolla soluciones de interfaz en Product Engineering y además presta apoyo en Customer Support. En este sentido, siempre mantiene en el punto de mira la integración continua del sistema.



;