【PinkCAx】可视化工具开发记录与总结
仅以此篇,记录我的一次可视化软件开发尝试点滴。
简介
PinkCAx是一款采用Python语言编写的,基于QT5+VTK架构的三维可视化工具。
该工具目前的功能如下:
基本操作
网格文件的打开与保存(支持STL、PLY、VTK等)
基本视图(线框、包围盒、刻度包围盒)
文件分类树视图
一些不知道如何分类的功能
模型曲率计算包括高斯、最大、最小、平均曲率计算;加载属性作用是加载有限元模型的节点属性数据(温度、应力等);属性比较作用是计算两个属性数据的偏差(用于可视化评估代理模型预测效果)。
有限元后处理
关于有限元后处理的操作
关于
代理模型预测
构建代理模型,可视化训练结果。(开始跑题ing)
点云处理
三个(两个)功能
依次是:模型转换点云、点云降采样、有限元模型外表面抽取。
待添加功能
- 有限元模型上任意点/单元的信息和属性查询
- 增材CAM相关功能
- 点云相关功能(ICP配准、点云手动对齐等)
- ……
部分功能展示
可视化操作
![GIF 2022-11-21 22-35-43](D:\OneDrive\桌面\GIF 2022-11-21 22-35-43.gif)
代理模型预测
![GIF 2022-11-21 22-49-50](D:\OneDrive\桌面\GIF 2022-11-21 22-49-50.gif)
其他操作
![GIF 2022-11-21 22-57-37](D:\OneDrive\桌面\GIF 2022-11-21 22-57-37.gif)
总结
记录第一次QT5+VTK开发工具的点滴,总共历时五天。在这期间每天都很充实,持续在:产生需求-->开源学习-->编写程序-->调试程序-->产生下一个需求-->……
的状态。并且深刻认识到了实践的重要性,通过对这个小工具的开发,我逐步上手QT5和VTK。对于VTK,上半年就有接触了,不过一直被其各种数据结构劝退,觉得numpy数组最好用(当时网格计算接触的比较多),不过到现在见识到了VTK在很多数据结构上的表现(特别是vtkUnstructuredGrid与有限元数据模型,恰到好处),加之对VTK的管线机制和各种Filter深入了解之后,现在频频“真香”。回到工具本身,其实尚存许多bug,且代码臃肿,后期还需调试和优化。
同时,PinkCAx工具的开发借鉴了许多开源代码,开源万岁!
有一说一,这个粉色还挺好看的。#f187b8 / 241,135,18。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!