前言¶
在 DSH 裏讓模型處理 CAD,常見做法是上傳模型到雲端或自己寫腳本調 OCC/OpenCascade。前者有數據與合規顧慮,後者要在 DSH 側維護 Python 與幾何庫。dsh-freecad 走另一條路:幾何計算全部在 FreeCAD 進程裏完成,插件只做工具註冊、參數校驗和文件傳遞,模型不出本機,也不在 DSH 裏單獨裝 Python。
下面介紹該插件的定位、能力與安裝方式,便於在客戶端 profile 裏接入 STEP 檢視、簡單編輯和出圖流程。
這是什麼¶
dsh-freecad 由 Negulons 維護(npm 包作者署名爲藍色大肥魚),在 SkillHub 插件目錄 中歸類爲客戶端插件。MIT 許可證;當前 npm 版本爲 0.4.2。
一句話定位:把對話裏的自然語言意圖轉成 FreeCAD 可執行的幾何操作——讀取 STEP/STP(及 IGES/BREP)、按參數編輯立體模型、再生成第一角法二維加工圖(SVG/DXF/PDF/PNG)。它不是 CAD 內核,也不是雲端服務;FreeCAD 打不開的文件,這裏同樣打不開。
核心功能¶
插件向 DSH 註冊五組工具,長度單位均爲 mm。
| 工具 | 作用 |
|---|---|
freecad_status |
檢查 freecadcmd 路徑、版本、worker 是否就緒;排錯時優先調用 |
freecad_inspect_step |
讀 STEP/STP 等:包圍盒、體積、面/邊/頂點、對象列表、孔識別(含斜孔、腰形孔等);detail: true 可分頁讀面/邊明細 |
freecad_edit_step |
平移/旋轉/縮放/鏡像、鑽孔、布爾增刪、倒圓角/倒角;導出新 STEP,可選存 FCStd |
freecad_step_to_drawing |
HLR 隱藏線消除 → 主/俯/右視圖與軸測圖,自動圖幅比例、總尺寸、孔表與標題欄,多格式導出 |
freecad_measure |
不改模型,測量點/面/邊距離、夾角、圓柱/圓邊直徑,供補標註使用 |
README 明確說明:不是生產級出圖工具。圖紙目前側重總寬/總高與孔表,凸臺直徑、臺階高度、孔位等常需人工補標或先用 freecad_measure 再讓模型補全;無剖視圖、形位公差等。完整限制見倉庫 docs/limitations.md。
環境要求¶
| 依賴 | 要求 |
|---|---|
| 操作系統 | Windows 10/11 已實測;Linux / macOS 需手動指定 freecadcmd |
| FreeCAD | 1.0 或 1.1,且帶 freecadcmd |
| DSH | 支持 bundle(dsh.bundle.patch)的版本 |
| Node.js | 18+(DSH 自帶即可) |
已驗證組合示例:Windows 11 + FreeCAD 1.1.4(便攜版)+ DSH Desktop。
安裝與啓用¶
插件是普通 DSH bundle,裝入 profile 後必須重啓 DSH 纔會掛載。
方式 A:DSH 插件頁(推薦)¶
打開 DSH 的插件頁,輸入 dsh-freecad 搜索並安裝,然後重啓 DSH。插件頁會寫入 profile 依賴、dsh.profile.bundles 與 cordis.patch.yml,無需手改文件。若重啓後「設置 → FreeCAD」未出現,可再重啓一次。
方式 B:npm 與安裝腳本¶
先安裝包,再執行倉庫提供的安裝腳本(會備份被改動的文件):
npm i dsh-freecad # 或 pnpm add dsh-freecad
node node_modules/dsh-freecad/scripts/install.mjs
裝完之後¶
重啓 DSH 後,可在對話中說「檢查一下 FreeCAD 狀態」,或調用 freecad_status,確認 freecadcmd 路徑與版本。
非 Windows 或便攜版安裝時,在 DSH → 設置 → FreeCAD 填入 freecadcmd 完整路徑;也可通過 profile 的 config.freecadPath 或環境變量 FREECAD_CMD。路徑解析順序:設置頁 → profile 配置 → 環境變量 → Windows 默認 Program Files 路徑。該配置保存後立即生效,無需重啓 DSH。
典型用法¶
倉庫 README 給出的對話示例可直接復現(產物默認落在工作目錄,如圖紙目錄 <輸入名>_drawing/、編輯後的 <原名>_edited.step):
你:讀一下 examples/demo_bracket.step,告訴我它有幾個孔、多大。
你:把它轉成 A3 加工圖,帶軸測圖,輸出 PNG 和 DXF。
你:在頂面中心加一個 Ø8 通孔,倒 C1 角,另存一份。
示例 STEP 經 freecad_step_to_drawing 可生成 A3 圖紙,SVG/DXF/PDF/PNG 可同時輸出。
適用場景與注意¶
適合:需要在 DSH 對話中本地檢視 STEP、做常見機加特徵編輯(孔、倒角、簡單布爾)、快速出第一角法草圖供內部溝通或再人工補標的使用者;強調數據不出本機、無遙測。
注意:
- 插件以當前 DSH 進程權限運行,可讀寫其能訪問的路徑;安裝前建議查看 GitHub 源碼 與 MIT 許可證,並確認 FreeCAD(LGPL)運行時依賴符合你的合規要求。
- 改
dsh/*.py後 worker 每次調用會重載;改index.js或lib/client.js須重啓 DSH。 - SkillHub 爲社區插件目錄,與 DeepSeek / 幻方無官方從屬關係;星標等元數據以目錄與 GitHub 頁面爲準(截至資料抓取時 GitHub 約 3 stars)。
結尾¶
dsh-freecad 是 DSH 生態裏面向 FreeCAD 的薄橋接層:不替代 FreeCAD,也不承諾工廠級圖紙,但在「對話驅動 + 本機幾何」這條線上步驟清晰、工具邊界明確。進一步參數語義與架構說明見倉庫 docs/tools.md、docs/architecture.md。