chiark / gitweb /
Enable support for raft in the project planner. #181.
authordaid <daid303@gmail.com>
Fri, 27 Jul 2012 09:27:09 +0000 (11:27 +0200)
committerdaid <daid303@gmail.com>
Fri, 27 Jul 2012 09:27:09 +0000 (11:27 +0200)
Cura/gui/projectPlanner.py

index 71f208bc44c1f9b080f6d20eda6d06415a2fe2e6..c55d3d9b4b997d1a68659cb14becf6f12d3cee61 100644 (file)
@@ -511,19 +511,7 @@ class projectPlanner(wx.Frame):
                self.preview.Refresh()\r
        \r
        def _doAutoPlace(self, allowedSizeY):\r
-               extraSizeMin = self.headSizeMin\r
-               extraSizeMax = self.headSizeMax\r
-               if profile.getProfileSettingFloat('skirt_line_count') > 0:\r
-                       skirtSize = profile.getProfileSettingFloat('skirt_line_count') * profile.calculateEdgeWidth() + profile.getProfileSettingFloat('skirt_gap')\r
-                       extraSizeMin = extraSizeMin + numpy.array([skirtSize, skirtSize, 0])\r
-                       extraSizeMax = extraSizeMax + numpy.array([skirtSize, skirtSize, 0])\r
-               if profile.getProfileSetting('support') != 'None':\r
-                       extraSizeMin = extraSizeMin + numpy.array([3.0, 0, 0])\r
-                       extraSizeMax = extraSizeMax + numpy.array([3.0, 0, 0])\r
-               \r
-               if self.printMode == 1:\r
-                       extraSizeMin = numpy.array([6.0, 6.0, 0])\r
-                       extraSizeMax = numpy.array([6.0, 6.0, 0])\r
+               extraSizeMin, extraSizeMax = self.getExtraHeadSize()\r
 \r
                if extraSizeMin[0] > extraSizeMax[0]:\r
                        posX = self.machineSize[0]\r
@@ -582,8 +570,6 @@ class projectPlanner(wx.Frame):
                put('add_start_end_gcode', 'False')\r
                put('gcode_extension', 'project_tmp')\r
                if self.printMode == 0:\r
-                       put('enable_raft', 'False')\r
-                       \r
                        clearZ = 0\r
                        actionList = []\r
                        for item in self.list:\r
@@ -683,6 +669,27 @@ class projectPlanner(wx.Frame):
                self.selection.updateModelTransform()\r
                self.preview.Refresh()\r
 \r
+       def getExtraHeadSize(self):\r
+               extraSizeMin = self.headSizeMin\r
+               extraSizeMax = self.headSizeMax\r
+               if profile.getProfileSettingFloat('skirt_line_count') > 0:\r
+                       skirtSize = profile.getProfileSettingFloat('skirt_line_count') * profile.calculateEdgeWidth() + profile.getProfileSettingFloat('skirt_gap')\r
+                       extraSizeMin = extraSizeMin + numpy.array([skirtSize, skirtSize, 0])\r
+                       extraSizeMax = extraSizeMax + numpy.array([skirtSize, skirtSize, 0])\r
+               if profile.getProfileSetting('enable_raft') != 'False':\r
+                       raftSize = profile.getProfileSettingFloat('raft_margin') * 2\r
+                       extraSizeMin = extraSizeMin + numpy.array([raftSize, raftSize, 0])\r
+                       extraSizeMax = extraSizeMax + numpy.array([raftSize, raftSize, 0])\r
+               if profile.getProfileSetting('support') != 'None':\r
+                       extraSizeMin = extraSizeMin + numpy.array([3.0, 0, 0])\r
+                       extraSizeMax = extraSizeMax + numpy.array([3.0, 0, 0])\r
+\r
+               if self.printMode == 1:\r
+                       extraSizeMin = numpy.array([6.0, 6.0, 0])\r
+                       extraSizeMax = numpy.array([6.0, 6.0, 0])\r
+               \r
+               return extraSizeMin, extraSizeMax\r
+\r
 class PreviewGLCanvas(glcanvas.GLCanvas):\r
        def __init__(self, parent, projectPlannerWindow):\r
                attribList = (glcanvas.WX_GL_RGBA, glcanvas.WX_GL_DOUBLEBUFFER, glcanvas.WX_GL_DEPTH_SIZE, 24, glcanvas.WX_GL_STENCIL_SIZE, 8)\r
@@ -770,19 +777,7 @@ class PreviewGLCanvas(glcanvas.GLCanvas):
        def OnDraw(self):\r
                machineSize = self.parent.machineSize\r
                opengl.DrawMachine(util3d.Vector3(machineSize[0], machineSize[1], machineSize[2]))\r
-               extraSizeMin = self.parent.headSizeMin\r
-               extraSizeMax = self.parent.headSizeMax\r
-               if profile.getProfileSettingFloat('skirt_line_count') > 0:\r
-                       skirtSize = profile.getProfileSettingFloat('skirt_line_count') * profile.calculateEdgeWidth() + profile.getProfileSettingFloat('skirt_gap')\r
-                       extraSizeMin = extraSizeMin + numpy.array([skirtSize, skirtSize, 0])\r
-                       extraSizeMax = extraSizeMax + numpy.array([skirtSize, skirtSize, 0])\r
-               if profile.getProfileSetting('support') != 'None':\r
-                       extraSizeMin = extraSizeMin + numpy.array([3.0, 0, 0])\r
-                       extraSizeMax = extraSizeMax + numpy.array([3.0, 0, 0])\r
-\r
-               if self.parent.printMode == 1:\r
-                       extraSizeMin = numpy.array([6.0, 6.0, 0])\r
-                       extraSizeMax = numpy.array([6.0, 6.0, 0])\r
+               extraSizeMin, extraSizeMax = self.parent.getExtraHeadSize()\r
 \r
                for item in self.parent.list:\r
                        item.validPlacement = True\r