规划测绘类生产的电子成果数据多采用CAD格式进行标准分幅或者任意分区存储成多个dwg文件。数据中含有丰富的实体类型,包含了块参照、线、填充、标注、文字、圆弧等,如下图。 在对数据进行格式转换和坐标转换时也需要模板文件,模板文件也可以是原始的dwg文件,但只能是一个dwg文件。 根据实际情况,经常需要对CAD数据进行合并操作,若涉及多个dwg数据的合并,此时必须要一个完整的模板文件(模板文件是AutoCAD转换过程中用于定义图层、线型、块和图形定义的文件)保证相应的块符号、线型、填充等能够无损转换。 一般来说相应管理部门都会有标准的符号库,但是可能由于管理上的问题或者版本的更新造成了文件遗失或者未及时更新。这时面对几百上千的dwg文件,又得使用传统人工方法逐图进行查看和复制粘贴,这种方法不但费时费力,有时也不能保证其完整性。 对于该问题的解决主要基于FME生成lisp脚本并调用cad进行执行,具体流程和参数如下: A、在FME中我们主要使用“path”读模块获取相应的文件信息。 B、通过转换器生成lisp代码用于。 生成的lsp脚本 C、使用systemcaller转换器调用脚本。如下图所示。 D、之后会调用autocad自动执行FME生成好的脚本对文件进行合并 合并好之后的图 合并好的dwg保证了原来的所有实体类型,包含块、填充、标注等要素无损完成了合并。在FME中对比合并前的多幅图与合并后的图。 转换前多个dwg通过FME打开 转换后mergedwg通过FME打开 通过前后对比发现只有0图层差了6条要素,这6条要素是“autocad_proxy”,代理图元,由于使用了基于cad的飞时达插件,而我电脑未安装这个,因此有的代理图元信息描述缺了,但是不影响我们在cad打开查看,cad打开查看前后是一致的。
本文转载来自CSDN作者:fmechina 版权归作者所有 原文链接:https://blog.csdn.net/fmechina/article/details/106688393
|