首次提交: 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` 后台实现。
|
||||
Reference in New Issue
Block a user