938x
005435
2024-02-27

Niepoprawna konwersja materiału lub przekroju w programach Revit lub Tekla

Otrzymuję nieprawidłowy wynik konwersji w Tekla/Revit, gdy stosuję wyrażenia regularne w tabeli konwersji.


Odpowiedź:

Za pomocą wyrażeń regularnych możliwa jest konwersja wielu obiektów – na przykład całej serii profili IPE – poprzez jeden zapis.

Przykład

Konwersja z np. IPE120 w Tekla do IPE 120 | Euronorm 19-57; ... | SZS w RFEM 6 powinna działać również dla wszystkich innych przekrojów z serii profili IPE.

Aby utworzyć konwersję dla całej serii profili IPE, wyrażenie regularne jest skonstruowane w następujący sposób:

Konwersja z Tekla do RFEM 6 Tekla RFEM 6
wyrażenie regularne IPE(\d+) IPE $1 | Euronorm 19-57; ... | SZS
Nazwa przekroju IPE120 IPE 120 | Euronorm 19-57; ... | SZS
Nazwa przekroju IPE300 IPE 300 | Euronorm 19-57; ... | SZS

Dla wyrażenia (\d+) można wstawić dowolną liczbę całkowitą. (IPE200, IPE300,...)

Wyrażenie $1 odnosi się do wstawionej liczby. Na poniższym obrazku wyrażenie regularne zostało dodane do tabeli konwersji Tekla.

Jeśli używa się dwóch liczb, wyrażenie $1 odnosi się do pierwszej liczby, a $2 do drugiej liczby. Na poniższej tabeli pokazano to na przykładzie konwersji materiału.

Konwersja z Tekla do RFEM 6 Tekla RFEM 6
wyrażenie regularne C(\d+)/(\d+) C$1/$2 | EN 1992-1-1:2004/A1:2014
Nazwa materiału C20/25 C20/25 | EN 1992-1-1:2004/A1:2014
Nazwa materiału C30/37 C30/37 | EN 1992-1-1:2004/A1:2014

Poniżej przedstawiono i omówiono możliwe problemy przy definiowaniu wyrażeń regularnych.

Nazwa profilu 400*400 nie jest konwertowana za pomocą wyrażenia (\d+)*(\d+).

Gwiazdka * ma specjalne znaczenie w wyrażeniach regularnych i dlatego nie jest interpretowana jako zwykły znak. Aby użyć gwiazdki jako pojedynczego znaku w wyrażeniu regularnym, można ją napisać za pomocą ukośnika \, aby znieść jej specjalne znaczenie.

Konwersja z Tekla do RFEM 6 Tekla RFEM 6
Wyrażenie regularne (\d+)\*(\d+) R_M1 $2/$1
Nazwa przekroju 400*400 R_M1 400/400
Nazwa przekroju 150*200 R_M1 150/200

Nazwa profilu RHS200*100*5 nie jest konwertowana za pomocą wyrażenia RHS(\d+)\*(\d+)\*(\d+).

Używanie kilku podobnych wyrażeń regularnych może doprowadzić do zastosowania niewłaściwego wyrażenia regularnego (przykład na obrazku).

Za pomocą daszka ^ można określić, że wyrażenie regularne jest używane tylko wtedy, gdy odpowiada początkowi nazwy materiału lub przekroju. Wyrażenie ^(\d+)\*(\d+) nie jest już zatem ważne dla przekroju RHS, ponieważ nazwa przekroju RHS nie zaczyna się liczbą (jak np. 400x400).

Konwersja z Tekla do RFEM 6 Tekla RFEM 6
wyrażenie regularne ^(\d+)\*(\d+) R_M1 $2/$1
Nazwa przekroju 400*400 R_M1 400/400
Nazwa przekroju 300*300 R_M1 300/300
wyrażenie regularne RHS(\d+)\*(\d+)\*(\d+) RRO $1x$2x$3 | EN 10219-2 | ALUKÖNIGSTAHL
Nazwa przekroju RHS200*100*5 RRO 200x100x5 | EN 10219-2 | ALUKÖNIGSTAHL
Nazwa przekroju RHS180*140*8 RRO 180x140x8 | EN 10219-2 | ALUKÖNIGSTAHL

Jak można przekonwertować materiał/przekrój z RFEM 6 niezależnie od nazwy normy.

W porównaniu do RFEM 6, Revit i Tekla przypisują swoje nazwy materiałów i przekrojów niezależnie od norm. Aby np. przekrój HEA 300 w RFEM 6 z różnych norm został przekształcony w HEA 300 bez przypisania normy w Revit lub Tekla, można użyć wyrażenia regularnego .*$, aby zignorować nazwę normy w nazwie.

Konwersja z RFEM 6 do Tekla RFEM 6 Tekla
wyrażenie regularne HEA (\d+).*$ HEA$1
Nazwa przekroju HEA 300 | DIN 1025-3:1994-03 | Ferona HEA300
Nazwa przekroju HEA 300 | Euronorm 53-62; ... | SZS HEA300
Nazwa przekroju HEA 300 | GB/T 11263-2017 | -- HEA300

Wyrażenia regularne dla kątowników równoramiennych i nierównoramiennych nie działają jednocześnie.

Używanie podobnych wyrażeń regularnych może doprowadzić do odczytania zawsze tylko pierwszego wyrażenia z tabeli (przykład na obrazku). Dla kątownika nierównoramiennego (czerwony) błędnie używany jest wyrażenie regularne kątownika równoramiennego (żółty), ponieważ są one skonstruowane dokładnie tak samo od początku do końca.

Aby odróżnić takie wyrażenia od siebie, wyrażenie błędnie używane musi rozpoczynać się od ^ i kończyć na $.
Określono w ten sposób, że wyrażenie regularne jest używane tylko wtedy, gdy nazwa profilu dokładnie odpowiada temu wzorcowi od początku do końca. Na poniższej tabeli pokazano to na przykładzie:

Konwersja z Tekla do RFEM 6 Tekla RFEM 6
wyrażenie regularne ^L(\d+)\*(\d+)$ L $1x$1x$2 | DIN EN 10056-1:1998-10 | --
Nazwa przekroju L40*4 L 40x40x4 | | DIN EN 10056-1:1998-10 | --
wyrażenie regularne L(\d+)\*(\d+)\*(\d+) L $1x$2x$3 | EN 10056-1:2017 | ArcelorMittal (2018)
Nazwa przekroju L100*65*10 L 100x65x10 | EN 10056-1:2017 | ArcelorMittal (2018)

W RFEM kątowniki równoramienne i nierównoramienne są zdefiniowane trzema wartościami w nazwie przekroju. Tekla używa dla profili równoramiennych tylko dwóch wartości w nazwie przekroju. Jak mogę jednocześnie uwzględnić oba przypadki?

Najpierw można utworzyć wyrażenie regularne z trzema wartościami dla profili nierównoramiennych:

Konwersja z RFEM 6 do Tekla RFEM 6 Tekla
wyrażenie regularne L (\d+)x(\d+)x(\d+).*$ L$1*$2*$3
Nazwa przekroju L 100x75x8 L100*75*8

Dla profili równoramiennych wyrażenie regularne zostanie zdefiniowane w następujący sposób:

Konwersja z RFEM 6 do Tekla RFEM 6 Tekla
wyrażenie regularne L (\d+)x(\1)x(\d+).*$ L$1*$3
Nazwa przekroju L 100x100x8 L100*8

\d+ przywraca pierwszą liczbę.

(\1) sprawdza, czy druga liczba jest identyczna z pierwszą. (Jeśli tak, to używane jest to wyrażenie regularne)

\d+ przywraca trzecią liczbę.

Jak są konwertowane nazwy przekrojów z liczbami dziesiętnymi?

W RFEM istnieją serie przekrojów, w których wymiary przekrojów są zawarte jako liczba dziesiętna w nazwie przekroju (np. CHS-hollow profiles). W poniższym przykładzie powinny zostać przekonwertowane następujące przekroje za pomocą wyrażenia:

  • CHS 25x2 | EN 10219-2 | Condesa (nazwa przekroju z dwoma liczbami całkowitymi)
  • CHS 26.9x2 | EN 10219-2 | Condesa (nazwa przekroju z liczbą dziesiętną i całkowitą)
  • CHS 32x2.9 | EN 10219-2 | Condesa (nazwa przekroju z liczbą całkowitą i dziesiętną)
  • CHS 37.5x2.9 | EN 10219-2 | Condesa (nazwa przekroju z dwoma liczbami dziesiętnymi)

Każda liczba może opcjonalnie posiadać separator dziesiętny. Wyrażenie regularne dla tej reguły jest skonstruowane w następujący sposób:

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

\d* wychwytuje brak lub jedną liczbę.

\.? wychwytuje opcjonalny punkt dziesiętny (bez punktu dziesiętnego całe liczby są uwzględniane)

\d* wychwytuje brak lub jedną liczbę po punkcie dziesiętnym.

.*$ nazwa normy w nazwie jest ignorowana.

Konwersja z RFEM 6 do Tekla RFEM 6 Tekla
wyrażenie regularne CHS (\d*\.?\d*)x(\d*\.?\d*).*$ RO$1*$2
Nazwa przekroju CHS 25x2 | EN 10219-2 | Condesa RO25*2
Nazwa przekroju CHS 26.9x2 | EN 10219-2 | Condesa RO26.9*2
Nazwa przekroju CHS 32x2.9 | EN 10219-2 | Condesa RO32*2.9
Nazwa przekroju CHS 37.5x2.9 | EN 10219-2 | Condesa RO37.5*2.9

Dlaczego przekrój KREIS_M1 500 nie jest konwertowany?

Dla kilku przekrojów, nazwa dla konwersji różni się od tej w języku niemieckim ze względu na usługi internetowe.
Konwersja dla KREIS_M1 500 musi być zdefiniowana jako CIRCLE_M1 500.
To samo dotyczy następujących nazw przekrojów:

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

Autor

Pan Sivolgin wspiera rozwój produktu w zakresie interfejsów.



;