首次提交: OnebotCatalog 项目代码与文档(含 NX 按需生成服务二期、后台、一键启动)
This commit is contained in:
92
docs/工作交接.md
Normal file
92
docs/工作交接.md
Normal file
@@ -0,0 +1,92 @@
|
||||
# 工作交接:NX 按需生成服务(二期 A 版)
|
||||
|
||||
> 给接手的同事/新会话。读完这份 + `项目总览.md` + `开发记录-NX2506批处理攻坚.md` 即可快速跑起来。
|
||||
> 更新:2026-08-27
|
||||
|
||||
## 一、一句话现状
|
||||
|
||||
**软件侧全部打通,两天卡点(NX 批处理导出 0 solid)已解决,全链路实测通过。现在只等真实母模(母版)就位。**
|
||||
|
||||
## 二、系统由 3 个进程组成
|
||||
|
||||
| 进程 | 端口 | 作用 | 怎么启动 |
|
||||
|---|---|---|---|
|
||||
| **网页端** serve-web.ps1 | 8080 | 选型界面(客户看到的就是这个)| `_start_all.bat` 不含它,需单独起,或见 §五 |
|
||||
| **GenServer.exe** | 8899 | 生成服务后端(队列/校验/下载/预览)| `_start_all.bat` 第 3 步 |
|
||||
| **NX worker** run_journal | — | 常驻轮询任务,调 NX 生成数模 | `_start_all.bat` 第 4 步 |
|
||||
|
||||
## 三、一键启动(最关键的一条命令)
|
||||
|
||||
```
|
||||
d:\开发\OnebotCatalog\_start_all.bat
|
||||
```
|
||||
|
||||
它会:停旧进程 → 编译 GenServer → 启动 GenServer → 启动 NX worker → health 自检。
|
||||
浏览器开 `http://localhost:8080`,底部信息栏右侧有状态圆球:**绿=就绪,橙=等 worker,红=故障**。
|
||||
|
||||
## 四、UG(NX)配置后台怎么进
|
||||
|
||||
浏览器开:**`http://localhost:8899/admin`**
|
||||
|
||||
**密码登录**:默认密码 `onebot888`。打开 `/admin` 先弹登录页 → 输密码 → 进后台。
|
||||
|
||||
后台是**顶部三个 tab**(点击切换):
|
||||
1. **UG 配置**:NX 版本目录(自动探测 2506/2512,可手动选)、数据源/母模/输出/任务/工作各目录、端口、API Key、管理页密码、队列上限、批量上限、限流
|
||||
2. **参数配置**:直接编辑 `masters.json`(expressionMap / switchRules / exports),保存后即时热重载,无需重启
|
||||
3. **模型管理**:手动清理(一键清空 output 目录)+ 定时清理(设置留存时长 outputTtlHours,0=永不清空)
|
||||
|
||||
- 密码改法:`genserver-local\genserver-config.json` 里 `adminKey` 字段(默认 `onebot888`)
|
||||
|
||||
## 五、网页端单独启动
|
||||
|
||||
`_start_all.bat` 没包含网页端(它是独立的 serve-web)。单独起:
|
||||
|
||||
```
|
||||
d:\开发\OnebotCatalog\_start_web.bat
|
||||
```
|
||||
|
||||
(站点在 `release\web_2026.08\`,`config.js` 里 `api` 已指向 `http://localhost:8899`)
|
||||
|
||||
## 六、母模 ↔ 参数的对应关系(建模工程师必读)
|
||||
|
||||
对应靠 `onebot-data\masters.json` 这张翻译字典:
|
||||
|
||||
```json
|
||||
"KC": {
|
||||
"masterPart": "KC_master.prt",
|
||||
"expressionMap": { "bore": "bore", "stroke": "stroke" }, // 尺寸参数 → NX表达式名
|
||||
"switchRules": [
|
||||
["magnet", "", "magOn", "0"], ["magnet", "M", "magOn", "1"],
|
||||
["mount", "", "mountIdx", "0"], ["mount", "FA", "mountIdx", "1"], ...
|
||||
], // 枚举开关 → NX表达式
|
||||
"exports": { "step": "214", "iges": true, "prt": true }
|
||||
}
|
||||
```
|
||||
|
||||
**铁律**:母模里的表达式名必须和 `masters.json` 写的**一字不差**(`bore`/`stroke`/`magOn`/`mountIdx`);`bore`/`stroke` 带 mm 单位,`magOn`/`mountIdx` 是纯数字开关;磁石/固定形式用「按表达式抑制」切换。
|
||||
|
||||
**待确认**:`type`(00/02/03)是否影响几何?影响则补映射,不影响则忽略。
|
||||
|
||||
## 七、真实母模就位后做什么
|
||||
|
||||
1. 把交互式建模的真实气缸母模命名 `KC_master.prt`,放到 `catalog-masters\KC\` 覆盖占位母模
|
||||
2. 重跑 `_start_all.bat`
|
||||
3. 网页选 KC + stroke=87(非标)→ 在线生成 → 预览 → 下载
|
||||
4. NX 打开生成的 `.stp` 核对缸径/行程与请求一致
|
||||
|
||||
## 八、关键踩坑(接手前必看)
|
||||
|
||||
1. **`.bat` 必须纯 ASCII 无中文**——cmd 按 GBK 读,中文会拆坏命令报"XX不是内部或外部命令"(见记忆 `bat-ascii-no-chinese`)
|
||||
2. **编译前先停 GenServer**——exe 被运行中进程锁住会 `error CS2012`
|
||||
3. **批处理里别用 DexManager 导出**——NX 2506 的 ST-DEVELOPER 翻译器在 run_journal 里判 0 solid,正解是独立命令行翻译器 `step214ug.exe`(.prt→.step)/`iges.exe`(.prt→.igs)
|
||||
4. **配置以 D 盘为准**——W 盘是旧 TeamCenter 映射已废弃
|
||||
5. **前端 dev 源 `web/` 与发布产物 `release\web_2026.08\` 要同时改**——serve-web 服务的是 release 目录
|
||||
|
||||
## 九、待办(剩余)
|
||||
|
||||
1. ⭐ **真母模**:建模工程师做真实气缸母模(等用户)—— 唯一真正卡进度的
|
||||
2. **NX 2512 实测**:换机后先验证 journal API + step214ug.exe 在 2512 下可用
|
||||
3. **生产部署**:netsh urlacl 授权、网页 config.js 填生产地址、桌面端 genApi 字段
|
||||
4. **待确认**:`type`(00/02/03)是否影响几何,影响则补 masters.json 映射(后台「参数配置」tab 可直接改)
|
||||
|
||||
> 注:参数映射网页后台编辑、密码登录、模型管理(手动/定时清理)均已在 `/admin` 后台实现。
|
||||
52
docs/用户手册.md
Normal file
52
docs/用户手册.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# 欧霓博气动元件电子目录 —— 用户手册 / User Manual
|
||||
|
||||
## 1. 安装与运行 / Install & Run
|
||||
|
||||
- 本软件为绿色程序,**无需安装**,双击 `OnebotCatalog.exe` 即可运行(Windows 10/11,不需要额外安装 .NET 运行时)。
|
||||
- 光盘/U 盘自动播放默认被系统禁用,请直接双击 exe。
|
||||
- 首次运行若杀毒软件提示拦截(程序未做代码签名),请选择"允许"或加入白名单。
|
||||
|
||||
## 2. 选型 / Configure a Part
|
||||
|
||||
1. 左侧目录树选择产品系列(如:汽车行业气缸 → KC 系列标准气缸)。
|
||||
2. 中间面板依次选择参数:型号 → 缸径 → 行程 → 磁石 → 固定形式。灰色下拉即已按选型规则过滤,不可能的组合不会出现。
|
||||
3. 选满后上方显示型号(如 `KC0032-100MLB`),3D 预览自动显示该型号外形。
|
||||
4. 3D 预览操作:鼠标左键拖拽旋转、滚轮缩放;真实数模会提示【在浏览器中打开 3D 预览】按钮(本机运行,不联网)。
|
||||
5. 三个区域(目录树/参数面板/3D 视图)之间的分隔条可拖拽调宽。
|
||||
|
||||
## 3. 下载 STEP 文件 / Download STEP
|
||||
|
||||
- 完成选型后点击顶部 **「下载 STEP」**,选择保存位置,文件按 `型号.step` 命名(如 `KC0032-100MLB.step`)。
|
||||
- STEP 为通用交换格式,SolidWorks / NX / CATIA / Creo / Inventor 等主流 CAD 均可直接打开(打开时选择"零件/实体"模板)。
|
||||
- **批量下载**:切换到「参数表」标签页,Ctrl/Shift 多选型号行,点击上方「批量导出所选」,得到 zip(内含各型号 STEP + BOM.csv 清单)。
|
||||
|
||||
## 4. 搜索与筛选 / Search & Filter
|
||||
|
||||
- 顶部搜索框支持:型号编码(如 `KC0032`、`32x50`)、中文名(缸径)、英文名(Bore)、拼音关键词(gangjing)。
|
||||
- 多个词用空格分隔;双击搜索结果直接定位到该型号。
|
||||
- 「参数表」标签页上方可对数值参数做范围筛选(如缸径 32 ~ 63),点「应用」生效、「重置」清除。
|
||||
|
||||
## 5. 尺寸图与数据表 / Drawings & Datasheet
|
||||
|
||||
- 「尺寸图」标签页:2D 尺寸图 + **产品手册对照页**(选中系列即显示,滚动翻看规格参数/外形尺寸)
|
||||
- 「数据表」标签页:打开 PDF 数据表
|
||||
- 顶栏按钮可在 中文 / EN 之间切换界面语言
|
||||
|
||||
## 6. 常见问题 / FAQ
|
||||
|
||||
| 问题 | 处理 |
|
||||
|---|---|
|
||||
| 双击无反应 / 被杀软拦截 | 加入杀软白名单;确认系统为 Win10/11 |
|
||||
| 提示"数据包格式版本高于软件支持" | 目录数据比软件新,请联系欧霓博获取新版软件 |
|
||||
| 提示"数据包格式版本不兼容" | 数据包损坏或过旧,请重新获取 catalog.opc |
|
||||
| 下载的 STEP 打开报错 | 换一种"打开"方式(文件→打开,模板选零件);或反馈该型号给欧霓博 |
|
||||
| 3D 标签页显示提示按钮而非模型 | 该型号是真实 CAD 数模,点按钮在浏览器中查看 3D(本机运行) |
|
||||
| 目录内容更新 | 用新 catalog.opc 替换程序旁的旧文件(目录版);单文件版需更换整个 exe |
|
||||
|
||||
## 7. English Quick Guide
|
||||
|
||||
1. Double-click `OnebotCatalog.exe` (no installation, Windows 10/11).
|
||||
2. Pick a series in the left tree, then set parameters (type / bore / stroke / magnet / mounting) — invalid combinations are filtered automatically.
|
||||
3. Click **Download STEP** to save the 3D model (e.g. `KC0032-100MLB.step`), or export many in the **Parameters** tab (Ctrl/Shift multi-select → Export selected).
|
||||
4. Search by model code, Chinese/English names or pinyin keywords in the top search box.
|
||||
5. Use **EN/中** button to switch language.
|
||||
109
docs/维护手册.md
Normal file
109
docs/维护手册.md
Normal file
@@ -0,0 +1,109 @@
|
||||
# 欧霓博气动元件电子目录 —— 维护手册 / Maintenance Manual
|
||||
|
||||
> 面向欧霓博目录维护人员。开发环境要求:Windows 10/11 + Visual Studio 2022 Build Tools(仅需其自带 csc 编译器)。
|
||||
> 更完整的团队操作指南(数模替换/新增系列/打包/排查)见 `onebot-data\数据维护说明书.md`。
|
||||
|
||||
## 1. 数据源(统一路线)
|
||||
|
||||
**唯一数据源 = `onebot-data\catalog\`**:
|
||||
|
||||
| 文件 | 要求 |
|
||||
|---|---|
|
||||
| catalog.json | 目录级定义(版本/分类/系列列表),手工编辑系列列表 |
|
||||
| series\*.meta.json | 每系列定义(参数/规则/显示名/附件),**由维护向导编辑** |
|
||||
| csv\*.csv | 参数表:首列=型号编码(唯一),参数列名=参数代码(bore/stroke/magnet/mount...),**必须含 `step_file` 列**;UTF-8 |
|
||||
| step\*.step | STEP 文件,文件名与 `step_file` 列一致(NX 母模批量导出后放这里;**.stp 后缀自动兼容**,同名即可无需改名) |
|
||||
| crossref.csv | 平替对照表(可选):brand,foreign_model,our_model,note;our_model 必须存在,构建自动校验 |
|
||||
| manual\<系列>\ | 手册页 PNG(render-manual-pages.py 生成) |
|
||||
|
||||
## 2. 日常编辑与重建
|
||||
|
||||
1. 双击 `bin\维护入口.bat`(密码 `onebot888`)→ 顶栏【维护入口】按钮
|
||||
2. 维护窗口:当前包系列清单 + 校验
|
||||
3. 【目录制作器】:Step1 顶部【数据源目录】(默认已填 `onebot-data\catalog`)→ 下拉选系列 → 编辑参数/规则/显示名/附件 →【保存配置】(写回 series\*.meta.json)→ 点 **【重建全量目录】** → 全量 .opc 生成,可一键加载验证
|
||||
- 新系列:手动导入 CSV → 填系列信息 → 保存配置 → 把系列代码加进 catalog.json 的分类列表 → 放 STEP → 重建
|
||||
- 等价 CLI:`bin\OnebotCatalog.exe --buildfull onebot-data\catalog sample\OnebotCatalog_2026.08.opc`(结果看 `sample\build.log`)
|
||||
|
||||
## 3. 校验 / Validate
|
||||
|
||||
维护入口 →「校验 / Validate」检查:STEP 缺失、编码重复、规则引用/冲突、附件缺失。**有 ERROR 不允许发布**(发布门禁会拦)。
|
||||
|
||||
## 4. 一键编译发布 / Publish
|
||||
|
||||
```powershell
|
||||
# 前提: 先关闭正在运行的目录软件 exe 和本地预览服务器 (占用文件会导致失败)
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File tools\publish.ps1 -Opc sample\OnebotCatalog_2026.08.opc -Version 2026.08
|
||||
```
|
||||
|
||||
自动执行:自测门禁(31 项)→ 编译客户版(数据内置、维护入口剔除、图标)→ 发布目录(含本机 3D 查看器组件 ~8MB)→ 增量包 → 网页站。
|
||||
|
||||
产出:
|
||||
- `release\OnebotCatalog_2026.08\` —— 客户交付目录,压缩成 zip 即发(工作区根有现成 zip 示例)
|
||||
- `release\update_2026.08\catalog.opc` —— 增量更新包,客户替换同名文件即升级
|
||||
- `release\web_2026.08\` —— 网页站,整目录上传即上线
|
||||
|
||||
发布前建议在**纯净 Win10/11 虚拟机(断网)**上验收:双击运行、选型、下载 STEP 并在 CAD 中打开核对。
|
||||
|
||||
## 5. 日常命令 / Daily Commands
|
||||
|
||||
| 操作 | 命令 |
|
||||
|---|---|
|
||||
| 编译开发版 | `powershell -NoProfile -ExecutionPolicy Bypass -File tools\build.ps1` |
|
||||
| 自测 | `bin\OnebotCatalog.exe --selftest sample\OnebotCatalog_2026.08.opc`(结果 `sample\selftest.log`) |
|
||||
| 全量构建 | `bin\OnebotCatalog.exe --buildfull onebot-data\catalog sample\OnebotCatalog_2026.08.opc` |
|
||||
| 本地网页预览 | `powershell -NoProfile -ExecutionPolicy Bypass -File tools\serve-web.ps1`(localhost:8080,16 并发) |
|
||||
| 刷新源数据(占位几何) | `powershell -NoProfile -ExecutionPolicy Bypass -File onebot-data\tools\gen-onebot-source.ps1`(NX 真实 STEP 直接替换 catalog\step\ 同名文件即可,无需跑这个) |
|
||||
|
||||
**注意**:编辑任何含中文的 `.ps1`/`.cs`/`.vb` 后必须先运行 `sample-data\tools\fix-bom.ps1` 再编译/运行(PowerShell 5.1/csc 对无 BOM 文件按 GBK 读取会乱码报错)。
|
||||
|
||||
## 6. 修改维护密码 / Change Admin Password
|
||||
|
||||
编辑 `src\App\App.cs` 中 `PromptPassword()` 的 `"onebot888"`,重新编译开发版即可(客户版不含维护入口,无需处理)。
|
||||
|
||||
## 7. 桌面 3D 预览说明
|
||||
|
||||
- 占位简化几何 → 桌面内置 3D 直接渲染
|
||||
- **真实 NX 数模 → 窗口内直渲,不弹浏览器**(2026-08-24 起),四级优先级:
|
||||
1. 有 STL 网格(`mesh\` 侧车目录,与 STEP 同名)→ 开源 Helix Toolkit 窗口内直渲
|
||||
2. 无网格 → **WebView2 内嵌新迪查看器**(窗口内嵌浏览器控件,真实 STEP 直接渲染;Win11 自带运行时,Win10 装 Edge 即有)
|
||||
3. WebView2 不可用 → 外部浏览器回退(程序内嵌本机微型服务器,完全离线;客户版发布目录已附带查看器组件)
|
||||
4. 占位几何 → 内置自绘
|
||||
- 网格生成:NX journal 导出 STEP 时同步导出(`exportStl` 开关);已有真实 STEP 用 `python onebot-data\tools\step-to-stl.py` + `simplify-stl.py` 批量转换压缩
|
||||
- 网页端轻量化(glTF)待办 9,`nx-batch-export-glb.vb` 模板已备
|
||||
|
||||
## 8. 参数化选型引擎(一期,2026-08-25,两端一致)
|
||||
|
||||
- **模式开关**:series.meta.json 的 series 块加 `"mode": "parametric"` + `"modelCodeTemplate"`(语法 `{field}` 或 `{field:padN}` 前补零),参数可定义 range 域:`"type": "range", "min": 10, "max": 200, "step": 1, "gridValues": [10, 20, 30, 50, 75, 100]`。缺失字段 = 枚举模式,老系列零影响
|
||||
- **语义**:CSV 仍是"标准档位网格"(搜索/平替/参数表/下载的数据源);选型面板可输入网格外的**非标组合**(range 自由输入),引擎按模板实时生成型号编码
|
||||
- **非标档位行为**:标题带徽标;STEP 下载按钮置灰(请联系销售或选择标准档位);3D 展示最近标准档位近似几何 + 提示条;可加入清单但打包时跳过并注明
|
||||
- **对拍门禁**:构建期强制校验——参数化系列的**全部 CSV 编码必须能被模板重新生成且一一对应**,任何一个不一致构建失败(build.log 显示"参数化对拍门禁通过: N 个编码全部一致")
|
||||
- **双端一致性**:一份规则 JSON + C#/JS 各一个解释器 + 同一份测试向量 `catalog\parametric-vectors.json`(随 .opc 发布):桌面 selftest 自动对拍;网页无头 `node tools\e2e-parametric.js`(16 项)+ 购物车回归 `node tools\e2e-cart.js`
|
||||
- **联动语义(重要)**:参数合法性按"域+规则"判定,**不按网格行存在性**;规则 Then 参数未选不判违背(避免选一半清空其他选项)
|
||||
- **试点 KC** 已上线;推广新系列时:确认型号编码模板补零规则(对拍门禁会兜底)、按产品手册补规则、range 参数列出 gridValues
|
||||
|
||||
## 9. NX 按需生成服务(二期 A 版,2026-08-25,开发完成待 NX 联调/部署)
|
||||
|
||||
- **架构**:`bin\GenServer.exe`(csc 编译轻量后端:服务端二次校验(复用目录端同一规则引擎)→ 检索先行 → 文件任务队列 → 输出留存 → 限流/CORS)+ 常驻 NX worker(`sample-data\tools\worker_journal.vb`,每席位一个 `run_journal.exe` 进程:认领任务 → 拷母模副本 → 设表达式 → 更新 → 导出多格式 → 写结果;批量任务单会话顺序处理)
|
||||
- **配置(服务器侧,`onebot-data\`)**:`genserver-config.json`(端口/API key/目录;apiKey 留空=匿名模式仅限流)、`masters.json`(母模+表达式映射+switchRules+exports)、`catalog-masters\<系列>\<母模>.prt`
|
||||
- **部署三步**:① 管理员执行 `netsh http add urlacl url=http://+:8899/ user=Everyone`(否则仅本机)② 启动 GenServer ③ 每席位一个:`run_journal.exe worker_journal.vb <worker号> <genserver-config.json 路径>`(NXBIN 下,计划任务守护)
|
||||
- **两端接入**:网页 `web\config.js` 的 api(空=非标下载维持置灰过渡态);桌面 = 源目录 `catalog.json` 的 `genApi` 字段(重建+发布生效)
|
||||
- **检索先行**:`output\<系列>\<型号编码>\` 留存不删(全格式齐全即命中复用,不再触发 NX);任务私有工作副本任务后即删
|
||||
- **多格式导出**:STEP(214)/Parasolid/IGES/STL,下载为全格式 zip;购物车含非标时打包前自动批量生成(型号子文件夹)
|
||||
- **本地联调(无 NX)**:模拟 worker 的 PS 脚本 + 网页端 `tools\e2e-gen.js`(8 项)
|
||||
- **NX 2506 实测 API(2026-08-26,反射探针核对,详见 `开发记录-NX2506批处理攻坚.md`)**:批处理打开部件用 **OpenBaseDisplay**(OpenBase 后 Work=NULL);CloseAll 两参数;建表达式 `Expressions.CreateExpression("Number","名=值")`;改表达式 UF `EditExp`(只改已存在);更新 `ufs.Modl.Update()`;导出器在 **Session.DexManager**(CreateStepCreator/CreateIgesCreator/CreateParasolidExporter/CreateStlCreator);journal 环境无 JSON 库 → 任务文件为行式键值;母模/worker 副本**必须清只读属性**(否则保存被拒)
|
||||
- **待用户确认(上线前)**:① `masters.json` 表达式名按 NX 母模实际命名填写 ② KC 母模放入 `catalog-masters\KC\` ③ run_journal 路径(随 NX 版本)④ **卡点**:批处理模式翻译器导出空几何——需交互式 NX 录制导出宏修正 worker 导出函数,或用真母模直接实测(开发记录 §5 两方案)⑤ 部署时 `netsh http add urlacl url=http://+:8899/ user=Everyone`
|
||||
|
||||
## 10. 购物车批量导出(2026-08-24,两端一致)
|
||||
|
||||
- 加入:参数面板【加入清单】(选型完成后)/ 参数表行尾"+"或勾选行【加入清单】;顶栏【清单 (N)】角标实时计数
|
||||
- 清单面板:桌面独立窗口 / 网页右侧抽屉;数量可改(只在 BOM 数量列体现,zip 每型号一份);支持删除/清空
|
||||
- 一键打包:【下载全部 (zip + BOM)】→ `ONEBOT_清单_<时间戳>.zip` = 全部 STEP(型号命名)+ BOM.csv(UTF-8 BOM,Excel 直开)+ 清单.txt
|
||||
- 购物车生命周期:网页刷新浏览器 / 桌面重启软件才清空;切系列/搜索/平替等操作不影响清单
|
||||
- 桌面零新依赖(net48 ZipArchive);网页用开源 JSZip 3.10.1(MIT,web\libs\jszip.min.js)前端打包
|
||||
|
||||
## 11. English Summary
|
||||
|
||||
- Data source: `onebot-data\catalog\` (catalog.json + per-series meta JSON + CSVs with a `step_file` column + STEP files + manual page PNGs).
|
||||
- Edit: run `bin\维护入口.bat` (password `onebot888`) → Admin → Builder → pick series → save → 【重建全量目录】 (same engine as CLI `--buildfull`).
|
||||
- Publish: `tools\publish.ps1` runs the selftest gate first, then compiles the customer exe (data embedded, no admin entry), assembles the release folder + incremental update package + static web site.
|
||||
- Always run `sample-data\tools\fix-bom.ps1` after editing Chinese-containing .ps1/.cs/.vb files.
|
||||
58
docs/部署清单.md
Normal file
58
docs/部署清单.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# NX 按需生成服务 · 迁移到不加密服务器验证清单
|
||||
|
||||
> 目标:把整套「选型网页 + 生成服务 + NX worker」搬到一台不加密服务器(装 NX 2512)跑通验证。
|
||||
> 更新:2026-08-27
|
||||
|
||||
## 1. 要拷贝的最小集合
|
||||
|
||||
服务器只需这 6 项(其余源码/工具可带可不带):
|
||||
|
||||
| 目录/文件 | 作用 | 必带 |
|
||||
|---|---|---|
|
||||
| `bin\GenServer.exe` | 生成服务后端(已编译,net48,Windows 自带运行时,无需装 VS)| ✅ |
|
||||
| `genserver-local\` | 配置 + jobs/output/work 目录 | ✅ |
|
||||
| `catalog-masters\` | 母模 `KC_master.prt` | ✅ |
|
||||
| `onebot-data\catalog\` + `onebot-data\masters.json` | 数据源(GenServer 校验规则用)+ 母模映射表 | ✅ |
|
||||
| `sample-data\tools\worker_journal.vb` | NX worker 脚本 | ✅ |
|
||||
| `release\web_2026.08\` | 选型网页站(含 config.js)| ✅ |
|
||||
| `viewer\` | 新迪 3D 查看器(网页 3D 预览用,可选)| ⚠️ 可选 |
|
||||
|
||||
## 2. 服务器前置条件
|
||||
|
||||
- **Windows 10/11**(net48 内置)
|
||||
- **NX 2512**(跑 run_journal + worker + step214ug.exe/iges.exe)
|
||||
- 不需要装 VS Build Tools(GenServer.exe 已编译好;只有改 GenServer 代码才要重编译)
|
||||
|
||||
## 3. 必须改的 3 处(按服务器实际路径/版本改)
|
||||
|
||||
### ① `genserver-local\genserver-config.json` —— 改绝对路径
|
||||
|
||||
当前是 `d:\开发\OnebotCatalog\...`,改成服务器实际路径。`nxBin` 留空即可(GenServer 自动探测 `C:\Program Files\Siemens\NX*\NXBIN`,能覆盖 2512)。
|
||||
|
||||
### ② `_start_all.bat` —— 改 run_journal 路径
|
||||
|
||||
第 4 步写死了 `C:\Program Files\Siemens\NX2506\NXBIN\run_journal.exe`,**要改成 NX2512**(或改成自动探测)。
|
||||
|
||||
### ③ `release\web_2026.08\config.js` —— 改生成服务地址
|
||||
|
||||
```js
|
||||
window.GEN_CONFIG = { api: "http://localhost:8899" };
|
||||
```
|
||||
- 网页与生成服务**同机** → 保持 `localhost:8899` 不用改
|
||||
- 不同机 → 改成服务器 IP,如 `http://192.168.x.x:8899`
|
||||
|
||||
## 4. 验证步骤
|
||||
|
||||
1. 启动:`_start_all.bat`(会自动 编译→启动 GenServer→启动 worker→health 自检)
|
||||
2. 浏览器开 `http://<服务器>:8080`,看底部信息栏圆球变**绿**(服务就绪)
|
||||
3. 选 KC 系列,stroke 填 87(非标),点【在线生成数模】
|
||||
4. 生成完 → 网页内 3D 预览 → 选格式 → 下载
|
||||
5. 打开 `output\KC\KC0032-87\KC0032-87.stp` 确认含实体(几十 KB,非 2KB 空壳)
|
||||
|
||||
## 5. 注意点
|
||||
|
||||
- **NX 2512 的 journal API 需实测**:worker 的反射探针结论基于 2506,2512 的 `OpenBaseDisplay/EditExp/CloseAll` 是否一致,换机后第一次跑要盯日志。
|
||||
- **`step214ug.exe`/`iges.exe` 是独立命令行工具**,跨版本大概率稳定,不依赖 NX 会话。
|
||||
- **license 席位**:跑 worker 前确认交互式 NX 已关(批处理需独立席位)。
|
||||
- 若 nxBin 自动探测不到(NX 装自定义路径),用 `/admin` 页手动选 NX 目录。
|
||||
- **后台 `/admin` 密码登录**:默认密码 `onebot888`(在 `genserver-local\genserver-config.json` 的 `adminKey` 字段改)。后台三 tab:UG 配置 / 参数配置 / 模型管理。
|
||||
Reference in New Issue
Block a user