# CAE网格生成助手 基于AI的自动化CAE网格生成系统,专门用于涡扇叶片的网格划分。 ## 功能特性 - 🚀 **自动化网格生成**: 基于ANSYS Mechanical的智能网格划分 - 📁 **文件上传**: 支持STEP格式的3D模型文件上传 - 🎯 **智能识别**: 自动识别叶片关键区域(前缘、后缘、根部) - 📊 **质量检查**: 实时网格质量评估和报告 - 🖥️ **Web界面**: 现代化响应式用户界面 - 📈 **实时监控**: 处理进度实时显示和状态更新 ## 系统要求 ### 必需组件 - Python 3.8+ - Flask 2.0+ - ANSYS Mechanical 2023R1+ (可选,用于实际网格生成) ### Python依赖 ```bash pip install -r requirements.txt ``` ## 快速开始 ### 1. 安装依赖 ```bash # 克隆项目 git clone cd cae-mesh-generator # 安装Python依赖 pip install -r requirements.txt ``` ### 2. 启动应用 ```bash # 使用启动脚本(推荐) python run_app.py # 或直接运行Flask应用 python app.py ``` ### 3. 访问应用 打开浏览器访问: http://localhost:5000 ## 使用说明 ### 基本工作流程 1. **上传文件** - 点击上传区域或拖拽STEP文件 - 支持.step和.stp格式 - 文件大小限制:100MB 2. **开始处理** - 文件上传成功后,点击"开始生成"按钮 - 系统将自动进行网格划分 3. **监控进度** - 实时查看处理进度和状态 - 查看详细的处理日志 4. **查看结果** - 网格统计信息 - 质量评估报告 - 可视化展示(开发中) 5. **下载结果** - 网格文件下载 - 质量报告下载 - 可视化图像下载 ## 项目结构 ``` cae-mesh-generator/ ├── app.py # Flask应用主入口 ├── start.py # 快速启动脚本 ├── config.py # 配置文件 ├── requirements.txt # Python依赖 ├── README.md # 项目说明 ├── backend/ # 后端代码 │ ├── api/ # API路由 │ ├── core/ # 核心业务逻辑 │ ├── models/ # 数据模型 │ ├── utils/ # 工具函数 │ └── pymechanical/ # ANSYS集成 ├── frontend/ # 前端资源 │ ├── index.html # 主页面 │ ├── static/ # 静态资源 │ │ ├── css/ # 样式文件 │ │ └── js/ # JavaScript文件 │ └── uploads/ # 上传文件存储 ├── scripts/ # 脚本工具 │ ├── demo_launcher.py # 演示启动器 │ ├── deployment_check.py # 部署检查 │ └── run_app.py # 应用启动脚本 ├── test/ # 测试文件 ├── results/ # 结果文件存储 └── temp/ # 临时文件 ``` ## API接口 ### 文件上传 ```http POST /api/upload Content-Type: multipart/form-data 参数: - file: STEP文件 ``` ### 开始网格生成 ```http POST /api/mesh/generate Content-Type: application/json ``` ### 查询处理状态 ```http GET /api/mesh/status ``` ### 获取结果 ```http GET /api/mesh/result ``` ## 测试 ### 运行集成测试 ```bash # 启动应用 python run_app.py # 在另一个终端运行测试 python test_integration.py ``` ### 测试内容 - 前端页面加载 - 静态文件服务 - API端点响应 - 文件上传功能 ## 开发模式 ### 启用调试模式 ```bash export FLASK_ENV=development export FLASK_DEBUG=1 python app.py ``` ### 代码结构说明 #### 后端组件 - **API层**: 处理HTTP请求和响应 - **核心层**: 业务逻辑和ANSYS集成 - **模型层**: 数据结构定义 - **工具层**: 辅助功能和工具函数 #### 前端组件 - **HTML模板**: 响应式用户界面 - **CSS样式**: 现代化视觉设计 - **JavaScript**: 交互逻辑和API调用 ## 配置选项 ### 环境变量 ```bash # Flask配置 FLASK_ENV=development FLASK_DEBUG=1 # 文件上传配置 MAX_CONTENT_LENGTH=104857600 # 100MB # ANSYS配置 ANSYS_VERSION=231 # ANSYS版本 ANSYS_MODE=batch # 运行模式 ``` ### 配置文件 (config.py) ```python FLASK_CONFIG = { 'MAX_CONTENT_LENGTH': 100 * 1024 * 1024, # 100MB 'UPLOAD_FOLDER': 'uploads', 'RESULT_FOLDER': 'results', 'TEMP_FOLDER': 'temp' } ``` ## 故障排除 ### 常见问题 1. **ANSYS连接失败** - 检查ANSYS是否正确安装 - 确认PyMechanical模块可用 - 检查许可证状态 2. **文件上传失败** - 检查文件格式(仅支持STEP) - 确认文件大小不超过100MB - 检查uploads目录权限 3. **前端无法加载** - 确认Flask应用正在运行 - 检查静态文件路径配置 - 清除浏览器缓存 ### 日志查看 ```bash # 查看Flask应用日志 tail -f app.log # 查看ANSYS处理日志 tail -f ansys.log ``` ## 贡献指南 1. Fork项目 2. 创建功能分支 3. 提交更改 4. 推送到分支 5. 创建Pull Request ## 许可证 本项目采用MIT许可证 - 查看LICENSE文件了解详情 ## 联系方式 如有问题或建议,请通过以下方式联系: - 创建Issue - 发送邮件至: [your-email@example.com] ## 更新日志 ### v1.0.0 (2025-01-01) - 初始版本发布 - 基本网格生成功能 - Web用户界面 - API接口实现 - 质量检查系统 --- **注意**: 本系统目前处于开发阶段,部分功能可能不完整。建议在生产环境使用前进行充分测试。