1558x
005435
2024-02-27

Convertzione errata di Materiale o Sezione in Revit o Tekla (regex)

Ricevo una conversione errata in Tekla/Revit quando utilizzo espressioni regolari (regex) nella tabella di conversione.


Risposta:

Grazie all'uso delle espressioni regolari è possibile convertire più oggetti – ad esempio un'intera serie di profili IPE – con un solo inserimento.

Esempio

La conversione ad esempio di IPE120 in Tekla in IPE 120 | Euronorm 19-57; ... | SZS in RFEM 6 deve funzionare anche per tutte le altre sezioni della serie di profili IPE.

Per creare una conversione per l'intera serie di profili IPE, l'espressione regolare viene strutturata come segue:

Conversione da Tekla a RFEM 6 Tekla RFEM 6
espressione regolare IPE(\d+) IPE $1 | Euronorm 19-57; ... | SZS
nome sezione IPE120 IPE 120 | Euronorm 19-57; ... | SZS
nome sezione IPE300 IPE 300 | Euronorm 19-57; ... | SZS

Al posto dell'espressione (\d+) può essere inserito qualsiasi numero intero (IPE200, IPE300,...).

Con l'espressione $1 si fa riferimento al numero inserito. Nell'immagine seguente è stata aggiunta l'espressione regolare nella tabella di conversione di Tekla.

Se vengono utilizzati due numeri, con l'espressione $1 si fa riferimento al primo numero e con $2 al secondo. Nella tabella seguente questo viene mostrato con l'esempio di una conversione di materiali.

Conversione da Tekla a RFEM 6 Tekla RFEM 6
espressione regolare C(\d+)/(\d+) C$1/$2 | EN 1992-1-1:2004/A1:2014
nome materiale C20/25 C20/25 | EN 1992-1-1:2004/A1:2014
nome materiale C30/37 C30/37 | EN 1992-1-1:2004/A1:2014

Di seguito vengono presentati e spiegati i possibili problemi nella definizione delle espressioni regolari.

Il nome del profilo 400*400 non viene convertito con l'espressione (\d+)*(\d+).

L'asterisco * ha un significato speciale nelle espressioni regolari e per questo non viene interpretato come semplice carattere. Per utilizzare l'asterisco come singolo carattere in un'espressione regolare, è possibile scriverlo con una barra rovesciata \ per annullarne il significato speciale.

Conversione da Tekla a RFEM 6 Tekla RFEM 6
espressione regolare (\d+)\*(\d+) R_M1 $2/$1
nome sezione 400*400 R_M1 400/400
nome sezione 150*200 R_M1 150/200

Il nome del profilo RHS200*100*5 non viene convertito con l'espressione RHS(\d+)\*(\d+)\*(\d+).

Se vengono utilizzate più espressioni regolari simili, può accadere che venga applicata l'espressione regolare errata (esempio nell'immagine).

Con un accento circonflesso ^ è possibile definire che un'espressione regolare venga utilizzata solo se corrisponde all'inizio del nome del materiale o della sezione. L'espressione ^(\d+)\*(\d+) non è quindi più valida per la sezione RHS, poiché il nome della sezione RHS non inizia con un numero (ad esempio 400x400).

Conversione da Tekla a RFEM 6 Tekla RFEM 6
espressione regolare ^(\d+)\*(\d+) R_M1 $2/$1
nome sezione 400*400 R_M1 400/400
nome sezione 300*300 R_M1 300/300
espressione regolare RHS(\d+)\*(\d+)\*(\d+) RRO $1x$2x$3 | EN 10219-2 | ALUKÖNIGSTAHL
nome sezione RHS200*100*5 RRO 200x100x5 | EN 10219-2 | ALUKÖNIGSTAHL
nome sezione RHS180*140*8 RRO 180x140x8 | EN 10219-2 | ALUKÖNIGSTAHL

Come posso convertire un materiale/sezione da RFEM 6 indipendentemente dalla designazione della norma?

Rispetto a RFEM 6, Revit e Tekla assegnano i nomi dei materiali e delle sezioni indipendentemente dalle norme. affinché ad esempio una sezione HEA 300 in RFEM 6 proveniente da diverse norme venga convertita in un HEA 300 senza assegnazione di norma in Revit o Tekla, con l'espressione regolare .*$ è possibile ignorare la designazione della norma nel nome.

Conversione da RFEM 6 a Tekla RFEM 6 Tekla
espressione regolare HEA (\d+).*$ HEA$1
nome sezione HEA 300 | DIN 1025-3:1994-03 | Ferona HEA300
nome sezione HEA 300 | Euronorm 53-62; ... | SZS HEA300
nome sezione HEA 300 | GB/T 11263-2017 | -- HEA300

Le espressioni regolari per i profili L a lati uguali e a lati disuguali non funzionano contemporaneamente.

Se vengono utilizzate espressioni regolari simili, può accadere che venga letta sempre solo la prima espressione nella tabella (esempio nell'immagine). Per il profilo L a lati disuguali (rosso) viene erroneamente utilizzata l'espressione regolare del profilo L a lati uguali (giallo), poiché questa è strutturata dall'inizio alla fine in modo identico.

Per distinguere tali espressioni l'una dall'altra, l'espressione erroneamente utilizzata deve iniziare con un ^ e terminare con un $. In questo modo viene definito che l'espressione regolare viene utilizzata solo se il nome del profilo corrisponde esattamente a questo schema dall'inizio alla fine. Nella tabella seguente questo viene mostrato con l'esempio:

Conversione da Tekla a RFEM 6 Tekla RFEM 6
espressione regolare ^L(\d+)\*(\d+)$ L $1x$1x$2 | DIN EN 10056-1:1998-10 | --
nome sezione L40*4 L 40x40x4 | | DIN EN 10056-1:1998-10 | --
espressione regolare L(\d+)\*(\d+)\*(\d+) L $1x$2x$3 | EN 10056-1:2017 | ArcelorMittal (2018)
nome sezione L100*65*10 L 100x65x10 | EN 10056-1:2017 | ArcelorMittal (2018)

In RFEM i profili L a lati uguali e a lati disuguali vengono definiti con tre valori nel nome della sezione. Tekla utilizza per i profili a lati uguali solo due valori per il nome della sezione. Come posso considerare entrambi i casi contemporaneamente?

Innanzitutto, per i profili a lati disuguali può essere creata un'espressione regolare con tre valori:

Conversione da RFEM 6 a Tekla RFEM 6 Tekla
espressione regolare L (\d+)x(\d+)x(\d+).*$ L$1*$2*$3
nome sezione L 100x75x8 L100*75*8

Per i profili a lati uguali, l'espressione regolare viene definita come segue:

Conversione da RFEM 6 a Tekla RFEM 6 Tekla
espressione regolare L (\d+)x(\1)x(\d+).*$ L$1*$3
nome sezione L 100x100x8 L100*8

(\d+) acquisisce il primo numero.

(\1) controlla se il secondo numero è identico al primo. (Se sì, viene utilizzata questa espressione regolare)

(\d+) acquisisce il terzo numero.

Come vengono convertiti i nomi delle sezioni con numeri decimali?

In RFEM esistono serie di sezioni in cui le dimensioni delle sezioni sono contenute come numeri decimali nel nome della sezione (ad esempio sezioni cave CHS). Per l'esempio seguente, le sezioni seguenti devono essere convertite con un'espressione:

  • CHS 25x2 | EN 10219-2 | Condesa (nomi sezione con due numeri interi)
  • CHS 26.9x2 | EN 10219-2 | Condesa (nomi sezione con numero decimale e numero intero)
  • CHS 32x2.9 | EN 10219-2 | Condesa (nomi sezione con numero intero e numero decimale)
  • CHS 37.5x2.9 | EN 10219-2 | Condesa (nomi sezione con due numeri decimali)

Ogni numero può quindi contenere facoltativamente una virgola decimale. L'espressione regolare per questa regola viene strutturata come segue:

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

\d* non acquisisce alcun numero o un numero.

\.? acquisisce facoltativamente il punto decimale (i numeri interi senza punto decimale vengono così considerati)

\d* non acquisisce alcun numero o un numero dopo il punto decimale.

.*$ la designazione della norma nel nome viene ignorata.

Conversione da RFEM 6 a Tekla RFEM 6 Tekla
espressione regolare CHS (\d*\.?\d*)x(\d*\.?\d*).*$ RO$1*$2
nome sezione CHS 25x2 | EN 10219-2 | Condesa RO25*2
nome sezione CHS 26.9x2 | EN 10219-2 | Condesa RO26.9*2
nome sezione CHS 32x2.9 | EN 10219-2 | Condesa RO32*2.9
nome sezione CHS 37.5x2.9 | EN 10219-2 | Condesa RO37.5*2.9

Perché la sezione KREIS_M1 500 non viene convertita?

Per alcune sezioni, la designazione per la conversione a causa dei WebService differisce dalla designazione mostrata in lingua tedesca. La conversione per KREIS_M1 500 deve essere definita come CIRCLE_M1 500. Lo stesso vale per le seguenti designazioni di sezioni:

  • KREIS→CIRCLE
  • RRO→RHS
  • QRO→SHS
  • Fune→Cable

Autore

Paul sviluppa soluzioni di interfaccia nel Product Engineering e offre inoltre supporto nel Customer Support. In questo contesto mantiene sempre sotto controllo l’integrazione continua del sistema.



;