资料

paraview 案例(中英字幕): https://www.bilibili.com/video/BV1Jt4y1Q7wW

绘制云图

bat 调用 vtk

plaintext
1
2
paraview.exe --data="C:\Users\xdd\Downloads\001.vtk"
paraview.exe --script="C:\Users\xdd\Downloads\A006.py"

Python

资料

所有 module: https://www.paraview.org/paraview-docs/v5.13.0/python/genindex.html

多多使用 ChatGPT

python
1
2
https://www.paraview.org/paraview-docs/v5.13.0/python/paraview.simple.html#paraview.simple.ColorBy

一个模板

python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# -*- coding: utf-8 -*-
from paraview.simple import *


# 读取 VTK 文件
vtk_file = r"C:\Users\xdd\Downloads\001.vtk"
vtk_data = OpenDataFile(vtk_file)


# 获取渲染视图
renderView = GetActiveViewOrCreate('RenderView')
vtk_display = Show(vtk_data, renderView)


# 设置自定义ANSYS色带
aLUT = GetColorTransferFunction('vec')
aLUT.RGBPoints = [
0.0000000000, 0, 0, 1,
0.1111111111, 0, 0, 1,
0.1111111112, 0, 0.7, 1,
0.2222222222, 0, 0.7, 1,
0.2222222223, 0, 1, 1,
0.3333333333, 0, 1, 1,
0.3333333334, 0, 1, 0.7,
0.4444444444, 0, 1, 0.7,
0.4444444445, 0, 1, 0,
0.5555555555, 0, 1, 0,
0.5555555556, 0.7, 1, 0,
0.6666666666, 0.7, 1, 0,
0.6666666667, 1, 1, 0,
0.7777777777, 1, 1, 0,
0.7777777778, 1, 0.7, 0,
0.8888888888, 1, 0.7, 0,
0.8888888889, 1, 0, 0,
1.0000000000, 1, 0, 0
]


# 选择标量或矢量的分量
# ColorBy(vtk_display, ('POINTS', 'USUM')) # 标量
# ColorBy(vtk_display, ('CELLS' , 'MISS')) # 标量
ColorBy(vtk_display, ('POINTS', 'vec', 'X')) # 矢量


vtk_display.Representation = 'Surface With Edges' # 显示方式 Surface With Edges
vtk_display.SetScalarBarVisibility(renderView, True) # 显示 colorbar
vtk_display.EdgeColor = [0.0, 0.0, 0.0] # 黑色边
vtk_display.LineWidth = 6.0 # 边线宽度


# 渲染视图
renderView.ResetCamera()
Render()


# 保存图像
SaveScreenshot("filename.png")

VTK 相关

vtk 官网:https://vtk.org/

vtk 文件格式:https://www.princeton.edu/~efeibush/viscourse/vtk.pdf

一个案例

plaintext
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# vtk DataFile Version 3.1
EXAMPLE TWO ELEM
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 9 float
0 0 0
1 0 0
1 1 0
0 1 0
0 0 1
1 0 1
1 1 1
0 1 1
2 0 0
CELLS 2 15
8 0 1 2 3 4 5 6 7
5 1 2 6 5 8
CELL_TYPES 2
12
14
POINT_DATA 9
SCALARS v float
LOOKUP_TABLE default
1
2
3
4
5
6
7
8
9

一个模板

plaintext
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# vtk DataFile Version 3.0
output2vtkByXdd
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 7359 double
4.500000000000000e+02 1.800000000000000e-14 0.000000000000000e+00
4.000000000000000e+02 0.000000000000000e+00 0.000000000000000e+00
...
CELLS 11523 103707
8 130 131 30 36 136 141 57 58
8 136 141 57 58 137 143 59 60
...
CELL_TYPES 11523
12
12
...
POINT_DATA 7359
SCALARS ux float
1.803581750466487e-01
1.953078934248767e-01
...
POINT_DATA 7359
Vectors aVectorResu double
1.803581750466487e-01 -1.359527956905437e-05 1.108509172624865e-01
1.953078934248767e-01 1.730515495530002e-05 1.083849176372485e-01
...

CELL_TYPES

vtk 文件格式:https://www.princeton.edu/~efeibush/viscourse/vtk.pdf

蓝奏云备份:https://xdd1997.lanzoue.com/imojH2sxs5jg

各类单元的CELL_TYPES标识可在上述 vtk 文件中找到,下面是一些常用单元的CELL_TYPES标识

plaintext
1
2
3
4
5
6
7
8
9
10
11
12
点 1
线 3

一阶三角形 5
一阶四边形 9
一阶四面体 10
一阶六面体 12

二阶三角形 22
二阶四边形 23
二阶四面体 24
二阶六面体 25

LOOKUP_TABLE

LOOKUP_TABLE 是 RGB 颜色对照表,是可选参数,可以不写

Tips

  • 如果 vtk 文件正常,是不用选择 reader 的
  • 对于矢量 vectors 好像不能指定LOOKUP_TABLE,现在的测试结果是直接不指定这一项就行
  • 单元的结点编号要从 0 开始