IFC 映射公式计算并显示特定的特性集参数值,映射 BIM 数据至服从 IFC 的数据。可以创建自定义映射,并用于自定义特性集。
映射和相关公式显示在 IFC Data 对话框中;公式可以映射,然后通过 IFC Data Mapping 对话框进行编辑。
● 在 IFC Data 对话框中,已存在的映射显示在选定特性的 数据源 参数中(见 为对象指派 IFC数据)。
● 在 IFC Data Mapping 对话框中,对象选择的数据集的映射公式显示在对话框的右边部分(见 创建或编辑 数据映射公式)。这些映射公式可以通过 Define Mapping 对话框创建或者编辑,只需点击 定义映射.。
在 IFC Data Mapping 对话框中查看默认数据映射公式,这可以帮助你了解映射 IFC 值的数据源。表达式可用于自定义自动数据映射公式。表达式的计算结果被指派至数据源参数。
每个公式包含一个或多个表达式,如下所示。在本章节的剩余部分将更加详细地描述表达式。
表达式 |
描述 |
常量 |
数据类型,如整数、布尔常数、数字,以及文本常数 |
固定值 |
文本字符串,数值和逻辑值等 |
运算符 |
加、减、比较运算等 |
变量 |
Vectorworks 数据源,如对象参数、样式信息、类名称 |
函数 |
数学函数、字符串操作、条件函数等等 |
否则 |
如果前一个数据映射为空值,添加可选数据映射的方法 |
常量按如下方式书写。
常量 |
描述 |
示例 |
布尔 |
值用于布尔参数,无论真或假,都写成括在单引号内的字符串常量 |
‘假’ ‘真’ |
整数 |
正数或负数和 0,写成无小数点或撇号的数字 |
4 125 |
有理数 |
实数值,写成带小数点的数,没有撇号。 |
3.14 -12.0 248.141539 |
文本 |
字符串值括在单引号中 |
‘Unstyled Wall’ ‘INTERNAL’ ‘NOTDEFINED’ |
支持的运算符如下。
运算符 |
描述 |
+ |
一元加 |
- |
一元减 |
+ |
二元加,加法,串联 |
- |
二元减,减法 |
* |
乘法 |
/ |
除法 |
= |
逻辑 等于 |
! |
逻辑 非 |
| |
逻辑 或 |
& |
逻辑 与 |
!= |
逻辑 不等于 |
> |
大于 |
< |
小于 |
>= |
大于等于 |
<= |
小于等于 |
变量表示来自 Vectorworks 的数据源。通过使用运算符,它们可以与常量、函数结果和其他变量相结合。变量类型(name)与数据源类型相同。变量是用方括号括起来的,因为空格在名称中是允许的。
支持的变量如下。
变量 |
格式 |
示例 |
来自对象的参数 |
[Object.NameOfTheParameter] |
[Object.Config] [Object.Column ID] [Object.Struct Type] |
Vectorworks 名称 |
[Object.VW_Name] |
[Object.VW_Name] |
用记录格式记录字段数据 |
[Record.NameOfTheRecord.NameOfTheField] 如果该名称的记录不附加到该对象,那么记录字段的默认值将作为变量的值。 |
[Record.MyRecord.Price] [Record.Plant Record.Latin Name] |
样式数据 |
[Style.NameOfTheField] 当前支持的数据字段是:名称(样式名称),记号,函数,描述,外部(布尔), 承载(布尔),防火等级,可燃结构(布尔), 分隔(布尔),传热系数,声学等级,成本指数体系,成本指数代码,模型,制造商。 |
[Style.Function] [Style.Name] [Style.Fire Rating] |
类名称 |
[ClassName] |
[ClassName] |
图层名称 |
[LayerName] |
[LayerName] |
支持的函数如下。
函数 |
描述 |
PI ( ) |
返回数字 PI |
SIN (弧度) |
返回正弦值 |
COS (弧度) |
返回余弦值 |
ABS (数字 |
返回绝对值 |
SQRT (数字) |
返回平方根 |
LEFT (文本,索引) |
返回字符串的左侧,字符串由位置索引分开(0 是第一个字符的位置)。如果索引值不正确,将返回空的字符串。 |
RIGHT (文本,索引) |
返回字符串的右侧,字符串由位置索引分开(0 是第一个字符的位置)。如果索引值不正确,将返回空的字符串。 |
MID (文本,索引,计数) |
返回字符串的右侧,字符串由位置索引分开(0 是第一个字符的位置),并数下字符数。如果索引或计数值不正确,将返回空白字符串。 |
FIND (文本, 子文本) |
如果找到,返回文本中子文本的零位,如果没有找到,则返回 -1 |
IF (逻辑_表达式, 数值表达式1, 数值表达式2) |
计算逻辑表达式,如果值为真,返回数值_表达式 1 的计算值,否则,返回数值_表达式 2 的计算值。 |
选择 1 (数字_表达式,数值_表达式 1,数值_表达式 2,…,数值_表达式 N) |
计算数字_表达式,如果结果为 0,返回数值_表达式 1 的计算值,如果结果为 1,返回数值_表达式 2 的计算值,以此类推。如果结果大于 N-1,则返回最后一个表达式的值。函数参数的数量必须是 3 个或更多。 |
选择 2 (逻辑_表达式 1, 数值_表达式 1, 逻辑_表达式 2, 数值_表达式 2, …, 逻辑_表达式 N, 数值_表达式 N) |
计算第一个逻辑表达式,如果结果为真,返回数值_表达式 1 的计算值;否则,将继续使用下一个逻辑表达式和与表达式配对的值。函数参数的数量必须是偶数,且必须多于 2 个。 |
~~~~~~~~~~~~~~~~~~~~~~~~~