我想从一个表面创建一个3D对象,我使用vtkAdaptiveSubdivisionFilter来重新生成一个多数据。当我从GetOutput从vtkAdaptiveSubdivisionFilter和使用vtkLinearExtusionFilter挤出时,我看到一些孔的挤出输出和一些坏的边缘。见下面的图片。

这是我的代码:
normals = vtk.vtkPolyDataNormals()
normals.SetInputData(polydata)
normals.SetComputePointNormals(True)
normals.SetComputeCellNormals(False)
normals.SplittingOff()
normals.NonManifoldTraversalOff()
normals.FlipNormalsOff()
normals.ConsistencyOff()
normals.AutoOrientNormalsOff()
normals.Update()
extrude = vtk.vtkLinearExtrusionFilter()
# extrude = vtk.vtkPLinearExtrusionFilter()
# extrude.PieceInvariantOff ()
extrude.SetInputData(normals.GetOutput())
extrude.SetScaleFactor(3)
extrude.SetExtrusionTypeToNormalExtrusion()
extrude.Update()正如您所看到的,我也使用了vtkPlinearExtusionFilter,但也存在同样的问题。我应该使用其他库、包或vtk类吗?我怎么才能修好它?诚挚的问候
发布于 2022-09-10 15:17:49
你可以通过删除对象来解决这个问题。您可以使用vtkAdaptiveSubdivisionFilter类来完成这一任务。
https://stackoverflow.com/questions/69406995
复制相似问题