CAD转KML:把 DWG 一步转成 Google Earth KML

前言

把一张 CAD 总平面图放到地球上看,传统做法是:先用 AutoCAD 打开图、检查坐标系、手动导出 DXF,再写脚本把 DXF 转成 KML,中间还要处理比例、投影和曲线精度问题。步骤多、容易出错,而且每次换一张图都要重来一遍。

下面介绍的 Skill「CAD转KML」把这条链路压缩成一步:输入 .dwg 文件,输出可直接导入 Google Earth 的 KML,中间的坐标系识别、投影转换、曲线平滑都由 Skill 内部完成。

这是什么

「CAD转KML」是一个基于通用 SKILL.md 格式的社区 Skill,坐标 @user_fdb72718/dwg-to-kml,发布者 user_fdb72718,版本 1.0.0,分类为 data-analysis,来源为 community,标签 requires_api_key=false(不需要 API key)。

它解决的问题是:用户拿到一个 AutoCAD DWG 文件,希望直接得到 KML 并在 Google Earth 中查看,而不是手动做 CAD 侧的导出和坐标处理。

官方地址:https://api.skillhub.cn/user_fdb72718/dwg-to-kml
SkillHub 页面:https://www.skillhub.cn/skills/user_fdb72718/dwg-to-kml

据抓取到的官方资料,SkillHub 上显示评分 100000、下载 1348 次、安装 0 次(数据以官方页面为准,会随时间变化)。

转换流程

整个管线是:

DWG →(accoreconsole.exe)→ DXF →(ezdxf + pyproj)→ KML →(optional)→ Google Earth

1、DWG 到 DXF:通过 accoreconsole.exe 完成,即调用 AutoCAD 的内核控制台做格式转换,不需要人工开图操作。
2、DXF 到 KML:由 ezdxf 读取 DXF 中的几何,再结合 pyproj 处理坐标,生成 KML。
3、KML 到 Google Earth:最后一步可选,把生成的 KML 导入 Google Earth 即可查看。

核心功能

以下是官方简介中列出的能力,均已核对:

  • 自动识别坐标系:判断数据是 WGS84 经纬度,还是 UTM 米制坐标。
  • 投影转换:如果是 UTM 米制坐标,自动重投影到 WGS84。
  • 曲线平滑:处理 LWPOLYLINE 的 bulge(凸度)、ARC、SPLINE 三类曲线,避免转出来变成折线。
  • 按图层着色:使用图层的 ACI(AutoCAD Color Index)颜色。
  • 边界/红线高亮:对边界层、红线层用加粗红色线突出显示。
  • 闭合区域填充:在配置的图层上,把闭合多段线填成面;官方示例是图层 0-j1-1 填充为 50% 黄色。

此外,该 Skill 取代了此前 dwg-to-dxf Skill 中内联的 DXF→KML 指导,也就是说 DXF 转 KML 这部分能力现在由它统一承担。

安装与启用

官方资料中没有列出具体的安装命令或配置项,这一点如实说明,避免给出未经核实的命令。请以官方页面为准:

  • 官方地址:https://api.skillhub.cn/user_fdb72718/dwg-to-kml
  • SkillHub 页面:https://www.skillhub.cn/skills/user_fdb72718/dwg-to-kml

已知的启用条件来自标签和管线依赖:

  • requires_api_key=false,不需要配置 API key。
  • 运行环境需要能执行 accoreconsole.exe(AutoCAD 内核控制台),以及 Python 侧的 ezdxf 和 pyproj 两个库。
  • 触发方式为自然语言:用户发送 CAD(.dwg)文件并希望得到 KML / Google Earth 视图时,Skill 会被激活。

典型用法

官方简介中给出的使用场景和触发语句如下,可以直接对照:

  • 用户发送一个 CAD(.dwg)文件,并希望得到 KML 或 Google Earth 视图。
  • 用户说「把这个CAD转成KML」。
  • 用户说「转KML导入Google Earth」。
  • 用户说「DWG to KML」。
  • 用户说「把总平面图放到地球上」。

也就是说,只要在对话中给出 .dwg 文件并表达要转成 KML、导入 Google Earth 的意图,Skill 就会按上面「转换流程」一节中的管线执行,输出 KML 后再按需导入 Google Earth。

适用场景与注意

适合的场景:

  • 有 .dwg 总平面图,需要在 Google Earth 上核对位置、范围或边界。
  • 图纸坐标系是 UTM 米制,不想自己查带号、算投影。
  • 图纸中有 ARC、SPLINE 或带 bulge 的多段线,手动转容易丢曲线。
  • 需要在 Google Earth 中区分图层颜色、突出红线/边界,并对指定图层做填充。

需要注意的限制:

  • 输入必须是 DWG;管线第一步依赖 accoreconsole.exe,因此运行环境里要有可用的 AutoCAD 内核控制台。
  • 自动识别坐标系是有边界的:只区分 WGS84 经纬度和 UTM 米制两类,其他坐标系不在官方说明范围内。
  • 填充只对配置过的图层生效(如 0-j1-1),不是所有闭合多段线都会被填色。
  • 生成的 KML 只解决「能看」的问题,Google Earth 侧的图层样式和标注不在 Skill 职责内。
  • 该 Skill 来源为 community,安装数为 0,使用前建议先在自己的图纸上试一版,确认坐标系识别结果符合预期。

小结

「CAD转KML」把 DWG → DXF → KML 这条链路封装成一步,自动处理坐标系识别、UTM 重投影、曲线平滑和按图层着色,省掉了手动开图、导出、写脚本的重复劳动。它定位明确:给有 .dwg 文件、需要 KML / Google Earth 视图的用户使用。

官方地址:https://api.skillhub.cn/user_fdb72718/dwg-to-kml

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye