938x
005435
2024-02-27

Ошибка преобразования материала или сечения в Revit или Tekla

Неправильное преобразование в Tekla/Revit при использовании регулярных выражений в таблице преобразования


Ответ:

С помощью использования регулярных выражений возможна конвертация нескольких объектов — например, целого ряда профилей IPE — через одну запись.

Пример

Конвертация, например, IPE120 в Tekla в IPE 120 | Euronorm 19-57; ... | SZS в RFEM 6 должна также работать для всех остальных сечений ряда профилей IPE.

Чтобы создать конвертацию для всего ряда профилей IPE, регулярное выражение создается следующим образом:

Конвертация из Tekla в RFEM 6 Tekla RFEM 6
регулярное выражение IPE(\d+) IPE $1 | Euronorm 19-57; ... | SZS
Название сечения IPE120 IPE 120 | Euronorm 19-57; ... | SZS
Название сечения IPE300 IPE 300 | Euronorm 19-57; ... | SZS

Для выражения (\d+) может быть использовано любое целое число. (IPE200, IPE300,...)

С помощью выражения $1 ссылаются на использованное число. На следующем изображении регулярное выражение было дополнено в таблице конвертации Tekla.

При использовании двух чисел, с помощью выражения $1 ссылаются на первое число, а с $2 — на второе. В следующей таблице это показано на примере конвертации материалов.

Конвертация из Tekla в RFEM 6 Tekla RFEM 6
регулярное выражение C(\d+)/(\d+) C$1/$2 | EN 1992-1-1:2004/A1:2014
Название материала C20/25 C20/25 | EN 1992-1-1:2004/A1:2014
Название материала C30/37 C30/37 | EN 1992-1-1:2004/A1:2014

Далее будут представлены и объяснены возможные проблемы при определении регулярных выражений.

Название профиля 400*400 не конвертируется с помощью выражения (\d+)*(\d+).

Звездочка * имеет специальное значение в регулярных выражениях и поэтому не интерпретируется как простой символ. Чтобы использовать звездочку как одиночный символ в регулярном выражении, его можно записать с обратным слэшем \, чтобы убрать его специальное значение.

Конвертация из Tekla в RFEM 6 Tekla RFEM 6
регулярное выражение (\d+)\*(\d+) R_M1 $2/$1
Название сечения 400*400 R_M1 400/400
Название сечения 150*200 R_M1 150/200

Название профиля RHS200*100*5 не конвертируется с помощью выражения RHS(\d+)\*(\d+)\*(\d+).

При использовании нескольких схожих регулярных выражений это может привести к тому, что будет применено неправильное регулярное выражение (пример на изображении).

С помощью каретки ^ можно установить, что регулярное выражение применяется только в том случае, если оно совпадает с началом названия материала или сечения. Выражение ^(\d+)\*(\d+) теперь не актуально для профиля RHS, так как название профиля RHS не начинается с числа (как, например, 400x400).

Конвертация из Tekla в RFEM 6 Tekla RFEM 6
регулярное выражение ^(\d+)\*(\d+) R_M1 $2/$1
Название сечения 400*400 R_M1 400/400
Название сечения 300*300 R_M1 300/300
регулярное выражение RHS(\d+)\*(\d+)\*(\d+) RRO $1x$2x$3 | EN 10219-2 | ALUKÖNIGSTAHL
Название сечения RHS200*100*5 RRO 200x100x5 | EN 10219-2 | ALUKÖNIGSTAHL
Название сечения RHS180*140*8 RRO 180x140x8 | EN 10219-2 | ALUKÖNIGSTAHL

Как я могу конвертировать материал/сечение из RFEM 6 независимо от обозначения стандарта?

По сравнению с RFEM 6, Revit и Tekla присваивают материалам и названиям сечений свои обозначения, независимо от стандартов. Чтобы например профиль HEA 300 в RFEM 6 из различных стандартов конвертировался в HEA 300 без упоминания стандарта в Revit или Tekla, с помощью регулярного выражения .*$ можно игнорировать обозначение стандарта в названии.

Конвертация из RFEM 6 в Tekla RFEM 6 Tekla
регулярное выражение HEA (\d+).*$ HEA$1
Название сечения HEA 300 | DIN 1025-3:1994-03 | Ferona HEA300
Название сечения HEA 300 | Euronorm 53-62; ... | SZS HEA300
Название сечения HEA 300 | GB/T 11263-2017 | -- HEA300

Регулярные выражения для равнополочных и неравнополочных L-профилей не работают одновременно.

При использовании схожих регулярных выражений это может привести к тому, что всегда будет считано только первое выражение в таблице (пример на изображении). Для неравнополочного L-профиля (красного) используется неверное регулярное выражение равнополочного L-профиля (желтого), так как оно построено абсолютно одинаково от начала до конца.

Чтобы различать такие выражения друг от друга, неправомерно использованное выражение должно начинаться с ^ и заканчиваться $. Это позволяет определить, что регулярное выражение применяется только в том случае, если название профиля от начала до конца точно соответствует этому шаблону. Следующая таблица показывает это на примере:

Конвертация из Tekla в RFEM 6 Tekla RFEM 6
регулярное выражение ^L(\d+)\*(\d+)$ L $1x$1x$2 | DIN EN 10056-1:1998-10 | --
Название сечения L40*4 L 40x40x4 | | DIN EN 10056-1:1998-10 | --
регулярное выражение L(\d+)\*(\d+)\*(\d+) L $1x$2x$3 | EN 10056-1:2017 | ArcelorMittal (2018)
Название сечения L100*65*10 L 100x65x10 | EN 10056-1:2017 | ArcelorMittal (2018)

В RFEM равнополочные и неравнополочные L-профили определяются тремя числами в названии сечения. Tekla использует для равнополочных профилей только два значения для названия сечения. Как я могу учесть оба случая одновременно?

Сначала для неравнополочных профилей можно создать регулярное выражение с тремя значениями:

Конвертация из RFEM 6 в Tekla RFEM 6 Tekla
регулярное выражение L (\d+)x(\d+)x(\d+).*$ L$1*$2*$3
Название сечения L 100x75x8 L100*75*8

Для равнополочных профилей регулярное выражение определяется следующим образом:

Конвертация из RFEM 6 в Tekla RFEM 6 Tekla
регулярное выражение L (\d+)x(\1)x(\d+).*$ L$1*$3
Название сечения L 100x100x8 L100*8

(\d+) захватывает первое число.

(\1) проверяет, совпадает ли второе число с первым. (Если да, то используется это регулярное выражение)

(\d+) захватывает третье число.

Как конвертировать названия сечений с десятичными числами?

В RFEM существуют ряды сечений, в которых размеры сечений содержат десятичное число в названии сечения (например, CHS-полые профили). Для следующего примера следующие сечения должны быть конвертированы с помощью одного выражения:

  • CHS 25x2 | EN 10219-2 | Condesa (название сечения с двумя целыми числами)
  • CHS 26.9x2 | EN 10219-2 | Condesa (название сечения с десятичным и целым числом)
  • CHS 32x2.9 | EN 10219-2 | Condesa (название сечения с целым и десятичным числом)
  • CHS 37.5x2.9 | EN 10219-2 | Condesa (название сечения с двумя десятичными числами)

Следовательно, любое число может иметь опциональную десятичную часть. Регулярное выражение для этого правила строится следующим образом:

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

\d* захватывает ни одно или одно число.

\.? захватывает опционально десятичную точку (целые числа без десятичной точки, таким образом, учитываются)

\d* захватывает ни одно или одно число после десятичной точки.

.*$ игнорирует обозначение стандарта в названии.

Конвертация из RFEM 6 в Tekla RFEM 6 Tekla
регулярное выражение CHS (\d*\.?\d*)x(\d*\.?\d*).*$ RO$1*$2
Название сечения CHS 25x2 | EN 10219-2 | Condesa RO25*2
Название сечения CHS 26.9x2 | EN 10219-2 | Condesa RO26.9*2
Название сечения CHS 32x2.9 | EN 10219-2 | Condesa RO32*2.9
Название сечения CHS 37.5x2.9 | EN 10219-2 | Condesa RO37.5*2.9

Почему сечение KREIS_M1 500 не конвертируется?

Для некоторых сечений обозначения для конвертации из-за веб-сервисов отличаются от представленных обозначений на немецком языке. Конвертация для KREIS_M1 500 должна быть определена как CIRCLE_M1 500. Это также применимо к следующим обозначениям сечений:

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

Автор

Господин Сиволгин поддерживает разработку продукта в области интерфейсов.



;