前言¶
把一張 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