chiark / gitweb /
Add Ultimaker upgrade page in first run wizard, which helps in setting better defaults.
authordaid303 <daid303@gmail.com>
Wed, 5 Dec 2012 11:45:20 +0000 (12:45 +0100)
committerdaid303 <daid303@gmail.com>
Wed, 5 Dec 2012 11:45:20 +0000 (12:45 +0100)
Cura/example/UltimakerRobot_support.stl
Cura/gui/configWizard.py
Cura/gui/printWindow.py
Cura/util/profile.py

index 7cf0d98cf0320f891a0152fb9c64f29f1141004d..e75b1378322b630aacc7b33260b833221f7af186 100644 (file)
Binary files a/Cura/example/UltimakerRobot_support.stl and b/Cura/example/UltimakerRobot_support.stl differ
index 5965779a863f61821a0a9f57e47af6240ba83b7f..08ca7c7b16bca5f8a14fb8fef21210bef9388599 100644 (file)
@@ -262,6 +262,27 @@ class MachineSelectPage(InfoPage):
                        profile.putProfileSetting('nozzle_size', '0.5')\r
                profile.putProfileSetting('wall_thickness', float(profile.getProfileSetting('nozzle_size')) * 2)\r
 \r
+class SelectParts(InfoPage):\r
+       def __init__(self, parent):\r
+               super(SelectParts, self).__init__(parent, "Select upgraded parts you have")\r
+               self.AddText('To assist you in having better default settings for your Ultimaker\nCura would like to know which upgrades you have in your machine.')\r
+               self.AddSeperator()\r
+               self.springExtruder = self.AddCheckbox('Extruder drive upgrade')\r
+               self.heatedBed = self.AddCheckbox('Heated printer bed (self build)')\r
+               self.dualExtrusion = self.AddCheckbox('Dual extrusion (experimental)')\r
+               self.AddSeperator()\r
+               self.AddText('If you have an Ultimaker bought after october 2012 you will have the\nExtruder drive upgrade. If you do not have this upgrade,\nit is highly recommended to improve reliablity.')\r
+               self.AddText('This upgrade can be bought from the Ultimaker webshop shop\nor found on thingiverse as thing:26094')\r
+               self.springExtruder.SetValue(True)\r
+\r
+       def StoreData(self):\r
+               profile.putPreference('ultimaker_extruder_upgrade', str(self.springExtruder.GetValue()))\r
+               profile.putPreference('has_heated_bed', str(self.heatedBed.GetValue()))\r
+               if self.dualExtrusion.GetValue():\r
+                       profile.putPreference('extruder_amount', '2')\r
+               if getPreference('ultimaker_extruder_upgrade') == 'True':\r
+                       putProfileSetting('retraction_enable', 'True')\r
+\r
 class FirmwareUpgradePage(InfoPage):\r
        def __init__(self, parent):\r
                super(FirmwareUpgradePage, self).__init__(parent, "Upgrade Ultimaker Firmware")\r
@@ -628,6 +649,7 @@ class configWizard(wx.wizard.Wizard):
 \r
                self.firstInfoPage = FirstInfoPage(self)\r
                self.machineSelectPage = MachineSelectPage(self)\r
+               self.ultimakerSelectParts = SelectParts(self)\r
                self.ultimakerFirmwareUpgradePage = FirmwareUpgradePage(self)\r
                self.ultimakerCheckupPage = UltimakerCheckupPage(self)\r
                self.ultimakerCalibrationPage = UltimakerCalibrationPage(self)\r
@@ -635,7 +657,8 @@ class configWizard(wx.wizard.Wizard):
                self.repRapInfoPage = RepRapInfoPage(self)\r
 \r
                wx.wizard.WizardPageSimple.Chain(self.firstInfoPage, self.machineSelectPage)\r
-               wx.wizard.WizardPageSimple.Chain(self.machineSelectPage, self.ultimakerFirmwareUpgradePage)\r
+               wx.wizard.WizardPageSimple.Chain(self.machineSelectPage, self.ultimakerSelectParts)\r
+               wx.wizard.WizardPageSimple.Chain(self.ultimakerSelectParts, self.ultimakerFirmwareUpgradePage)\r
                wx.wizard.WizardPageSimple.Chain(self.ultimakerFirmwareUpgradePage, self.ultimakerCheckupPage)\r
                #wx.wizard.WizardPageSimple.Chain(self.ultimakerCheckupPage, self.ultimakerCalibrationPage)\r
                #wx.wizard.WizardPageSimple.Chain(self.ultimakerCalibrationPage, self.ultimakerCalibrateStepsPerEPage)\r
index 3d1538e1c6cf5f26b67cdb4c2b8de19194d8ef8a..e2cf43dd5571db5a5b106c0116dd8791821732ca 100644 (file)
@@ -555,10 +555,11 @@ class printWindow(wx.Frame):
        \r
        def mcTempUpdate(self, temp, bedTemp, targetTemp, bedTargetTemp):\r
                self.temperatureGraph.addPoint(temp, targetTemp, bedTemp, bedTargetTemp)\r
-               if self.temperatureSelect.GetValue() != targetTemp:\r
-                       wx.CallAfter(self.temperatureSelect.SetValue, targetTemp)\r
-               if self.bedTemperatureSelect.GetValue() != bedTargetTemp:\r
-                       wx.CallAfter(self.bedTemperatureSelect.SetValue, bedTargetTemp)\r
+               #ToFix, this causes problems with setting the temperature with the keyboard\r
+               #if self.temperatureSelect.GetValue() != targetTemp:\r
+               #       wx.CallAfter(self.temperatureSelect.SetValue, targetTemp)\r
+               #if self.bedTemperatureSelect.GetValue() != bedTargetTemp:\r
+               #       wx.CallAfter(self.bedTemperatureSelect.SetValue, bedTargetTemp)\r
        \r
        def mcStateChange(self, state):\r
                if self.machineCom != None:\r
index c0b709c76d2c5292182e615c072e5f5463a5ac7d..a36ff20f519e01dd1e390acb05fc0bfd6e5fdefc 100644 (file)
@@ -154,6 +154,7 @@ preferencesDefaultSettings = {
        'machine_depth': '205',\r
        'machine_height': '200',\r
        'machine_type': 'unknown',\r
+       'ultimaker_extruder_upgrade': 'False',\r
        'has_heated_bed': 'False',\r
        'extruder_amount': '1',\r
        'extruder_offset_x1': '-22.0',\r
@@ -215,7 +216,11 @@ def resetGlobalProfile():
        global globalProfileParser\r
        globalProfileParser = ConfigParser.ConfigParser()\r
 \r
-       if getPreference('machine_type') == 'reprap':\r
+       if getPreference('machine_type') == 'ultimaker':\r
+               putProfileSetting('nozzle_size', '0.4')\r
+               if getPreference('ultimaker_extruder_upgrade') == 'True':\r
+                       putProfileSetting('retraction_enable', 'True')\r
+       else:\r
                putProfileSetting('nozzle_size', '0.5')\r
 \r
 def saveGlobalProfile(filename):\r