Fixed some windows UI bugs
Set some defaults for settings Fixed start/end swap (oops) Fixed rounding error (again)
This commit is contained in:
parent
0811f3944a
commit
85e67e9851
3 changed files with 36 additions and 31 deletions
|
|
@ -53,8 +53,7 @@ def calculateShells(setting):
|
|||
def calculateSolidLayerCount(setting):
|
||||
layerHeight = float(getSetting('layer_height'))
|
||||
solidThickness = float(getSetting('solid_layer_thickness'))
|
||||
ret = int(math.ceil(solidThickness / layerHeight))
|
||||
print "calculateSolidLayerCount: " + str(ret) + " " + str(solidThickness / layerHeight)
|
||||
ret = int(math.ceil(solidThickness / layerHeight - 0.0001))
|
||||
return ret
|
||||
|
||||
def getSkeinPyPyProfileInformation():
|
||||
|
|
@ -152,7 +151,7 @@ def getSkeinPyPyProfileInformation():
|
|||
'Perimeter_Flow_Rate_Multiplier_ratio': defaultSetting,
|
||||
'Travel_Feed_Rate_mm/s': storedSetting("travel_speed"),
|
||||
},'temperature': {
|
||||
'Activate_Temperature': defaultSetting,
|
||||
'Activate_Temperature': "False",
|
||||
'Cooling_Rate_Celcius/second': defaultSetting,
|
||||
'Heating_Rate_Celcius/second': defaultSetting,
|
||||
'Base_Temperature_Celcius': defaultSetting,
|
||||
|
|
@ -163,7 +162,7 @@ def getSkeinPyPyProfileInformation():
|
|||
'Support_Layers_Temperature_Celcius': defaultSetting,
|
||||
'Supported_Layers_Temperature_Celcius': defaultSetting,
|
||||
},'raft': {
|
||||
'Activate_Raft': defaultSetting,
|
||||
'Activate_Raft': "False",
|
||||
'Add_Raft,_Elevate_Nozzle,_Orbit': defaultSetting,
|
||||
'Base_Feed_Rate_Multiplier_ratio': defaultSetting,
|
||||
'Base_Flow_Rate_Multiplier_ratio': defaultSetting,
|
||||
|
|
@ -208,18 +207,18 @@ def getSkeinPyPyProfileInformation():
|
|||
'Maximum_Tower_Height_layers': defaultSetting,
|
||||
'Tower_Start_Layer_integer': defaultSetting,
|
||||
},'jitter': {
|
||||
'Activate_Jitter': defaultSetting,
|
||||
'Activate_Jitter': "False",
|
||||
'Jitter_Over_Perimeter_Width_ratio': defaultSetting,
|
||||
},'clip': {
|
||||
'Activate_Clip': defaultSetting,
|
||||
'Activate_Clip': "False",
|
||||
'Clip_Over_Perimeter_Width_ratio': defaultSetting,
|
||||
'Maximum_Connection_Distance_Over_Perimeter_Width_ratio': defaultSetting,
|
||||
},'smooth': {
|
||||
'Activate_Smooth': defaultSetting,
|
||||
'Activate_Smooth': "False",
|
||||
'Layers_From_index': defaultSetting,
|
||||
'Maximum_Shortening_over_Width_float': defaultSetting,
|
||||
},'stretch': {
|
||||
'Activate_Stretch': defaultSetting,
|
||||
'Activate_Stretch': "False",
|
||||
'Cross_Limit_Distance_Over_Perimeter_Width_ratio': defaultSetting,
|
||||
'Loop_Stretch_Over_Perimeter_Width_ratio': defaultSetting,
|
||||
'Path_Stretch_Over_Perimeter_Width_ratio': defaultSetting,
|
||||
|
|
@ -227,17 +226,17 @@ def getSkeinPyPyProfileInformation():
|
|||
'Perimeter_Outside_Stretch_Over_Perimeter_Width_ratio': defaultSetting,
|
||||
'Stretch_From_Distance_Over_Perimeter_Width_ratio': defaultSetting,
|
||||
},'skin': {
|
||||
'Activate_Skin': defaultSetting,
|
||||
'Activate_Skin': "False",
|
||||
'Horizontal_Infill_Divisions_integer': defaultSetting,
|
||||
'Horizontal_Perimeter_Divisions_integer': defaultSetting,
|
||||
'Vertical_Divisions_integer': defaultSetting,
|
||||
'Hop_When_Extruding_Infill': defaultSetting,
|
||||
'Layers_From_index': defaultSetting,
|
||||
},'comb': {
|
||||
'Activate_Comb': defaultSetting,
|
||||
'Activate_Comb': "True",
|
||||
'Running_Jump_Space_mm': defaultSetting,
|
||||
},'cool': {
|
||||
'Activate_Cool': defaultSetting,
|
||||
'Activate_Cool': "True",
|
||||
'Bridge_Cool_Celcius': defaultSetting,
|
||||
'Cool_Type': defaultSetting,
|
||||
'Maximum_Cool_Celcius': defaultSetting,
|
||||
|
|
@ -296,7 +295,7 @@ def getSkeinPyPyProfileInformation():
|
|||
'X_Backlash_mm': defaultSetting,
|
||||
'Y_Backlash_mm': defaultSetting,
|
||||
},'fillet': {
|
||||
'Activate_Fillet': defaultSetting,
|
||||
'Activate_Fillet': "False",
|
||||
'Arc_Point': defaultSetting,
|
||||
'Arc_Radius': defaultSetting,
|
||||
'Arc_Segment': defaultSetting,
|
||||
|
|
@ -306,28 +305,28 @@ def getSkeinPyPyProfileInformation():
|
|||
'Reversal_Slowdown_Distance_over_Perimeter_Width_ratio': defaultSetting,
|
||||
'Use_Intermediate_Feed_Rate_in_Corners': defaultSetting,
|
||||
},'limit': {
|
||||
'Activate_Limit': defaultSetting,
|
||||
'Activate_Limit': "False",
|
||||
'Maximum_Initial_Feed_Rate_mm/s': defaultSetting,
|
||||
},'unpause': {
|
||||
'Activate_Unpause': defaultSetting,
|
||||
'Activate_Unpause': "False",
|
||||
'Delay_milliseconds': defaultSetting,
|
||||
'Maximum_Speed_ratio': defaultSetting,
|
||||
},'dimension': {
|
||||
'Activate_Dimension': "True",
|
||||
'Absolute_Extrusion_Distance': "True",
|
||||
'Relative_Extrusion_Distance': "False",
|
||||
'Extruder_Retraction_Speed_mm/s': defaultSetting,
|
||||
'Filament_Diameter_mm': defaultSetting,
|
||||
'Filament_Packing_Density_ratio': defaultSetting,
|
||||
'Extruder_Retraction_Speed_mm/s': storedSetting('retraction_speed'),
|
||||
'Filament_Diameter_mm': storedSetting("filament_diameter"),
|
||||
'Filament_Packing_Density_ratio': storedSetting("filament_density"),
|
||||
'Maximum_E_Value_before_Reset_float': defaultSetting,
|
||||
'Minimum_Travel_for_Retraction_millimeters': defaultSetting,
|
||||
'Minimum_Travel_for_Retraction_millimeters': storedSetting("retraction_min_travel"),
|
||||
'Retract_Within_Island': defaultSetting,
|
||||
'Retraction_Distance_millimeters': defaultSetting,
|
||||
'Restart_Extra_Distance_millimeters': defaultSetting,
|
||||
'Retraction_Distance_millimeters': storedSetting('retraction_amount'),
|
||||
'Restart_Extra_Distance_millimeters': storedSetting('retraction_extra'),
|
||||
},'alteration': {
|
||||
'Activate_Alteration': defaultSetting,
|
||||
'Name_of_End_File': "start.gcode",
|
||||
'Name_of_Start_File': "end.gcode",
|
||||
'Activate_Alteration': "True",
|
||||
'Name_of_End_File': "end.gcode",
|
||||
'Name_of_Start_File': "start.gcode",
|
||||
'Remove_Redundant_Mcode': "True",
|
||||
'Replace_Variable_with_Setting': defaultSetting,
|
||||
},'export': {
|
||||
|
|
|
|||
|
|
@ -34,6 +34,6 @@ class alterationPanel(wx.Panel):
|
|||
|
||||
def OnFocusLost(self, e):
|
||||
filename = os.path.join(archive.getSkeinforgePath('alterations'), self.alterationFileList[self.list.GetSelection()])
|
||||
f = open(filename, "w")
|
||||
f = open(filename, "wb")
|
||||
f.write(self.textArea.GetValue())
|
||||
f.close()
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
from __future__ import absolute_import
|
||||
import __init__
|
||||
|
||||
import wx, os
|
||||
import wx, os, platform
|
||||
|
||||
from fabmetheus_utilities import settings
|
||||
|
||||
|
|
@ -54,15 +54,15 @@ class mainWindow(wx.Frame):
|
|||
validators.wallThicknessValidator(c)
|
||||
|
||||
TitleRow(left, "Fill")
|
||||
c = SettingRow(left, "Bottom/Top thickness (mm)", 'solid_layer_thickness', '0.6', 'This controls the thickness of the bottom and top layers, the amount of solid layers put down is calculated by the layer thickness and this value.')
|
||||
c = SettingRow(left, "Bottom/Top thickness (mm)", 'solid_layer_thickness', '0.6', 'This controls the thickness of the bottom and top layers, the amount of solid layers put down is calculated by the layer thickness and this value.\nHaving this value a multiply of the layer thickness makes sense. And keep it near your wall thickness to make an evenly strong part.')
|
||||
validators.validFloat(c, 0.0)
|
||||
c = SettingRow(left, "Fill Density (%)", 'fill_density', '20', 'This controls how densily filled the insides of your print will be. For a solid part use 100%, for an empty part use 0%. A value around 20% is usually enough')
|
||||
validators.validFloat(c, 0.0, 100.0)
|
||||
|
||||
TitleRow(left, "Skirt")
|
||||
c = SettingRow(left, "Line count", 'skirt_line_count', '1')
|
||||
c = SettingRow(left, "Line count", 'skirt_line_count', '1', 'The skirt is a line drawn around the object at the first layer. This helps to prime your extruder, and to see if the object fits on your platform.\nSetting this to 0 will disable the skirt.')
|
||||
validators.validInt(c, 0, 10)
|
||||
c = SettingRow(left, "Start distance (mm)", 'skirt_gap', '6.0')
|
||||
c = SettingRow(left, "Start distance (mm)", 'skirt_gap', '6.0', 'The distance between the skirt and the first layer.\nThis is the minimal distance, multiple skirt lines will be put outwards from this distance.')
|
||||
validators.validFloat(c, 0.0)
|
||||
|
||||
TitleRow(right, "Cool")
|
||||
|
|
@ -73,9 +73,9 @@ class mainWindow(wx.Frame):
|
|||
(left, right) = self.CreateConfigTab(nb, 'Machine && Filament')
|
||||
|
||||
TitleRow(left, "Machine size")
|
||||
c = SettingRow(left, "Machine center X (mm)", 'machine_center_x', '100')
|
||||
c = 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)
|
||||
c = SettingRow(left, "Machine center Y (mm)", 'machine_center_y', '100')
|
||||
c = SettingRow(left, "Machine center Y (mm)", 'machine_center_y', '100', 'The center of your machine, your print will be placed at this location')
|
||||
validators.validInt(c, 10)
|
||||
#self.AddSetting(left, "Width (mm)", settings.IntSpin().getFromValue(10, "machine_width", None, 1000, 205))
|
||||
#self.AddSetting(left, "Depth (mm)", settings.IntSpin().getFromValue(10, "machine_depth", None, 1000, 205))
|
||||
|
|
@ -139,7 +139,7 @@ class mainWindow(wx.Frame):
|
|||
self.popup.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK))
|
||||
self.popup.text = wx.StaticText(self.popup, -1, '');
|
||||
self.popup.sizer = wx.BoxSizer()
|
||||
self.popup.sizer.Add(self.popup.text, flag=wx.EXPAND)
|
||||
self.popup.sizer.Add(self.popup.text, flag=wx.EXPAND|wx.ALL, border=1)
|
||||
self.popup.SetSizer(self.popup.sizer)
|
||||
|
||||
|
||||
|
|
@ -174,6 +174,11 @@ class mainWindow(wx.Frame):
|
|||
else:
|
||||
self.popup.text.SetLabel(setting.helpText)
|
||||
self.popup.text.Wrap(350)
|
||||
if platform.system() == "Windows":
|
||||
#for some reason, under windows, the popup is relative to the main window...
|
||||
wx, wy = self.ClientToScreenXY(0, 0)
|
||||
x -= wx
|
||||
y -= wy
|
||||
self.popup.SetPosition((x, y+sy))
|
||||
self.popup.Fit()
|
||||
self.popup.Show(True)
|
||||
|
|
@ -317,6 +322,7 @@ class SettingRow():
|
|||
self.ctrl.SetBackgroundColour('Yellow')
|
||||
else:
|
||||
self.ctrl.SetBackgroundColour(wx.NullColour)
|
||||
self.ctrl.Refresh()
|
||||
settings.putSetting(self.configName, self.GetValue())
|
||||
self.validationMsg = '\n'.join(msgs)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue