在我们FME的博客资料里面,介绍了关于利用FME和Excel表格如何在GIS环境中生成标准数据结构的方法,那下面为大家介绍一下利用FME和Excel表格结合Python脚本如何在AutoCAD环境中生成标准图层的方法。
你拿到的CAD数据生产标准可能是下面这样的,图层太多,线性太多,颜色太多,一个一个建立你会头痛。
你需要确定计算机环境中是否正确安装了FME Desktop软件、AutoCAD软件以及能生成Excel表格的软件。
安装Python模块pyautocad的运行环境,下载pyautocad模块包并安装。在python编译器中运行“import pyautocad”,确保该模块成功安装并可用。
将生产标准规范化到Excel表里面备用
使用FME Desktop读取标准规范化后的 Excel表,利用AttributeCreator将CAD图层名称、线性、颜色等字段内容进行重命名。
设置FME中python脚本的运行环境,在FME Desktop左侧导航栏中工作空间参数下找到“Python Compatibility”,文中涉及的pyautocad模块安装路径在ArcGIS的python路径中,因此,选择 “Esri ArcGIS Desktop(Python 2.7)”( 如果用户你安装在其他路径中,可将安装路径中的pyautocad文件包拷贝到FME安装目录下的python路径中)。
设置好FME中的Python运行环境后,在画布中添加一个PythonCaller转换器,利用PythonCaller添加Python脚本语言,创建CAD模板文件。
设置好python脚本语言后,即可点击运行按钮进行运行,但是,及时你的脚本没有问题,python运行环境也没有问题,但你的运行可能还是会有错误,就像下面这样。
不着急,查阅相关资料后发现,利用python脚本创建CAD文件,需要提前加载线型。简单的说,就是你所需要的线型没有预加载。
平时大家打开CAD软件时默认的会加载一个“0”图层,而“0”层中所使用的线型为“CONTINUOUS”,就像下面这样
所以,当你的CAD数据生产标准中线型采用“CONTINUOUS”的在运行的生活程序就不会出错,如果你的线型是非“CONTINUOUS”,就会出现类似上面的错误。接下来我们需要在打开的CAD软件中预加载数据生产标准中所涉及的所有线型。
在打开的CAD软件中,点击图层中的线型,你会发现只有一个“CONTINUOUS”,
你可以点击“加载”按钮,对其余的线型进行预加载,预加载完成后点击确定即可。
重新在FME中运行程序,你会发现你的图层已经按照Excel中的设置要求添加好了。运行结果如下
本文中涉及的数据示例比较简单,有兴趣的朋友可以多添加一些条件,比如线宽、比例等。又或者颜色不采用CAD索引色进行设置,采用RGB值进行设置,同样在FME中提供了提取CAD数据中要素颜色的RGB值和ACI索引值的自定义转换器。本文中涉及的Python脚本语言代码在网络上即可找到。同时在FME中除了结合Python来创建CAD模板文件以外,还可以利用FME构建CAD相应的格式属性来创建模板文件。
例如“autocad_resolved_linetype”、“autocad_color”、“autocad_linetype_scale”、“autocad_width”等格式属性,具体方法由你实现。
来源:CSDN
作者:fmechina
链接:https://blog.csdn.net/fmechina/article/details/104358398