span8
span4
Microstation DGN和AutoCAD DWG是两种最流行的CAD格式,它们的符号由大量的格式属性定义。创建数据库表字段来存储所有这些属性可能非常耗时,但是为了在将数据写回CAD时重新创建数据的外观,大多数都是必需的。此外,FME在增强it CAD功能的同时继续添加格式属性,因此表可能需要偶尔进行更新。
对于每个格式属性的单独字段,另一种替代方法是将所有属性打包到一个blob字段中,当将特性写回CAD时,该字段将被解压。
FME函数@SupplyAttributes(可通过FunctionCaller transformer访问)有一个模式,该模式将把所有特性的属性打包成结构名称:value:name:value:name:value:etc中的一个新属性。@SupplyAttributes还可以将这个打包好的属性解压缩回原始属性。但是,在打包时,@SupplyAttributes打包所有属性,包括那些不需要或不需要的属性。
自定义transformer PackAttributes(可以从上面的下载获得,也可以通过FME Store获得)使用PythonCaller将特性属性打包到@SupplyAttributes结构中,但是允许您为要打包的属性设置一个过滤器前缀。因此,要存储DGN文件的所有格式属性,但忽略任何用户或通用FME属性,您可以将筛选器设置为“igds_”。对于DWG文件,可以使用“acad_”。
工作空间DGNToSqlite和SqliteToDGN(可从上面下载)演示了如何实现这个过程:
DGNToSqlite读取微站DGN文件主路。dgn (also available for download above), uses PackAttributes to pack the format attributes into a new attribute "igds_packed", then writes the geometry and the packed attribute to Sqlite Spatial.
SqliteToDGN读取Sqlite表,在FunctionCaller中使用@SupplyAttributes将打包的属性恢复到该特性,然后将其写入一个新的DGN文件。
所有主要道路的标志。DGN, including multi-lines and custom linestyles, is restored in the new file.
这种存储CAD属性的方法是有前途的。在FME的未来版本中添加任何额外的格式属性将被自动包含在包装的属性,由于格式前缀,并没有表的修改是必要的。
如果你要编辑CAD数据的位置,同时它存储在数据库中,你将需要从包装的属性中删除任何区位属性,并将其存储在不同的领域。要做到这一点,最简单的方法是重命名的属性包装前去除常见的过滤器前缀。
©2019安全亚搏在线软件公司法律