前言¶
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