chiark / gitweb /
Add support for heated bed temperature setting.
authordaid <daid303@gmail.com>
Fri, 3 Aug 2012 09:10:28 +0000 (11:10 +0200)
committerdaid <daid303@gmail.com>
Fri, 3 Aug 2012 09:10:28 +0000 (11:10 +0200)
Cura/gui/mainWindow.py
Cura/gui/preferencesDialog.py
Cura/util/profile.py

index 112832ca94576ba4a25aba931d612cbb1f5885dd..07bfe864c75a318bfc8df53e21f07af870a3abb3 100644 (file)
@@ -144,6 +144,9 @@ class mainWindow(configBase.configWindowBase):
                c = configBase.SettingRow(right, "Printing temperature", 'print_temperature', '0', 'Temperature used for printing. Set at 0 to pre-heat yourself')
                validators.validFloat(c, 0.0, 340.0)
                validators.warningAbove(c, 260.0, "Temperatures above 260C could damage your machine, be careful!")
+               if profile.getPreference('has_heated_bed') == 'True':
+                       c = configBase.SettingRow(right, "Bed temperature", 'print_bed_temperature', '0', 'Temperature used for the heated printer bed. Set at 0 to pre-heat yourself')
+                       validators.validFloat(c, 0.0, 340.0)
                
                configBase.TitleRow(right, "Support")
                c = configBase.SettingRow(right, "Support type", 'support', ['None', 'Exterior Only', 'Everywhere', 'Empty Layers Only'], 'Type of support structure build.\n"Exterior only" is the most commonly used support setting.\n\nNone does not do any support.\nExterior only only creates support on the outside.\nEverywhere creates support even on the insides of the model.\nOnly on empty layers is for stacked objects.')
index 036dc70551f46d300adf926875fd0deffd227e5a..843460f30897b4e5d3417db946c695f758067c02 100644 (file)
@@ -29,6 +29,7 @@ class preferencesDialog(configBase.configWindowBase):
                c = configBase.SettingRow(left, 'Machine height (mm)', 'machine_height', '200', 'Size of the machine in mm', type = 'preference')\r
                validators.validFloat(c, 10.0)\r
                c = configBase.SettingRow(left, 'Extruder count', 'extruder_amount', ['1', '2', '3', '4'], 'Amount of extruders in your machine.', type = 'preference')\r
+               c = configBase.SettingRow(left, 'Heated bed', 'has_heated_bed', False, 'If you have an heated bed, this enabled heated bed settings', type = 'preference')\r
                \r
                for i in xrange(1, self.oldExtruderAmount):\r
                        configBase.TitleRow(left, 'Extruder %d' % (i+1))\r
index 90d3f74d9d3ee97e19b4629ee872dc2b5995e2e5..ab4f0302af95c5ee288d65d845203f827c24026e 100644 (file)
@@ -24,6 +24,7 @@ profileDefaultSettings = {
        'skirt_gap': '3.0',\r
        'print_speed': '50',\r
        'print_temperature': '230',\r
+       'print_bed_temperature': '70',\r
        'support': 'None',\r
        'filament_diameter': '2.89',\r
        'filament_density': '1.00',\r
@@ -155,6 +156,7 @@ preferencesDefaultSettings = {
        'machine_depth': '205',\r
        'machine_height': '200',\r
        'machine_type': 'unknown',\r
+       'has_heated_bed': 'False',\r
        'extruder_amount': '1',\r
        'extruder_offset_x1': '-22.0',\r
        'extruder_offset_y1': '0.0',\r
@@ -486,8 +488,17 @@ def getAlterationFileContents(filename):
                if eSteps > 0:\r
                        prefix += 'M92 E%f\n' % (eSteps)\r
                temp = getProfileSettingFloat('print_temperature')\r
+               bedTemp = 0\r
+               if getPreference('has_heated_bed') == 'True':\r
+                       bedTemp = getProfileSettingFloat('print_bed_temperature')\r
+               \r
+               if bedTemp > 0 and not '{print_bed_temperature}' in alterationContents:\r
+                       prefix += 'M140 S%f\n' % (bedTemp)\r
                if temp > 0 and not '{print_temperature}' in alterationContents:\r
                        prefix += 'M109 S%f\n' % (temp)\r
+               if bedTemp > 0 and not '{print_bed_temperature}' in alterationContents:\r
+                       prefix += 'M190 S%f\n' % (bedTemp)\r
+                       \r
        elif filename == 'end.gcode':\r
                #Append the profile string to the end of the GCode, so we can load it from the GCode file later.\r
                postfix = ';CURA_PROFILE_STRING:%s\n' % (getGlobalProfileString())\r