斯潘8
斯潘4
FME可以自动提取AutoCAD块属性数据。AutoCAD块能够包含属性(数据)信息。在AutoCAD中,插入具有属性定义的块时,提示用户输入数据。要在AutoCAD中编辑块,向用户显示块属性编辑窗体(显示在AutoCAD中的AutoCAD块属性下图)。AutoCAD中的每个实体都有一个唯一的不可更改的句柄,可以用作唯一的ID。跟踪AutoCAD块句柄信息(与图形名称结合使用)允许跟踪和更新数据库中的图形数据。
本文将演示如何使用FME在AutoCAD DWG中提取AutoCAD块“标记”和“值”(存储为块属性)。然后将提取的属性保存到Excel电子表格中。该示例对需要提取AutoCAD块属性信息的用户很感兴趣。使用FME,提取的块属性值可用于GIS中,以及数据库系统。
开始数据,方块和桌子图纸:
http://download.autodesk.com/us/samplefiles/acad/blocks_and_tables_u---u imperial.dwg
下图显示了在AutoCAD中编辑的名为“窗口”的属性块的示例。
显示在AutoCAD中的AutoCAD块属性
让我们看看FME如何通过查看FME数据检查器中的dwg文件来处理这些数据,在reader参数未选中的情况下,将块分解为实体。
相同的图纸信息,就像在AutoCAD中一样,在FME数据检查器中显示为列表:
数据检查器中显示的AutoCAD块属性。像往常一样,棘手的一点是知道在哪里查找数据。FME数据检查员很厉害!
FME读取块属性信息并将信息存储为列表。对于第一个列表元素,第一个autocad块属性字段名-或“tag”-用fme_attrib_info_0.field_name捕捉到。第一个autocad块属性字段值-或“value”-用fme_attrib_info_0.field_值捕获在fme中。
上面的示例将第一个属性0显示为值为“3”的“sym”。第二个属性1遵循相同的格式。
哦。。。阅读零基列表的乐趣。
1)启动Workbench,将“AutoCAD DWG/DXF Reader”添加到新的空白工作区。
在添加阅读器对话框中,选择autocad dwg/dxf作为格式,然后选择Blocks_和_Tables_uuuuu Imperial.dwg对于数据集。
单击参数按钮。
我们希望将块保留为单个实体,因此取消选中将块分解为实体,因为我们不想分解读卡器参数中的块。也,一定要在“将属性实体数据作为列表读取”上打勾。
选择单个合并的要素类型。注:选择“单一合并特征类型”使读卡器变得灵活,可以处理任何dwg,使用任何层命名结构(和模式),并且通常使AutoCAD DWG文件更易于使用。AutoCAD图形具有用户定义的图层结构(它们可以命名为任何内容)。通过不将图形分解为层(谁知道可能遇到的层),FME中的处理更简单/通用。还有一件事要记住,是指AutoCAD绘图通常是由人手工绘制的。注意到,Autodesk提供的示例dwg在错误的图层上包含一个或两个块。因此,基于图层提取dwg数据可能会产生错误的结果。
2)添加attributeexposer
尽管“autocad dwg/dxf reader”有“附加属性公开”的位置,使用属性Exposer来清楚地说明要公开的内容。我们发现更容易管理和解决一些明确的问题。
所有隐藏格式的autocad和fme属性都是可访问的(不需要使用导入按钮)。用三个点(一行)点击按钮,然后输入“fme-attr”过滤并选择属性。
至少,曝光:
对于数据库或GIS同步/更新,请确保公开块句柄,块名和dwg文件名。
3)添加一个testfilter来过滤具有属性的块
在测试过滤器中,指定以下内容:
iftest@value(autocad_entity)=autocad_insert and test@value(autocad_attributes_follow)=trueoutput port->blocks with attributeseles iftest@value(autocad_entity)=autocad_insert and test@value(autocad_attributes_follow)=falseoutput port->blocks
上面的testfilter通过查找“autocad_entity”等于“autocad_insert”的“autocad_entity”来检测/指导“具有属性的块”块插入。具有属性的块,使“autocad_attributes_follow”等于true。
4)添加ListConcatenator
将ListConcatenator转换器连接到testfilter的“具有属性的块”端口。重命名listconnator_标记。
FME可以将autocad块属性作为列表读取(确保dwg reader具有此集合)。块属性列表可以看作是包含关于块属性的所有信息的列表对。如前所述,对于这个例子,第一个属性包含一个名为“sym”的标记,它的值为3。
通常,使用列表时,使用逗号分隔符。然而,CAD属性数据也可以包含逗号或引号。例如,此示例图形的属性标记高度为1'-6“。为了安全起见,亚搏在线使用一个特殊的分隔符-换行符(\n)-避免了分析属性数据的危险,这些数据可能会混淆逗号分隔或带引号的值。
使用换行分隔符将使处理数据和以后显示数据变得容易。
5)为值添加ListConcatenator
将第二个ListConcatenator转换器连接到第一个ListConcatenator的输出端口。重命名ListConcatenator_值。
6)添加attributeManager
删除以下属性:
7)添加Excel编写器
对于板材定义,选择自动。
将图纸名称设置为具有属性的块。
将属性功能类型为的Excel块连接到属性管理器输出端口。
导出到Excel的示例图形的属性
感谢您向Autodesk提供示例dwg。“块和表(英制)数据集”由Autodesk Inc.授权。根据CC BY-NC-SA V.3.0许可证,可从http://download.autodesk.com/us/samplefiles/acad/blocks_and_tables_u---u imperial.dwg
?2019安全亚搏在线软件公司|合法的