# 软件开发提示词：自研气动元件电子目录系统（对标 CADENAS PARTdataManager）

## 角色与任务

你是一名资深软件架构师兼全栈工程师，负责从零设计和实现一套 Windows 桌面端的"气动元件电子目录系统"，功能对标 CADENAS PARTdataManager 目录光盘（参考实现：Airtac 亚德客目录光盘 PARTsolutions v11 SP5，含目录浏览、参数化选型、3D 预览、CAD 导出、Teamcenter 集成）。要求：每个里程碑开始前先输出设计文档（数据模型、API 设计、UI 原型），经我确认后再编码。

## 项目背景

- 公司：欧霓博（气动元件/气缸制造商）
- 目标：替代商业方案 CADENAS，自研轻量目录软件：普通客户（各类 CAD 用户）通过软件浏览/选型气动元件，**下载 STEP 文件**导入自己的 CAD 使用；产出"离线目录包 + 光盘/安装包"交付。核心功能一句话——**客户能选到型号、下载到正确的 STEP 文件**，其余功能均为可选增强
- 现状：自有 SolidWorks/NX 三维模型（可导出 STEP）、Excel 参数表、PDF 数据表；不使用任何 CADENAS 工具

## 硬性约束

1. 不解析、不依赖、不捆绑任何 CADENAS 专有格式或运行时（.3db / .cip / PARTdataManager 软件目录）
2. 完全离线运行（客户工厂内网/光盘场景，无网络依赖）
3. 界面中英双语（资源文件管理，可扩展更多语言）
4. 目标平台 Windows 10/11 x64
5. 保持架构简单：单机离线桌面程序即可，不引入云服务、账号体系、在线激活等非必要复杂度
6. 每个里程碑交付：可运行 demo + 单元测试 + 简短使用说明

## 功能需求（按优先级，严格按顺序推进）

### P0 — 最小可用（里程碑 M1）

- 目录浏览器：左侧目录树（产品分类 → 系列 → 具体型号），右侧部件列表与详情
- 参数化选型配置器：按型号编码规则（如 缸径/行程/磁石/缓冲方式/安装方式）筛选配置；配置变更实时联动参数表与 3D 模型
- 3D 预览：读取 STEP 模型，支持旋转/平移/缩放；模型随参数配置更新（参数化变型）
- 数据表页：2D 尺寸图（图片/PDF）、技术参数表、选型说明文档
- **STEP 下载（核心交付功能，放 P0）**：将当前配置的零件导出为 STEP 文件，文件名按型号规则自动命名（如 型号+缸径+行程），客户保存到本地后用任意主流 CAD 打开
- 多语言：所有 UI 文案走资源文件，默认中/英
- 维护入口：内置管理端入口（如菜单项或启动参数 --admin，支持密码保护），普通客户不可见；进入后可查看/替换目录数据包、管理数据版本，为 M2 的编辑功能留出位置

### P1 — 完整可用（M2）

- 搜索：全文搜索（型号/名称/关键词，支持拼音）；参数范围搜索（缸径 6~32mm、行程 ≤500 等组合条件）
- 批量下载：多选零件批量导出 STEP（zip 打包，保持单文件命名规则）
- （可选）IGES 等额外格式导出
- （可选）收藏夹与 BOM：批量选择零件，导出 Excel/CSV BOM 清单
- （可选）数据表生成：由参数表按模板生成 PDF 数据表

### P2 — 交付与可选扩展（M3 起）

- 一键编译发布（维护入口内）：点击"编译发布"，把目录数据打进**客户版 exe**——数据内置的单文件程序，客户拿到即用，效果等同 Airtac 光盘（软件+目录数据一体）；同时支持生成光盘/USB 目录结构（autorun.inf、启动器、增量更新包）
- （可选扩展，仅当有客户明确需要时再做）Teamcenter 集成：通过 Teamcenter SOA API 检入零件（Item/ItemRevision/属性映射/目标文件夹/ID 回写）；映射配置采用 JSON 文件，按 TC 版本隔离；支持登录会话、批量检入、失败重试与日志
- （可选，不建议投入）相似性搜索：三维几何相似搜索或草图逆向搜索；若做，裁剪为"同系列尺寸相近推荐"

### 维护入口（管理端，集成在同一软件内，M2 起）

- 管理端通过维护入口进入（普通客户不可见：菜单项或启动参数 --admin，支持密码保护）
- 目录制作器 Builder（维护入口内）：导入 STEP 模型库 + Excel/CSV 参数表 → 定义系列、参数列、型号编码规则、选型约束 → 输出目录数据包
- 规则引擎：支持选型约束 DSL，例如：
  - 缸径=32 时，行程仅允许 25/50/75/100
  - 带磁石型号必须可选磁性开关槽
- 校验器：模型缺失、参数表与规则冲突、图片/文档缺失检查（对标 qacheck 思想）

## 技术栈（默认方案，更换需先说明理由）

- 主语言/框架：C# / .NET 8（WPF + MVVM）；理由：Windows 生态、与 Teamcenter .NET API 兼容、开发效率高
- 3D：OpenCascade (OCCT) 读取 STEP 并渲染；对显示精度要求不高的场景可备选 Helix Toolkit 网格展示
- 存储：SQLite（FTS5 全文索引；参数以 JSON 列存储）
- 安装包：Inno Setup；光盘启动器：C# 小型启动器（autorun.inf 调用）
- 测试：xUnit；git 管理，每个里程碑打 tag

## 目录数据包格式（要求给出 schema 并评审）

设计自有开放数据包格式（暂名 .opc，Open Parts Catalog），需支持：目录树、系列、零件、参数表（带单位与约束）、型号编码规则、STEP 几何引用、图片/PDF 附件、多语言文案。交付 JSON Schema 或 SQLite schema，并说明版本化策略（向前兼容、增量更新）。

## 架构要求

模块化分层，核心模块：

- CatalogCore：数据包读写
- ConfiguratorEngine：规则引擎 + 选型逻辑
- Viewer3D：STEP 加载与渲染
- SearchEngine：全文/参数搜索
- ExportEngine：CAD 导出
- TcIntegration：Teamcenter 集成（可选扩展模块，独立编译开关，默认版本不含）
- Packager：数据打包与发布（客户版 exe 生成 + 光盘/USB 目录结构）
- Builder：目录制作器（运行在维护入口/管理端内，编译出的客户版 exe 不含维护入口）

模块间低耦合，界面与逻辑分离（MVVM），核心库不依赖 UI 框架。

## 可选扩展：Teamcenter 集成要点（仅按需开发时细化设计）

- 使用 Teamcenter SOA API；配置项：TC 服务器地址/端口、映射文件（ItemType、ItemID 生成策略、版本规则、属性映射表、目标文件夹、ID 回写）
- 异常处理：登录过期、权限不足、断线重试，全部落日志
- 不绑定特定 TC 版本，通过映射配置适配不同版本

## 里程碑与验收标准

- M1 核心闭环：目录浏览 + 选型配置 + 3D 预览 + STEP 下载；打开示例数据包，完成一个气缸系列"选型 → 下载 STEP"全流程
- M2 维护入口 + 搜索 + 批量下载：在维护入口内用 Builder 从 STEP+Excel 生成数据包并被运行时正确读取；下载的 STEP 在 SolidWorks/NX 等主流 CAD 中打开且尺寸正确
- M3 一键编译发布：维护入口中"编译发布"生成客户版单文件 exe（目录数据内置，无维护入口）+ 可选光盘/USB 目录结构（含 1 个示例系列），多语言，交付用户手册与目录维护手册——正式版
- M4（可选扩展）TC 集成：在测试 TC 环境批量检入 10 个零件，属性映射全部正确

每阶段流程：设计文档 → 确认 → 编码 → 单测 → 验收。

## 交付物

1. 客户版单文件 exe（目录数据内置）+ 维护版软件（含维护入口）+ 示例数据（欧霓博 1 个真实气缸系列）
2. 完整源码（含单元测试）
3. 用户手册 + 目录维护手册（如何用 Builder 更新目录）
4. 数据包格式规范文档

## 开始编码前必须先向我确认的问题

- 气缸型号编码规则样例（提供真实编码表）
- 客户常用 CAD 软件（仅用于验证 STEP 兼容性；STEP 为通用格式，通常无需适配）
- （可选）是否有客户明确需要 Teamcenter 集成；如有，再提供 TC 版本与部署方式（四层/两层）
