# 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 配置 / 参数配置 / 模型管理。
