Added advanced config for support

This commit is contained in:
daid 2012-03-16 11:51:44 +01:00
parent dbf146b688
commit 7954a951a6
2 changed files with 15 additions and 6 deletions

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

View 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.')