mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-05 20:36:04 +08:00
Move nozzle_size back to machine config. Rename machine config tab to advanced config, and advanced config window to expert config
This commit is contained in:
parent
0d16ef4bd1
commit
3f0c86d1d9
@ -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,
|
||||
|
@ -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\'')
|
||||
|
@ -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):
|
||||
|
@ -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)
|
||||
|
@ -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')
|
||||
|
@ -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:
|
||||
|
@ -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',
|
||||
|
@ -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'))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user