Commit Graph

9 Commits

Author SHA1 Message Date
root
e8491eb419 修复HttpServer字符编码问题并增强超时处理
主要修改:
- 修复HttpServer.cpp中的乱码注释导致的编译错误
- 转换文件为CRLF行尾符,添加UTF-8 BOM确保Visual Studio兼容性
- 增强Socket超时处理:添加接收/发送超时30秒配置
- 更新Config.h添加SOCKET_RECV_TIMEOUT_MS和SOCKET_SEND_TIMEOUT_MS常量
- 完善异常处理机制,确保服务线程稳定性

技术细节:
- 解决乱码注释:OPTIONS预检请求处理、查找路由处理器等10处注释
- 网络稳定性:防止recv/send操作无限阻塞导致服务不响应
- 文件编码标准化:符合项目其他文件的编码规范

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-08 14:56:44 +08:00
root
0e98285a74 实现路径删除功能并修复编译问题
## 新增功能
- 新增PathDeleteManager类,实现按路径批量删除装配体组件
- 支持绝对和相对路径格式的智能解析
- 采用按装配体分组的抑制策略,确保上下文正确匹配
- 完善的异常处理和错误原因追踪机制

## 修复的技术问题
- 解决路径删除"Unknown exception during suppression operation"错误
- 修复特征ID与owner_assembly上下文不匹配问题
- 转换文件为CRLF行尾符,解决Visual Studio编译错误
- 添加UTF-8 BOM确保编码一致性
- 移除C++11语法实现传统C++兼容性

## API端点
- POST /api/creo/path/delete - 路径组件删除接口

## 文件变更
- 新增: PathDeleteManager.h, PathDeleteManager.cpp
- 修改: MFCCreoDll.cpp (集成路径删除接口)
- 修改: 项目配置文件
- 更新: CLAUDE.md (技术文档)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-08 12:29:58 +08:00
root
60ea4cef1c 实现完整的Shrinkwrap外壳导出功能 - 高性能优化版本
主要功能:
- 新增Shrinkwrap外壳导出API (/api/creo/shrinkwrap/shell)
- 使用OTK SurfaceSubsetInstructions实现真正的外壳导出
- 智能重名处理,自动生成唯一文件名
- 完全使用用户参数配置,无硬编码限制

性能优化:
- 移除耗时的装配体分析和差异计算
- 简化文件保存逻辑,统一保存到工作目录
- 精简API响应格式,专注核心导出功能
- 大幅提升导出速度和系统稳定性

技术突破:
- 解决Windows API宏冲突问题 (GetCurrentDirectory)
- 实现SurfaceSubset vs MergedSolid性能差异优化
- 建立稳定的跨线程OTK操作机制
- 支持装配体和零件的统一外壳导出

文件变更:
+ ShrinkwrapManager.h/cpp - 核心Shrinkwrap功能实现
+ ShellExportHandler.h/cpp - HTTP API处理逻辑
* MFCCreoDll.cpp - 集成新的消息处理和路由
* CLAUDE.md - 更新项目文档

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-02 16:21:03 +08:00
root
dc8ec67fea 实现无锁线程安全方案解决模型打开超时问题
- 发现并解决HTTP线程无法使用C++标准库mutex的根本问题
- 实现完全无锁的MessageItem跨线程通信机制
- 集成窗口激活功能到OpenModel流程,实现完整模型加载体验
- 清理修改过程中的无效代码和重复代码
- 更新技术文档记录无锁线程方案的完整实现

主要技术突破:
• 零锁开销的原子操作跨线程通信
• 基于volatile指针和atomic<bool>的同步机制
• 直接在主线程集成窗口激活,避免嵌套消息冲突
• 保持所有现有API 100%兼容,不影响任何现有功能

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-23 13:57:54 +08:00
root
aa66f3ddc0 实现Creo模型关闭功能接口
- 添加关闭模型API端点 POST /api/model/close
- 支持安全关闭和强制关闭两种模式
- 实现修改状态检查防止数据丢失
- 添加详细的关闭结果反馈
- 完善的异常处理和错误信息

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-22 08:32:19 +08:00
root
872a68d5be 实现Creo模型保存功能接口
新增功能:
- 添加SaveResult结构体用于保存操作结果
- 实现CreoManager::SaveModel()方法,使用OTK pfcModel::Save() API
- 添加SaveModelHandler HTTP路由处理器
- 注册/api/model/save接口支持POST请求

技术特性:
- 简化设计:只保存当前模型到原位置,无复杂另存为逻辑
- 完善的OTK异常处理:支持BadInputs、GeneralError、InvalidName等
- 标准JSON API格式:返回文件大小、保存时间、软件信息等
- 与现有架构完全兼容:不影响任何现有功能

API使用:
POST /api/model/save
请求: {"software_type": "creo"}
响应: 包含file_size、save_time、software、original_file等信息

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 19:46:22 +08:00
root
f29fb303fe 实现Creo薄壳化分析功能 - 基于真实几何边界算法
新增薄壳化分析接口 POST /api/creo/analysis/shell,实现CAD模型内部特征识别和删除建议。

技术突破:
- 使用OTK pfcOutline3D API实现真实几何包络盒计算
- 基于边界识别法构建外壳特征白名单
- 实现标准置信度计算和特征安全性评估算法
- 支持零件和装配体的完整薄壳化分析
- 完全移除假数据和模拟计算,实现纯几何分析

API功能:
- 返回安全删除、建议删除、保留特征的完整分类
- 包含特征ID、名称、类型、置信度、体积减少预估
- 正确显示partFile和partPath信息(含扩展名)
- 支持层级路径显示和文件信息追踪

已解决问题:
- 修复特征名称格式(EXTRUDE_1等标准格式)
- 修复路径显示问题(保留文件扩展名)
- 解决编译错误(中文字符串问题)
- 实现与层级分析接口一致的数据格式

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-19 18:52:53 +08:00
root
cd59030b73 实现完整的Creo Web API集成系统
- 添加模块化HTTP服务器架构,支持路由注册和请求处理
- 实现Creo状态检测API,提供连接状态和模型状态实时监控
- 完成STEP格式模型导出功能,支持装配体和零件导出
- 实现装配体层级结构分析,支持无限深度遍历和组件信息提取
- 添加层级组件安全删除功能,使用抑制策略保持装配体完整性
- 集成WebSocket服务器框架,为实时通信和长操作做准备
- 完善JSON处理、日志记录和认证管理基础设施
- 修复OTK API兼容性问题和内存管理优化
- 解决DeleteFeatures崩溃问题,采用SuppressFeatures替代方案

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-19 15:46:25 +08:00
0fe01d65f3 Initial commit 2025-07-16 17:16:59 +08:00