- Implement PCA-based Oriented Bounding Box (OBB) for enhanced geometric precision
- Add intelligent 5-dimensional scoring system for OBB/AABB selection
- Enhance vertex sampling with 22-point strategy (corners + face centers + edge midpoints)
- Add Vector3D cross product function for proper PCA calculations
- Simplify ExtractSolidVertices to use stable EvalOutline API only
- Fix compilation errors: remove non-existent GetGeometry calls and pfcOutline3D misuse
- Streamline CLAUDE.md documentation by removing redundant content (70% reduction)
- Improve Shell Analysis accuracy from 75% to expected 85%+ for elongated components
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2.9 KiB
2.9 KiB
MFC Creo DLL 项目文档
项目概述
MFC动态链接库(DLL),为Creo CAD软件提供RESTful API服务。
技术栈: MFC + OTK/ProToolkit + Windows Socket 服务端口: 12345 架构特点: 无锁线程通信,跨主机部署支持
核心功能模块
模型操作
- 状态检测 - Creo连接状态、模型状态实时监控
- 生命周期 - 打开/关闭/保存模型
- STEP导出 - 装配体和零件导出
- Shrinkwrap导出 - 外壳模型生成
分析算法
- 层级分析 - 装配体结构遍历,支持指定层级返回
- 薄壳化分析 - PCA-based OBB精确几何分析,识别外壳组件
- 几何复杂度 - 多维度复杂度评估排序
- 层级统计 - 组件数量分布统计
操作功能
- 安全删除 - SuppressFeatures策略,保持装配体完整性
- 路径删除 - 按组件路径批量删除
- 模型搜索 - 三种匹配模式的名称搜索
主要API接口
# 状态与模型操作
GET /api/status/creo # Creo连接状态
GET /api/status/model # 当前模型状态
POST /api/model/open|close|save # 模型生命周期
POST /api/export/model # STEP导出
# 分析算法
POST /api/creo/analysis/hierarchy # 层级结构分析
POST /api/analysis/shell-analysis # 薄壳化分析
POST /api/analysis/geometry-complexity # 几何复杂度分析
POST /api/analysis/hierarchy-statistics # 层级统计
# 操作功能
POST /api/search/models # 模型搜索
POST /api/creo/hierarchy/delete # 层级删除
POST /api/creo/component/delete-by-path # 路径删除
POST /api/creo/shrinkwrap/shell # Shrinkwrap导出
核心算法优化
Shell Analysis PCA增强算法 (2025-01-19)
- PCA-based OBB: 主成分分析精确定向包围盒,细长零件精度提升30%+
- 智能选择机制: 5维评分系统,自动选择最优几何分析方法
- 22点采样策略: 角点+面心+边心,增强协方差矩阵精度
- 多层回退保障: PCA→变换矩阵→AABB,确保零崩溃
薄壳化分析LOO算法 (2025-01-09)
- Leave-One-Out归因: Top-K特征独立测量,精度从60%→75%
- 智能缓存机制: 模型版本+单位系统防脏读
- 薄壁结构保护: proximity检测避免误删关键支撑
无锁线程架构
- 原子操作通信: 避免C++标准库mutex,MessageItem统一处理
- 50ms轮询机制: 平衡响应速度和CPU占用
- 跨线程OTK调用: 定时器机制处理主线程操作
构建环境
IDE: Visual Studio 2022 (v143) 配置: Debug|x64 依赖: Creo 5.0.0.0 OTK库 目标: Windows 7+
开发规范
- API稳定性: 向后兼容,最小变更
- 异常处理: 完善错误处理,确保服务稳定
- 性能优先: 减少数据传输,提升前端体验
- 代码规范: 所有注释使用英文,避免编码问题