Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def scaleSTL(filenameSTL, opacity=0.75, scale=(1,1,1), mesh_color="gold"):
- colors = vtk.vtkNamedColors()
- reader = vtk.vtkSTLReader()
- reader.SetFileName(filenameSTL)
- reader.Update()
- transform = vtk.vtkTransform()
- transform.Scale(scale)
- transformFilter = vtk.vtkTransformPolyDataFilter()
- transformFilter.SetInputConnection(reader.GetOutputPort())
- transformFilter.SetTransform(transform)
- transformFilter.Update()
- mapper = vtk.vtkPolyDataMapper()
- mapper.SetInputConnection(transformFilter.GetOutputPort())
- actor = vtk.vtkActor()
- actor.SetMapper(mapper)
- actor.GetProperty().SetColor(colors.GetColor3d(mesh_color))
- actor.GetProperty().SetOpacity(opacity)
- return actor
- def render_scene(my_actor_list):
- renderer = vtk.vtkRenderer()
- for arg in my_actor_list:
- renderer.AddActor(arg)
- namedColors = vtk.vtkNamedColors()
- renderer.SetBackground(namedColors.GetColor3d("SlateGray"))
- window = vtk.vtkRenderWindow()
- window.SetWindowName("Oriented Cylinder")
- window.AddRenderer(renderer)
- interactor = vtk.vtkRenderWindowInteractor()
- interactor.SetRenderWindow(window)
- # Visualize
- window.Render()
- interactor.Start()
- if __name__ == "__Main__":
- filename = "400_tri.stl"
- scale01 = (1, 1, 1)
- scale02 = (0.5, 0.5, 0.5)
- my_list = []
- my_list.append(scaleSTL(filename, 0.75, scale01, "Gold"))
- my_list.append(scaleSTL(filename, 0.75, scale02, "DarkGreen"))
- render_scene(my_list)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement