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
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
},'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,
'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,
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)
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\'')
profile.putPreference('machine_width', '205')\r
profile.putPreference('machine_depth', '205')\r
profile.putPreference('machine_height', '200')\r
- profile.putPreference('nozzle_size', '0.4')\r
+ profile.putProfileSetting('nozzle_size', '0.4')\r
profile.putProfileSetting('machine_center_x', '100')\r
profile.putProfileSetting('machine_center_y', '100')\r
else:\r
profile.putPreference('machine_width', '80')\r
profile.putPreference('machine_depth', '80')\r
profile.putPreference('machine_height', '60')\r
- profile.putPreference('nozzle_size', '0.5')\r
+ profile.putProfileSetting('nozzle_size', '0.5')\r
profile.putProfileSetting('machine_center_x', '40')\r
profile.putProfileSetting('machine_center_y', '40')\r
- profile.putProfileSetting('wall_thickness', float(profile.getPreference('nozzle_size')) * 2)\r
+ profile.putProfileSetting('wall_thickness', float(profile.getProfileSetting('nozzle_size')) * 2)\r
\r
class FirmwareUpgradePage(InfoPage):\r
def __init__(self, parent):\r
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)
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)
\r
left, right, main = self.CreateConfigPanel(self)\r
configBase.TitleRow(left, 'Machine settings')\r
- 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')\r
- validators.validFloat(c, 0.1, 1.0)\r
c = configBase.SettingRow(left, 'Steps per E', 'steps_per_e', '0', 'Amount of steps per mm filament extrusion', type = 'preference')\r
validators.validFloat(c, 0.1)\r
c = configBase.SettingRow(left, 'Machine width (mm)', 'machine_width', '205', 'Size of the machine in mm', type = 'preference')\r
layerThickness = 0.0\r
filamentRadius = float(profile.getProfileSetting('filament_diameter')) / 2\r
filamentArea = math.pi * filamentRadius * filamentRadius\r
- lineWidth = float(profile.getPreference('nozzle_size')) / 2\r
+ lineWidth = float(profile.getProfileSetting('nozzle_size')) / 2\r
\r
curLayerNum = 0\r
for path in self.parent.gcode.pathList:\r
\r
#Single place to store the defaults, so we have a consistent set of default settings.\r
profileDefaultSettings = {\r
+ 'nozzle_size': '0.4',\r
'layer_height': '0.2',\r
'wall_thickness': '0.8',\r
'solid_layer_thickness': '0.6',\r
'machine_width': '205',\r
'machine_depth': '205',\r
'machine_height': '200',\r
- 'nozzle_size': '0.4',\r
'steps_per_e': '0',\r
'serial_port': 'AUTO',\r
'serial_baud': '250000',\r
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:
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'))