2017-03-22 5 views
0

필자는 vtp 파일 (vtkXMLPolyDataWriter로 작성)에 시추공을 나타내는 일련의 튜브가 있습니다. 이제 명확히하기 위해 보어홀을 파라 뷰로 표시 할 때 텍스트 레이블을 추가하여 보어를 식별하고 싶습니다.파일에 vtkTextActor3D를 작성하려면 어떻게해야합니까?

내 생각은 vtkTextActor3D를 사용하여 레이블을 만들어이 액터를 polydata로 변환 한 다음 polydatawriter를 사용하여 폴리곤으로 분할 된이 레이블을 vtp 파일로 출력하는 것이 었습니다.

어떻게하면됩니까? 파라 뷰에서는 3D 텍스트 소스를 생성하고이를 vtp 파일에 저장할 수있었습니다. 그러나, 나는 파이썬에서 이렇게하는 방법을 알아낼 수 없습니다.

감사합니다. 나는 documentation for vtkTextActor3D에 accroding 것은, 그것은 다음과 같이 작동하기 때문에, 그것은 당신이 당신이 실제로 대신 vtkTextActor3D의 vtkVectorText을 사용해야 설명하는 방법을 생각

+0

ParaView의 추적 시작/중지 추적 기능을 사용해 보셨습니까? 방금 작성한 작업을 수행하는 스크립트를 작성하여 잘 작동하는 것 같습니다. –

+0

예, 추적 기능을 시도했습니다. 불행히도 데이터를 내보내는 데 필요한 메서드는 표시되지 않습니다. – mululu

+0

나는 또한 삼각형으로 텍스트를 세분화 paraview에서 추출 표면 필터를 시도했다. 그러나 vtkExtractSurface 클래스는 vtk 버전 (6.2.0)에서 python으로 인식되지 않습니다. – mululu

답변

1

: 은 입력 텍스트 차례로으로 사용되는 버퍼로 렌더링 텍스처가 쿼드에 적용되었습니다 (vtkImageActor가 후드에서 사용됨). 그래서 실제로 텍스트의 개별 문자에 대한 지오메트리를 얻지 못합니다. 대신 텍스처를 저장하고 파라 뷰로 표시해야합니다. 한편, vtkVectorText 이어야합니다 (개인적으로 사용한 적이없는 ...). 다른 폴리 데이터로 저장할 수 있도록 문자의 실제 지오메트리를 생성합니다.

+0

감사합니다. 여전히 매우 편리하지는 않습니다. 왜냐하면 각 라벨은 vtkTransform을 적용하여 위치를 지정해야하지만 작업을 수행하기 때문입니다. '수입 VTK 텍스트 = vtk.vtkVectorText() text.SetText ('안녕하세요 ') = vtk.vtkXMLPolyDataWriter() writer.SetInputConnection (text.GetOutputPort()) writer.SetFileName ( 작가'text.vtp ') writer.Write()' – mululu

관련 문제