Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. def scaleSTL(filenameSTL, opacity=0.75, scale=(1,1,1), mesh_color="gold"):
  2. colors = vtk.vtkNamedColors()
  3.  
  4. reader = vtk.vtkSTLReader()
  5. reader.SetFileName(filenameSTL)
  6. reader.Update()
  7.  
  8. transform = vtk.vtkTransform()
  9. transform.Scale(scale)
  10.  
  11. transformFilter = vtk.vtkTransformPolyDataFilter()
  12. transformFilter.SetInputConnection(reader.GetOutputPort())
  13. transformFilter.SetTransform(transform)
  14. transformFilter.Update()
  15.  
  16. mapper = vtk.vtkPolyDataMapper()
  17. mapper.SetInputConnection(transformFilter.GetOutputPort())
  18.  
  19. actor = vtk.vtkActor()
  20. actor.SetMapper(mapper)
  21. actor.GetProperty().SetColor(colors.GetColor3d(mesh_color))
  22. actor.GetProperty().SetOpacity(opacity)
  23.  
  24. return actor
  25.  
  26. def render_scene(my_actor_list):
  27. renderer = vtk.vtkRenderer()
  28. for arg in my_actor_list:
  29. renderer.AddActor(arg)
  30. namedColors = vtk.vtkNamedColors()
  31. renderer.SetBackground(namedColors.GetColor3d("SlateGray"))
  32.  
  33. window = vtk.vtkRenderWindow()
  34. window.SetWindowName("Oriented Cylinder")
  35. window.AddRenderer(renderer)
  36.  
  37. interactor = vtk.vtkRenderWindowInteractor()
  38. interactor.SetRenderWindow(window)
  39.  
  40. # Visualize
  41. window.Render()
  42. interactor.Start()
  43.  
  44. if __name__ == "__Main__":
  45.  
  46. filename = "400_tri.stl"
  47. scale01 = (1, 1, 1)
  48. scale02 = (0.5, 0.5, 0.5)
  49. my_list = []
  50. my_list.append(scaleSTL(filename, 0.75, scale01, "Gold"))
  51. my_list.append(scaleSTL(filename, 0.75, scale02, "DarkGreen"))
  52. render_scene(my_list)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement