1114x
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

Автор

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



;