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

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

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

小夜