首次提交: OnebotCatalog 项目代码与文档(含 NX 按需生成服务二期、后台、一键启动)

This commit is contained in:
wangruiguo
2026-09-03 17:55:45 +08:00
commit fafa86d3a6
241 changed files with 78656 additions and 0 deletions

92
docs/工作交接.md Normal file
View 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红=故障**。
## 四、UGNX配置后台怎么进
浏览器开:**`http://localhost:8899/admin`**
**密码登录**:默认密码 `onebot888`。打开 `/admin` 先弹登录页 → 输密码 → 进后台。
后台是**顶部三个 tab**(点击切换):
1. **UG 配置**NX 版本目录(自动探测 2506/2512可手动选、数据源/母模/输出/任务/工作各目录、端口、API Key、管理页密码、队列上限、批量上限、限流
2. **参数配置**:直接编辑 `masters.json`expressionMap / switchRules / exports保存后即时热重载无需重启
3. **模型管理**:手动清理(一键清空 output 目录)+ 定时清理(设置留存时长 outputTtlHours0=永不清空)
- 密码改法:`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` 后台实现。