封面图片来源:https://www.giscourse.com/

最近在做导出要素类到 CAD 文件遇到了 3 个问题:

(1) 如何让要素导过去之后都放在相关的图层;

(2)如何让要素导过去之后有符号;

(3)怎么实现要素导过去之后有文字标注;

这些问题在

https://desktop.arcgis.com/zh-cn/arcmap/10.4/manage-data/cad/exporting-features-to-specific-cad-layers.htm

有教程。但是操作起来还是会遇到各种问题。

本文结合实际操作经历编写,并给出相应的 ArcPy 代码。

本文涉及软件环境:ArcGIS 10.4 / AutoCAD 2016 。导出dwg文件版本为 2007 。

一、如何让要素导过去之后都放在相关的图层

默认情况下,要素类导入CAD之后,会以要素类名字为图层的名称创建新图层,要素类中的所有要素将放入新图层中。效果如下图。

要素属性表
要素转CAD设置
导出后的图层效果

ArcGIS 要素转CAD工具支持通过添加相关的字段值实现将要素导入CAD的不同图层。操作步骤是:

(1)给要导出的要素类添加 Layer 字段(数据类型:文本,长度:50);

(3)给 Layer 字段赋值,这个值值将作为导入 CAD 之后的图层名;

通过设置不同的 Layer 字段值,要素将被放到不同的图层。

设置Layer字段
导出后的图层效果

ArcPy 代码

# feature to cad: set layer name

还可以进一步设置图层颜色、图层状态、线宽、线型等。

要素转 CAD,图层属性保留字段

Reserved CAD fields for AutoCAD DWG/DXF formats

二、如何让要素导入CAD之后有符号

(1)给导入CAD的要素类添加字段。

添加 RefName 字段(数据类型:文本,长度:50),这里设置字段值为 ref1;

添加 Entity 字段(数据类型:文本,长度:50),这里设置字段值为 Insert;测试发现这里使用 CADType字段代替 Entity 字段也可以。

设置字段

(2)制作CAD种子文件

a. 绘制一个图形作为符号,如三角形;

绘制符号

b. 创建一个块;命令 block。

设置名称为 ref1 (和ArcGIS属性表中 RefName 的值一致)。

设置基点,这里拾取三角形的中心。

设置对象,这里选择三角形。

创建块
最后块的效果

c. 制作好块后保存文件为 seed.dwg,文件类型为:AutoCAD 2007/LT2007图形(*。dwg)。

保存种子文件

(3)执行要素转CAD

要素转CAD参数设置,设置种子文件
设置种子导出效果

因为符号太大,显示效果并不好。可以添加 ScaleX 、 ScaleY 字段来调整符号大小。

添加ScaleX、ScaleY 字段

ArcPy 代码

# feature to cad: set symbolfeature = "D:/study/arcgis/ExportCAD/ExportCADdemo1.shp"
output_file = "D:/study/arcgis/ExportCAD/resultsym.dwg"
seed_file = "D:/study/arcgis/ExportCAD/seed.dwg"arcpy.AddField_management(feature,"Entity","TEXT"
)arcpy.CalculateField_management(feature,"Entity","'Insert'","PYTHON"
)arcpy.AddField_management(feature,"RefName","TEXT"
)arcpy.CalculateField_management(f["feature"],"RefName","'ref1'","PYTHON"
)
arcpy.AddField_management(feature,"ScaleX","DOUBLE"
)arcpy.CalculateField_management(feature,"ScaleX",0.00002,"PYTHON"
)arcpy.AddField_management(feature,"ScaleY","DOUBLE"
)arcpy.CalculateField_management(feature,"ScaleY",0.00002,"PYTHON"
)arcpy.ExportCAD_conversion(feature, "DWG_R2007", output_file,"Ignore_Filenames_in_Tables","OVERWRITE_EXISTING_FILES", seed_file)

还可以将要素的属性也导入导CAD里面,可以参考

准备种子文件 (注意链接文章中【定义属性】处的指令应该是 ATTDEF 而不是 ATTEDIT)

三、如何实现要素导入CAD之后有文字标注

(1)将线、面要素类转为点要素类;

(2)添加 CADType字段(数据类型:文本,长度:50),设置字段值为 TEXT;

(3)添加 TxtValue字段(数据类型:文本,长度:50),设置字段值为想显示的文本标注值(可利用字段计算器计算);

配置文本导出属性

(4)执行要素转CAD操作。

文本显示效果

如果中文文字显示为问号。可以在菜单栏单击【格式】-> 【文字样式】(或者使用 style 命令),设置字体。

设置字体

ArcPy 代码

# feature to cad: export  att as text labelfeature = "D:/study/arcgis/ExportCAD/ExportCADdemo1.shp"
output_file = "D:/study/arcgis/ExportCAD/resultxt.dwg"arcpy.AddField_management(feature,"CADType","TEXT"
)arcpy.CalculateField_management(feature,"CADType","'TEXT'","PYTHON"
)arcpy.AddField_management(feature,"TxtValue","TEXT"
)arcpy.CalculateField_management(feature,"TxtValue","'文本标注'","PYTHON"
)arcpy.ExportCAD_conversion(feature, "DWG_R2007", output_file)

参考资料

【1】https://desktop.arcgis.com/zh-cn/arcmap/10.5/manage-data/cad/exporting-features-to-specific-cad-layers.htm

【2】https://desktop.arcgis.com/en/arcmap/10.4/manage-data/cad/reserved-cad-fields-for-dwg-and-dxf-files.htm

【3】https://zhidao.baidu.com/question/531449005.html

arcgis select by attributes一次选多个_ArcGIS 导出 CAD 的常见需求以及实现相关推荐

  1. arcgis select by attributes一次选多个_ArcGIS中属性表的常用操作汇总

    ArcGIS中属性表的常用操作汇总 本篇文章将平时对arcgis属性表的相关操作记录下来,防止忘记.此外,在技术摸索中参考了一些gis大牛的博客和技术分享,我在博客结尾也粘贴了他们的博客地址在此表示感 ...

  2. arcgis select by attributes一次选多个_地理工具学习--arcgis篇:单工具学习(2)

    今天讲联合工具和交集取反工具.目前这两个工具对矢量数据使用较多.这两个工具,平时我多用来划定减少或者扩充范围. 1.Union工具(联合工具) 运行的逻辑为:将两个矢量范围类似合并到一起,在我使用过程 ...

  3. arcgis select by attributes一次选多个_优化体系--记一次生产数据库sql优化过程--组合索引...

    概述 最近比较有空,所以看了一些问题sql,顺便优化一下,做个简单记录. 问题sql SQL(c212jfrj1m0fg) 在采样期平均单次执行逻辑读为 106205.83, 其最新执行计划涉及 2 ...

  4. ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件...

    原文:ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件 先看效果图,然后上代码: <UserControl x:Class= ...

  5. select下拉框多选,超级好用!十分强大!

    正文: 先说点废话:一个需求,想把select变成下拉多选,网上查找了半天,给出的方案都是自定义一个标签,或者弄个什么ul下面li进行选择,看起来就繁琐,本人只想在select上面做文章,不得已,自己 ...

  6. ai怎样导出所选部分,AI 怎么导出部分文件

    在Adobe illustrator作图之bai后,需要导出高清大图,du主要通过调整zhi图片的导出"品质dao",以及图片"回分辨率"的方答法实现1.单击选 ...

  7. ai怎样导出所选部分_ai怎样导出所选部分为jpg应该怎么做

    CS3版本在工具箱中有个"裁剪区域工具",用他即可.再按平常方法,导出JPG.CS2以前的,可建个矩形,然后对象菜单下,裁剪区域/建立.CS4改成画板了,导出时,有个画板选项,选中 ...

  8. 【ArcGIS微课1000例】0003:按属性选择(Select by Attributes)

    在使用ArcGIS时,可以使用 SQL 表达式基于要素属性来选择要素. 通过按属性选择 对话框可为 SQL 表达式定义一个或多个由属性.运算符和计算构成的条件.给定图层上生成的要素选择内容满足这些条件 ...

  9. Feature Layer with selection(ArcGIS JS Api 图上点选)

    Demo是编程之母,API是编程之父.面对一个陌生的框架,直接从api开始写代码是不明智的,最好的办法就是按照Demo来写,这样既能很快的吧Api用起来,又能避免摸着石头过河的愚蠢行为.用的差不多了, ...

最新文章

  1. Linux上chown命令的高级用法
  2. 树莓派:和电脑之间的串口编程,以及树莓派的备份
  3. 用window.location.href实现刷新另个框架页面
  4. PDF 格式优化的一点经验
  5. java datainputstream_Java DataInputStream readUnsignedByte()方法
  6. modbus-rtu qt4-serialport1------ xp as host
  7. 分数线划定(信息学奥赛一本通-T1180)
  8. 嵌入式Linux入门3:Linux服务器搭建
  9. HTML转PDF字体的坑,搞了半天
  10. 浅论cherry机械键盘与其在war3中的表现
  11. 绘制盐沼植被图的混合方法-文献阅读
  12. 历年计算机一级笔试考试真题及答案解析,全国计算机等级考试上机考题全真笔试历年题...
  13. 2022细胞生物学实验原理复习资料汇总
  14. 7-12 清点代码库 (25 分)
  15. PCB之AD快速布局
  16. 深信服上网行为管理设备登录方法、恢复出厂、恢复控制台密码
  17. Vue项目引入阿里巴巴矢量图标库
  18. 揭笔记本维修黑幕 浅谈我们该如何应对
  19. 平流式沉淀池计算例题_(完整版)平流沉淀池设计计算.doc
  20. 备战马拉松旺季,六大注意事项,干货满满!

热门文章

  1. c语言叠罗汉问题解决思路,叠罗汉(示例代码)
  2. Photoshop CS6快捷键大全
  3. C语言游戏大富豪(30天赚钱)
  4. 蓝牙HCI剖析(一)
  5. 怎样将pdf转换成word文件格式
  6. HTML学习3:常用标签之文本标签
  7. ubuntu 公钥私钥的位置
  8. 「追着你跑的声音」,这个技术想让耳机下岗
  9. window.open()弹框页面交互+表格数据回显以及跨页回显
  10. 【NoteBook】吴晓波:《影响商业的50本书》——第三部分:动荡年代与潮汐的方向