سؤال

I am reading an stl file and simply showing it on the Screen (and adding some results later). The turning and handling of the object is not really smooth.

It would be cool to get the 3dconnexion spacemouse to work in order to manipulate the objekt. Is it possible? How?

What do I have to add to the interactor?

Thank you for help

Okapi

import vtk

class VtkStl:

def __init__(self, filename):
    self.filename = filename
    self.vtkActor = vtk.vtkActor()

def addStl(self):
    reader = vtk.vtkSTLReader()
    reader.SetFileName(self.filename)
    mapper = vtk.vtkPolyDataMapper()
    if vtk.VTK_MAJOR_VERSION <= 5:
        mapper.SetInput(reader.GetOutput())
    else:
        mapper.SetInputConnection(reader.GetOutputPort()) 
    self.vtkActor.SetMapper(mapper)

Bock_stl=VtkStl('d:\trial.stl')       
Bock_stl.addStl()

# Renderer
renderer = vtk.vtkRenderer()
renderer.AddActor(Bock_stl.vtkActor)

renderer.SetBackground(.2, .3, .4)
renderer.ResetCamera()

# Render Window
renderWindow = vtk.vtkRenderWindow()
renderWindow.AddRenderer(renderer)

# Interactor
renderWindowInteractor = vtk.vtkRenderWindowInteractor()
renderWindowInteractor.SetRenderWindow(renderWindow)

# Begin Interaction
renderWindow.Render()
renderWindowInteractor.Start()

del renderWindow, renderWindowInteractor

Thank you for your help.

لا يوجد حل صحيح

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top