193 lines
6.2 KiB
Markdown
193 lines
6.2 KiB
Markdown
# CAE网格生成助手 - 项目结构说明
|
||
|
||
## 📁 目录结构概览
|
||
|
||
```
|
||
cae-mesh-generator/
|
||
├── 📄 app.py # Flask应用主入口
|
||
├── 🚀 start.py # 快速启动脚本
|
||
├── ⚙️ config.py # 配置文件
|
||
├── 📋 requirements.txt # Python依赖列表
|
||
├── 📖 README.md # 项目说明文档
|
||
├── 📖 USAGE_GUIDE.md # 使用指南
|
||
├── 📖 PROJECT_STRUCTURE.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 # 应用启动脚本
|
||
│ └── 💻 blade_mesh_cli.py # 命令行工具
|
||
├── 🧪 test/ # 测试文件目录
|
||
│ ├── 🧪 test_*.py # 各种测试文件
|
||
│ └── 🔍 check_*.py # 检查脚本
|
||
├── 📊 results/ # 结果文件存储
|
||
└── 🗂️ temp/ # 临时文件目录
|
||
```
|
||
|
||
## 📂 详细目录说明
|
||
|
||
### 🏠 根目录文件
|
||
|
||
| 文件 | 说明 | 用途 |
|
||
|------|------|------|
|
||
| `app.py` | Flask应用主入口 | 定义Flask应用和路由配置 |
|
||
| `start.py` | 快速启动脚本 | 一键启动,自动检查环境 |
|
||
| `config.py` | 配置文件 | 系统配置和参数设置 |
|
||
| `requirements.txt` | 依赖列表 | Python包依赖定义 |
|
||
|
||
### 🔧 backend/ - 后端代码
|
||
|
||
#### 🌐 api/ - API路由模块
|
||
- `routes.py` - 主要API路由定义
|
||
- 处理HTTP请求和响应
|
||
- 实现RESTful API接口
|
||
|
||
#### 🏗️ core/ - 核心业务逻辑
|
||
- 网格生成核心算法
|
||
- ANSYS集成核心功能
|
||
- 业务流程控制
|
||
|
||
#### 📊 models/ - 数据模型
|
||
- `data_models.py` - 数据结构定义
|
||
- 文件、状态、结果等模型类
|
||
- 数据序列化和验证
|
||
|
||
#### 🛠️ utils/ - 工具函数库
|
||
- `state_manager.py` - 状态管理
|
||
- `file_validator.py` - 文件验证
|
||
- `mesh_processor.py` - 网格处理
|
||
- `error_handler.py` - 错误处理
|
||
- `resource_manager.py` - 资源管理
|
||
- `visualization_exporter.py` - 可视化导出
|
||
|
||
#### 🔗 pymechanical/ - ANSYS集成
|
||
- `session_manager.py` - ANSYS会话管理
|
||
- `mesh_controller.py` - 网格控制
|
||
- `mesh_generator.py` - 网格生成
|
||
- `mesh_quality_checker.py` - 质量检查
|
||
- `named_selection_manager.py` - 命名选择管理
|
||
|
||
### 🎨 frontend/ - 前端资源
|
||
|
||
#### 📄 页面文件
|
||
- `index.html` - 主页面模板
|
||
- `script.js` - 旧版JavaScript(保留)
|
||
- `style.css` - 旧版样式(保留)
|
||
|
||
#### 📁 static/ - 静态资源
|
||
- `css/main.css` - 主样式文件
|
||
- `js/main.js` - 主JavaScript文件
|
||
|
||
#### 📤 uploads/ - 上传存储
|
||
- 用户上传的STEP文件存储位置
|
||
- 自动创建,运行时使用
|
||
|
||
### 🔧 scripts/ - 脚本工具
|
||
|
||
| 脚本 | 功能 | 使用场景 |
|
||
|------|------|----------|
|
||
| `demo_launcher.py` | 演示启动器 | 完整演示展示 |
|
||
| `deployment_check.py` | 部署检查 | 部署前环境检查 |
|
||
| `run_app.py` | 应用启动 | 标准应用启动 |
|
||
| `blade_mesh_cli.py` | 命令行工具 | 命令行操作 |
|
||
|
||
### 🧪 test/ - 测试文件
|
||
|
||
#### 测试分类
|
||
- **单元测试**: `test_*.py` - 各模块功能测试
|
||
- **集成测试**: `test_integration.py` - 完整流程测试
|
||
- **API测试**: `test_api_*.py` - API接口测试
|
||
- **ANSYS测试**: `test_ansys_*.py` - ANSYS集成测试
|
||
|
||
#### 主要测试文件
|
||
- `test_suite.py` - 综合测试套件
|
||
- `test_integration.py` - 集成测试
|
||
- `test_complete_workflow.py` - 完整工作流测试
|
||
|
||
### 📊 results/ - 结果存储
|
||
- 网格生成结果文件
|
||
- 质量报告文件
|
||
- 可视化图像文件
|
||
- 自动创建和管理
|
||
|
||
### 🗂️ temp/ - 临时文件
|
||
- 处理过程中的临时文件
|
||
- ANSYS工作文件
|
||
- 自动清理机制
|
||
|
||
## 🚀 启动方式优先级
|
||
|
||
1. **快速启动** (推荐新用户)
|
||
```bash
|
||
python start.py
|
||
```
|
||
|
||
2. **演示模式** (推荐展示)
|
||
```bash
|
||
python scripts/demo_launcher.py
|
||
```
|
||
|
||
3. **应用启动** (推荐日常使用)
|
||
```bash
|
||
python scripts/run_app.py
|
||
```
|
||
|
||
4. **开发模式** (推荐开发者)
|
||
```bash
|
||
python app.py
|
||
```
|
||
|
||
## 🔄 数据流向
|
||
|
||
```
|
||
用户上传 → frontend/uploads/ → 后端验证 → ANSYS处理 → results/ → 前端展示
|
||
↓ ↓ ↓ ↓ ↓ ↓
|
||
Web界面 → 文件存储 → backend/utils → pymechanical → 结果存储 → 可视化
|
||
```
|
||
|
||
## 🛠️ 开发指南
|
||
|
||
### 添加新功能
|
||
1. **后端功能**: 在 `backend/` 相应模块中添加
|
||
2. **API接口**: 在 `backend/api/routes.py` 中添加路由
|
||
3. **前端功能**: 在 `frontend/static/js/` 中添加JavaScript
|
||
4. **测试**: 在 `test/` 中添加对应测试
|
||
|
||
### 修改配置
|
||
- 系统配置: 编辑 `config.py`
|
||
- ANSYS配置: 修改 `config.py` 中的 `ANSYS_CONFIG`
|
||
- 前端配置: 修改 `frontend/static/js/main.js`
|
||
|
||
### 调试和测试
|
||
- 运行测试: `python test/test_suite.py`
|
||
- 检查部署: `python scripts/deployment_check.py`
|
||
- 集成测试: `python test/test_integration.py`
|
||
|
||
## 📋 维护清单
|
||
|
||
### 定期维护
|
||
- [ ] 清理 `temp/` 目录
|
||
- [ ] 清理 `frontend/uploads/` 旧文件
|
||
- [ ] 清理 `results/` 过期结果
|
||
- [ ] 检查日志文件大小
|
||
|
||
### 更新维护
|
||
- [ ] 更新 `requirements.txt` 依赖版本
|
||
- [ ] 更新 ANSYS 版本配置
|
||
- [ ] 更新前端库版本
|
||
- [ ] 更新文档内容
|
||
|
||
---
|
||
|
||
**注意**: 此项目结构经过优化,将相关文件归类整理,便于维护和扩展。 |