Exemple #1
0
	def updateMachineMenu(self):
		#Remove all items so we can rebuild the menu. Inserting items seems to cause crashes, so this is the safest way.
		for item in self.machineMenu.GetMenuItems():
			self.machineMenu.RemoveItem(item)

		#Add a menu item for each machine configuration.
		for n in xrange(0, profile.getMachineCount()):
			i = self.machineMenu.Append(n + 0x1000, profile.getMachineSetting('machine_name', n).title(), kind=wx.ITEM_RADIO)
			if n == int(profile.getPreferenceFloat('active_machine')):
				i.Check(True)
			self.Bind(wx.EVT_MENU, lambda e: self.OnSelectMachine(e.GetId() - 0x1000), i)

		self.machineMenu.AppendSeparator()
		i = self.machineMenu.Append(-1, _("Add new machine..."))
		self.Bind(wx.EVT_MENU, self.OnAddNewMachine, i)
		i = self.machineMenu.Append(-1, _("Machine settings..."))
		self.Bind(wx.EVT_MENU, self.OnMachineSettings, i)

		#Add tools for machines.
		self.machineMenu.AppendSeparator()

		self.defaultFirmwareInstallMenuItem = self.machineMenu.Append(-1, _("Install default firmware..."))
		self.Bind(wx.EVT_MENU, self.OnDefaultMarlinFirmware, self.defaultFirmwareInstallMenuItem)

		i = self.machineMenu.Append(-1, _("Install custom firmware..."))
		self.Bind(wx.EVT_MENU, self.OnCustomFirmware, i)
Exemple #2
0
    def updateMachineMenu(self):
        #Remove all items so we can rebuild the menu. Inserting items seems to cause crashes, so this is the safest way.
        for item in self.machineMenu.GetMenuItems():
            self.machineMenu.RemoveItem(item)

        #Add a menu item for each machine configuration.
        for n in xrange(0, profile.getMachineCount()):
            i = self.machineMenu.Append(n + 0x1000,
                                        profile.getMachineSetting(
                                            'machine_name', n).title(),
                                        kind=wx.ITEM_RADIO)
            if n == int(profile.getPreferenceFloat('active_machine')):
                i.Check(True)
            self.Bind(wx.EVT_MENU,
                      lambda e: self.OnSelectMachine(e.GetId() - 0x1000), i)

        self.machineMenu.AppendSeparator()

        i = self.machineMenu.Append(-1, _("Machine settings..."))
        self.Bind(wx.EVT_MENU, self.OnMachineSettings, i)

        #Add tools for machines.
        self.machineMenu.AppendSeparator()

        self.defaultFirmwareInstallMenuItem = self.machineMenu.Append(
            -1, _("Install default firmware..."))
        self.Bind(wx.EVT_MENU, self.OnDefaultMarlinFirmware,
                  self.defaultFirmwareInstallMenuItem)

        i = self.machineMenu.Append(-1, _("Install custom firmware..."))
        self.Bind(wx.EVT_MENU, self.OnCustomFirmware, i)
Exemple #3
0
 def OnAddNewMachine(self, e):
     self.Hide()
     profile.setActiveMachine(profile.getMachineCount())
     configWizard.configWizard(True)
     self.Show()
     self.reloadSettingPanels()
     self.updateMachineMenu()
	def OnAddNewMachine(self, e):
		self.Hide()
		profile.setActiveMachine(profile.getMachineCount())
		configWizard.configWizard(True)
		self.Show()
		self.reloadSettingPanels()
		self.updateMachineMenu()
	def __init__(self):
		super(newVersionDialog, self).__init__(None, title="Welcome to the new version!")

		wx.EVT_CLOSE(self, self.OnClose)

		p = wx.Panel(self)
		self.panel = p
		s = wx.BoxSizer()
		self.SetSizer(s)
		s.Add(p, flag=wx.ALL, border=15)
		s = wx.BoxSizer(wx.VERTICAL)
		p.SetSizer(s)

		title = wx.StaticText(p, -1, 'Cura - ' + version.getVersion())
		title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
		s.Add(title, flag=wx.ALIGN_CENTRE|wx.EXPAND|wx.BOTTOM, border=5)
		s.Add(wx.StaticText(p, -1, 'Welcome to the new version of Cura.'))
		s.Add(wx.StaticText(p, -1, '(This dialog is only shown once)'))
		s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
		s.Add(wx.StaticText(p, -1, 'New in version 15.04.2:'))
		s.Add(wx.StaticText(p, -1, '* New firmwares for the Ultimaker2, Ultimaker2go and Ultimaker2extended'))
		s.Add(wx.StaticText(p, -1, '* New and updated 3th party machine configurations'))
		s.Add(wx.StaticText(p, -1, 'New in version 15.04:'))
		s.Add(wx.StaticText(p, -1, '* Fixed a small issue where Cura sometimes failed enable the save button'))
		s.Add(wx.StaticText(p, -1, '* Added save gcode shortcut key (CTRL+G)'))
		s.Add(wx.StaticText(p, -1, '* Updated UM2, UM2go and UM2extended firmware for the new support url on errors'))
		s.Add(wx.StaticText(p, -1, '* Fixed small issue in the UM2go firmware'))

		self.hasUltimaker = None
		self.hasUltimaker2 = None
		for n in xrange(0, profile.getMachineCount()):
			if profile.getMachineSetting('machine_type', n) == 'ultimaker':
				self.hasUltimaker = n
			if profile.getMachineSetting('machine_type', n) == 'ultimaker2':
				self.hasUltimaker2 = n
		if self.hasUltimaker is not None and False:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker Original:'))
			s.Add(wx.StaticText(p, -1, '* .'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, self.OnUltimakerFirmware, button)
			s.Add(button, flag=wx.TOP, border=5)
		if self.hasUltimaker2 is not None and False:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker2:'))
			s.Add(wx.StaticText(p, -1, '* Added option to change filament when pausing during a print.'))
			s.Add(wx.StaticText(p, -1, '* Prevent temperature display jitter (thanks to TinkerGnome)'))
			s.Add(wx.StaticText(p, -1, '* Fixed problems with filenames containing an umlaut.'))
			s.Add(wx.StaticText(p, -1, '* Improved pause handling (thanks to ThinkerGnome)'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, self.OnUltimaker2Firmware, button)
			s.Add(button, flag=wx.TOP, border=5)

		s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
		button = wx.Button(p, -1, 'Ok')
		self.Bind(wx.EVT_BUTTON, self.OnOk, button)
		s.Add(button, flag=wx.TOP|wx.ALIGN_RIGHT, border=5)

		self.Fit()
		self.Centre()
	def checkMachineConfigurations(self):
		from Cura.util import profile
		for index in xrange(0, profile.getMachineCount()):
			machine_type = profile.getMachineSetting('machine_type', index)
			# Fix the Ultimaker2 build volume, which was wrong in previous version of Cura.
			if machine_type.startswith('ultimaker2') and not machine_type.startswith('ultimaker2go'):
				if abs(float(profile.getMachineSetting('machine_width', index)) - 230) < 10:
					profile.putMachineSetting('machine_width', '223', index)
				if abs(float(profile.getMachineSetting('machine_depth', index)) - 230) < 10:
					profile.putMachineSetting('machine_depth', '223', index)
				if abs(float(profile.getMachineSetting('machine_depth', index)) - 315) < 1:
					profile.putMachineSetting('machine_depth', '305', index)
	def checkMachineConfigurations(self):
		from Cura.util import profile
		for index in xrange(0, profile.getMachineCount()):
			machine_type = profile.getMachineSetting('machine_type', index)
			# Fix the Ultimaker2 build volume, which was wrong in previous version of Cura.
			if machine_type.startswith('ultimaker2') and not machine_type.startswith('ultimaker2go'):
				if abs(float(profile.getMachineSetting('machine_width', index)) - 230) < 10:
					profile.putMachineSetting('machine_width', '223', index)
				if abs(float(profile.getMachineSetting('machine_depth', index)) - 230) < 10:
					profile.putMachineSetting('machine_depth', '223', index)
				if abs(float(profile.getMachineSetting('machine_depth', index)) - 315) < 1:
					profile.putMachineSetting('machine_depth', '305', index)
	def OnAddMachine(self, e):
		self.Hide()
		self.parent.Hide()
		profile.setActiveMachine(profile.getMachineCount())
		configWizard.configWizard(True)
		self.parent.Show()
		self.parent.reloadSettingPanels()
		self.parent.updateMachineMenu()

		prefDialog = machineSettingsDialog(self.parent)
		prefDialog.Centre()
		prefDialog.Show()
		wx.CallAfter(self.Close)
Exemple #9
0
	def OnAddMachine(self, e):
		self.Hide()
		self.parent.Hide()
		profile.setActiveMachine(profile.getMachineCount())
		configWizard.configWizard(True)
		self.parent.Show()
		self.parent.reloadSettingPanels()
		self.parent.updateMachineMenu()

		prefDialog = machineSettingsDialog(self.parent)
		prefDialog.Centre()
		prefDialog.Show()
		wx.CallAfter(self.Close)
	def OnRemoveMachine(self, e):
		if profile.getMachineCount() < 2:
			wx.MessageBox(_("Cannot remove the last machine configuration in Cura"), _("Machine remove error"), wx.OK | wx.ICON_ERROR)
			return

		self.Hide()
		profile.removeMachine(self.nb.GetSelection())
		self.parent.reloadSettingPanels()
		self.parent.updateMachineMenu()

		prefDialog = machineSettingsDialog(self.parent)
		prefDialog.Centre()
		prefDialog.Show()
		wx.CallAfter(self.Close)
Exemple #11
0
	def OnRemoveMachine(self, e):
		if profile.getMachineCount() < 2:
			wx.MessageBox(_("Cannot remove the last machine configuration in Cura"), _("Machine remove error"), wx.OK | wx.ICON_ERROR)
			return

		self.Hide()
		profile.removeMachine(self.nb.GetSelection())
		self.parent.reloadSettingPanels()
		self.parent.updateMachineMenu()

		prefDialog = machineSettingsDialog(self.parent)
		prefDialog.Centre()
		prefDialog.Show()
		wx.CallAfter(self.Close)
	def OnRemoveMachine(self, e):
		if profile.getMachineCount() < 2:
			wx.MessageBox(_("Cannot remove the last machine configuration in Cura"), _("Machine remove error"), wx.OK | wx.ICON_ERROR)
			return

		dlg = wx.MessageDialog(self,
			_("Are you sure you want to remove the selected machine?"),
			_('Remove machine?'),
			wx.YES_NO | wx.ICON_EXCLAMATION)
		remove = dlg.ShowModal() == wx.ID_YES
		dlg.Destroy()
		if remove:
			self.Hide()
			profile.removeMachine(self.nb.GetSelection())
			self.parent.reloadSettingPanels()
			self.parent.updateMachineMenu()

			prefDialog = machineSettingsDialog(self.parent)
			prefDialog.Centre()
			prefDialog.Show()
			wx.CallAfter(self.Close)
    def OnRemoveMachine(self, e):
        if profile.getMachineCount() < 2:
            wx.MessageBox(
                _("Cannot remove the last machine configuration in Cura"),
                _("Machine remove error"), wx.OK | wx.ICON_ERROR)
            return

        dlg = wx.MessageDialog(
            self, _("Are you sure you want to remove the selected machine?"),
            _('Remove machine?'), wx.YES_NO | wx.ICON_EXCLAMATION)
        remove = dlg.ShowModal() == wx.ID_YES
        dlg.Destroy()
        if remove:
            self.Hide()
            profile.removeMachine(self.nb.GetSelection())
            self.parent.reloadSettingPanels()
            self.parent.updateMachineMenu()

            prefDialog = machineSettingsDialog(self.parent)
            prefDialog.Centre()
            prefDialog.Show()
            wx.CallAfter(self.Close)
    def __init__(self, addNew = False):
        super(ConfigFirmware, self).__init__(None, -1, _("Machine Firmware Updater"))

        self._old_machine_index = int(profile.getPreferenceFloat('active_machine'))
        if addNew:
            profile.setActiveMachine(profile.getMachineCount())

        self.Bind(wx.wizard.EVT_WIZARD_PAGE_CHANGED, self.OnPageChanged)
        self.Bind(wx.wizard.EVT_WIZARD_PAGE_CHANGING, self.OnPageChanging)
        self.Bind(wx.wizard.EVT_WIZARD_CANCEL, self.OnCancel)
        self.Bind(wx.wizard.EVT_WIZARD_FINISHED, self.OnFinish)


        self.machineSelectPage = MachineSelectPage(self)
        self.decidetoupdatesigma = decideToUpdateSigma(self)
        self.firstconnectprintersigma = FirstConnectPrinterSigma(self)
        self.decidetoupdateplus = decideToUpdatePlus(self)
        self.firstconnectprinterplus = FirstConnectPrinterPlus(self)
        self.decidetoupdater = decideToUpdateR(self)
        self.firstconnectprinterr = FirstConnectPrinterR(self)



        if profile.getMachineSetting('machine_type') == 'BCN3DSigma':
            wx.wizard.WizardPageSimple.Chain(self.machineSelectPage, self.decidetoupdatesigma)
            wx.wizard.WizardPageSimple.Chain(self.decidetoupdatesigma, self.firstconnectprintersigma)
        if profile.getMachineSetting('machine_type') == 'BCN3DPlus':
            wx.wizard.WizardPageSimple.Chain(self.machineSelectPage, self.decidetoupdateplus)
            wx.wizard.WizardPageSimple.Chain(self.decidetoupdateplus, self.firstconnectprinterplus)
        if profile.getMachineSetting('machine_type') == 'BCN3DR':
            wx.wizard.WizardPageSimple.Chain(self.machineSelectPage, self.decidetoupdater)
            wx.wizard.WizardPageSimple.Chain(self.decidetoupdater, self.firstconnectprinterr)


        self.FitToPage(self.machineSelectPage)
        self.GetPageAreaSizer().Add(self.machineSelectPage)

        self.RunWizard(self.machineSelectPage)
        self.Hide()
    def __init__(self):
        super(newVersionDialog,
              self).__init__(None, title="Welcome to the new version!")

        wx.EVT_CLOSE(self, self.OnClose)

        p = wx.Panel(self)
        self.panel = p
        s = wx.BoxSizer()
        self.SetSizer(s)
        s.Add(p, flag=wx.ALL, border=15)
        s = wx.BoxSizer(wx.VERTICAL)
        p.SetSizer(s)

        title = wx.StaticText(p, -1, 'Cura - ' + version.getVersion())
        title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
        s.Add(title, flag=wx.ALIGN_CENTRE | wx.EXPAND | wx.BOTTOM, border=5)
        s.Add(wx.StaticText(p, -1, 'Welcome to the new version of Cura.'))
        s.Add(wx.StaticText(p, -1, '(This dialog is only shown once)'))
        s.Add(wx.StaticLine(p), flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10)
        s.Add(wx.StaticText(p, -1, 'New in this version:'))

        s.Add(
            wx.StaticText(
                p, -1,
                _('* Added feature to configure the first layer to use wider print lines, for better adhesion to the printer bed.'
                  )))
        s.Add(
            wx.StaticText(p, -1,
                          _('* Added all Printrbot printer variations.')))
        s.Add(wx.StaticText(p, -1, 'New in version 14.06.1:'))

        s.Add(wx.StaticText(p, -1, _('* Updated drivers for Windows 8.1.')))
        s.Add(
            wx.StaticText(
                p, -1,
                _('* Added better raft support with surface layers and an air-gap. Special thanks to Gregoire Passault.'
                  )))
        s.Add(
            wx.StaticText(
                p, -1,
                _('* Improved outer surface quality on high detail prints.')))
        s.Add(
            wx.StaticText(
                p, -1,
                _('* Fixed bug with multiple machines and different start/end GCode.'
                  )))
        s.Add(
            wx.StaticText(
                p, -1,
                _('* Added initial support for BitsFromBytes machines.')))
        s.Add(
            wx.StaticText(
                p, -1,
                _('* Improved the Pronterface UI with buttons to set temperature and extrusion buttons.'
                  )))
        s.Add(wx.StaticText(p, -1, _('* Improved bridging detection.')))

        self.hasUltimaker = None
        self.hasUltimaker2 = None
        for n in xrange(0, profile.getMachineCount()):
            if profile.getMachineSetting('machine_type', n) == 'ultimaker':
                self.hasUltimaker = n
            if profile.getMachineSetting('machine_type', n) == 'ultimaker2':
                self.hasUltimaker2 = n
        if self.hasUltimaker is not None and False:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(
                wx.StaticText(p, -1,
                              'New firmware for your Ultimaker Original:'))
            s.Add(wx.StaticText(p, -1, '* .'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, self.OnUltimakerFirmware, button)
            s.Add(button, flag=wx.TOP, border=5)
        if self.hasUltimaker2 is not None:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(
                wx.StaticText(
                    p, -1, _('New firmware for your Ultimaker2: (14.07.0)')))
            s.Add(
                wx.StaticText(
                    p, -1,
                    _('* Added feature in the maintenance menu to just load filament'
                      )))
            s.Add(
                wx.StaticText(
                    p, -1,
                    _('* Fixed grinding problem at the start of a print')))
            s.Add(
                wx.StaticText(
                    p, -1,
                    _('* Fixed properly retracting when a print is finished')))
            s.Add(wx.StaticText(p, -1, _('Firmware update: (14.06.2)')))
            s.Add(
                wx.StaticText(
                    p, -1,
                    _('* Fixed a problem with the bed leveling. (Special thanks to stevegt for figuring this out)'
                      )))
            s.Add(
                wx.StaticText(
                    p, -1,
                    _('* Improved the start of the print, first moves the bed up before moving to the print.'
                      )))
            s.Add(
                wx.StaticText(
                    p, -1,
                    _('* Improved the start of the print, initial filament push is slower so it does not slip.'
                      )))
            s.Add(
                wx.StaticText(
                    p, -1,
                    _('* Made sure the head does not bump into the front of the casing at first startup.'
                      )))
            s.Add(
                wx.StaticText(p, -1,
                              _('* Fixed support for the PauseAtZ plugin.')))
            s.Add(
                wx.StaticText(
                    p, -1,
                    _('* Added lifetime runtime stats. Allows you to see how long the printer has been running.'
                      )))

            button = wx.Button(p, -1, _('Install now'))
            self.Bind(wx.EVT_BUTTON, self.OnUltimaker2Firmware, button)
            s.Add(button, flag=wx.TOP, border=5)

        s.Add(wx.StaticLine(p), flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10)
        button = wx.Button(p, -1, 'Ok')
        self.Bind(wx.EVT_BUTTON, self.OnOk, button)
        s.Add(button, flag=wx.TOP | wx.ALIGN_RIGHT, border=5)

        self.Fit()
        self.Centre()
	def __init__(self):
		super(newVersionDialog, self).__init__(None, title="Welcome to the new version!")

		wx.EVT_CLOSE(self, self.OnClose)

		p = wx.Panel(self)
		self.panel = p
		s = wx.BoxSizer()
		self.SetSizer(s)
		s.Add(p, flag=wx.ALL, border=15)
		s = wx.BoxSizer(wx.VERTICAL)
		p.SetSizer(s)

		title = wx.StaticText(p, -1, 'Cura - ' + version.getVersion())
		title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
		s.Add(title, flag=wx.ALIGN_CENTRE|wx.EXPAND|wx.BOTTOM, border=5)
		s.Add(wx.StaticText(p, -1, 'Welcome to the new version of Cura.'))
		s.Add(wx.StaticText(p, -1, '(This dialog is only shown once)'))
		s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
		s.Add(wx.StaticText(p, -1, 'New in this version:'))
		s.Add(wx.StaticText(p, -1, '* Added feature to configure the first layer to use wider print lines, for better adhesion to the printer bed.'))
		s.Add(wx.StaticText(p, -1, '* Added all Printrbot printer variations.'))
		s.Add(wx.StaticText(p, -1, 'New in version 14.06.1:'))
		s.Add(wx.StaticText(p, -1, '* Updated drivers for Windows 8.1.'))
		s.Add(wx.StaticText(p, -1, '* Added better raft support with surface layers and an air-gap. Special thanks to Gregoire Passault.'))
		s.Add(wx.StaticText(p, -1, '* Improved outer surface quality on high detail prints.'))
		s.Add(wx.StaticText(p, -1, '* Fixed bug with multiple machines and different start/end GCode.'))
		s.Add(wx.StaticText(p, -1, '* Added initial support for BitsFromBytes machines.'))
		s.Add(wx.StaticText(p, -1, '* Improved the Pronterface UI with buttons to set temperature and extrusion buttons.'))
		s.Add(wx.StaticText(p, -1, '* Improved bridging detection.'))

		self.hasUltimaker = None
		self.hasUltimaker2 = None
		for n in xrange(0, profile.getMachineCount()):
			if profile.getMachineSetting('machine_type', n) == 'ultimaker':
				self.hasUltimaker = n
			if profile.getMachineSetting('machine_type', n) == 'ultimaker2':
				self.hasUltimaker2 = n
		if self.hasUltimaker is not None and False:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker Original:'))
			s.Add(wx.StaticText(p, -1, '* .'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, self.OnUltimakerFirmware, button)
			s.Add(button, flag=wx.TOP, border=5)
		if self.hasUltimaker2 is not None:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker2: (14.07.0)'))
			s.Add(wx.StaticText(p, -1, '* Added feature in the maintenance menu to just load filament'))
			s.Add(wx.StaticText(p, -1, '* Fixed grinding problem at the start of a print'))
			s.Add(wx.StaticText(p, -1, '* Fixed properly retracting when a print is finished'))
			s.Add(wx.StaticText(p, -1, 'Firmware update: (14.06.2)'))
			s.Add(wx.StaticText(p, -1, '* Fixed a problem with the bed leveling. (Special thanks to stevegt for figuring this out)'))
			s.Add(wx.StaticText(p, -1, '* Improved the start of the print, first moves the bed up before moving to the print.'))
			s.Add(wx.StaticText(p, -1, '* Improved the start of the print, initial filament push is slower so it does not slip.'))
			s.Add(wx.StaticText(p, -1, '* Made sure the head does not bump into the front of the casing at first startup.'))
			s.Add(wx.StaticText(p, -1, '* Fixed support for the PauseAtZ plugin.'))
			s.Add(wx.StaticText(p, -1, '* Added lifetime runtime stats. Allows you to see how long the printer has been running.'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, self.OnUltimaker2Firmware, button)
			s.Add(button, flag=wx.TOP, border=5)

		s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
		button = wx.Button(p, -1, 'Ok')
		self.Bind(wx.EVT_BUTTON, self.OnOk, button)
		s.Add(button, flag=wx.TOP|wx.ALIGN_RIGHT, border=5)

		self.Fit()
		self.Centre()
    def __init__(self):
        super(newVersionDialog,
              self).__init__(None, title="Welcome to the new version!")

        wx.EVT_CLOSE(self, self.OnClose)

        p = wx.Panel(self)
        self.panel = p
        s = wx.BoxSizer()
        self.SetSizer(s)
        s.Add(p, flag=wx.ALL, border=15)
        s = wx.BoxSizer(wx.VERTICAL)
        p.SetSizer(s)

        title = wx.StaticText(p, -1, 'Cura-BCN3D ' + version.getVersion())
        title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
        s.Add(title, flag=wx.ALIGN_CENTRE | wx.EXPAND | wx.BOTTOM, border=5)
        s.Add(wx.StaticText(p, -1, 'Welcome to the new version of Cura.'))
        s.Add(wx.StaticText(p, -1, '(This dialog is only shown once)'))
        s.Add(wx.StaticLine(p), flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10)
        s.Add(wx.StaticText(p, -1, 'New in this version:'))
        s.Add(
            wx.StaticText(p, -1,
                          '* Added settings for BCN3D Technologies printers'))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Changed some parts of the interface to give a better user experience'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* BCN3D Sigma is automatically set to double extrusion'))

        self.hasBCN3DSigma = None
        self.hasBCN3DPlus = None
        self.hasBCN3DR = None
        self.hasUltimaker = None
        self.hasUltimaker2 = None

        for n in xrange(0, profile.getMachineCount()):
            if profile.getMachineSetting('machine_type', n) == 'BCN3DSigma':
                self.hasBCN3DSigma = n
            if profile.getMachineSetting('machine_type', n) == 'BCN3DPlus':
                self.hasBCN3DPlus = n
            if profile.getMachineSetting('machine_type', n) == 'BCN3DR':
                self.hasBCN3DR = n
            if profile.getMachineSetting('machine_type', n) == 'ultimaker':
                self.hasUltimaker = n
            if profile.getMachineSetting('machine_type', n) == 'ultimaker2':
                self.hasUltimaker2 = n
        if self.hasBCN3DSigma is not None and False:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your BCN3D Sigma:'))
            s.Add(wx.StaticText(p, -1, '* .'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, self.OnBCN3DSigmaFirmware, button)
            s.Add(button, flag=wx.TOP, border=5)
        if self.hasBCN3DPlus is not None and False:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your BCN3D Plus:'))
            s.Add(wx.StaticText(p, -1, '* .'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, self.OnBCN3DPlusFirmware, button)
            s.Add(button, flag=wx.TOP, border=5)
        if self.hasBCN3DR is not None and False:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your BCN3D R:'))
            s.Add(wx.StaticText(p, -1, '* .'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, self.OnBCN3DRFirmware, button)
            s.Add(button, flag=wx.TOP, border=5)
        if self.hasUltimaker is not None and False:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(
                wx.StaticText(p, -1,
                              'New firmware for your Ultimaker Original:'))
            s.Add(wx.StaticText(p, -1, '* .'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, self.OnUltimakerFirmware, button)
            s.Add(button, flag=wx.TOP, border=5)
        if self.hasUltimaker2 is not None and False:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker2: '))
            s.Add(wx.StaticText(p, -1, '* .'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, self.OnUltimaker2Firmware, button)
            s.Add(button, flag=wx.TOP, border=5)

        s.Add(wx.StaticLine(p), flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10)
        button = wx.Button(p, -1, 'Ok')
        self.Bind(wx.EVT_BUTTON, self.OnOk, button)
        s.Add(button, flag=wx.TOP | wx.ALIGN_RIGHT, border=5)

        self.Fit()
        self.Centre()
Exemple #18
0
	def __init__(self):
		super(newVersionDialog, self).__init__(None, title="Welcome to the new version!")

		wx.EVT_CLOSE(self, self.OnClose)

		p = wx.Panel(self)
		self.panel = p
		s = wx.BoxSizer()
		self.SetSizer(s)
		s.Add(p, flag=wx.ALL, border=15)
		s = wx.BoxSizer(wx.VERTICAL)
		p.SetSizer(s)

		title = wx.StaticText(p, -1, 'Cura - ' + version.getVersion())
		title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
		s.Add(title, flag=wx.ALIGN_CENTRE|wx.EXPAND|wx.BOTTOM, border=5)
		s.Add(wx.StaticText(p, -1, 'Welcome to the new version of Cura.'))
		s.Add(wx.StaticText(p, -1, '(This dialog is only shown once)'))
		s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
		s.Add(wx.StaticText(p, -1, 'New in this version:'))
		s.Add(wx.StaticText(p, -1, '* Fixed a problem which was introduced in 14.09.\n    There are extreme amounts of head movements generated.'))
		s.Add(wx.StaticText(p, -1, '* Speed up GCode generation for large models by as much as 40%'))
		s.Add(wx.StaticText(p, -1, '* Fixed problems with placement of multiple objects on the build platform'))
		s.Add(wx.StaticText(p, -1, '* Prevent installing firmware for Ultimaker Original+ on an Ultimaker Original'))
		s.Add(wx.StaticText(p, -1, '* Fixed generating big GCode files (more then 200MB) on Windows'))
		s.Add(wx.StaticText(p, -1, '* French translation updates (Thanks to Jeremie Francois)'))
		s.Add(wx.StaticText(p, -1, '* Fixed a problem where "everywhere" support did not work when german was used as language.'))
		s.Add(wx.StaticText(p, -1, '* Changed the handling of the heated bed, now always heats\n    the bed first instead of bed and nozzle at the same time.\n    This to prevent the nozzle from leaking empty.'))
		s.Add(wx.StaticText(p, -1, '* Fixed the "uninstall old Cura versions" option in the windows installer.'))
		s.Add(wx.StaticText(p, -1, '* Improved the search for old installations, so old settings are copied over.'))
		s.Add(wx.StaticText(p, -1, '* Fixed a bug where double clicking a file on windows did not load the file in Cura.'))
		s.Add(wx.StaticText(p, -1, '* Made sure the firmware versions for Ultimaker printers always match the Cura release number.'))
		s.Add(wx.StaticText(p, -1, '* Added a quick access button for expert settings of a certain setting.'))
		s.Add(wx.StaticText(p, -1, '* Added some more raft settings to dial in the raft better.'))
		s.Add(wx.StaticText(p, -1, '* Fixed the tooltip of support material. Now it actually explains the angles properly.'))
		s.Add(wx.StaticText(p, -1, '* Fixed a bug which caused the USB printing window to stop working (Thanks to SpaxGuy)'))
		s.Add(wx.StaticText(p, -1, '* Fix a bug where Cura would stop generating GCode'))
		s.Add(wx.StaticText(p, -1, '* Added latest offerings of Printrbot'))

		self.hasUltimaker = None
		self.hasUltimaker2 = None
		for n in xrange(0, profile.getMachineCount()):
			if profile.getMachineSetting('machine_type', n) == 'ultimaker':
				self.hasUltimaker = n
			if profile.getMachineSetting('machine_type', n) == 'ultimaker2':
				self.hasUltimaker2 = n
		if self.hasUltimaker is not None and False:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker Original:'))
			s.Add(wx.StaticText(p, -1, '* .'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, self.OnUltimakerFirmware, button)
			s.Add(button, flag=wx.TOP, border=5)
		if self.hasUltimaker2 is not None:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker2:'))
			s.Add(wx.StaticText(p, -1, '* Detect when the endstops are not working properly.\n    Which prevents the bed from damaging the nozzle.'))
			s.Add(wx.StaticText(p, -1, '* Added the ability to import/export material profiles to the SD card.'))
			s.Add(wx.StaticText(p, -1, '* Improved hotend temperature stability.'))
			s.Add(wx.StaticText(p, -1, '* Added UPET material profile.'))
			s.Add(wx.StaticText(p, -1, '* Minor improvements to the time estimate code.'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, self.OnUltimaker2Firmware, button)
			s.Add(button, flag=wx.TOP, border=5)

		s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
		button = wx.Button(p, -1, 'Ok')
		self.Bind(wx.EVT_BUTTON, self.OnOk, button)
		s.Add(button, flag=wx.TOP|wx.ALIGN_RIGHT, border=5)

		self.Fit()
		self.Centre()
	def __init__(self, parent):
		super(machineSettingsDialog, self).__init__(parent, title=_("Machine settings"))

		wx.EVT_CLOSE(self, self.OnClose)

		self.parent = parent

		self.panel = configBase.configPanelBase(self)
		self.SetSizer(wx.BoxSizer(wx.HORIZONTAL))
		self.GetSizer().Add(self.panel, 1, wx.EXPAND)
		self.nb = wx.Notebook(self.panel)
		self.panel.SetSizer(wx.BoxSizer(wx.VERTICAL))
		self.panel.GetSizer().Add(self.nb, 1, wx.EXPAND)

		for idx in xrange(0, profile.getMachineCount()):
			printer_type = profile.getMachineSetting('machine_type', idx)
			extruderCount = int(profile.getMachineSetting('extruder_amount', idx))
			left, right, main = self.panel.CreateConfigPanel(self.nb)
			configBase.TitleRow(left, _("Machine settings"))
			configBase.SettingRow(left, 'steps_per_e', index=idx)
			configBase.SettingRow(left, 'machine_width', index=idx)
			configBase.SettingRow(left, 'machine_depth', index=idx)
			configBase.SettingRow(left, 'machine_height', index=idx)
			if not printer_type.startswith('lulzbot_TAZ_6'): #Disabled for TAZ 6, use LCD controller instead
				configBase.SettingRow(left, 'extruder_z_offset', index=idx)
			configBase.SettingRow(left, 'extruder_amount', index=idx)
			configBase.SettingRow(left, 'has_heated_bed', index=idx)
			configBase.SettingRow(left, 'machine_center_is_zero', index=idx)
			configBase.SettingRow(left, 'machine_shape', index=idx)
			configBase.SettingRow(left, 'gcode_flavor', index=idx)

			if printer_type.startswith('lulzbot_'):
				configBase.TitleRow(right, _("Tool Head"))
				row = configBase.ToolHeadRow(right, 'toolhead', index=idx)
				row.button.Bind(wx.EVT_BUTTON, self.OnChangeToolheadButton)

			configBase.TitleRow(right, _("Printer head size"))
			configBase.SettingRow(right, 'extruder_head_size_min_x', index=idx)
			configBase.SettingRow(right, 'extruder_head_size_min_y', index=idx)
			configBase.SettingRow(right, 'extruder_head_size_max_x', index=idx)
			configBase.SettingRow(right, 'extruder_head_size_max_y', index=idx)
			configBase.SettingRow(right, 'extruder_head_size_height', index=idx)

			for i in xrange(1, extruderCount):
				configBase.TitleRow(left, _("Extruder %d") % (i+1))
				configBase.SettingRow(left, 'extruder_offset_x%d' % (i), index=idx)
				configBase.SettingRow(left, 'extruder_offset_y%d' % (i), index=idx)

			configBase.TitleRow(right, _("Communication settings"))
			serial_list = ['AUTO'] + machineCom.serialList()
			serial_list_labels = serial_list[:]
			if profile.getMachineSetting('serial_port') not in serial_list:
				serial_list.append(profile.getMachineSetting('serial_port'))
				serial_list_labels.append(profile.getMachineSetting('serial_port') + _(" (Currently unavailable)"))
			configBase.SettingRow(right, 'serial_port', serial_list, serial_list_labels, index=idx)
			configBase.SettingRow(right, 'serial_baud', ['AUTO'] + map(str, machineCom.baudrateList()), index=idx)

			self.nb.AddPage(main, profile.getMachineName(idx))

		self.nb.SetSelection(int(profile.getPreferenceFloat('active_machine')))

		self.buttonPanel = wx.Panel(self.panel)
		self.panel.GetSizer().Add(self.buttonPanel)

		self.buttonPanel.SetSizer(wx.BoxSizer(wx.HORIZONTAL))
		self.okButton = wx.Button(self.buttonPanel, -1, _('Ok'))
		self.okButton.Bind(wx.EVT_BUTTON, lambda e: self.Close())
		self.buttonPanel.GetSizer().Add(self.okButton, flag=wx.ALL, border=5)

		self.addButton = wx.Button(self.buttonPanel, -1, _('Add new machine'))
		self.addButton.Bind(wx.EVT_BUTTON, self.OnAddMachine)
		self.buttonPanel.GetSizer().Add(self.addButton, flag=wx.ALL, border=5)

		self.remButton = wx.Button(self.buttonPanel, -1, _('Remove machine'))
		self.remButton.Bind(wx.EVT_BUTTON, self.OnRemoveMachine)
		self.buttonPanel.GetSizer().Add(self.remButton, flag=wx.ALL, border=5)

		self.renButton = wx.Button(self.buttonPanel, -1, _('Change machine name'))
		self.renButton.Bind(wx.EVT_BUTTON, self.OnRenameMachine)
		self.buttonPanel.GetSizer().Add(self.renButton, flag=wx.ALL, border=5)

		main.Fit()
		self.Fit()
Exemple #20
0
    def __init__(self):
        super(newVersionDialog,
              self).__init__(None, title="Welcome to the new version!")

        wx.EVT_CLOSE(self, self.OnClose)

        p = wx.Panel(self)
        self.panel = p
        s = wx.BoxSizer()
        self.SetSizer(s)
        s.Add(p, flag=wx.ALL, border=15)
        s = wx.BoxSizer(wx.VERTICAL)
        p.SetSizer(s)

        title = wx.StaticText(p, -1, 'Vanilla - ' + version.getVersion())
        title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
        s.Add(title, flag=wx.ALIGN_CENTRE | wx.EXPAND | wx.BOTTOM, border=5)
        s.Add(wx.StaticText(p, -1, 'Welcome to the new version of Vanilla.'))
        s.Add(wx.StaticLine(p), flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10)
        s.Add(wx.StaticText(p, -1, 'New in this version:'))
        s.Add(wx.StaticText(p, -1, '* Adaptation of Cura.\n '))

        self.hasUltimaker = None
        self.hasUltimaker2 = None
        for n in xrange(0, profile.getMachineCount()):
            if profile.getMachineSetting('machine_type', n) == 'ultimaker':
                self.hasUltimaker = n
            if profile.getMachineSetting('machine_type', n) == 'ultimaker2':
                self.hasUltimaker2 = n
        if self.hasUltimaker is not None and False:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(
                wx.StaticText(p, -1,
                              'New firmware for your Ultimaker Original:'))
            s.Add(wx.StaticText(p, -1, '* .'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, self.OnUltimakerFirmware, button)
            s.Add(button, flag=wx.TOP, border=5)
        if self.hasUltimaker2 is not None:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker2:'))
            s.Add(
                wx.StaticText(
                    p, -1,
                    '* Detect when the endstops are not working properly.\n    Which prevents the bed from damaging the nozzle.'
                ))
            s.Add(
                wx.StaticText(
                    p, -1,
                    '* Added the ability to import/export material profiles to the SD card.'
                ))
            s.Add(
                wx.StaticText(p, -1,
                              '* Improved hotend temperature stability.'))
            s.Add(wx.StaticText(p, -1, '* Added UPET material profile.'))
            s.Add(
                wx.StaticText(
                    p, -1, '* Minor improvements to the time estimate code.'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, self.OnUltimaker2Firmware, button)
            s.Add(button, flag=wx.TOP, border=5)

        s.Add(wx.StaticLine(p), flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10)
        button = wx.Button(p, -1, 'Ok')
        self.Bind(wx.EVT_BUTTON, self.OnOk, button)
        s.Add(button, flag=wx.TOP | wx.ALIGN_RIGHT, border=5)

        self.Fit()
        self.Centre()
Exemple #21
0
	def __init__(self):
		super(newVersionDialog, self).__init__(None, title="Welcome to the new version!")

		wx.EVT_CLOSE(self, self.OnClose)

		p = wx.Panel(self)
		self.panel = p
		s = wx.BoxSizer()
		self.SetSizer(s)
		s.Add(p, flag=wx.ALL, border=15)
		s = wx.BoxSizer(wx.VERTICAL)
		p.SetSizer(s)

		title = wx.StaticText(p, -1, 'Cura - ' + version.getVersion())
		title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
		s.Add(title, flag=wx.ALIGN_CENTRE|wx.EXPAND|wx.BOTTOM, border=5)
		s.Add(wx.StaticText(p, -1, 'Welcome to the new version of Cura.'))
		s.Add(wx.StaticText(p, -1, '(This dialog is only shown once)'))
		s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
		s.Add(wx.StaticText(p, -1, 'New in version 15.04.6:'))
		s.Add(wx.StaticText(p, -1, '* Improved material profiles for PLA, ABS and CPE for the Ultimaker 2+ family.'))
		s.Add(wx.StaticText(p, -1, 'New in version 15.04.5:'))
		s.Add(wx.StaticText(p, -1, '* Fixed Ultimaker2 family build volume, which was configured too big by default.'))
		s.Add(wx.StaticText(p, -1, '* Bugfix for nozzle sizes being incorrectly copied when switching from quickprint to full settings.'))
		s.Add(wx.StaticText(p, -1, '* Bugfix for selected platform adhesion type not being remembered in quickprint mode.'))
		s.Add(wx.StaticText(p, -1, '* Bugfix for head size of the Ultimaker2+, which caused the head to bump into prints in one-at-a-time mode.'))

		self.has_machine = {}
		for n in xrange(0, profile.getMachineCount()):
			self.has_machine[profile.getMachineSetting('machine_type', n)] = n
			if profile.getMachineSetting('machine_type', n) == 'ultimaker':
				self.hasUltimaker = n
			if profile.getMachineSetting('machine_type', n) == 'ultimaker2':
				self.hasUltimaker2 = n
		if 'ultimaker' in self.has_machine and False:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker Original:'))
			s.Add(wx.StaticText(p, -1, '* .'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(self.has_machine['ultimaker']), button)
			s.Add(button, flag=wx.TOP, border=5)
		if 'ultimaker2' in self.has_machine and True:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker 2:'))
			s.Add(wx.StaticText(p, -1, '* Updated error messages, to assist in getting better support'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(self.has_machine['ultimaker2']), button)
			s.Add(button, flag=wx.TOP, border=5)
		if 'ultimaker2+' in self.has_machine and True:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker 2+:'))
			s.Add(wx.StaticText(p, -1, '* Updated error messages, to assist in getting better support'))
			s.Add(wx.StaticText(p, -1, '* Bugfix for the import/export material settings which was not working properly'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(self.has_machine['ultimaker2+']), button)
			s.Add(button, flag=wx.TOP, border=5)
		if 'ultimaker2+extended' in self.has_machine and True:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker2+Extended:'))
			s.Add(wx.StaticText(p, -1, '* Fixed temperature stability.'))
			s.Add(wx.StaticText(p, -1, '* Fixed print starting problems when a material warning was ignored'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(self.has_machine['ultimaker2+extended']), button)
			s.Add(button, flag=wx.TOP, border=5)

		s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
		button = wx.Button(p, -1, 'Ok')
		self.Bind(wx.EVT_BUTTON, self.OnOk, button)
		s.Add(button, flag=wx.TOP|wx.ALIGN_RIGHT, border=5)

		self.Fit()
		self.Centre()
Exemple #22
0
	def __init__(self):
		super(newVersionDialog, self).__init__(None, title="Welcome to the new version!")

		wx.EVT_CLOSE(self, self.OnClose)

		p = wx.Panel(self)
		self.panel = p
		s = wx.BoxSizer()
		self.SetSizer(s)
		s.Add(p, flag=wx.ALL, border=15)
		s = wx.BoxSizer(wx.VERTICAL)
		p.SetSizer(s)

		title = wx.StaticText(p, -1, 'Cura - ' + version.getVersion())
		title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
		s.Add(title, flag=wx.ALIGN_CENTRE|wx.EXPAND|wx.BOTTOM, border=5)
		s.Add(wx.StaticText(p, -1, 'Welcome to the new version of Cura.'))
		s.Add(wx.StaticText(p, -1, '(This dialog is only shown once)'))
		s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
		s.Add(wx.StaticText(p, -1, 'New in this version:'))
		s.Add(wx.StaticText(p, -1, '* Fixed a rare bug that caused the CuraEngine to crash on some models.'))
		s.Add(wx.StaticText(p, -1, '* Added support for multiple Doodle3D boxes on the same network.'))
		s.Add(wx.StaticText(p, -1, '* Made it possible to switch between "all at once" and "one at a time printing"'))
		s.Add(wx.StaticText(p, -1, '* Improved USB communication stability.'))
		s.Add(wx.StaticText(p, -1, '* Improved USB auto-detection for none-Ultimaker printers.'))
		s.Add(wx.StaticText(p, -1, '* Set retraction enabled by default and in the quickprint profiles.'))
		s.Add(wx.StaticText(p, -1, '* Fixed a bug that caused loading of really small objects to fail.'))
		s.Add(wx.StaticText(p, -1, '* Made camera keyboard controls accessible in the GCode view, use shift+up/down for layer changes now.'))

		self.hasUltimaker = None
		self.hasUltimaker2 = None
		for n in xrange(0, profile.getMachineCount()):
			if profile.getMachineSetting('machine_type', n) == 'ultimaker':
				self.hasUltimaker = n
			if profile.getMachineSetting('machine_type', n) == 'ultimaker2':
				self.hasUltimaker2 = n
		if self.hasUltimaker is not None and False:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker Original:'))
			s.Add(wx.StaticText(p, -1, '* .'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, self.OnUltimakerFirmware, button)
			s.Add(button, flag=wx.TOP, border=5)
		if self.hasUltimaker2 is not None:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker2:'))
			s.Add(wx.StaticText(p, -1, '* Fixed the bug where aborting a print caused massive retraction.'))
			s.Add(wx.StaticText(p, -1, '* Fixed a bug where going into move-material when the printer was still moving caused a bed-crash.'))
			s.Add(wx.StaticText(p, -1, '* Added bed temperature when cooling down the printer.'))
			s.Add(wx.StaticText(p, -1, '* Allow abort if bed-leveling is selected.'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, self.OnUltimaker2Firmware, button)
			s.Add(button, flag=wx.TOP, border=5)

		s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
		button = wx.Button(p, -1, 'Ok')
		self.Bind(wx.EVT_BUTTON, self.OnOk, button)
		s.Add(button, flag=wx.TOP|wx.ALIGN_RIGHT, border=5)

		self.Fit()
		self.Centre()
Exemple #23
0
    def __init__(self):
        super(newVersionDialog,
              self).__init__(None, title="Welcome to the new version!")

        wx.EVT_CLOSE(self, self.OnClose)

        p = wx.Panel(self)
        self.panel = p
        s = wx.BoxSizer()
        self.SetSizer(s)
        s.Add(p, flag=wx.ALL, border=15)
        s = wx.BoxSizer(wx.VERTICAL)
        p.SetSizer(s)

        title = wx.StaticText(p, -1, 'Cura - ' + version.getVersion())
        title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
        s.Add(title, flag=wx.ALIGN_CENTRE | wx.EXPAND | wx.BOTTOM, border=5)
        s.Add(wx.StaticText(p, -1, 'Welcome to the new version of Cura.'))
        s.Add(wx.StaticText(p, -1, '(This dialog is only shown once)'))
        s.Add(wx.StaticLine(p), flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10)
        s.Add(wx.StaticText(p, -1, 'New in this version:'))
        s.Add(wx.StaticText(p, -1,
                            '* Improved the LayerView rendering speed.'))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Made the LayerView update during slicing, so you can see the result before it is ready.'
            ))
        s.Add(
            wx.StaticText(p, -1,
                          '* New USB printing dialog, smaller, cleaner.'))
        s.Add(
            wx.StaticText(p, -1,
                          '* Selectable USB printing dialogs, from plugins.'))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Selection between new grid or old line based support material.'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Profile settings are now stored per machine instead of global for all machines.'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Added TweakAtZ 3.1 plugin per default. Thanks to Steve Morlock, Ricardo Gomez and Stefan Heule.'
            ))
        s.Add(
            wx.StaticText(
                p, -1, '* Added separate speeds for outer and inner shells.'))
        s.Add(wx.StaticText(p, -1, '* Added expert Z-Hop feature.'))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Removed need for temp files, which speeds up Cura on slower harddisks.'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Added expert setting to configure support material angle.'))
        s.Add(wx.StaticText(p, -1,
                            '* Allow round printer beds for Deltabots.'))

        self.hasUltimaker = None
        self.hasUltimaker2 = None
        for n in xrange(0, profile.getMachineCount()):
            if profile.getMachineSetting('machine_type', n) == 'ultimaker':
                self.hasUltimaker = n
            if profile.getMachineSetting('machine_type', n) == 'ultimaker2':
                self.hasUltimaker2 = n
        if self.hasUltimaker is not None and False:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(
                wx.StaticText(p, -1,
                              'New firmware for your Ultimaker Original:'))
            s.Add(wx.StaticText(p, -1, '* .'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, self.OnUltimakerFirmware, button)
            s.Add(button, flag=wx.TOP, border=5)
        if self.hasUltimaker2 is not None:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker2:'))
            s.Add(
                wx.StaticText(p, -1,
                              '* Added pause function during printing.'))
            s.Add(
                wx.StaticText(
                    p, -1,
                    '* Added material selection when changing material.'))
            s.Add(
                wx.StaticText(
                    p, -1, '* Fixed the move material maintenance function.'))
            s.Add(
                wx.StaticText(p, -1, '* Fixed the led brightness on startup.'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, self.OnUltimaker2Firmware, button)
            s.Add(button, flag=wx.TOP, border=5)

        s.Add(wx.StaticLine(p), flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10)
        button = wx.Button(p, -1, 'Ok')
        self.Bind(wx.EVT_BUTTON, self.OnOk, button)
        s.Add(button, flag=wx.TOP | wx.ALIGN_RIGHT, border=5)

        self.Fit()
        self.Centre()
	def __init__(self):
		super(newVersionDialog, self).__init__(None, title="Welcome to the new version!")

		wx.EVT_CLOSE(self, self.OnClose)

		p = wx.Panel(self)
		self.panel = p
		s = wx.BoxSizer()
		self.SetSizer(s)
		s.Add(p, flag=wx.ALL, border=15)
		s = wx.BoxSizer(wx.VERTICAL)
		p.SetSizer(s)

		title = wx.StaticText(p, -1, 'Cura-BCN3D ' + version.getVersion())
		title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
		s.Add(title, flag=wx.ALIGN_CENTRE|wx.EXPAND|wx.BOTTOM, border=5)
		s.Add(wx.StaticText(p, -1, 'Welcome to the new version of Cura.'))
		s.Add(wx.StaticText(p, -1, '(This dialog is only shown once)'))
		s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
		s.Add(wx.StaticText(p, -1, 'New in this version:'))
		s.Add(wx.StaticText(p, -1, '* Added settings for BCN3D Technologies printers'))
		s.Add(wx.StaticText(p, -1, '* Changed some parts of the interface to give a better user experience'))
		s.Add(wx.StaticText(p, -1, '* BCN3D Sigma is automatically set to double extrusion'))

		self.hasBCN3DSigma = None
		self.hasBCN3DPlus = None
		self.hasBCN3DR = None
		self.hasUltimaker = None
		self.hasUltimaker2 = None

		for n in xrange(0, profile.getMachineCount()):
			if profile.getMachineSetting('machine_type', n) == 'BCN3DSigma':
				self.hasBCN3DSigma = n
			if profile.getMachineSetting('machine_type', n) == 'BCN3DPlus':
				self.hasBCN3DPlus = n
			if profile.getMachineSetting('machine_type', n) == 'BCN3DR':
				self.hasBCN3DR = n
			if profile.getMachineSetting('machine_type', n) == 'ultimaker':
				self.hasUltimaker = n
			if profile.getMachineSetting('machine_type', n) == 'ultimaker2':
				self.hasUltimaker2 = n
		if self.hasBCN3DSigma is not None and False:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your BCN3D Sigma:'))
			s.Add(wx.StaticText(p, -1, '* .'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, self.OnBCN3DSigmaFirmware, button)
			s.Add(button, flag=wx.TOP, border=5)
		if self.hasBCN3DPlus is not None and False:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your BCN3D Plus:'))
			s.Add(wx.StaticText(p, -1, '* .'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, self.OnBCN3DPlusFirmware, button)
			s.Add(button, flag=wx.TOP, border=5)
		if self.hasBCN3DR is not None and False:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your BCN3D R:'))
			s.Add(wx.StaticText(p, -1, '* .'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, self.OnBCN3DRFirmware, button)
			s.Add(button, flag=wx.TOP, border=5)
		if self.hasUltimaker is not None and False:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker Original:'))
			s.Add(wx.StaticText(p, -1, '* .'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, self.OnUltimakerFirmware, button)
			s.Add(button, flag=wx.TOP, border=5)
		if self.hasUltimaker2 is not None and False:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker2: '))
			s.Add(wx.StaticText(p, -1, '* .'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, self.OnUltimaker2Firmware, button)
			s.Add(button, flag=wx.TOP, border=5)


		s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
		button = wx.Button(p, -1, 'Ok')
		self.Bind(wx.EVT_BUTTON, self.OnOk, button)
		s.Add(button, flag=wx.TOP|wx.ALIGN_RIGHT, border=5)

		self.Fit()
		self.Centre()
    def __init__(self, parent):
        super(machineSettingsDialog,
              self).__init__(parent, title=_("Machine settings"))

        wx.EVT_CLOSE(self, self.OnClose)

        self.parent = parent

        self.panel = configBase.configPanelBase(self)
        self.SetSizer(wx.BoxSizer(wx.HORIZONTAL))
        self.GetSizer().Add(self.panel, 1, wx.EXPAND)
        self.nb = wx.Notebook(self.panel)
        self.panel.SetSizer(wx.BoxSizer(wx.VERTICAL))
        self.panel.GetSizer().Add(self.nb, 1, wx.EXPAND)

        for idx in xrange(0, profile.getMachineCount()):
            printer_type = profile.getMachineSetting('machine_type', idx)
            extruderCount = int(
                profile.getMachineSetting('extruder_amount', idx))
            left, right, main = self.panel.CreateConfigPanel(self.nb)
            configBase.TitleRow(left, _("Machine settings"))
            configBase.SettingRow(left, 'steps_per_e', index=idx)
            configBase.SettingRow(left, 'machine_width', index=idx)
            configBase.SettingRow(left, 'machine_depth', index=idx)
            configBase.SettingRow(left, 'machine_height', index=idx)
            if not printer_type.startswith(
                    'lulzbot_TAZ_6'
            ):  #Disabled for TAZ 6, use LCD controller instead
                configBase.SettingRow(left, 'extruder_z_offset', index=idx)
            configBase.SettingRow(left, 'extruder_amount', index=idx)
            configBase.SettingRow(left, 'has_heated_bed', index=idx)
            configBase.SettingRow(left, 'machine_center_is_zero', index=idx)
            configBase.SettingRow(left, 'machine_shape', index=idx)
            configBase.SettingRow(left, 'gcode_flavor', index=idx)
            configBase.SettingRow(left,
                                  'machine_startup_energy_PLA',
                                  index=idx)
            configBase.SettingRow(left, 'machine_run_energy_PLA', index=idx)
            configBase.SettingRow(left,
                                  'machine_startup_energy_ABS',
                                  index=idx)
            configBase.SettingRow(left, 'machine_run_energy_ABS', index=idx)
            configBase.SettingRow(left,
                                  'machine_startup_energy_HIPS',
                                  index=idx)
            configBase.SettingRow(left, 'machine_run_energy_HIPS', index=idx)
            configBase.SettingRow(left,
                                  'machine_startup_energy_PETT',
                                  index=idx)
            configBase.SettingRow(left, 'machine_run_energy_PETT', index=idx)
            configBase.SettingRow(left,
                                  'machine_startup_energy_Nylon',
                                  index=idx)
            configBase.SettingRow(left, 'machine_run_energy_Nylon', index=idx)
            configBase.SettingRow(left,
                                  'machine_startup_energy_Other',
                                  index=idx)
            configBase.SettingRow(left, 'machine_run_energy_Other', index=idx)

            if printer_type.startswith('lulzbot_'):
                configBase.TitleRow(right, _("Tool Head"))
                row = configBase.ToolHeadRow(right, 'toolhead', index=idx)
                row.button.Bind(wx.EVT_BUTTON, self.OnChangeToolheadButton)

            configBase.TitleRow(right, _("Printer head size"))
            configBase.SettingRow(right, 'extruder_head_size_min_x', index=idx)
            configBase.SettingRow(right, 'extruder_head_size_min_y', index=idx)
            configBase.SettingRow(right, 'extruder_head_size_max_x', index=idx)
            configBase.SettingRow(right, 'extruder_head_size_max_y', index=idx)
            configBase.SettingRow(right,
                                  'extruder_head_size_height',
                                  index=idx)

            for i in xrange(1, extruderCount):
                configBase.TitleRow(left, _("Extruder %d") % (i + 1))
                configBase.SettingRow(left,
                                      'extruder_offset_x%d' % (i),
                                      index=idx)
                configBase.SettingRow(left,
                                      'extruder_offset_y%d' % (i),
                                      index=idx)

            configBase.TitleRow(right, _("Communication settings"))
            serial_list = ['AUTO'] + machineCom.serialList()
            serial_list_labels = serial_list[:]
            if profile.getMachineSetting('serial_port') not in serial_list:
                serial_list.append(profile.getMachineSetting('serial_port'))
                serial_list_labels.append(
                    profile.getMachineSetting('serial_port') +
                    _(" (Currently unavailable)"))
            configBase.SettingRow(right,
                                  'serial_port',
                                  serial_list,
                                  serial_list_labels,
                                  index=idx)
            configBase.SettingRow(right,
                                  'serial_baud', ['AUTO'] +
                                  map(str, machineCom.baudrateList()),
                                  index=idx)

            machine_name = profile.getMachineName(idx)
            machine_title = machine_name.title()
            machine_title = machine_title.replace('Taz', 'TAZ')
            machine_title = machine_title.replace('Lulzbot', 'LulzBot')
            self.nb.AddPage(main, machine_title)

        self.nb.SetSelection(int(profile.getPreferenceFloat('active_machine')))

        self.buttonPanel = wx.Panel(self.panel)
        self.panel.GetSizer().Add(self.buttonPanel)

        self.buttonPanel.SetSizer(wx.BoxSizer(wx.HORIZONTAL))
        self.okButton = wx.Button(self.buttonPanel, -1, _('Ok'))
        self.okButton.Bind(wx.EVT_BUTTON, lambda e: self.Close())
        self.buttonPanel.GetSizer().Add(self.okButton, flag=wx.ALL, border=5)

        self.addButton = wx.Button(self.buttonPanel, -1, _('Add new machine'))
        self.addButton.Bind(wx.EVT_BUTTON, self.OnAddMachine)
        self.buttonPanel.GetSizer().Add(self.addButton, flag=wx.ALL, border=5)

        self.remButton = wx.Button(self.buttonPanel, -1, _('Remove machine'))
        self.remButton.Bind(wx.EVT_BUTTON, self.OnRemoveMachine)
        self.buttonPanel.GetSizer().Add(self.remButton, flag=wx.ALL, border=5)

        self.renButton = wx.Button(self.buttonPanel, -1,
                                   _('Change machine name'))
        self.renButton.Bind(wx.EVT_BUTTON, self.OnRenameMachine)
        self.buttonPanel.GetSizer().Add(self.renButton, flag=wx.ALL, border=5)

        main.Fit()
        self.Fit()
Exemple #26
0
    def __init__(self):
        super(newVersionDialog,
              self).__init__(None, title="Welcome to the new version!")

        wx.EVT_CLOSE(self, self.OnClose)

        p = wx.Panel(self)
        self.panel = p
        s = wx.BoxSizer()
        self.SetSizer(s)
        s.Add(p, flag=wx.ALL, border=15)
        s = wx.BoxSizer(wx.VERTICAL)
        p.SetSizer(s)

        title = wx.StaticText(p, -1, 'Cura - ' + version.getVersion())
        title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
        s.Add(title, flag=wx.ALIGN_CENTRE | wx.EXPAND | wx.BOTTOM, border=5)
        s.Add(wx.StaticText(p, -1, 'Welcome to the new version of Cura.'))
        s.Add(wx.StaticText(p, -1, '(This dialog is only shown once)'))
        s.Add(wx.StaticLine(p), flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10)
        s.Add(wx.StaticText(p, -1, 'New in version 15.04.4:'))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Added Ultimaker 2+ and Ultimaker 2 Extended+ machines'))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Added quick print profiles for Ultimaker 2+ and Ultimaker 2 Extended+'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Added feature where quickprint profiles can be per nozzle size and material'
            ))

        self.has_machine = {}
        for n in xrange(0, profile.getMachineCount()):
            self.has_machine[profile.getMachineSetting('machine_type', n)] = n
            if profile.getMachineSetting('machine_type', n) == 'ultimaker':
                self.hasUltimaker = n
            if profile.getMachineSetting('machine_type', n) == 'ultimaker2':
                self.hasUltimaker2 = n
        if 'ultimaker' in self.has_machine and False:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(
                wx.StaticText(p, -1,
                              'New firmware for your Ultimaker Original:'))
            s.Add(wx.StaticText(p, -1, '* .'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(
                wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(
                    self.has_machine['ultimaker']), button)
            s.Add(button, flag=wx.TOP, border=5)
        if 'ultimaker2' in self.has_machine and False:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker 2:'))
            s.Add(
                wx.StaticText(
                    p, -1,
                    '* Added option to change filament when pausing during a print.'
                ))
            s.Add(
                wx.StaticText(
                    p, -1,
                    '* Prevent temperature display jitter (thanks to TinkerGnome)'
                ))
            s.Add(
                wx.StaticText(
                    p, -1,
                    '* Fixed problems with filenames containing an umlaut.'))
            s.Add(
                wx.StaticText(
                    p, -1,
                    '* Improved pause handling (thanks to ThinkerGnome)'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(
                wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(
                    self.has_machine['ultimaker2']), button)
            s.Add(button, flag=wx.TOP, border=5)
        if 'ultimaker2+' in self.has_machine and True:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker 2+:'))
            s.Add(wx.StaticText(p, -1, '* Fixed temperature stability.'))
            s.Add(
                wx.StaticText(
                    p, -1,
                    '* Fixed print starting problems when a material warning was ignored'
                ))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(
                wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(
                    self.has_machine['ultimaker2+']), button)
            s.Add(button, flag=wx.TOP, border=5)
        if 'ultimaker2+extended' in self.has_machine and True:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(
                wx.StaticText(p, -1,
                              'New firmware for your Ultimaker2+Extended:'))
            s.Add(wx.StaticText(p, -1, '* Fixed temperature stability.'))
            s.Add(
                wx.StaticText(
                    p, -1,
                    '* Fixed print starting problems when a material warning was ignored'
                ))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(
                wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(
                    self.has_machine['ultimaker2+extended']), button)
            s.Add(button, flag=wx.TOP, border=5)

        s.Add(wx.StaticLine(p), flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10)
        button = wx.Button(p, -1, 'Ok')
        self.Bind(wx.EVT_BUTTON, self.OnOk, button)
        s.Add(button, flag=wx.TOP | wx.ALIGN_RIGHT, border=5)

        self.Fit()
        self.Centre()
	def __init__(self, parent):
		super(machineSettingsDialog, self).__init__(None, title=_("Machine settings"))
		wx.EVT_CLOSE(self, self.OnClose)

		self.parent = parent

		self.panel = configBase.configPanelBase(self)
		self.SetSizer(wx.BoxSizer(wx.HORIZONTAL))
		self.GetSizer().Add(self.panel, 1, wx.EXPAND)
		self.nb = wx.Notebook(self.panel)
		self.panel.SetSizer(wx.BoxSizer(wx.VERTICAL))
		self.panel.GetSizer().Add(self.nb, 1, wx.EXPAND)

		for idx in xrange(0, profile.getMachineCount()):
			extruderCount = int(profile.getMachineSetting('extruder_amount', idx))
			left, right, main = self.panel.CreateConfigPanel(self.nb)
			configBase.TitleRow(left, _("Machine settings"))
			#configBase.SettingRow(left, 'steps_per_e', index=idx)
			configBase.SettingRow(left, 'machine_width', index=idx)
			configBase.SettingRow(left, 'machine_depth', index=idx)
			configBase.SettingRow(left, 'machine_height', index=idx)
			configBase.SettingRow(left, 'extruder_amount', index=idx)
			# configBase.SettingRow(left, 'has_heated_bed', index=idx)
			#configBase.SettingRow(left, 'machine_center_is_zero', index=idx)
			#configBase.SettingRow(left, 'machine_shape', index=idx)
			#configBase.SettingRow(left, 'gcode_flavor', index=idx)

			# configBase.TitleRow(right, _("Printer head size"))
			# configBase.SettingRow(right, 'extruder_head_size_min_x', index=idx)
			# configBase.SettingRow(right, 'extruder_head_size_min_y', index=idx)
			# configBase.SettingRow(right, 'extruder_head_size_max_x', index=idx)
			# configBase.SettingRow(right, 'extruder_head_size_max_y', index=idx)
			# configBase.SettingRow(right, 'extruder_head_size_height', index=idx)

			for i in xrange(1, extruderCount):
				configBase.TitleRow(left, _("Extruder %d") % (i + 1))
				configBase.SettingRow(left, 'extruder_offset_x%d' % (i), index=idx)
				configBase.SettingRow(left, 'extruder_offset_y%d' % (i), index=idx)

			# configBase.TitleRow(right, _("Communication settings"))
			# configBase.SettingRow(right, 'serial_port', ['AUTO'] + machineCom.serialList(), index=idx)
			# configBase.SettingRow(right, 'serial_baud', ['AUTO'] + map(str, machineCom.baudrateList()), index=idx)

			self.nb.AddPage(main, profile.getMachineSetting('machine_name', idx).title())

		self.nb.SetSelection(int(profile.getPreferenceFloat('active_machine')))

		self.buttonPanel = wx.Panel(self.panel)
		self.panel.GetSizer().Add(self.buttonPanel)

		self.buttonPanel.SetSizer(wx.BoxSizer(wx.HORIZONTAL))
		self.okButton = wx.Button(self.buttonPanel, -1, 'Ok')
		self.okButton.Bind(wx.EVT_BUTTON, lambda e: self.Close())
		self.buttonPanel.GetSizer().Add(self.okButton, flag=wx.ALL, border=5)

		self.addButton = wx.Button(self.buttonPanel, -1, _('Add new machine'))
		self.addButton.Bind(wx.EVT_BUTTON, self.OnAddMachine)
		self.buttonPanel.GetSizer().Add(self.addButton, flag=wx.ALL, border=5)

		self.remButton = wx.Button(self.buttonPanel, -1, _('Remove machine'))
		self.remButton.Bind(wx.EVT_BUTTON, self.OnRemoveMachine)
		self.buttonPanel.GetSizer().Add(self.remButton, flag=wx.ALL, border=5)

		self.renButton = wx.Button(self.buttonPanel, -1, _('Change machine name'))
		self.renButton.Bind(wx.EVT_BUTTON, self.OnRenameMachine)
		self.buttonPanel.GetSizer().Add(self.renButton, flag=wx.ALL, border=5)

		main.Fit()
		self.Fit()
Exemple #28
0
	def __init__(self):
		super(newVersionDialog, self).__init__(None, title="Welcome to the new version!")

		wx.EVT_CLOSE(self, self.OnClose)

		p = wx.Panel(self)
		self.panel = p
		s = wx.BoxSizer()
		self.SetSizer(s)
		s.Add(p, flag=wx.ALL, border=15)
		s = wx.BoxSizer(wx.VERTICAL)
		p.SetSizer(s)

		title = wx.StaticText(p, -1, 'Cura - ' + version.getVersion())
		title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
		s.Add(title, flag=wx.ALIGN_CENTRE|wx.EXPAND|wx.BOTTOM, border=5)
		s.Add(wx.StaticText(p, -1, 'Welcome to the new version of Cura.'))
		s.Add(wx.StaticText(p, -1, '(This dialog is only shown once)'))
		s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
		s.Add(wx.StaticText(p, -1, 'New in this version:'))
		s.Add(wx.StaticText(p, -1, '* Fixed saving to SD card on MacOS and linux'))
		s.Add(wx.StaticText(p, -1, '* Fixed Cura not starting up for some Windows users'))
		s.Add(wx.StaticText(p, -1, '* Fixed UM2 problem where material was not retracted at the end of the print'))
		s.Add(wx.StaticText(p, -1, '* Fixed UM2 problem where material was not pushed forward after changing material during a pause'))
		s.Add(wx.StaticText(p, -1, 'New in 15.01:'))
		s.Add(wx.StaticText(p, -1, '* Improved handling of large 3D models'))
		s.Add(wx.StaticText(p, -1, '* Added top/bottom speed setting'))
		s.Add(wx.StaticText(p, -1, '* Improved quickprint profiles (thanks to Paul Candler)'))
		s.Add(wx.StaticText(p, -1, '* Added single layer view (thanks to pmsimard)'))
		s.Add(wx.StaticText(p, -1, '* Added option to replicate local folder structure to SD card (thanks to pmsimard'))
		s.Add(wx.StaticText(p, -1, '* Added UM2go support'))
		s.Add(wx.StaticText(p, -1, '* Added UM2extended support'))
		s.Add(wx.StaticText(p, -1, '* Improved UM2 platform rendering, to show where the actual bed clips are located'))
		s.Add(wx.StaticText(p, -1, '* Fixed problems with PauseAtHeight plugin (thanks to pmsimard)'))
		s.Add(wx.StaticText(p, -1, '* Finally fixed the filament and print time tags in the gcode'))
		s.Add(wx.StaticText(p, -1, '* Fixed plugins with UltiGCode'))
		s.Add(wx.StaticText(p, -1, '* New TweakAtZ 4.0 from Dim3nsioneer'))
		s.Add(wx.StaticText(p, -1, '* Improved support for Mach3 and LinuxCNC based printers'))
		s.Add(wx.StaticText(p, -1, '* Added flow in cubic mm on each of the speed settings tooltips'))

		self.hasUltimaker = None
		self.hasUltimaker2 = None
		for n in xrange(0, profile.getMachineCount()):
			if profile.getMachineSetting('machine_type', n) == 'ultimaker':
				self.hasUltimaker = n
			if profile.getMachineSetting('machine_type', n) == 'ultimaker2':
				self.hasUltimaker2 = n
		if self.hasUltimaker is not None and False:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker Original:'))
			s.Add(wx.StaticText(p, -1, '* .'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, self.OnUltimakerFirmware, button)
			s.Add(button, flag=wx.TOP, border=5)
		if self.hasUltimaker2 is not None:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker2:'))
			s.Add(wx.StaticText(p, -1, '* Added option to change filament when pausing during a print.'))
			s.Add(wx.StaticText(p, -1, '* Prevent temperature display jitter (thanks to TinkerGnome)'))
			s.Add(wx.StaticText(p, -1, '* Fixed problems with filenames containing an umlaut.'))
			s.Add(wx.StaticText(p, -1, '* Improved pause handling (thanks to ThinkerGnome)'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, self.OnUltimaker2Firmware, button)
			s.Add(button, flag=wx.TOP, border=5)

		s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
		button = wx.Button(p, -1, 'Ok')
		self.Bind(wx.EVT_BUTTON, self.OnOk, button)
		s.Add(button, flag=wx.TOP|wx.ALIGN_RIGHT, border=5)

		self.Fit()
		self.Centre()
Exemple #29
0
    def __init__(self):
        super(newVersionDialog,
              self).__init__(None, title="Welcome to the new version!")

        wx.EVT_CLOSE(self, self.OnClose)

        p = wx.Panel(self)
        self.panel = p
        s = wx.BoxSizer()
        self.SetSizer(s)
        s.Add(p, flag=wx.ALL, border=15)
        s = wx.BoxSizer(wx.VERTICAL)
        p.SetSizer(s)

        title = wx.StaticText(p, -1, 'Cura - ' + version.getVersion())
        title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
        s.Add(title, flag=wx.ALIGN_CENTRE | wx.EXPAND | wx.BOTTOM, border=5)
        s.Add(wx.StaticText(p, -1, 'Welcome to the new version of Cura.'))
        s.Add(wx.StaticText(p, -1, '(This dialog is only shown once)'))
        s.Add(wx.StaticLine(p), flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10)
        s.Add(wx.StaticText(p, -1, 'New in this version:'))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Fixed a problem which was introduced in 14.09.\n    There are extreme amounts of head movements generated.'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Speed up GCode generation for large models by as much as 40%'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Fixed problems with placement of multiple objects on the build platform'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Prevent installing firmware for Ultimaker Original+ on an Ultimaker Original'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Fixed generating big GCode files (more then 200MB) on Windows'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* French translation updates (Thanks to Jeremie Francois)'))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Fixed a problem where "everywhere" support did not work when german was used as language.'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Changed the handling of the heated bed, now always heats\n    the bed first instead of bed and nozzle at the same time.\n    This to prevent the nozzle from leaking empty.'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Fixed the "uninstall old Cura versions" option in the windows installer.'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Improved the search for old installations, so old settings are copied over.'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Fixed a bug where double clicking a file on windows did not load the file in Cura.'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Made sure the firmware versions for Ultimaker printers always match the Cura release number.'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Added a quick access button for expert settings of a certain setting.'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Added some more raft settings to dial in the raft better.'))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Fixed the tooltip of support material. Now it actually explains the angles properly.'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Fixed a bug which caused the USB printing window to stop working (Thanks to SpaxGuy)'
            ))
        s.Add(
            wx.StaticText(
                p, -1, '* Fix a bug where Cura would stop generating GCode'))
        s.Add(wx.StaticText(p, -1, '* Added latest offerings of Printrbot'))

        self.hasUltimaker = None
        self.hasUltimaker2 = None
        for n in xrange(0, profile.getMachineCount()):
            if profile.getMachineSetting('machine_type', n) == 'ultimaker':
                self.hasUltimaker = n
            if profile.getMachineSetting('machine_type', n) == 'ultimaker2':
                self.hasUltimaker2 = n
        if self.hasUltimaker is not None and False:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(
                wx.StaticText(p, -1,
                              'New firmware for your Ultimaker Original:'))
            s.Add(wx.StaticText(p, -1, '* .'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, self.OnUltimakerFirmware, button)
            s.Add(button, flag=wx.TOP, border=5)
        if self.hasUltimaker2 is not None:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker2:'))
            s.Add(
                wx.StaticText(
                    p, -1,
                    '* Detect when the endstops are not working properly.\n    Which prevents the bed from damaging the nozzle.'
                ))
            s.Add(
                wx.StaticText(
                    p, -1,
                    '* Added the ability to import/export material profiles to the SD card.'
                ))
            s.Add(
                wx.StaticText(p, -1,
                              '* Improved hotend temperature stability.'))
            s.Add(wx.StaticText(p, -1, '* Added UPET material profile.'))
            s.Add(
                wx.StaticText(
                    p, -1, '* Minor improvements to the time estimate code.'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, self.OnUltimaker2Firmware, button)
            s.Add(button, flag=wx.TOP, border=5)

        s.Add(wx.StaticLine(p), flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10)
        button = wx.Button(p, -1, 'Ok')
        self.Bind(wx.EVT_BUTTON, self.OnOk, button)
        s.Add(button, flag=wx.TOP | wx.ALIGN_RIGHT, border=5)

        self.Fit()
        self.Centre()
    def __init__(self):
        super(newVersionDialog, self).__init__(None, title="Welcome to the new version!")

        wx.EVT_CLOSE(self, self.OnClose)

        p = wx.Panel(self)
        self.panel = p
        s = wx.BoxSizer()
        self.SetSizer(s)
        s.Add(p, flag=wx.ALL, border=15)
        s = wx.BoxSizer(wx.VERTICAL)
        p.SetSizer(s)

        title = wx.StaticText(p, -1, 'Cura-BCN3D-' + version.getVersion() + ' (beta2)')
        title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
        s.Add(title, flag=wx.ALIGN_CENTRE|wx.EXPAND|wx.BOTTOM, border=5)
        s.Add(wx.StaticText(p, -1, 'Welcome to the new version of Cura-BCN3D.'))
        s.Add(wx.StaticText(p, -1, '(This dialog is only shown once)'))
        s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
        s.Add(wx.StaticText(p, -1, 'New in version 0.1.5 (beta2)'))
        s.Add(wx.StaticText(p, -1, '* Fixed several bugs'))
        s.Add(wx.StaticText(p, -1, '* Fixed sequence that would make Cura-BCN3D crash'))
        self.has_machine = {}
        for n in xrange(0, profile.getMachineCount()):
            self.has_machine[profile.getMachineSetting('machine_type', n)] = n
            if profile.getMachineSetting('machine_type', n) == 'BCN3DSigma':
                self.hasBCN3DSigma = n
            if profile.getMachineSetting('machine_type', n) == 'BCN3DPlus':
                self.hasBCN3DPlus = n
            if profile.getMachineSetting('machine_type', n) == 'BCN3DR':
                self.hasBCN3DR = n
            if profile.getMachineSetting('machine_type', n) == 'ultimaker':
                self.hasUltimaker = n
            if profile.getMachineSetting('machine_type', n) == 'ultimaker2':
                self.hasUltimaker2 = n
        if 'BCN3DSigma' in self.has_machine and False:
            s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your BCN3D Sigma:'))
            s.Add(wx.StaticText(p, -1, '* .'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(self.has_machine['BCN3DSigma']), button)
            s.Add(button, flag=wx.TOP, border=5)
        if 'BCN3DPlus' in self.has_machine and False:
            s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your BCN3D Plus:'))
            s.Add(wx.StaticText(p, -1, '* .'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(self.has_machine['BCN3DPlus']), button)
            s.Add(button, flag=wx.TOP, border=5)
        if 'BCN3DR' in self.has_machine and False:
            s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your BCN3D R:'))
            s.Add(wx.StaticText(p, -1, '* .'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(self.has_machine['BCN3DR']), button)
            s.Add(button, flag=wx.TOP, border=5)
        if 'ultimaker' in self.has_machine and False:
            s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker Original:'))
            s.Add(wx.StaticText(p, -1, '* .'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(self.has_machine['ultimaker']), button)
            s.Add(button, flag=wx.TOP, border=5)
        if 'ultimaker2' in self.has_machine and True:
            s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker 2:'))
            s.Add(wx.StaticText(p, -1, '* Updated error messages, to assist in getting better support'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(self.has_machine['ultimaker2']), button)
            s.Add(button, flag=wx.TOP, border=5)
        if 'ultimaker2+' in self.has_machine and True:
            s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker 2+:'))
            s.Add(wx.StaticText(p, -1, '* Updated error messages, to assist in getting better support'))
            s.Add(wx.StaticText(p, -1, '* Bugfix for the import/export material settings which was not working properly'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(self.has_machine['ultimaker2+']), button)
            s.Add(button, flag=wx.TOP, border=5)
        if 'ultimaker2+extended' in self.has_machine and True:
            s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker2+Extended:'))
            s.Add(wx.StaticText(p, -1, '* Fixed temperature stability.'))
            s.Add(wx.StaticText(p, -1, '* Fixed print starting problems when a material warning was ignored'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(self.has_machine['ultimaker2+extended']), button)
            s.Add(button, flag=wx.TOP, border=5)

        s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
        button = wx.Button(p, -1, 'Ok')
        self.Bind(wx.EVT_BUTTON, self.OnOk, button)
        s.Add(button, flag=wx.TOP|wx.ALIGN_RIGHT, border=5)

        self.Fit()
        self.Centre()
Exemple #31
0
	def __init__(self, parent):
		super(machineSettingsDialog, self).__init__(None, title="Machine settings")

		wx.EVT_CLOSE(self, self.OnClose)

		self.parent = parent
		extruderCount = int(profile.getMachineSetting('extruder_amount'))

		self.panel = configBase.configPanelBase(self)
		self.SetSizer(wx.BoxSizer(wx.HORIZONTAL))
		self.GetSizer().Add(self.panel, 1, wx.EXPAND)
		self.nb = wx.Notebook(self.panel)
		self.panel.SetSizer(wx.BoxSizer(wx.VERTICAL))
		self.panel.GetSizer().Add(self.nb, 1, wx.EXPAND)

		for idx in xrange(0, profile.getMachineCount()):
			left, right, main = self.panel.CreateConfigPanel(self.nb)
			configBase.TitleRow(left, _("Machine settings"))
			configBase.SettingRow(left, 'steps_per_e', index=idx)
			configBase.SettingRow(left, 'machine_width', index=idx)
			configBase.SettingRow(left, 'machine_depth', index=idx)
			configBase.SettingRow(left, 'machine_height', index=idx)
			configBase.SettingRow(left, 'extruder_amount', index=idx)
			configBase.SettingRow(left, 'has_heated_bed', index=idx)
			configBase.SettingRow(left, 'machine_center_is_zero', index=idx)
			configBase.SettingRow(left, 'gcode_flavor', index=idx)

			configBase.TitleRow(right, _("Printer head size"))
			configBase.SettingRow(right, 'extruder_head_size_min_x', index=idx)
			configBase.SettingRow(right, 'extruder_head_size_min_y', index=idx)
			configBase.SettingRow(right, 'extruder_head_size_max_x', index=idx)
			configBase.SettingRow(right, 'extruder_head_size_max_y', index=idx)
			configBase.SettingRow(right, 'extruder_head_size_height', index=idx)

			for i in xrange(1, extruderCount):
				configBase.TitleRow(left, _("Extruder %d") % (i+1))
				configBase.SettingRow(left, 'extruder_offset_x%d' % (i), index=idx)
				configBase.SettingRow(left, 'extruder_offset_y%d' % (i), index=idx)

			configBase.TitleRow(right, _("Communication settings"))
			configBase.SettingRow(right, 'serial_port', ['AUTO'] + machineCom.serialList(), index=idx)
			configBase.SettingRow(right, 'serial_baud', ['AUTO'] + map(str, machineCom.baudrateList()), index=idx)

			self.nb.AddPage(main, profile.getMachineSetting('machine_name', idx).title())

		self.nb.SetSelection(int(profile.getPreferenceFloat('active_machine')))

		self.buttonPanel = wx.Panel(self.panel)
		self.panel.GetSizer().Add(self.buttonPanel)

		self.buttonPanel.SetSizer(wx.BoxSizer(wx.HORIZONTAL))
		self.okButton = wx.Button(self.buttonPanel, -1, 'Ok')
		self.okButton.Bind(wx.EVT_BUTTON, lambda e: self.Close())
		self.buttonPanel.GetSizer().Add(self.okButton, flag=wx.ALL, border=5)

		self.addButton = wx.Button(self.buttonPanel, -1, 'Add new machine')
		self.addButton.Bind(wx.EVT_BUTTON, self.OnAddMachine)
		self.buttonPanel.GetSizer().Add(self.addButton, flag=wx.ALL, border=5)

		self.remButton = wx.Button(self.buttonPanel, -1, 'Remove machine')
		self.remButton.Bind(wx.EVT_BUTTON, self.OnRemoveMachine)
		self.buttonPanel.GetSizer().Add(self.remButton, flag=wx.ALL, border=5)

		main.Fit()
		self.Fit()
	def __init__(self):
		super(newVersionDialog, self).__init__(None, title="Welcome to the new version!")

		wx.EVT_CLOSE(self, self.OnClose)

		p = wx.Panel(self)
		self.panel = p
		s = wx.BoxSizer()
		self.SetSizer(s)
		s.Add(p, flag=wx.ALL, border=15)
		s = wx.BoxSizer(wx.VERTICAL)
		p.SetSizer(s)

		title = wx.StaticText(p, -1, 'Cura - ' + version.getVersion())
		title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
		s.Add(title, flag=wx.ALIGN_CENTRE|wx.EXPAND|wx.BOTTOM, border=5)
		s.Add(wx.StaticText(p, -1, 'Welcome to the new version of Cura.'))
		s.Add(wx.StaticText(p, -1, '(This dialog is only shown once)'))
		s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
		s.Add(wx.StaticText(p, -1, 'New in version 15.04.4:'))
		s.Add(wx.StaticText(p, -1, '* Added Ultimaker 2+ and Ultimaker 2 Extended+ machines'))
		s.Add(wx.StaticText(p, -1, '* Added quick print profiles for Ultimaker 2+ and Ultimaker 2 Extended+'))
		s.Add(wx.StaticText(p, -1, '* Added feature where quickprint profiles can be per nozzle size and material'))

		self.has_machine = {}
		for n in xrange(0, profile.getMachineCount()):
			self.has_machine[profile.getMachineSetting('machine_type', n)] = n
			if profile.getMachineSetting('machine_type', n) == 'ultimaker':
				self.hasUltimaker = n
			if profile.getMachineSetting('machine_type', n) == 'ultimaker2':
				self.hasUltimaker2 = n
		if 'ultimaker' in self.has_machine and False:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker Original:'))
			s.Add(wx.StaticText(p, -1, '* .'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(self.has_machine['ultimaker']), button)
			s.Add(button, flag=wx.TOP, border=5)
		if 'ultimaker2' in self.has_machine and False:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker 2:'))
			s.Add(wx.StaticText(p, -1, '* Added option to change filament when pausing during a print.'))
			s.Add(wx.StaticText(p, -1, '* Prevent temperature display jitter (thanks to TinkerGnome)'))
			s.Add(wx.StaticText(p, -1, '* Fixed problems with filenames containing an umlaut.'))
			s.Add(wx.StaticText(p, -1, '* Improved pause handling (thanks to ThinkerGnome)'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(self.has_machine['ultimaker2']), button)
			s.Add(button, flag=wx.TOP, border=5)
		if 'ultimaker2+' in self.has_machine and True:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker 2+:'))
			s.Add(wx.StaticText(p, -1, '* Fixed temperature stability.'))
			s.Add(wx.StaticText(p, -1, '* Fixed print starting problems when a material warning was ignored'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(self.has_machine['ultimaker2+']), button)
			s.Add(button, flag=wx.TOP, border=5)
		if 'ultimaker2+extended' in self.has_machine and True:
			s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
			s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker2+Extended:'))
			s.Add(wx.StaticText(p, -1, '* Fixed temperature stability.'))
			s.Add(wx.StaticText(p, -1, '* Fixed print starting problems when a material warning was ignored'))
			button = wx.Button(p, -1, 'Install now')
			self.Bind(wx.EVT_BUTTON, lambda e: self.OnFirmwareInstall(self.has_machine['ultimaker2+extended']), button)
			s.Add(button, flag=wx.TOP, border=5)

		s.Add(wx.StaticLine(p), flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=10)
		button = wx.Button(p, -1, 'Ok')
		self.Bind(wx.EVT_BUTTON, self.OnOk, button)
		s.Add(button, flag=wx.TOP|wx.ALIGN_RIGHT, border=5)

		self.Fit()
		self.Centre()
Exemple #33
0
    def __init__(self):
        super(newVersionDialog,
              self).__init__(None, title="Welcome to the new version!")

        wx.EVT_CLOSE(self, self.OnClose)

        p = wx.Panel(self)
        self.panel = p
        s = wx.BoxSizer()
        self.SetSizer(s)
        s.Add(p, flag=wx.ALL, border=15)
        s = wx.BoxSizer(wx.VERTICAL)
        p.SetSizer(s)

        title = wx.StaticText(p, -1, 'Cura - ' + version.getVersion())
        title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
        s.Add(title, flag=wx.ALIGN_CENTRE | wx.EXPAND | wx.BOTTOM, border=5)
        s.Add(wx.StaticText(p, -1, 'Welcome to the new version of Cura.'))
        s.Add(wx.StaticText(p, -1, '(This dialog is only shown once)'))
        s.Add(wx.StaticLine(p), flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10)
        s.Add(wx.StaticText(p, -1, 'New in this version:'))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Fixed a rare bug that caused the CuraEngine to crash on some models.'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Added support for multiple Doodle3D boxes on the same network.'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Made it possible to switch between "all at once" and "one at a time printing"'
            ))
        s.Add(wx.StaticText(p, -1, '* Improved USB communication stability.'))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Improved USB auto-detection for none-Ultimaker printers.'))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Set retraction enabled by default and in the quickprint profiles.'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Fixed a bug that caused loading of really small objects to fail.'
            ))
        s.Add(
            wx.StaticText(
                p, -1,
                '* Made camera keyboard controls accessible in the GCode view, use shift+up/down for layer changes now.'
            ))

        self.hasUltimaker = None
        self.hasUltimaker2 = None
        for n in xrange(0, profile.getMachineCount()):
            if profile.getMachineSetting('machine_type', n) == 'ultimaker':
                self.hasUltimaker = n
            if profile.getMachineSetting('machine_type', n) == 'ultimaker2':
                self.hasUltimaker2 = n
        if self.hasUltimaker is not None and False:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(
                wx.StaticText(p, -1,
                              'New firmware for your Ultimaker Original:'))
            s.Add(wx.StaticText(p, -1, '* .'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, self.OnUltimakerFirmware, button)
            s.Add(button, flag=wx.TOP, border=5)
        if self.hasUltimaker2 is not None:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker2:'))
            s.Add(
                wx.StaticText(
                    p, -1,
                    '* Fixed the bug where aborting a print caused massive retraction.'
                ))
            s.Add(
                wx.StaticText(
                    p, -1,
                    '* Fixed a bug where going into move-material when the printer was still moving caused a bed-crash.'
                ))
            s.Add(
                wx.StaticText(
                    p, -1,
                    '* Added bed temperature when cooling down the printer.'))
            s.Add(
                wx.StaticText(p, -1,
                              '* Allow abort if bed-leveling is selected.'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, self.OnUltimaker2Firmware, button)
            s.Add(button, flag=wx.TOP, border=5)

        s.Add(wx.StaticLine(p), flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10)
        button = wx.Button(p, -1, 'Ok')
        self.Bind(wx.EVT_BUTTON, self.OnOk, button)
        s.Add(button, flag=wx.TOP | wx.ALIGN_RIGHT, border=5)

        self.Fit()
        self.Centre()
Exemple #34
0
    def __init__(self):
        super(newVersionDialog,
              self).__init__(None, title="Welcome to the new version!")

        wx.EVT_CLOSE(self, self.OnClose)

        p = wx.Panel(self)
        self.panel = p
        s = wx.BoxSizer()
        self.SetSizer(s)
        s.Add(p, flag=wx.ALL, border=15)
        s = wx.BoxSizer(wx.VERTICAL)
        p.SetSizer(s)

        title = wx.StaticText(p, -1, '3DK - ' + version.getVersion())
        title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
        s.Add(title, flag=wx.ALIGN_CENTRE | wx.EXPAND | wx.BOTTOM, border=5)
        s.Add(wx.StaticText(p, -1, 'Welcome to the new version of 3DK.'))
        s.Add(wx.StaticText(p, -1, '(This dialog is only shown once)'))
        s.Add(wx.StaticLine(p), flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10)
        s.Add(wx.StaticText(p, -1, 'New in this version:'))
        s.Add(wx.StaticText(p, -1, '* Auto/Manual Slicing'))
        s.Add(wx.StaticText(p, -1,
                            '* Prevent reuse of older version settings'))
        s.Add(wx.StaticText(p, -1, '* Changed machine dimensions'))
        # s.Add(wx.StaticText(p, -1, '* Online registration for printers, helps with warranty claims'))
        # s.Add(wx.StaticText(p, -1, '* Fixed problems with placement of multiple objects on the build platform'))
        # s.Add(wx.StaticText(p, -1, '* Fix a bug where  would stop generating GCode'))

        self.hasUltimaker = None
        self.hasUltimaker2 = None
        for n in xrange(0, profile.getMachineCount()):
            if profile.getMachineSetting('machine_type', n) == 'ultimaker':
                self.hasUltimaker = n
            if profile.getMachineSetting('machine_type', n) == 'ultimaker2':
                self.hasUltimaker2 = n
        if self.hasUltimaker is not None and False:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(
                wx.StaticText(p, -1,
                              'New firmware for your Ultimaker Original:'))
            s.Add(wx.StaticText(p, -1, '* .'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, self.OnUltimakerFirmware, button)
            s.Add(button, flag=wx.TOP, border=5)
        if self.hasUltimaker2 is not None:
            s.Add(wx.StaticLine(p),
                  flag=wx.EXPAND | wx.TOP | wx.BOTTOM,
                  border=10)
            s.Add(wx.StaticText(p, -1, 'New firmware for your Ultimaker2:'))
            s.Add(
                wx.StaticText(
                    p, -1,
                    '* Detect when the endstops are not working properly.\n    Which prevents the bed from damaging the nozzle.'
                ))
            s.Add(
                wx.StaticText(
                    p, -1,
                    '* Added the ability to import/export material profiles to the SD card.'
                ))
            s.Add(
                wx.StaticText(p, -1,
                              '* Improved hotend temperature stability.'))
            s.Add(wx.StaticText(p, -1, '* Added UPET material profile.'))
            s.Add(
                wx.StaticText(
                    p, -1, '* Minor improvements to the time estimate code.'))
            button = wx.Button(p, -1, 'Install now')
            self.Bind(wx.EVT_BUTTON, self.OnUltimaker2Firmware, button)
            s.Add(button, flag=wx.TOP, border=5)

        s.Add(wx.StaticLine(p), flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10)
        button = wx.Button(p, -1, 'Ok')
        self.Bind(wx.EVT_BUTTON, self.OnOk, button)
        s.Add(button, flag=wx.TOP | wx.ALIGN_RIGHT, border=5)

        self.Fit()
        self.Centre()