Beispiel #1
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, parent):
		super(preferencesDialog, self).__init__(None, title="Preferences", style=wx.DEFAULT_DIALOG_STYLE)
		
		wx.EVT_CLOSE(self, self.OnClose)
		
		self.parent = parent
		self.oldExtruderAmount = int(profile.getPreference('extruder_amount'))

		self.panel = configBase.configPanelBase(self)
		
		left, right, main = self.panel.CreateConfigPanel(self)
		configBase.TitleRow(left, 'Machine settings')
		c = configBase.SettingRow(left, 'Steps per E', 'steps_per_e', '0', 'Amount of steps per mm filament extrusion', type = 'preference')
		validators.validFloat(c, 0.1)
		c = configBase.SettingRow(left, 'Maximum width (mm)', 'machine_width', '205', 'Size of the machine in mm', type = 'preference')
		validators.validFloat(c, 10.0)
		c = configBase.SettingRow(left, 'Maximum depth (mm)', 'machine_depth', '205', 'Size of the machine in mm', type = 'preference')
		validators.validFloat(c, 10.0)
		c = configBase.SettingRow(left, 'Maximum height (mm)', 'machine_height', '200', 'Size of the machine in mm', type = 'preference')
		validators.validFloat(c, 10.0)
		c = configBase.SettingRow(left, 'Extruder count', 'extruder_amount', ['1', '2', '3', '4'], 'Amount of extruders in your machine.', type = 'preference')
		c = configBase.SettingRow(left, 'Heated bed', 'has_heated_bed', False, 'If you have an heated bed, this enabled heated bed settings', type = 'preference')
		
		for i in xrange(1, self.oldExtruderAmount):
			configBase.TitleRow(left, 'Extruder %d' % (i+1))
			c = configBase.SettingRow(left, 'Offset X', 'extruder_offset_x%d' % (i), '0.0', 'The offset of your secondary extruder compared to the primary.', type = 'preference')
			validators.validFloat(c)
			c = configBase.SettingRow(left, 'Offset Y', 'extruder_offset_y%d' % (i), '0.0', 'The offset of your secondary extruder compared to the primary.', type = 'preference')
			validators.validFloat(c)

		configBase.TitleRow(left, 'Colours')
		c = configBase.SettingRow(left, 'Model colour', 'model_colour', wx.Colour(0,0,0), '', type = 'preference')
		for i in xrange(1, self.oldExtruderAmount):
			c = configBase.SettingRow(left, 'Model colour (%d)' % (i+1), 'model_colour%d' % (i+1), wx.Colour(0,0,0), '', type = 'preference')

		configBase.TitleRow(right, 'Filament settings')
		c = configBase.SettingRow(right, 'Density (kg/m3)', 'filament_density', '1300', 'Weight of the filament per m3. Around 1300 for PLA. And around 1040 for ABS. This value is used to estimate the weight if the filament used for the print.', type = 'preference')
		validators.validFloat(c, 500.0, 3000.0)
		c = configBase.SettingRow(right, 'Cost (price/kg)', 'filament_cost_kg', '0', 'Cost of your filament per kg, to estimate the cost of the final print.', type = 'preference')
		validators.validFloat(c, 0.0)
		c = configBase.SettingRow(right, 'Cost (price/m)', 'filament_cost_meter', '0', 'Cost of your filament per meter, to estimate the cost of the final print.', type = 'preference')
		validators.validFloat(c, 0.0)
		
		configBase.TitleRow(right, 'Communication settings')
		c = configBase.SettingRow(right, 'Serial port', 'serial_port', ['AUTO'] + machineCom.serialList(), 'Serial port to use for communication with the printer', type = 'preference')
		c = configBase.SettingRow(right, 'Baudrate', 'serial_baud', ['AUTO'] + map(str, machineCom.baudrateList()), 'Speed of the serial port communication\nNeeds to match your firmware settings\nCommon values are 250000, 115200, 57600', type = 'preference')

		configBase.TitleRow(right, 'Slicer settings')
		#c = configBase.SettingRow(right, 'Slicer selection', 'slicer', ['Cura (Skeinforge based)', 'Slic3r'], 'Which slicer to use to slice objects. Usually the Cura engine produces the best results. But Slic3r is developing fast and is faster with slicing.', type = 'preference')
		c = configBase.SettingRow(right, 'Save profile on slice', 'save_profile', False, 'When slicing save the profile as [stl_file]_profile.ini next to the model.', type = 'preference')

		configBase.TitleRow(right, 'SD Card settings')
		if len(profile.getSDcardDrives()) > 1:
			c = configBase.SettingRow(right, 'SD card drive', 'sdpath', profile.getSDcardDrives(), 'Location of your SD card, when using the copy to SD feature.', type = 'preference')
		else:
			c = configBase.SettingRow(right, 'SD card path', 'sdpath', '', 'Location of your SD card, when using the copy to SD feature.', type = 'preference')
		c = configBase.SettingRow(right, 'Copy to SD with 8.3 names', 'sdshortnames', False, 'Save the gcode files in short filenames, so they are properly shown on the UltiController', type = 'preference')

		configBase.TitleRow(right, 'Cura settings')
		c = configBase.SettingRow(right, 'Check for updates', 'check_for_updates', True, 'Check for newer versions of Cura on startup', type = 'preference')

		self.okButton = wx.Button(right, -1, 'Ok')
		right.GetSizer().Add(self.okButton, (right.GetSizer().GetRows(), 0), flag=wx.BOTTOM, border=5)
		self.okButton.Bind(wx.EVT_BUTTON, self.OnClose)
		
		self.MakeModal(True)
		main.Fit()
		self.Fit()
Beispiel #3
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, 'relative_extrusion', 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)

        main.Fit()
        self.Fit()
	def __init__(self, parent):
		super(preferencesDialog, self).__init__(None, title=language.getText("Preferences"))
		
		wx.EVT_CLOSE(self, self.OnClose)
		
		self.parent = parent
		self.oldExtruderAmount = int(profile.getPreference('extruder_amount'))

		self.panel = configBase.configPanelBase(self)
		
		left, right, main = self.panel.CreateConfigPanel(self)
		configBase.TitleRow(left, language.getText('Machine settings'))
		configBase.SettingRow(left, 'steps_per_e')
		configBase.SettingRow(left, 'machine_width')
		configBase.SettingRow(left, 'machine_depth')
		configBase.SettingRow(left, 'machine_height')
		configBase.SettingRow(left, 'extruder_amount')
		configBase.SettingRow(left, 'has_heated_bed')

		configBase.TitleRow(left, language.getText('Printer head size'))
		configBase.SettingRow(left, 'extruder_head_size_min_x')
		configBase.SettingRow(left, 'extruder_head_size_min_y')
		configBase.SettingRow(left, 'extruder_head_size_max_x')
		configBase.SettingRow(left, 'extruder_head_size_max_y')
		configBase.SettingRow(left, 'extruder_head_size_height')

		for i in xrange(1, self.oldExtruderAmount):
			configBase.TitleRow(left, 'Extruder %d' % (i+1))
			configBase.SettingRow(left, 'extruder_offset_x%d' % (i))
			configBase.SettingRow(left, 'extruder_offset_y%d' % (i))

		configBase.TitleRow(right, language.getText('Colours'))
		configBase.SettingRow(right, 'model_colour', wx.Colour)
		for i in xrange(1, self.oldExtruderAmount):
			configBase.SettingRow(right, 'model_colour%d' % (i+1), wx.Colour)

		configBase.TitleRow(right, language.getText('Filament settings'))
		configBase.SettingRow(right, 'filament_physical_density')
		configBase.SettingRow(right, 'filament_cost_kg')
		configBase.SettingRow(right, 'filament_cost_meter')

		configBase.TitleRow(right, language.getText('Communication settings'))
		configBase.SettingRow(right, 'serial_port', ['AUTO'] + machineCom.serialList())
		configBase.SettingRow(right, 'serial_baud', ['AUTO'] + map(str, machineCom.baudrateList()))

		#configBase.TitleRow(right, 'Slicer settings')
		#configBase.SettingRow(right, 'save_profile')

		#configBase.TitleRow(right, 'SD Card settings')

		configBase.TitleRow(right, language.getText('Cura settings'))
		configBase.SettingRow(right, 'auto_detect_sd')
		configBase.SettingRow(right, 'check_for_updates')
		configBase.SettingRow(right, 'submit_slice_information')

		self.okButton = wx.Button(right, -1, language.getText('Ok'))
		right.GetSizer().Add(self.okButton, (right.GetSizer().GetRows(), 0), flag=wx.BOTTOM, border=5)
		self.okButton.Bind(wx.EVT_BUTTON, lambda e: self.Close())
		
		main.Fit()
		self.Fit()
Beispiel #5
0
    def __init__(self, parent):
        super(preferencesDialog, self).__init__(None,
                                                title="Preferences",
                                                style=wx.DEFAULT_DIALOG_STYLE)

        wx.EVT_CLOSE(self, self.OnClose)

        self.parent = parent
        self.oldExtruderAmount = int(profile.getPreference('extruder_amount'))

        self.panel = configBase.configPanelBase(self)

        left, right, main = self.panel.CreateConfigPanel(self)
        configBase.TitleRow(left, 'Machine settings')
        c = configBase.SettingRow(left,
                                  'Steps per E',
                                  'steps_per_e',
                                  '0',
                                  'Amount of steps per mm filament extrusion',
                                  type='preference')
        validators.validFloat(c, 0.1)
        c = configBase.SettingRow(left,
                                  'Maximum width (mm)',
                                  'machine_width',
                                  '205',
                                  'Size of the machine in mm',
                                  type='preference')
        validators.validFloat(c, 10.0)
        c = configBase.SettingRow(left,
                                  'Maximum depth (mm)',
                                  'machine_depth',
                                  '205',
                                  'Size of the machine in mm',
                                  type='preference')
        validators.validFloat(c, 10.0)
        c = configBase.SettingRow(left,
                                  'Maximum height (mm)',
                                  'machine_height',
                                  '200',
                                  'Size of the machine in mm',
                                  type='preference')
        validators.validFloat(c, 10.0)
        c = configBase.SettingRow(left,
                                  'Extruder count',
                                  'extruder_amount', ['1', '2', '3', '4'],
                                  'Amount of extruders in your machine.',
                                  type='preference')
        c = configBase.SettingRow(
            left,
            'Heated bed',
            'has_heated_bed',
            False,
            'If you have an heated bed, this enabled heated bed settings',
            type='preference')

        for i in xrange(1, self.oldExtruderAmount):
            configBase.TitleRow(left, 'Extruder %d' % (i + 1))
            c = configBase.SettingRow(
                left,
                'Offset X',
                'extruder_offset_x%d' % (i),
                '0.0',
                'The offset of your secondary extruder compared to the primary.',
                type='preference')
            validators.validFloat(c)
            c = configBase.SettingRow(
                left,
                'Offset Y',
                'extruder_offset_y%d' % (i),
                '0.0',
                'The offset of your secondary extruder compared to the primary.',
                type='preference')
            validators.validFloat(c)

        configBase.TitleRow(left, 'Colours')
        c = configBase.SettingRow(left,
                                  'Model colour',
                                  'model_colour',
                                  wx.Colour(0, 0, 0),
                                  '',
                                  type='preference')
        for i in xrange(1, self.oldExtruderAmount):
            c = configBase.SettingRow(left,
                                      'Model colour (%d)' % (i + 1),
                                      'model_colour%d' % (i + 1),
                                      wx.Colour(0, 0, 0),
                                      '',
                                      type='preference')

        configBase.TitleRow(right, 'Filament settings')
        c = configBase.SettingRow(
            right,
            'Density (kg/m3)',
            'filament_density',
            '1300',
            'Weight of the filament per m3. Around 1300 for PLA. And around 1040 for ABS. This value is used to estimate the weight if the filament used for the print.',
            type='preference')
        validators.validFloat(c, 500.0, 3000.0)
        c = configBase.SettingRow(
            right,
            'Cost (price/kg)',
            'filament_cost_kg',
            '0',
            'Cost of your filament per kg, to estimate the cost of the final print.',
            type='preference')
        validators.validFloat(c, 0.0)
        c = configBase.SettingRow(
            right,
            'Cost (price/m)',
            'filament_cost_meter',
            '0',
            'Cost of your filament per meter, to estimate the cost of the final print.',
            type='preference')
        validators.validFloat(c, 0.0)

        configBase.TitleRow(right, 'Communication settings')
        c = configBase.SettingRow(
            right,
            'Serial port',
            'serial_port', ['AUTO'] + machineCom.serialList(),
            'Serial port to use for communication with the printer',
            type='preference')
        c = configBase.SettingRow(
            right,
            'Baudrate',
            'serial_baud', ['AUTO'] + map(str, machineCom.baudrateList()),
            'Speed of the serial port communication\nNeeds to match your firmware settings\nCommon values are 250000, 115200, 57600',
            type='preference')

        configBase.TitleRow(right, 'Slicer settings')
        #c = configBase.SettingRow(right, 'Slicer selection', 'slicer', ['Cura (Skeinforge based)', 'Slic3r'], 'Which slicer to use to slice objects. Usually the Cura engine produces the best results. But Slic3r is developing fast and is faster with slicing.', type = 'preference')
        c = configBase.SettingRow(
            right,
            'Save profile on slice',
            'save_profile',
            False,
            'When slicing save the profile as [stl_file]_profile.ini next to the model.',
            type='preference')

        configBase.TitleRow(right, 'SD Card settings')
        if len(profile.getSDcardDrives()) > 1:
            c = configBase.SettingRow(
                right,
                'SD card drive',
                'sdpath',
                profile.getSDcardDrives(),
                'Location of your SD card, when using the copy to SD feature.',
                type='preference')
        else:
            c = configBase.SettingRow(
                right,
                'SD card path',
                'sdpath',
                '',
                'Location of your SD card, when using the copy to SD feature.',
                type='preference')
        c = configBase.SettingRow(
            right,
            'Copy to SD with 8.3 names',
            'sdshortnames',
            False,
            'Save the gcode files in short filenames, so they are properly shown on the UltiController',
            type='preference')

        configBase.TitleRow(right, 'Cura settings')
        c = configBase.SettingRow(
            right,
            'Check for updates',
            'check_for_updates',
            True,
            'Check for newer versions of Cura on startup',
            type='preference')

        c = configBase.SettingRow(right,
                                  'Prompt for filename',
                                  'filename_prompt',
                                  False,
                                  'Prompt for a filename when saving files',
                                  type='preference')
        c = configBase.SettingRow(
            right,
            'Prompt on overwrite file',
            'file_overwrite_prompt',
            False,
            'Prompt for overwrite when output file already exits',
            type='preference')

        self.okButton = wx.Button(right, -1, 'Ok')
        right.GetSizer().Add(self.okButton, (right.GetSizer().GetRows(), 0),
                             flag=wx.BOTTOM,
                             border=5)
        self.okButton.Bind(wx.EVT_BUTTON, self.OnClose)

        self.MakeModal(True)
        main.Fit()
        self.Fit()
    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()
Beispiel #7
0
	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()