stl查看经常囿于paraview需要安装的痛苦,特别针对openfoam算例,来回加载麻烦,此次写这个小工具,不用安装,直接运行,只保留了最核心的查看、透明度、隐藏、边线显示控制和合并stl的功能,最大限度降低使用门槛。

STL文件查看器是一个基于Python的桌面应用程序,用于可视化和处理STL格式的3D模型文件。该应用程序使用PyVista、VTK和PySide6等技术构建,能够加载、显示、合并STL文件,并提供丰富的交互功能。
pyvista==0.46.3
vtk==9.5.2
PySide6==6.9.2
numpy==2.2.6
constant/triSurface目录结构进度条显示加载状态错误处理和用户提示
class STLViewer(QMainWindow):
def __init__(self):
# 初始化GUI界面和3D渲染环境
def load_case_folder(self):
# 加载STL文件夹的核心逻辑
def create_actor_from_mesh(self):
# 将PyVista网格转换为VTK actor
def merge_stl_files(self):
# 合并多个STL文件的实现
程序按照以下优先级确定默认工作目录:
首选:
C:HY-BPAWork2024 目录(如果存在)次选: 当前工作目录备选: 用户主目录
使用PyInstaller将应用程序打包为独立的exe文件:
pyinstaller --onefile --windowed
--hidden-import=vtk
--hidden-import=vtkmodules
--hidden-import=vtkmodules.all
--hidden-import=vtkmodules.qt.QVTKRenderWindowInteractor
--hidden-import=pyvista
--hidden-import=pyvistaqt
--hidden-import=PySide6
--hidden-import=PySide6.QtCore
--hidden-import=PySide6.QtGui
--hidden-import=PySide6.QtWidgets
--hidden-import=shiboken6
--hidden-import=ctypes
--add-data "C:Userszhangpp-b.condaenvspyvistaLibraryin;."
stl_viewer_control_progress.py
--onefile: 生成单个exe文件
--windowed: 不显示控制台窗口
--hidden-import: 显式包含PyInstaller可能遗漏的模块
--add-data: 包含conda环境中的必要DLL文件
--hidden-import=ctypes和
--add-data参数VTK模块缺失: 显式包含所有vtk相关模块Qt依赖问题: 确保包含所有PySide6相关模块
constant/triSurface结构)程序自动加载并显示所有STL文件使用界面控件进行交互操作
clear_display()方法清理不需要的数据及时释放VTK资源合理管理actor和mesh对象
# 添加新功能的示例结构
def new_feature(self):
"""
新功能实现模板
"""
try:
# 功能实现逻辑
pass
except Exception as e:
# 错误处理
print(f"功能执行出错: {e}")
本项目为内部使用工具,未经许可不得用于商业用途。