2012-10-17 160 views
2

我正在尝试使用VTK创建3D网格。 VTK似乎提供了许多方法来创建表示3D对象表面的网格。填充对象似乎更困难。我想这样做的原因是将输出传递给FEM工具,而不是气球。在VTK中创建3D网格

目前,我在玩球体,似乎有很多方法可以为3D物体的表面创建网格。我似乎无法做的是在体积内创建一个带有点的球体。 vtkUnstructuredGrid类允许我表示这样一个对象,但我似乎无法像使用vtkPolyData那样对此进行网格划分。

这是VTK的根本限制还是我只是没有看到正确的工具?

+0

vtkPolyData高达2D对象(多边形)支持,所以这是用来表示一个“表面网格” 。你是正确的,vtkUnstructuredGrid支持3D对象,你确实可以制作你想要的这个“实体”对象(例如填充四面体)。现在,我认为“现在我似乎无法将此网格化”,这是什么意思? –

+0

@David Doria,最好的方面。非常尊重你在VTK上的工作。 FEM网格有很多限制,以便成为“好”。 VTK能创建FEM网格吗?我不相信,这就是我给出答案的原因。但我很想做错:) –

+1

@ElMarce我对FEM不太熟悉,但我相信这只是表示网格填充了一个体积,而不仅仅是一个表面。这可以在VTK中使用vtkUnstructuredGrid而不是vtkPolyData完成(请参阅http://www.vtk.org/Wiki/VTK/Tutorials/3DDataTypes)。您可以使用vtkTetra(http://www.vtk.org/doc/nightly/html/classvtkTetra.html)或其他体积单元填充vtkUnstructuredGrid。 –

回答

2

至于你说: 我想这样做是为了输出传递到FEM工具作为固体不是气球

我asume你有你的FEM在自己的格式网格和要想象它。要做到这一点,你可以把你的有限元网格转化成vtkUnstructuredGrid modifiying这里所描述的代码:

How to convert a mesh to VTK format?