使用正则表达式可以一次转换多个对象,例如整个 IPE 截面系列。
示例
转换,例如 Tekla 中的IPE120到 IPE 120 | 欧洲规范 19-57; ... | RFEM 6 中的 SZS 适用于 IPE 截面系列中的所有其他截面。
为了创建整个 IPE 截面系列的转换,正则表达式的结构如下:
从 Tekla 到 RFEM 6 的转换 | Tekla | RFEM6 | |
正则表达式 | IPE(\d+) | 初始净荷载 $1 |
|
截面名称 | IPE120 | 环境工程公开课 120 |
|
截面名称 | IPE300 | IPE 300 |
|
可以对表达式(\d+)输入任意小数。 (IPE200、IPE300...)
表达式$1指代输入的十进制数。 在下图中,正则表达式已添加到 Tekla 转换表中。
如果使用两位小数,则表达式$1指第一个数字,表达式 $ 2指第二个小数。 下表以材料转换为例进行说明。
从 Tekla 到 RFEM 6 的转换 | Tekla | RFEM6 | |
正则表达式 | C(\d+)/(\d+) | 1 加元/2 美元 |
|
材料名称 | C20/25 | C20/25 |
|
材料名称 | C30/37 | C30/37 |
|
本文介绍和解释在定义正则表达式时可能出现的问题。
截面名称400*400不能用表达式(\d+)*(\d+)进行转换。
星号*在正则表达式中有特殊含义,因此不被解释为简单字符。 打印输出中只有一个星号时,您可以在它前面加上反斜线\来取消其特殊含义。
从 Tekla 到 RFEM 6 的转换 | Tekla | RFEM6 |
正则表达式 | (\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+) 转换。
如果使用了多个相似的正则表达式,则可能会导致使用错误的正则表达式(见图中示例)。
用户可以使用上标^表示仅当与材料或截面名称的开头匹配时才使用正则表达式。 对于RHS截面,表达式^(\d+)\*(\d+)不再有效,因为RHS名称不以数字开头(例如400x400)。
从 Tekla 到 RFEM 6 的转换 | Tekla | RFEM6 | ||
正则表达式 | ^(\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 |
|
|
截面名称 | RHS200*100*5 | RRO 200x100x5 |
|
|
截面名称 | RHS180*140*8 | RRO 180x140x8 |
|
|
在 RFEM 6 中,如何不考虑标准描述就转换材料/截面?
与 RFEM 6 相比,Revit 和 Tekla 可以不考虑规范来指定材料和截面的名称。 例如,可以在RFEM 6 中定义不同规范中的 HEA 300 截面,而无需将截面指定为规范。
RFEM 6 到 Tekla 转换 | RFEM6 | Tekla | ||
正则表达式 | HEA (\d+).*$ | HEA$1 | ||
截面名称 | HEA 300 |
|
费罗纳 | HEA300 |
截面名称 | HEA 300 |
|
HEA300 | |
截面名称 | HEA 300 |
|
|
HEA300 |