chiark / gitweb /
Enable skirt in project planner if needed.
authorDaid <daid303@gmail.com>
Sun, 22 Apr 2012 21:45:19 +0000 (23:45 +0200)
committerDaid <daid303@gmail.com>
Sun, 22 Apr 2012 21:45:19 +0000 (23:45 +0200)
Cura/alterations/nextobject.gcode
Cura/gui/projectPlanner.py

index e977dc64542a99d698b16fe76cde55575cf0d4fa..be4ffc1a389ef3dee919c4a949591ea1284e772b 100644 (file)
@@ -3,7 +3,7 @@ G92 E0
 G1 Z{clear_z} E-5 F{max_z_speed}
 G92 E0
 G1 X{machine_center_x} Y{machine_center_y} F{travel_speed}
-G1 F200 E6.5
+G1 F200 E5.5
 G92 E0
 G1 Z0 F{max_z_speed}
 
index f0a4984329d9eae69ec7990e7b92ef5cb4a7a1d9..f5340ee08fb3d35a97873887ec7d1387ef9f9977 100644 (file)
@@ -236,6 +236,13 @@ 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 - util3d.Vector3(skirtSize, skirtSize, 0)\r
+                       extraSizeMax = extraSizeMax + util3d.Vector3(skirtSize, skirtSize, 0)\r
+\r
                posX = self.machineSize.x\r
                posY = 0\r
                minX = self.machineSize.x\r
@@ -248,11 +255,11 @@ class projectPlanner(wx.Frame):
                        item.centerX = posX + item.getMaximum().x * item.scale * dirX\r
                        item.centerY = posY + item.getMaximum().y * item.scale * dirY\r
                        if item.centerY + item.getSize().y >= allowedSizeY:\r
-                               posX = minX - self.headSizeMax.x - 1\r
+                               posX = minX - extraSizeMax.x - 1\r
                                posY = 0\r
                                item.centerX = posX + item.getMaximum().x * item.scale * dirX\r
                                item.centerY = posY + item.getMaximum().y * item.scale * dirY\r
-                       posY += item.getSize().y  * item.scale * dirY + self.headSizeMin.y + 1\r
+                       posY += item.getSize().y  * item.scale * dirY + extraSizeMin.y + 1\r
                        minX = min(minX, item.centerX - item.getSize().x * item.scale / 2)\r
                        minY = min(minY, item.centerY - item.getSize().y * item.scale / 2)\r
                        maxX = max(maxX, item.centerX + item.getSize().x * item.scale / 2)\r
@@ -274,7 +281,6 @@ class projectPlanner(wx.Frame):
 \r
                put('model_multiply_x', '1')\r
                put('model_multiply_y', '1')\r
-               put('skirt_line_count', '0')\r
                put('enable_raft', 'False')\r
                put('add_start_end_gcode', 'False')\r
                put('gcode_extension', 'project_tmp')\r
@@ -505,6 +511,12 @@ class PreviewGLCanvas(glcanvas.GLCanvas):
        def OnDraw(self):\r
                machineSize = self.parent.machineSize\r
                opengl.DrawMachine(machineSize)\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 - util3d.Vector3(skirtSize, skirtSize, 0)\r
+                       extraSizeMax = extraSizeMax + util3d.Vector3(skirtSize, skirtSize, 0)\r
 \r
                for item in self.parent.list:\r
                        item.validPlacement = True\r
@@ -512,8 +524,8 @@ class PreviewGLCanvas(glcanvas.GLCanvas):
                \r
                for idx1 in xrange(0, len(self.parent.list)):\r
                        item = self.parent.list[idx1]\r
-                       iMin1 = item.getMinimum() * item.scale + util3d.Vector3(item.centerX, item.centerY, 0) - self.parent.headSizeMin\r
-                       iMax1 = item.getMaximum() * item.scale + util3d.Vector3(item.centerX, item.centerY, 0) + self.parent.headSizeMax\r
+                       iMin1 = item.getMinimum() * item.scale + util3d.Vector3(item.centerX, item.centerY, 0) - extraSizeMin\r
+                       iMax1 = item.getMaximum() * item.scale + util3d.Vector3(item.centerX, item.centerY, 0) + extraSizeMax\r
                        for idx2 in xrange(0, idx1):\r
                                item2 = self.parent.list[idx2]\r
                                iMin2 = item2.getMinimum() * item2.scale + util3d.Vector3(item2.centerX, item2.centerY, 0)\r
@@ -561,8 +573,8 @@ class PreviewGLCanvas(glcanvas.GLCanvas):
                        \r
                        vMin = item.getMinimum() * item.scale\r
                        vMax = item.getMaximum() * item.scale\r
-                       vMinHead = vMin - self.parent.headSizeMin\r
-                       vMaxHead = vMax + self.parent.headSizeMax\r
+                       vMinHead = vMin - extraSizeMin\r
+                       vMaxHead = vMax + extraSizeMax\r
 \r
                        glDisable(GL_LIGHTING)\r
 \r