chiark / gitweb /
Added advanced config for support
authordaid <daid303@gmail.com>
Fri, 16 Mar 2012 10:51:44 +0000 (11:51 +0100)
committerdaid <daid303@gmail.com>
Fri, 16 Mar 2012 10:51:44 +0000 (11:51 +0100)
SkeinPyPy_NewUI/fabmetheus_utilities/settings.py
SkeinPyPy_NewUI/newui/advancedConfig.py

index e3e46890587d8be8f25fa9110ac6df2b77ec6d93..951f8b62c27b557c0fecd74fa9098ed3013987f9 100644 (file)
@@ -72,6 +72,11 @@ def firstLayerSpeedRatio(setting):
        speed = float(getProfileSetting('print_speed'))
        return bottomSpeed/speed
 
+def calcSupportDistanceRatio(setting):
+       edgeWidth = calculateEdgeWidth(setting)
+       distance = float(getProfileSetting('support_distance', '0.5'))
+       return distance / edgeWidth
+
 def getSkeinPyPyProfileInformation():
        return {
                'carve': {
@@ -207,8 +212,8 @@ def getSkeinPyPyProfileInformation():
                        'Raft_Additional_Margin_over_Length_%': DEFSET,
                        'Raft_Margin_mm': DEFSET,
                        'Support_Cross_Hatch': 'False',
-                       'Support_Flow_Rate_over_Operating_Flow_Rate_ratio': DEFSET,
-                       'Support_Gap_over_Perimeter_Extrusion_Width_ratio': DEFSET,
+                       'Support_Flow_Rate_over_Operating_Flow_Rate_ratio': storedPercentSetting('support_rate'),
+                       'Support_Gap_over_Perimeter_Extrusion_Width_ratio': calcSupportDistanceRatio,
                        'Support_Material_Choice_': storedSetting("support"),
                        'Support_Minimum_Angle_degrees': DEFSET,
                },'skirt': {
index 185af56d36f00f1fb1c89ee3d7384f8415048f64..dbc4ba6830ec20310cda0ce598c7ad9cfe198559 100644 (file)
@@ -28,10 +28,14 @@ class advancedConfigWindow(configBase.configWindowBase):
                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\'')
 
-               configBase.TitleRow(left, "Infill")
-               c = configBase.SettingRow(left, "Infill pattern", 'infill_type', ['Line', 'Grid Circular', 'Grid Hexagonal', 'Grid Rectangular'], 'Pattern of the none-solid infill. Line is default, but grids can provide a strong print.')
-               c = configBase.SettingRow(left, "Solid infill top", 'solid_top', True, 'Create a solid top surface, if set to false the top is filled with the fill percentage. Useful for cups/vases.')
-               c = configBase.SettingRow(left, "Infill overlap (%)", 'fill_overlap', '15', 'Amount of overlap between the infill and the walls. There is a slight overlap with the walls and the infill so the walls connect firmly to the infill.')
+               configBase.TitleRow(right, "Infill")
+               c = configBase.SettingRow(right, "Infill pattern", 'infill_type', ['Line', 'Grid Circular', 'Grid Hexagonal', 'Grid Rectangular'], 'Pattern of the none-solid infill. Line is default, but grids can provide a strong print.')
+               c = configBase.SettingRow(right, "Solid infill top", 'solid_top', True, 'Create a solid top surface, if set to false the top is filled with the fill percentage. Useful for cups/vases.')
+               c = configBase.SettingRow(right, "Infill overlap (%)", 'fill_overlap', '15', 'Amount of overlap between the infill and the walls. There is a slight overlap with the walls and the infill so the walls connect firmly to the infill.')
+
+               configBase.TitleRow(right, "Support")
+               c = configBase.SettingRow(right, "Support material amount (%)", 'support_rate', '100', 'Amount of material used for support, less material gives a weaker support structure which is easier to remove.')
+               c = configBase.SettingRow(right, "Support distance from object (mm)", 'support_distance', '0.5', 'Distance between the support structure and the object.')
 
                configBase.TitleRow(left, "Joris")
                c = configBase.SettingRow(left, "Joris the outer edge", 'joris', False, '[Joris] is a code name for smoothing out the Z move of the outer edge. This will create a steady Z increase over the whole print. It is intended to be used with a single walled wall thickness to make cups/vases.')