From: daid Date: Mon, 26 Mar 2012 11:45:31 +0000 (+0200) Subject: Move nozzle_size back to machine config. Rename machine config tab to advanced config... X-Git-Tag: RC1~16^2~11 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=3f0c86d1d941de0827e7dd3d8e680b295d7201b2;p=cura.git Move nozzle_size back to machine config. Rename machine config tab to advanced config, and advanced config window to expert config --- diff --git a/Cura/fabmetheus_utilities/settings.py b/Cura/fabmetheus_utilities/settings.py index 351c3cce..75556f96 100644 --- a/Cura/fabmetheus_utilities/settings.py +++ b/Cura/fabmetheus_utilities/settings.py @@ -37,7 +37,7 @@ def storedPercentSetting(name): def calculateEdgeWidth(setting): wallThickness = float(profile.getProfileSetting('wall_thickness')) - nozzleSize = float(profile.getPreference('nozzle_size')) + nozzleSize = float(profile.getProfileSetting('nozzle_size')) if wallThickness < nozzleSize: return wallThickness @@ -56,7 +56,7 @@ def calculateShellsBase(setting): return calculateShellsImp(float(profile.getProfileSetting('wall_thickness')) + float(profile.getProfileSetting('extra_base_wall_thickness'))) def calculateShellsImp(wallThickness): - nozzleSize = float(profile.getPreference('nozzle_size')) + nozzleSize = float(profile.getProfileSetting('nozzle_size')) if wallThickness < nozzleSize: return 0 @@ -129,7 +129,7 @@ def getProfileInformation(): },'inset': { 'Add_Custom_Code_for_Temperature_Reading': DEFSET, 'Infill_in_Direction_of_Bridge': "True", - 'Infill_Width': storedPreference("nozzle_size"), + 'Infill_Width': getProfileSetting("nozzle_size"), 'Loop_Order_Choice': DEFSET, 'Overlap_Removal_Width_over_Perimeter_Width_ratio': DEFSET, 'Turn_Extruder_Heater_Off_at_Shut_Down': DEFSET, @@ -157,7 +157,7 @@ def getProfileInformation(): 'Line': ifSettingIs('infill_type', 'Line'), 'Infill_Perimeter_Overlap_ratio': storedPercentSetting('fill_overlap'), 'Infill_Solidity_ratio': storedPercentSetting('fill_density'), - 'Infill_Width': storedPreference("nozzle_size"), + 'Infill_Width': getProfileSetting("nozzle_size"), 'Sharpest_Angle_degrees': DEFSET, 'Solid_Surface_Thickness_layers': calculateSolidLayerCount, 'Start_From_Choice': DEFSET, diff --git a/Cura/newui/advancedConfig.py b/Cura/newui/advancedConfig.py index 2febe8bc..97852fe1 100644 --- a/Cura/newui/advancedConfig.py +++ b/Cura/newui/advancedConfig.py @@ -13,7 +13,7 @@ from newui import validators class advancedConfigWindow(configBase.configWindowBase): "Advanced configuration window" def __init__(self): - super(advancedConfigWindow, self).__init__(title='Advanced config') + super(advancedConfigWindow, self).__init__(title='Expert config') wx.EVT_CLOSE(self, self.OnClose) @@ -22,6 +22,7 @@ class advancedConfigWindow(configBase.configWindowBase): configBase.TitleRow(left, "Accuracy") c = configBase.SettingRow(left, "Extra Wall thickness for bottom/top (mm)", 'extra_base_wall_thickness', '0.0', 'Additional wall thickness of the bottom and top layers.') validators.validFloat(c, 0.0) + configBase.TitleRow(left, "Sequence") c = configBase.SettingRow(left, "Print order sequence", 'sequence', ['Loops > Perimeter > Infill', 'Loops > Infill > Perimeter', 'Infill > Loops > Perimeter', 'Infill > Perimeter > Loops', 'Perimeter > Infill > Loops', 'Perimeter > Loops > Infill'], 'Sequence of printing. The perimeter is the outer print edge, the loops are the insides of the walls, and the infill is the insides.'); c = configBase.SettingRow(left, "Force first layer sequence", 'force_first_layer_sequence', True, 'This setting forces the order of the first layer to be \'Perimeter > Loops > Infill\'') diff --git a/Cura/newui/configWizard.py b/Cura/newui/configWizard.py index 4450195b..97b3f5b0 100644 --- a/Cura/newui/configWizard.py +++ b/Cura/newui/configWizard.py @@ -97,17 +97,17 @@ class MachineSelectPage(InfoPage): profile.putPreference('machine_width', '205') profile.putPreference('machine_depth', '205') profile.putPreference('machine_height', '200') - profile.putPreference('nozzle_size', '0.4') + profile.putProfileSetting('nozzle_size', '0.4') profile.putProfileSetting('machine_center_x', '100') profile.putProfileSetting('machine_center_y', '100') else: profile.putPreference('machine_width', '80') profile.putPreference('machine_depth', '80') profile.putPreference('machine_height', '60') - profile.putPreference('nozzle_size', '0.5') + profile.putProfileSetting('nozzle_size', '0.5') profile.putProfileSetting('machine_center_x', '40') profile.putProfileSetting('machine_center_y', '40') - profile.putProfileSetting('wall_thickness', float(profile.getPreference('nozzle_size')) * 2) + profile.putProfileSetting('wall_thickness', float(profile.getProfileSetting('nozzle_size')) * 2) class FirmwareUpgradePage(InfoPage): def __init__(self, parent): diff --git a/Cura/newui/mainWindow.py b/Cura/newui/mainWindow.py index e1b1f8c1..aecb1c5a 100644 --- a/Cura/newui/mainWindow.py +++ b/Cura/newui/mainWindow.py @@ -85,7 +85,7 @@ class mainWindow(configBase.configWindowBase): configBase.TitleRow(left, "Accuracy") c = configBase.SettingRow(left, "Layer height (mm)", 'layer_height', '0.2', 'Layer height in millimeters.\n0.2 is a good value for quick prints.\n0.1 gives high quality prints.') validators.validFloat(c, 0.0) - validators.warningAbove(c, lambda : (float(profile.getPreference('nozzle_size')) * 80 / 100), "Thicker layers then %.2fmm (80%% nozzle size) usually give bad results and are not recommended.") + validators.warningAbove(c, lambda : (float(profile.getProfileSetting('nozzle_size')) * 80 / 100), "Thicker layers then %.2fmm (80%% nozzle size) usually give bad results and are not recommended.") c = configBase.SettingRow(left, "Wall thickness (mm)", 'wall_thickness', '0.8', 'Thickness of the walls.\nThis is used in combination with the nozzle size to define the number\nof perimeter lines and the thickness of those perimeter lines.') validators.validFloat(c, 0.0) validators.wallThicknessValidator(c) @@ -124,9 +124,11 @@ class mainWindow(configBase.configWindowBase): c = configBase.SettingRow(right, "Packing Density", 'filament_density', '1.00', 'Packing density of your filament. This should be 1.00 for PLA and 0.85 for ABS') validators.validFloat(c, 0.5, 1.5) - (left, right) = self.CreateConfigTab(nb, 'Machine config') + (left, right) = self.CreateConfigTab(nb, 'Advanced config') configBase.TitleRow(left, "Machine size") + c = configBase.SettingRow(left, "Nozzle size (mm)", 'nozzle_size', '0.4', 'The nozzle size is very important, this is used to calculate the line width of the infill, and used to calculate the amount of outside wall lines and thickness for the wall thickness you entered in the print settings.') + validators.validFloat(c, 0.1, 1.0) c = configBase.SettingRow(left, "Machine center X (mm)", 'machine_center_x', '100', 'The center of your machine, your print will be placed at this location') validators.validInt(c, 10) configBase.settingNotify(c, self.preview3d.updateCenterX) diff --git a/Cura/newui/preferencesDialog.py b/Cura/newui/preferencesDialog.py index 539a69a7..493807be 100644 --- a/Cura/newui/preferencesDialog.py +++ b/Cura/newui/preferencesDialog.py @@ -16,8 +16,6 @@ class preferencesDialog(configBase.configWindowBase): left, right, main = self.CreateConfigPanel(self) configBase.TitleRow(left, 'Machine settings') - c = configBase.SettingRow(left, "Nozzle size (mm)", 'nozzle_size', '0.4', 'The nozzle size is very important, this is used to calculate the line width of the infill, and used to calculate the amount of outside wall lines and thickness for the wall thickness you entered in the print settings.', type = 'preference') - validators.validFloat(c, 0.1, 1.0) 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, 'Machine width (mm)', 'machine_width', '205', 'Size of the machine in mm', type = 'preference') diff --git a/Cura/newui/preview3d.py b/Cura/newui/preview3d.py index 722c2821..679f05b4 100644 --- a/Cura/newui/preview3d.py +++ b/Cura/newui/preview3d.py @@ -440,7 +440,7 @@ class PreviewGLCanvas(glcanvas.GLCanvas): layerThickness = 0.0 filamentRadius = float(profile.getProfileSetting('filament_diameter')) / 2 filamentArea = math.pi * filamentRadius * filamentRadius - lineWidth = float(profile.getPreference('nozzle_size')) / 2 + lineWidth = float(profile.getProfileSetting('nozzle_size')) / 2 curLayerNum = 0 for path in self.parent.gcode.pathList: diff --git a/Cura/newui/profile.py b/Cura/newui/profile.py index 5a3e4036..481932db 100644 --- a/Cura/newui/profile.py +++ b/Cura/newui/profile.py @@ -8,6 +8,7 @@ import traceback #Single place to store the defaults, so we have a consistent set of default settings. profileDefaultSettings = { + 'nozzle_size': '0.4', 'layer_height': '0.2', 'wall_thickness': '0.8', 'solid_layer_thickness': '0.6', @@ -59,7 +60,6 @@ preferencesDefaultSettings = { 'machine_width': '205', 'machine_depth': '205', 'machine_height': '200', - 'nozzle_size': '0.4', 'steps_per_e': '0', 'serial_port': 'AUTO', 'serial_baud': '250000', diff --git a/Cura/newui/validators.py b/Cura/newui/validators.py index 79a3d318..6352debd 100644 --- a/Cura/newui/validators.py +++ b/Cura/newui/validators.py @@ -75,7 +75,7 @@ class wallThicknessValidator(): def validate(self): try: wallThickness = float(self.setting.GetValue()) - nozzleSize = float(profile.getPreference('nozzle_size')) + nozzleSize = float(profile.getProfileSetting('nozzle_size')) if wallThickness <= nozzleSize * 0.5: return ERROR, 'Trying to print walls thinner then the half of your nozzle size, this will not produce anything usable' if wallThickness <= nozzleSize * 0.85: @@ -100,7 +100,7 @@ class printSpeedValidator(): def validate(self): try: - nozzleSize = float(profile.getPreference('nozzle_size')) + nozzleSize = float(profile.getProfileSetting('nozzle_size')) layerHeight = float(profile.getProfileSetting('layer_height')) printSpeed = float(profile.getProfileSetting('print_speed'))