DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

QIKO0721 /

QIKO0721/dsh-ug-viewer

Verified

Preview UG/NX models in DSH — orbit, pick faces/features, ask an AI. | 在 DSH 里预览 UG/NX 模型,点选几何,就地问 AI

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@8619250a

dsh-ug-viewer

在 DSH (DeepSeek Harness) 里预览 UG/NX 模型、点选几何、看特征树,还能就着选中的面、边、特征直接问 AI。

Preview UG/NX models inside DSH — orbit, pick faces and features, and ask an AI about what you selected.

不是把模型截图贴进来——是真的能转、能点、能问。

功能

模型预览

  • STL / OBJ:直接拖进来就能转(中键旋转、滚轮缩放、左键平移)
  • PRT 直接预览:不导出 STL,后台调 NX 把实体三角化后直接渲染
  • 只有草图的 PRT:画出草图线框(圆弧离散成折线)

几何选择

能选什么 怎么选 反馈
面 点面中间 整面蓝
边 点面边界 6px 内 整条边红
特征 左栏特征树点一行 该特征关联的体蓝
草图曲线 线框模式下点线 整条曲线红
草图点 点小十字 浮层「点 #N」
曲线交点 点交叉处 浮层「交点 #N」
草图约束 特征树展开草图 浮层「约束 · 重合」

全部支持多选:点一下加、再点取消、点空白清空。

特征分析

  • 左侧常驻特征树(可折叠),打开 PRT 自动加载
  • 显示特征类型、参数表达式、父子依赖
  • 草图可展开看 22~44 个约束(重合、相切、半径、角度…)

就地问答

视口下方有一条「问七音」对话栏,直接调 Host 的 llm 服务:

  • 选中几何 → 输入问题 → 回车
  • 自动把选中的面/边/特征/约束/曲线/点/交点拼进上下文
  • 流式返回,一条消息都不用切走

界面

  • 三栏布局:目录 | 特征树 | 视口
  • 目录和特征树都能折叠(工具栏左侧 ☰ / ▤)
  • 视图预设(等轴/前/上/右)、线框、自动旋转、截图、重置

安装

前置

  • DSH(Web GUI)
  • NX 12+(只有 PRT 预览和特征分析需要;STL/OBJ 不需要)

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)。

技术原理

PRT 三角化(按面)

NX Open 没有直接导 STL 的 Part 方法,得用:

creator = session.DexManager.CreateStlCreator()
creator.ExportSelectionBlock.SetArray([face])   # 单个面
creator.Commit()

每个面单独导出一次(~0.008 s/面),Host 合并时记下 faceID + 类型 + 面积 + 法线 + 包围盒。

点选

  • 面:屏幕空间三角形内测试,取最近的
  • 边:点到边界线段的屏幕距离(6px 内优先)
  • 曲线/点/交点:线框模式下的线段/点距离检测

特征

feature.GetExpressions()      # 参数表达式(直径、长度…)
feature.GetBodies()           # 关联的体(实体特征才有)
feature.GetChildren()         # 父子依赖
sketch.Sketch.GetAllConstraintsOfType(ConstraintClass.Any, type)  # 约束

问答

ctx.llm.stream({ provider, model, messages })  // 不经过 session

已知限制

限制 原因
特征不能精确高亮到面 NX 外部 API 不暴露 feature→face 映射(GetEntities() 只返回曲线/基准)
特征高亮会"过量" 一个体可能由多个特征生成,只能整体高亮
无实体零件不能点面 只有曲线,没有 B-rep 面
面板对话不持久 不进 session 日志,刷新即失忆
NXOpen.UF 不可用 这个 NX 12 没带 UF 模块,只能走 NXOpen

目录结构

dsh-ug-viewer/
├── index.js            # Host:路由、journal 调度、缓存
├── client.js           # Client:WebGL 视口、点选、特征树、对话
├── cordis.patch.yml    # 插件配置
├── locale/             # 中英文案
├── icon.svg
├── screenshots/
└── test/               # 独立测试脚本

测试

cd dsh-ug-viewer
node test/geometry-once.mjs    # 测 PRT 几何导出
node test/chat-once.mjs        # 测面板对话接口

(需要 DSH 正在运行,插件已安装。)

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit 8619250ae61c

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout