界面嵌入python控制台¶
约 526 个字 40 行代码 8 张图片 预计阅读时间 2 分钟
脚本名字:PyVistaConsole.py。
通过在界面中嵌入python控制台,可以实现用脚本操作视图中的图形,更有利于自动化处理。效果如下:
内置方法¶
在控制台上可以使用pyvista的内置方法进行模型操作,比如:添加场变量、查询模型信息等。每次运行命令时按下内置的快捷键:Shift+Enter
,即可运行。
add_mesh
¶
在使用pyvista进行绘图时,常常在最后使用.show
将图形绘制在pyvista产生的窗口内,比如:
然而,在界面设计时,如果希望将图形绘制在我们自己设计的界面中,就不能使用 .show
方法。如果继续使用该方法,图形将会绘制在独立于我们设计界面的窗口中(由 PyVista 内部生成)。
因此,内置一个add_mesh
,用于初次绘制pyvista的图形,使之可以绘制在我们自己设计的界面中,如开头所示的效果,在使用时与pyvista.plotter.add_mesh里面的参数控制是一致的。
from pyvista import examples
mesh = examples.download_dragon()
mesh['scalars'] = mesh.points[:, 1]
add_mesh(mesh, cmap = "plasma")
在我们设计的界面控制台中,只需上面的命令,就可以绘图了,不需要再plotter.show()
。
update_mesh
¶
当我们绘制图形后,还需要再修改绘图参数,这时内置了一个update_mesh
方法,用于修改绘图参数,使用时:
即可对图形进行修改。
clear_plot
¶
另外内置了一个方法,用于清除绘图区:clear_plot()
clear_console_output
¶
该命令可以清除文本输出区的历史记录,clear_console_output()
。当然为了使用方便,在每次运行命令时都会清除历史记录。
案例¶
Pyvista绘图¶
现在对绘图参数进行修改:update_mesh(style="points")
如果说我们不小心写为update_mesh(style="point")
,文本输出区也会显示错误信息:
导入vtk文件进行绘图¶
import pyvista as pv
mesh = pv.read('C3D4.vtk')
print('node number = ',mesh.n_points)
print('element number = ',mesh.n_cells)
print('node coordinate = ',mesh.points[0])
print('point_data = ',mesh.point_data)
add_mesh(mesh,scalars="U",show_edges=False,cmap="coolwarm")
通用脚本功能¶
现在试一下通用的脚本功能,就将它当作一个python解释器;