跳到主要内容

查看CAE切平面数据

在这个例子中, 我们继续使用visualizer库,调用addSlice接口,查看CAE数据的内部切平面的网格与物理分布。

texture

创建切平面过滤器

我们首先创建一个抽取外表面数据的过滤器,并将外表面结果以Outline的属性呈现在视图区,方便我们看到内部的切平面。

再创建一个切平面过滤器,切平面默认经过模型中心点,并朝X-Y平面方向。

修改过滤器的属性

属性可以控制如何绘制过滤器产生的数据,比如下面,我们将切平面的呈现方式设为Wireframe,将Pressure标量场映射为云图去显示,并绘制所有节点上的速度矢量。

auto solution = openSolution("C:/illustrator/test/model/PuppetValve/PuppetValve.xml.case");

auto scenario = std::make_shared<Scenario>(solution);
// 分别创建两个Filter
{
// 创建Filter,抽取外表面数据
auto filter = scenario->addFringeSurface();
// 修改Filter中的属性,设置display为Outline的属性
filter->attributes()->display = PolygonAttributes::Display::Outline;
}
{
// 创建一个切面
auto filter = scenario->addSlice();
// 修改属性,设置display为Wireframe的属性
filter->attributes()->display = PolygonAttributes::Display::Wireframe;
// 修改属性,设置pressure为映射显示的云图
filter->attributes()->scalar = "pressure";
// 修改属性,在所有的节点上显示velocity矢量
filter->attributes()->vector = "velocity";
}

修改过滤器的几何参数

切平面过滤器的几何参数是指切平面的原点与法向,比如下面修改其法向为X-Z,

// 创建一个切面
auto filter = scenario->addSlice();
// 修改属性,设置display为Shaded_Outline的属性
filter->attributes()->display = PolygonAttributes::Display::Shaded_Outline;
// 修改参数,设置切面的法向方向为0, 1, 0
filter->parameters()->normal->set(0, 1, 0);
texture

我们继续再创建一个切平面过滤器,然后设置一个不同的原点位置。

// 创建更多的切面,并设置不同的位置
auto filter = scenario->addSlice();
filter->attributes()->display = PolygonAttributes::Display::Shaded_Wireframe;
filter->parameters()->normal->set(0, 1, 0);
filter->parameters()->origin->set(0, 0, 0);
texture