FastCAE源码阅读
文章平均质量分 72
FastCAE源码阅读笔记
loveoobaby
专注工业CAD/CAE软件开发
展开
-
【FastCAE源码阅读9】鼠标框选网格、节点的实现
FastCAE的框选逻辑过于简单,只是demo阶段,实际的CAE软件的拾取逻辑要远比这复杂。原创 2023-11-14 22:11:30 · 828 阅读 · 0 评论 -
【FastCAE源码阅读8】调用gmsh生成网格
FastCAE使用gmsh进行网格划分,划分的时候直接启动一个新的gmsh进程,个人猜测这么设计是为了规避gmsh的GPL协议风险。原创 2023-11-13 16:04:07 · 681 阅读 · 0 评论 -
【FastCAE源码阅读7】视图方向切换按钮实现原理
具体的Python代码在Python模块的py文件夹下的MainWindow.py文件中。这几个按钮都是调用的setView方法,只是入参不同而已。发现最后调用vtkRenderer的ResetCamera()方法就实现了适应窗口。其他视图调整是直接操作摄像机,指定其Up轴、位置及焦点实现的。其具体实现只是根据入参不同调用不同的方法。继续跟踪代码,发现setView具体实现在graphWindowBase.cpp文件中。原创 2023-11-10 22:54:06 · 394 阅读 · 0 评论 -
【FastCAE源码阅读6】C++与Python的集成,实现相互调用
分析FastCAE代码之前先看看C++与Python如何相互调用的。原创 2023-11-08 14:29:50 · 318 阅读 · 0 评论 -
【FastCAE源码阅读5】使用VTK实现鼠标拾取对象并高亮
其中当拾取模式是点的时候,使用vtkPointPicker,如果拾取成功返回点的id及对应的Actor(一个Actor可能包含多个点)。注意当拾取线的时候,需要提高拾取Tolerance,不然线很难拾取到。另外要注意的是,当拾取线的时候,面Actor是拾取不到的,同样当拾取面的时候,线Actor也是拾取不到。拾取对象是在PropPickerInteractionStyle类实现的,该类是vtkInteractorStyleRubberBandPick的子类,重写原来的鼠标处理函数。拾取对象之后,会发出。原创 2023-11-06 16:01:29 · 1205 阅读 · 0 评论 -
【FastCAE源码阅读4】VTK OrientationMarkerWidget方向标记组件的使用
SetInteractor:设置鼠标、键盘交互类vtkRenderWindowInteractor的实例,相当于将该组件与外设关联起来。- SetOutlineColor: 该组件支持鼠标移动其位置,移动的时候会有一个边框,这个是设置这个边框的颜色。- InteractiveOff:关闭鼠标交互移动其位置,所以这里设置OutlineColor没用用处。- SetOrientationMarker:控制该组件的样式,是使用箭头还是立方体。- SetViewport:用于设置改组件的位置及大小。原创 2023-11-06 09:38:41 · 268 阅读 · 0 评论 -
【FastCAE源码阅读3】几何模型显示:从OCC对象到VTK对象
从几何到显示还是比较麻烦的,需要将几何对象转换成渲染对象,设计几何建模、离散化、图形显示,阅读本文需了解一些基本的OCC、VTK编程。原创 2023-11-03 14:59:38 · 1123 阅读 · 0 评论 -
【FastCAE源码阅读2】FastCAE如何调用OpenCasCade
FastCAE使用的是OCCT(OpenCascade)几何内核,FastCAE几何模块菜单上每个功能对应着一个创建几何的类,本文简单分析这部分源码。打开FastCAE几何模块,在功能菜单中可以看到很多几何操作功能,包括创建立方体、创建圆柱,创建点,布尔操作,物体进行变换等。这每一个功能被封装成一个类,底层会调用OCCT的API,代码在GeometryCommand模块中。其中,GeoCommandBase是所有几何创建命令的基类,也是QObject对象,定义了通用接口,基础的QT槽函数,通用字段。...原创 2022-08-28 11:54:58 · 1003 阅读 · 0 评论 -
【FastCAE源码阅读1】CMake编译FastCAE
我一开始使用VS2022+QT5.12,编译没有问题,在运行过程中就会抛出奇怪的异常。FastCAE将其他用到是三方库,包括OCC、python37、cgns、VTK、quazip都放到了代码仓里。使用CMake配置对应的路径即可。FastCAE在github、gitee上均有代码仓,克隆下载源码。在源码仓中有word文档详细说明编译过程。最后用VS2017打开项目生成解决方案,正常情况下编译就成功了。将FastCAE作为启动项目即可运行调试。原创 2022-08-25 09:14:09 · 855 阅读 · 0 评论