6.9 KiB
6.9 KiB
CAD 软件模型处理 API 集成文档
本文档详细说明了不同 CAD 软件(Creo, Revit, PDMS)在本项目中的 API 接入规范,包括基础配置、核心模型操作以及类似 Shrink Wrap(几何优化轻量化)功能的接口文档。请按照以下说明进行前后端集成。
1. Creo Parametric
- CAD 软件名称: Creo Parametric (版本 9.0)
- Base URL:
http://localhost:12345 - 端口:
12345
1.0. 插件可用性探活 API (Health Check)
- 接口路径:
/api/health(或/api/status) - 请求方式:
GET - 基础描述: 用于队列执行前快速判活,检测 Creo 插件是否正常启动并可以接收任务,减少无效重试。
- 接入说明:
- 请求参数: 无
- 响应格式:
{ "status": "success", "message": "Creo 插件在线就绪", "data": { "isBusy": false // 是否正忙于处理其他任务 } } - 异常响应: 如插件未启动、断联或崩溃,通常表现为连接超时或 HTTP 50x 错误。
1.1. 打开模型 API
- 接口路径:
/api/model/open - 请求方式:
POST - 基础描述: 在 Creo 软件中加载指定的模型文件。
- 接入说明:
- 请求头:
Content-Type: application/json - 请求体 (Body):
{ "filePath": "C:\\path\\to\\your\\model.prt" // 字符串,必须是绝对路径 } - 响应格式:
{ "status": "success", // 或 "error" "message": "模型加载成功", "data": null } - 常见错误: 若路劲不存在或 Creo 实例未启动,status 会返回 error。
- 请求头:
1.2. 几何优化分析 API (类似 Shrink Wrap 功能)
- 接口路径:
/api/creo/shrinkwrap/shell(及/api/analysis/shell-analysis) - 请求方式:
POST - 基础描述: 对打开的模型执行几何外壳提取或包络处理,用于轻量化。
- 接入说明:
- 请求头:
Content-Type: application/json - 请求体 (Body - 参数示例):
{ "method": "outer_shell", // 提取方法:外壳 "quality": 5, // 提取质量 (1-10) "chord_height": 0.15, // 弦高公差 "fill_holes": false, // 是否填充孔洞 "ignore_small_surfaces": false, // 是否忽略小曲面 "output_type": "solid_surface" // 输出类型 } - 响应格式:
{ "status": "success", "message": "几何优化完成", "data": { "output_file": "C:\\path\\to\\optimized_model.prt" } }
- 请求头:
1.3. 关闭模型 API
- 接口路径:
[占位待实现] /api/model/close - 请求方式:
POST - 基础描述: 关闭当前在 Cero 中处于激活状态的模型,释放内存。
- 接入说明:
- 当前后端尚未提供明确的单独关闭接口。
- 未来预期请求体:
{ "clearMemory": true // 是否连带清除缓存 }
2. Revit
- CAD 软件名称: Revit (版本 2024)
- Base URL:
http://localhost:9000 - 端口:
9000
2.0. 插件可用性探活 API (Health Check)
- 接口路径:
/api/health(或/api/status) - 请求方式:
GET - 基础描述: 用于队列执行前快速判活,检测 Revit 插件是否正常启动并可以接收任务,减少无效重试。
- 接入说明:
- 请求参数: 无
- 响应格式:
{ "status": "success", "message": "Revit 插件在线就绪", "data": { "isBusy": false } } - 异常响应: 如插件未启动、断联或崩溃,通常表现为连接超时或 HTTP 50x 错误。
2.1. 打开模型 API
- 接口路径:
/api/open - 请求方式:
POST - 基础描述: 打开指定的 Revit 项目文件 (.rvt)。
- 接入说明:
- 请求格式:
application/json - 请求体 (Body):
{ "filePath": "C:\\path\\to\\project.rvt" }
- 请求格式:
2.2. 轻量化提取外壳 API (类似 Shrink Wrap 功能)
- 接口路径:
/api/shell/analyze(提取分析) //api/shell/execute(执行处理) - 请求方式:
POST - 基础描述: 分析 Revit 建筑模型并剥离内部不需要的实体细节。
- 接入说明:
- 请求体 (Body):
{ "detailLevel": "coarse", // 粗略级别 "removeInternal": true // 是否移除内部构件 } - 响应格式:
{ "status": "success", "data": { "taskId": "task-123456" // 大模型处理可能较慢,建议通过 /api/task 轮询进度 } }
- 请求体 (Body):
2.3. 关闭模型 API
- 接口路径:
[占位待实现] /api/close - 请求方式:
POST - 基础描述: 关闭 Revit 当前工程并释放资源。
- 接入说明:
- 当前未列出明确接口,前端可作为占位按钮。
3. PDMS
- CAD 软件名称: PDMS (版本 12.1)
- Base URL:
http://localhost:9001 - 端口:
9001
3.0. 插件可用性探活 API (Health Check)
- 接口路径:
/api/health(或/api/status) - 请求方式:
GET - 基础描述: 用于队列执行前快速判活,检测 PDMS 插件是否正常启动并可以接收任务,减少无效重试。
- 接入说明:
- 请求参数: 无
- 响应格式:
{ "status": "success", "message": "PDMS 插件在线就绪", "data": { "isBusy": false } } - 异常响应: 如插件未启动、断联或崩溃,通常表现为连接超时或 HTTP 50x 错误。
3.1. 打开模型 API
- 接口路径:
/api/project/open(打开工程) //api/mdb/open(打开 MDB 数据库) - 请求方式:
POST - 基础描述: 载入 PDMS 的工程或特定 MDB 库。
- 接入说明:
- 请求体 (Body):
{ "projectName": "SAM", "username": "SYSTEM", "password": "XXXXXX", "systemName": "CATA" }
- 请求体 (Body):
3.2. 模型简化与包裹 API (类似 Shrink Wrap 功能)
- 接口路径:
/api/model/shrinkwrap(包裹) //api/model/simplify(参数化简化) - 请求方式:
POST - 基础描述: 将复杂的管道、设备利用包围盒或简化几何进行替代。
- 接入说明:
- 请求体 (Body) - Simplify 示例:
{ "targetElements": ["/EQUIP-1", "/PIPE-2"], "simplifyMethod": "bounding_box" } - 响应: 处理成功后通常会通过 WebSocket 推送更新或直接返回简化的模型状态数据。
- 请求体 (Body) - Simplify 示例:
3.3. 关闭模型 API
- 接口路径:
[占位待实现] /api/project/close - 请求方式:
POST - 基础描述: 退出工程并回收当前资源。
- 接入说明:
- 占位状态,开发集成时需要确保该请求不会导致整个 PDMS 进程意外崩溃。