dsh-ug-viewer:在 DSH 裏轉 UG/NX 模型,點哪問哪

前言

DSH 的代碼、文檔類插件很多,但真拿到一個機械零件的 PRT 文件時,常見的處理方式還是先切到 NX 裏做截圖,再把圖貼回對話窗口。截圖只能看個形狀,面、邊、特徵樹這類信息根本傳不進去,模型一改還要重新截。

qiko0721/dsh-ug-viewer 走的是另一條路線:直接在 DSH Web GUI 裏渲染 UG/NX 模型,鼠標點選幾何,選中的內容自動拼進上下文發給 AI。下面介紹這個插件的功能、安裝方式和實際使用流程。

這是什麼

插件名 dsh-ug-viewer,由 QIKO0721 維護,分類是客戶端插件。它解決的問題是:讓 DSH 裏的模型審閱從「看截圖」變成「轉得動、點得中、問得動」。

它的定位很明確——不是把圖片貼進來,而是把 WebGL 視口、幾何選擇和特徵樹搬進側邊欄。STL / OBJ 直接拖進來就能轉,PRT 則交給本機 NX 處理。

核心功能

模型預覽

  • STL / OBJ:拖進視口直接渲染,中鍵旋轉、滾輪縮放、左鍵平移。
  • PRT 直接預覽:不先導 STL,後臺調 NX 把實體按面三角化後渲染。
  • 只有草圖的 PRT:渲染成線框,圓弧離散成折線。

幾何選擇

支持的選對象和反饋方式如下:

能選什麼 怎麼選 反饋
面 點面中間 整面變藍
邊 點面邊界 6px 內 整條邊變紅
特徵 左欄特徵樹點一行 該特徵關聯的體變藍
草圖曲線 線框模式下點線 整條曲線變紅
草圖點 點小十字 浮層顯示「點 #N」
曲線交點 點交叉處 浮層顯示「交點 #N」
草圖約束 特徵樹展開草圖 浮層顯示約束類型

全部支持多選:點一下加入、再點取消、點空白清空。

特徵分析

左側常駐特徵樹(可摺疊),打開 PRT 自動加載,顯示特徵類型、參數表達式、父子依賴。草圖可以展開看約束(README 寫的是 22~44 個),類型覆蓋重合、相切、半徑、角度等。

就地問答

視口下方有對話欄,直接調 Host 的 llm 服務。選中幾何後輸入問題回車,插件自動把選中的面、邊、特徵、約束、曲線、點、交點拼進上下文,流式返回,不需要切走當前頁面。

界面

三欄佈局:目錄 | 特徵樹 | 視口。目錄和特徵樹都能摺疊,工具欄左側的 ☰ 和 ▤ 分別控制。其餘還有視圖預設(等軸 / 前 / 上 / 右)、線框、自動旋轉、截圖、重置。

安裝與啓用

前置條件是 DSH(Web GUI);NX 12+ 只在 PRT 預覽和特徵分析時需要,純看 STL / OBJ 不需要。README 提到 NX 12 內嵌 Python 3.6,插件通過 run_journal.exe 調 NX Open。

# 1. 克隆到任意目錄
git clone https://github.com/QIKO0721/dsh-ug-viewer.git
cd dsh-ug-viewer

# 2. 裝進 DSH(任選一種)
dsh plugin --profile web add link:$(pwd)
# 或
plugin_manager { action: install_bundle, target: "<絕對路徑>" }

裝完刷新頁面,側邊欄會出現「UG 模型預覽」。

配置

編輯 cordis.patch.yml,把路徑換成自己的:

config:
  roots:
    - 'D:\models'              # 模型目錄(可寫多個)
  maxFileBytes: 100663296      # 單文件上限(96 MB)
  maxDepth: 3                  # 遞歸深度
  maxModels: 400               # 列表上限
  runJournalExe: 'D:\UG\NXBIN\run_journal.exe'   # NX journal 運行器
  analyzeTimeoutMs: 180000     # 分析超時

也可以不修改配置文件,在面板裏點「選目錄」運行時切換,選擇會記到 ~/.dsh/dsh-ug-viewer.json。

典型用法

一個可復現的流程是:把模型目錄配進 roots,打開插件側邊欄;在目錄裏選中 PRT,視口加載模型,特徵樹自動出現;用鼠標點一個面,該面高亮;在視口下方對話欄輸入「這個面爲什麼是這個形狀」,回車,選中幾何信息隨問題一起發到 Host 的 llm,回答直接流式顯示在欄內。

如果想確認幾何導出鏈路是否正常,插件自帶兩個測試腳本:

cd dsh-ug-viewer
node test/geometry-once.mjs    # 測 PRT 幾何導出
node test/chat-once.mjs        # 測面板對話接口

這兩個腳本需要 DSH 正在運行、插件已安裝。

適用場景與注意

適合在 DSH 裏經常要審閱 UG/NX 零件、並且希望選完幾何立刻問 AI 的人。PRT 相關能力依賴本機裝有 NX 12+,並需要正確配置 runJournalExe;只用 STL / OBJ 的場景不碰 NX。

幾個限制值得先知道:

  • 特徵不能精確高亮到具體面。NX 外部 API 不暴露 feature 到 face 的映射,GetEntities() 只返回曲線和基準,所以選中特徵時只能整體高亮它關聯的體。
  • 一個體可能由多個特徵生成,因此特徵高亮會「過量」。
  • 無實體零件點不了面,只有曲線沒有 B-rep 面。
  • 面板對話不進 session 日誌,刷新即失憶。
  • 該 NX 12 環境沒帶 NXOpen.UF 模塊,插件只能走 NXOpen 接口。

插件以當前 dsh 進程的權限運行。README 的安裝用的是本地 link 方式,也就是源碼克隆到本機後引用目錄,能在安裝前直接讀代碼。安裝前建議先讀一遍源碼,確認配置項和 journal 調用符合自己的環境,再決定是否啓用。許可證是 MIT。

小結

dsh-ug-viewer 的價值在於把模型審閱的三個動作合到一個側邊欄裏:轉模型、點幾何、問 AI,選中內容作爲上下文直接進對話。短板也寫在明處,主要是 NX API 本身不暴露的特徵與面的映射關係,所以別指望它做到 CAD 裏的精確特徵定位。

插件在社區目錄的頁面:https://www.skillhub.cn/plugins/QIKO0721/dsh-ug-viewer
源碼:https://github.com/QIKO0721/dsh-ug-viewer

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

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

小夜