256 lines
5.4 KiB
Markdown
256 lines
5.4 KiB
Markdown
# 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 <repository-url>
|
||
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接口实现
|
||
- 质量检查系统
|
||
|
||
---
|
||
|
||
**注意**: 本系统目前处于开发阶段,部分功能可能不完整。建议在生产环境使用前进行充分测试。 |