chiark / gitweb /
Add a 3D view of the Ultimaker build platform for better scale reference.
authordaid303 <daid303@gmail.com>
Fri, 5 Oct 2012 13:07:20 +0000 (15:07 +0200)
committerdaid303 <daid303@gmail.com>
Fri, 5 Oct 2012 13:07:20 +0000 (15:07 +0200)
Cura/gui/opengl.py
Cura/gui/preview3d.py
Cura/images/ultimaker_platform.stl [new file with mode: 0644]

index b2a6571ca70e24c6ef817a4929dc1acf14a2b4ea..f8077ab85019468fd4de231e0090b9d4b93ceb40 100644 (file)
@@ -1,5 +1,6 @@
-import math, time\r
+import math, time, os\r
 \r
+from util import meshLoader\r
 from util import util3d\r
 from util import profile\r
 \r
@@ -46,7 +47,24 @@ def InitGL(window, view3D, zoom):
        glLoadIdentity()\r
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT)\r
 \r
+platformMesh = None\r
+\r
 def DrawMachine(machineSize):\r
+       if profile.getPreference('machine_type') == 'ultimaker':\r
+               glPushMatrix()\r
+               glEnable(GL_LIGHTING)\r
+               glTranslate(100,120,-285)\r
+               glLightfv(GL_LIGHT0, GL_DIFFUSE, [0.8,0.8,0.8])\r
+               glLightfv(GL_LIGHT0, GL_AMBIENT, [0.3,0.3,0.3])\r
+               \r
+               global platformMesh\r
+               if platformMesh == None:\r
+                       platformMesh = meshLoader.loadMesh(os.path.normpath(os.path.join(os.path.split(__file__)[0], "../images", 'ultimaker_platform.stl')))\r
+                       platformMesh.setRotateMirror(0, False, True, False, False, True)\r
+               \r
+               DrawMesh(platformMesh)\r
+               glPopMatrix()\r
+\r
        glDisable(GL_LIGHTING)\r
        if False:\r
                glColor3f(0.7,0.7,0.7)\r
@@ -110,7 +128,7 @@ def DrawMachine(machineSize):
                                glVertex3f(min(x+10, machineSize.x), min(y+10, machineSize.y), -0.01)\r
                                glVertex3f(x, min(y+10, machineSize.y), -0.01)\r
                glEnd()\r
-               glColor4ub(5,171,231,64)\r
+               glColor4ub(5/2,171/2,231/2,128)\r
                glBegin(GL_QUADS)\r
                for x in xrange(10, int(machineSize.x), 20):\r
                        for y in xrange(0, int(machineSize.y), 20):\r
index 053ed7226921f915a74618dfa5a90fd97a3f3d62..47f39a120790235aa9751725b46e222d54e26e82 100644 (file)
@@ -429,6 +429,7 @@ class PreviewGLCanvas(glcanvas.GLCanvas):
 \r
        def OnMouseMotion(self,e):\r
                cursorXY = 100000\r
+               sizeXY = 0\r
                if self.parent.objectsMaxV != None:\r
                        size = (self.parent.objectsMaxV - self.parent.objectsMinV)\r
                        sizeXY = math.sqrt((size[0] * size[0]) + (size[1] * size[1]))\r
@@ -697,6 +698,7 @@ class PreviewGLCanvas(glcanvas.GLCanvas):
                                glVertex3f(err[1].x, err[1].y, err[1].z)\r
                        glEnd()\r
                        glEnable(GL_DEPTH_TEST)\r
+\r
                opengl.DrawMachine(machineSize)\r
 \r
                glPushMatrix()\r
diff --git a/Cura/images/ultimaker_platform.stl b/Cura/images/ultimaker_platform.stl
new file mode 100644 (file)
index 0000000..6311685
Binary files /dev/null and b/Cura/images/ultimaker_platform.stl differ