AnsysLink/PROJECT_STRUCTURE.md

193 lines
6.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 版本配置
- [ ] 更新前端库版本
- [ ] 更新文档内容
---
**注意**: 此项目结构经过优化,将相关文件归类整理,便于维护和扩展。