Cura/PrinterApplication.py

78 lines
2.7 KiB
Python

from Cura.Qt.QtApplication import QtApplication
from Cura.Scene.SceneNode import SceneNode
from Cura.Scene.Camera import Camera
from Cura.Scene.Platform import Platform
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()
platform = Platform(root)
try:
self.getMachineSettings().loadValuesFromFile(Resources.getPath(Resources.SettingsLocation, 'ultimaker2.cfg'))
except FileNotFoundError:
pass
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, 50, 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, 0, -1))
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, 50, 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_()
self.getMachineSettings().saveValuesToFile(Resources.getStoragePath(Resources.SettingsLocation, 'ultimaker2.cfg'))
def registerObjects(self, engine):
pass