https://github.com/cfd-dev/pygui
https://github.com/cfd-dev/pygui
Last synced: 20 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/cfd-dev/pygui
- Owner: cfd-dev
- Created: 2025-12-22T12:28:44.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-12-22T12:46:23.000Z (5 months ago)
- Last Synced: 2025-12-23T23:46:42.115Z (5 months ago)
- Language: Python
- Size: 169 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# VTK 3D模型查看器
一个基于VTK的3D模型查看器,支持多种GUI框架,用于读取和可视化VTK文件。
## 功能特性
1. **核心功能**:读取并可视化显示vtk文件的3D模型数据
2. **菜单栏**:包含文件操作相关选项,实现文件浏览和导入功能
3. **主视图区**:用于显示VTK渲染的3D模型,支持基本的交互操作(旋转、缩放、平移)
4. **左侧模型树**:以层级结构展示导入模型的组成部分和属性信息
5. **选项卡面板**:集成文件浏览和导入功能,提供直观的文件选择界面
6. **显示模式切换**:支持线框模式、实体模式和实体-线框模式
7. **背景颜色设置**:支持预设颜色和自定义颜色
8. **用户设置持久化**:支持保存和加载显示模式及背景颜色设置
## 支持的文件格式
- .vtk(包括polydata、unstructured_grid和structured_grid类型)
*注意:虽然项目目录中包含.cgns文件,但当前代码不支持CGNS格式。*
## 技术实现
- 使用Python作为开发语言
- 使用VTK库进行3D渲染
- 提供两种GUI框架选项:Tkinter 和 PyQt5
- 支持conda PyMeshGen虚拟环境
## 环境配置
### 前提条件
- 已安装conda
- 已创建PyMeshGen虚拟环境
### 安装依赖
```bash
conda activate pymeshgen
pip install vtk
pip install pyqt5 # For PyQt5 versions (if needed)
```
## 运行应用程序
### Tkinter版本(推荐)
```bash
conda activate pymeshgen
python main_tk_simple.py # 推荐的精简Tkinter版本
```
或者运行其他版本:
```bash
conda activate pymeshgen
python main_tk.py # 完整Tkinter版本
```
### PyQt5版本
```bash
conda activate pymeshgen
python main_simple.py # 精简PyQt5版本
python main.py # 完整PyQt5版本
```
### 使用conda run
```bash
conda run -n pymeshgen python main_tk_simple.py
```
## 使用说明
1. **打开文件**:
- 点击菜单栏的「文件」→「打开」
- 或点击左侧面板的「浏览文件」按钮
- 选择.vtk文件进行打开
2. **查看模型**:
- 在主视图区使用鼠标进行旋转、缩放和平移操作
- 旋转:按住鼠标左键拖动
- 缩放:滚动鼠标滚轮
- 平移:按住鼠标右键拖动
3. **查看模型信息**:
- 左侧模型树显示模型的详细信息,包括:
- 数据类型
- 点数量
- 单元数量
- 网格类型
- 文件路径
4. **导入模型**:
- 在左侧面板的「文件导入」选项卡中,点击「浏览文件」选择文件
- 点击「导入模型」按钮导入模型
5. **切换显示模式**:
- 通过菜单栏「视图」→「显示模式」选择
- 或通过左侧面板的「设置」选项卡选择
6. **更改背景颜色**:
- 通过菜单栏「视图」→「背景颜色」选择
- 或通过左侧面板的「设置」选项卡选择预设颜色或自定义颜色
## 错误处理
- 如果文件不存在,会显示「文件不存在」错误
- 如果文件格式不支持,会显示「不支持的文件格式,仅支持.vtk文件」错误
- 如果VTK文件无效,会显示「无效的VTK文件,无法读取模型数据或数据为空」错误
## 质量标准
- 应用程序启动正常,无明显卡顿
- 功能按钮响应及时
- 错误提示信息清晰易懂
- VTK渲染性能流畅,模型显示准确
- 窗口大小调整时视图保持正常
## 文件结构
```
PyGUI/
├── main.py # 完整PyQt5版本主应用程序文件
├── main_simple.py # 精简PyQt5版本主应用程序文件
├── main_tk.py # 完整Tkinter版本主应用程序文件
├── main_tk_simple.py # 推荐的精简Tkinter版本主应用程序文件
├── README.md # 说明文档
├── viewer_settings.json # 用户设置保存文件
├── tmp_mesh_opt.vtk # 示例VTK文件
├── 30p30n.cgns # 示例CGNS文件(当前不支持)
└── 30p30n.vtk # 示例VTK文件
```
## 开发说明
- 代码结构清晰、模块化
- 实现了文件路径选择、文件格式验证和错误处理机制
- 界面布局合理、响应式,各组件间交互流畅
- 提供多个版本以适应不同GUI框架偏好
- 包含设置持久化功能,提升用户体验
## 许可证
MIT License