注意:在V22中,.dxd文件的语法使用2.0版:
- 已添加“路径”部分。
- 逻辑运算使用中缀表示法:(EntityType==“3D Solid”)and(Type==”BIM_COLUMN“),而不是前缀表示法:And(Entity Type==”3D Solid“)(Type==”BIM_COLUMN”)
DXD(数据提取定义)文件是纯文本文件。可以使用文本编辑器(如MS记事本)编辑DATAEXTRACTION命令创建的DXD文件,并在项目浏览器的“创建明细表”过程中使用它们。
以分号(;)开头的行是注释,在解析时被忽略。空行也被忽略。
文件可以包含4个部分,每个部分的名称写在方括号之间,部分名称是不区分大小写(ECI)的英文字符串。这些部分包括:
列出要搜索图形文件的路径。
$CurDwg:当前图形
$CurProj:当前项目
该部分包含控制行为的以下参数的值:
- ExtractFromBlocks-考虑所有嵌套级别,是否考虑块中的实体。
- ExtractFromXrefs-是否考虑外部参照块中的图元。
- CountXrefs-是否完全考虑外部参照。
- CombineEqualRows-是否对输出表中的相等行进行分组;如果是,则添加Count列,该列指示包含多少相等的数据行。
- IncludeNameColumn-输出是否包括Name列。“名称”列表示源实体类型:3D实体、3D实体层、。。。
参数名称是ECI字符串。格式为:
参数名称=值,
值为1或0。等号(=)字符周围不应写空格。
本节包含将要处理的实体类型列表。每行的格式可以是以下类型之一:
EntityType|DisplayEntityType
- EntityType是ECI实体类型名称,例如Circle或AttributeDefinition。这是该行的必填部分。
- DisplayEntityType是可选的,可以是任何语言中包含空格的任何字符串。如果存在,此字符串将显示在DATAEXTRACTION对话框和输出表中。
Block|BlockName|DisplayBlockName
- Block是预定义的ECI字,BlockName是要处理的块的不区分大小写的名称,包括xRefs和MInsert。
- DisplayBlockName是可选的,其含义和格式与DisplayEntityType相同。
Block|*
这是先前格式的变体,意味着将考虑所有块;如果存在,则忽略该部分中有关块的所有其他行。您可以使用“筛选”部分筛选要处理的内容。
- 将考虑所有实体类型和块,然后忽略本节中的所有其他行。您可以使用“筛选”部分筛选要处理的内容。
本节包含要包含在数据提取输出中的所有属性的列表。每条线的格式可以是以下类型之一:图元特性、属性、图形、公式或块视图。
EntityPropertyName | DisplayEntityPropertyName | ValueOutputFormat
- EntityPropertyName是实体属性的ECI名称,例如线宽、颜色、中心Y等。请注意,除了表示2D或3D点或向量的坐标的名称之外,所有名称都不包含空格。在最后一种情况下,坐标字母X、Y和Z应与常规特性名称隔开一个空格。
- EntityPropertyName是该行的必填部分,其余部分是可选的。
- DisplayEntityPropertyName是用户定义的,可以是任何语言的任何字符串,包括空格。默认情况下,它等于EntityPropertyName。
- ValueOutputFormat是用于格式化输出的字符串。字符串的语法与字段格式相同。
Attribute | AttributeTagName | DisplayAttributeTagName | ValueOutputFormat
- Attribute是预定义的ECI字。
- AttributeTagName是存储在图形中的ECI属性标记名称。
- DisplayAttributeTagName和具有与EntityPropertyName相同的含义(见上文)。
- ValueOutputFormat是用于格式化输出的字符串。字符串的语法与字段格式相同。
Drawing | DrawingPropertyName | DisplayPropertyName | ValueOutputFormat
- Drawing是预定义的ECI单词。
- DrawingPropertyName是ECI名称,可以是以下名称之一:
- Comments (评论)
- DrawingRevisionNumber(图纸修订编号)
- FileAccessed(已访问的文件)
- FileCreated(文件已创建)
- FileLastSavedBy(文件上次保存时间)
- FileLocation(文件位置)
- FileLocation(文件已修改)
- FileName(文件名)
- FileSize(文档大小)
- HyperlinkBase(超链接库)
- Keywords(关键词)
- Subject(主题)
- Title(标题)
- TotalEditingTime(总编辑时间)
- DisplayPropertyName与EntityProperty名称具有相同的含义(见上文)。
- ValueOutputFormat是用于格式化输出的字符串。字符串的语法与字段格式相同。
Formula | EntityPropertyName | DisplayEntityPropertyName=FormulaExpression | ValueOutputFormat
- Formula是预定义的ECI单词。
- EntityPropertyName是此公式项的唯一名称。
- DisplayEntityPropertyName是属性的可选输出名称,如果省略该名称,则EntityProtertyName将用作表列标题。
- =是必填符号,即使省略DisplayEntityPropertyName,也必须存在。
- FormulaExpression是\AcExpr公式字段中格式的表达式,它可以包含PI等常量或SIN等函数(请参见使用表达式)。表达式中的操作数可以是用箭头括号(<>)括起来的DisplayPropertyName。
例如:=2*PI* 计算圆的周长。
- ValueOutputFormat是用于格式化输出的字符串。字符串的语法与字段格式相同。
BlockView | BlockViewPropertyName | DisplayBlockViewPropertyName | BlockViewOptions
- BlockView是预定义的ECI字
- BlockViewPropertyName是此块视图项的唯一名称
- DisplayEntityPropertyName是属性的输出名称;不能省略
- BlockViewOptions是以下格式的字符串:
视图类型;图纸路径;部门名称
- ViewType是以下类型之一:Front、Top、Left或Right;不能省略。
- DwgPath是dwg文件的路径,可以相对于dxd文件;可以省略。
- SectionName是为块视图构造提取横断面设置的横断面的名称,;可以省略。
如果省略或未找到DwgPath或SectionName,将应用默认设置。
例如:
BlockView|BlockViewProperty1|Elevation symbol|Front;../Sections/_SectionSettings.dwg;_BlockViewSettingsSection
- 如果存在,则考虑所有实体属性;本节中的所有其他行(绘图和公式行除外)都将被忽略。
注意:空字段搜索为“”(需要空格)
语法描述:
关系运算符:
操作员 |
意义 |
== |
等于 |
!= |
不等于 |
< |
少于 |
> |
比...更棒 |
<= |
小于或等于 |
> = |
大于或等于 |
- 关系表达式用“()”括号括起来。
- 逻辑运算符AND和OR不区分大小写。
- 逻辑表达式使用中缀符号。
- 除了逻辑表达式begin之外,
例子:
(层==“MyLayer”)和(厚度<=3)
- 表达式可以拆分为任意数量的行;令牌不会被破坏。
- 使用EntityPropertyName引用属性(而不是DisplayEntityProtertyName)。
- 行可以用“;”注释。
- 字符串值用双引号“”括起来。
(类型==BIM_WINDOW)或(类型==BIM_DOOR)
上述示例中的过滤器的结果是,数据提取中仅包含分类为窗或门的BIM实体。请参阅BIMCLASSIFY命令以了解有关BIM图元类型的更多信息。
筛选器表达式可以是单个关系表达式,也可以是按逻辑操作分组的多个关系表达式。
例子:
((0)和((1)或(2)))或((3)和(4)和(5))或
其中(0)、…、(6)是关系表达式,例如(半径>=3)。