Cura/PrinterApplication.py
2014-12-08 17:52:57 +01:00

80 lines
2.9 KiB
Python

from Cura.Qt.QtApplication import QtApplication
from Cura.Scene.SceneNode import SceneNode
from Cura.Scene.Camera import Camera
from Cura.Math.Vector import Vector
from Cura.Math.Matrix import Matrix
from Cura.Resources import Resources
import os.path
class PrinterApplication(QtApplication):
def __init__(self):
super(PrinterApplication, self).__init__()
def run(self):
self._plugin_registry.loadPlugins({ "type": "Logger"})
self._plugin_registry.loadPlugins({ "type": "StorageDevice" })
self._plugin_registry.loadPlugins({ "type": "View" })
self._plugin_registry.loadPlugins({ "type": "MeshHandler" })
self._plugin_registry.loadPlugins({ "type": "Tool" })
self.getController().setActiveView("MeshView")
root = self.getController().getScene().getRoot()
mesh = SceneNode(root)
mesh.setMeshData(self.getMeshFileHandler().read(Resources.getMesh("ultimaker2_platform.stl"), self.getStorageDevice('local')))
mesh2 = SceneNode(mesh)
mesh2.setMeshData(self.getMeshFileHandler().read(Resources.getMesh("simplecube.stl"), self.getStorageDevice('local')))
mesh2.translate(Vector(30, 30, 0))
mesh2.scale(10)
mesh3 = SceneNode(mesh)
mesh3.setMeshData(self.getMeshFileHandler().read(Resources.getMesh("sphere.obj"), self.getStorageDevice('local')))
mesh3.translate(Vector(0, 0, 0))
self.getRenderer().setLightPosition(Vector(0, 150, 150))
camera = Camera('3d', root)
camera.translate(Vector(0, 150, 150))
proj = Matrix()
proj.setPerspective(45, 640/480, 1, 500)
camera.setProjectionMatrix(proj)
camera.setPerspective(True)
camera.lookAt(Vector(0, 0, 0), Vector(0, 1, 0))
camera = Camera('left', root)
camera.translate(Vector(150, 50, 0))
proj = Matrix()
proj.setOrtho(-200, 200, -200, 200, 1, 500)
camera.setProjectionMatrix(proj)
camera.lookAt(Vector(0, 0, 0), Vector(0, 1, 0))
camera.setLocked(True)
camera = Camera('top', root)
camera.translate(Vector(0, 150, 0))
proj = Matrix()
proj.setOrtho(-200, 200, -200, 200, 1, 500)
camera.setProjectionMatrix(proj)
camera.lookAt(Vector(0, 0, 0), Vector(0, 1, 0))
camera.setLocked(True)
camera = Camera('front', root)
camera.translate(Vector(0, 50, 150))
proj = Matrix()
proj.setOrtho(-200, 200, -200, 200, 1, 500)
camera.setProjectionMatrix(proj)
camera.lookAt(Vector(0, 0, 0), Vector(0, 1, 0))
camera.setLocked(True)
self.getController().getScene().setActiveCamera('3d')
self.setMainQml(os.path.dirname(__file__) + "/Printer.qml")
self.initializeEngine()
if self._engine.rootObjects:
self.exec_()
def registerObjects(self, engine):
pass