Fixed some windows UI bugs

Set some defaults for settings
Fixed start/end swap (oops)
Fixed rounding error (again)
This commit is contained in:
Daid 2012-02-24 22:37:53 +01:00
parent 0811f3944a
commit 85e67e9851
3 changed files with 36 additions and 31 deletions

View file

@ -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': {

View file

@ -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()

View file

@ -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)