Merge branch 'feature_support_bottoms'

This commit is contained in:
Ghostkeeper 2016-08-03 17:40:28 +02:00
commit eeec460635
3 changed files with 84 additions and 66 deletions

View File

@ -238,7 +238,7 @@ class CuraApplication(QtApplication):
support support
support_enable support_enable
support_type support_type
support_roof_density support_interface_density
platform_adhesion platform_adhesion
adhesion_type adhesion_type
brim_width brim_width

View File

@ -34,7 +34,14 @@ _setting_name_translations = {
"skirt_line_width": "skirt_brim_line_width", "skirt_line_width": "skirt_brim_line_width",
"skirt_minimal_length": "skirt_brim_minimal_length", "skirt_minimal_length": "skirt_brim_minimal_length",
"skirt_speed": "skirt_brim_speed", "skirt_speed": "skirt_brim_speed",
"speed_support_lines": "speed_support_infill" "speed_support_lines": "speed_support_infill",
"speed_support_roof": "speed_support_interface",
"support_roof_density": "support_interface_density",
"support_roof_enable": "support_interface_enable",
"support_roof_extruder_nr": "support_interface_extruder_nr",
"support_roof_line_distance": "support_interface_line_distance",
"support_roof_line_width": "support_interface_line_width",
"support_roof_pattern": "support_interface_pattern"
} }
## How to translate variants of specific machines from the old version to the ## How to translate variants of specific machines from the old version to the
@ -146,32 +153,11 @@ class VersionUpgrade21to22(VersionUpgrade):
for key, value in settings.items(): for key, value in settings.items():
if key == "fill_perimeter_gaps": #Setting is removed. if key == "fill_perimeter_gaps": #Setting is removed.
del settings[key] del settings[key]
elif key == "remove_overlapping_walls_0_enabled": #Setting is functionally replaced.
del settings[key]
settings["travel_compensate_overlapping_walls_0_enabled"] = value
elif key == "remove_overlapping_walls_enabled": #Setting is functionally replaced.
del settings[key]
settings["travel_compensate_overlapping_walls_enabled"] = value
elif key == "remove_overlapping_walls_x_enabled": #Setting is functionally replaced.
del settings[key]
settings["travel_compensate_overlapping_walls_x_enabled"] = value
elif key == "retraction_combing": #Combing was made into an enum instead of a boolean. elif key == "retraction_combing": #Combing was made into an enum instead of a boolean.
settings[key] = "off" if (value == "False") else "all" settings[key] = "off" if (value == "False") else "all"
elif key == "retraction_hop": #Setting key was changed. elif key in _setting_name_translations:
del settings[key] del settings[key]
settings["retraction_hop_enabled"] = value settings[_setting_name_translations[key]] = value
elif key == "skirt_minimal_length": #Setting key was changed.
del settings[key]
settings["skirt_brim_minimal_length"] = value
elif key == "skirt_line_width": #Setting key was changed.
del settings[key]
settings["skirt_brim_line_width"] = value
elif key == "skirt_speed": #Setting key was changed.
del settings[key]
settings["skirt_brim_speed"] = value
elif key == "speed_support_lines": #Setting key was changed.
del settings[key]
settings["speed_support_infill"] = value
return settings return settings
## Translates a setting name for the change from Cura 2.1 to 2.2. ## Translates a setting name for the change from Cura 2.1 to 2.2.

View File

@ -635,16 +635,16 @@
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
"support_roof_line_width": "support_interface_line_width":
{ {
"label": "Support Roof Line Width", "label": "Support Interface Line Width",
"description": "Width of a single support roof line.", "description": "Width of a single support interface line.",
"unit": "mm", "unit": "mm",
"default_value": 0.4, "default_value": 0.4,
"minimum_value": "0.0001", "minimum_value": "0.0001",
"maximum_value_warning": "machine_nozzle_size * 2", "maximum_value_warning": "machine_nozzle_size * 2",
"type": "float", "type": "float",
"enabled": "support_roof_enable", "enabled": "support_interface_enable",
"value": "line_width", "value": "line_width",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
@ -1463,17 +1463,17 @@
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
"speed_support_roof": "speed_support_interface":
{ {
"label": "Support Roof Speed", "label": "Support Interface Speed",
"description": "The speed at which the roofs of support are printed. Printing the support roof at lower speeds can improve overhang quality.", "description": "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality.",
"unit": "mm/s", "unit": "mm/s",
"type": "float", "type": "float",
"default_value": 40, "default_value": 40,
"minimum_value": "0.1", "minimum_value": "0.1",
"maximum_value": "299792458000", "maximum_value": "299792458000",
"maximum_value_warning": "150", "maximum_value_warning": "150",
"enabled": "support_roof_enable and support_enable", "enabled": "support_interface_enable and support_enable",
"value": "speed_support / 1.5", "value": "speed_support / 1.5",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
@ -1694,9 +1694,9 @@
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
"acceleration_support_roof": { "acceleration_support_interface": {
"label": "Support Roof Acceleration", "label": "Support Interface Acceleration",
"description": "The acceleration with which the roofs of support are printed. Printing the support roof at lower accelerations can improve overhang quality.", "description": "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality.",
"unit": "mm/s²", "unit": "mm/s²",
"type": "float", "type": "float",
"default_value": 3000, "default_value": 3000,
@ -1704,7 +1704,7 @@
"minimum_value": "0.1", "minimum_value": "0.1",
"minimum_value_warning": "100", "minimum_value_warning": "100",
"maximum_value_warning": "10000", "maximum_value_warning": "10000",
"enabled": "acceleration_enabled and support_roof_enable and support_enable", "enabled": "acceleration_enabled and support_interface_enable and support_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
} }
@ -1913,9 +1913,9 @@
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
"jerk_support_roof": { "jerk_support_interface": {
"label": "Support Roof Jerk", "label": "Support Interface Jerk",
"description": "The maximum instantaneous velocity change with which the roofs of support are printed.", "description": "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed.",
"unit": "mm/s", "unit": "mm/s",
"type": "float", "type": "float",
"default_value": 20, "default_value": 20,
@ -1923,7 +1923,7 @@
"minimum_value": "0.1", "minimum_value": "0.1",
"minimum_value_warning": "5", "minimum_value_warning": "5",
"maximum_value_warning": "50", "maximum_value_warning": "50",
"enabled": "jerk_enabled and support_roof_enable and support_enable", "enabled": "jerk_enabled and support_interface_enable and support_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
} }
@ -2437,62 +2437,94 @@
"enabled": "support_enable", "enabled": "support_enable",
"settable_per_mesh": true "settable_per_mesh": true
}, },
"support_roof_enable": "support_interface_enable":
{ {
"label": "Enable Support Roof", "label": "Enable Support Interface",
"description": "Generate a dense top skin at the top of the support on which the model is printed.", "description": "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model.",
"type": "bool", "type": "bool",
"default_value": false, "default_value": false,
"global_inherits_stack": "support_extruder_nr", "global_inherits_stack": "support_extruder_nr",
"enabled": "support_enable", "enabled": "support_enable",
"settable_per_mesh": true "settable_per_mesh": true
}, },
"support_roof_height": "support_interface_height":
{ {
"label": "Support Roof Thickness", "label": "Support Interface Thickness",
"description": "The thickness of the support roofs.", "description": "The thickness of the interface of the support where it touches with the model on the bottom or the top.",
"unit": "mm", "unit": "mm",
"type": "float", "type": "float",
"default_value": 1, "default_value": 1,
"minimum_value": "0", "minimum_value": "0",
"global_inherits_stack": "support_extruder_nr", "global_inherits_stack": "support_extruder_nr",
"maximum_value_warning": "10", "maximum_value_warning": "10",
"enabled": "support_roof_enable and support_enable", "enabled": "support_interface_enable and support_enable",
"settable_per_mesh": true "settable_per_mesh": true,
"children":
{
"support_roof_height":
{
"label": "Support Roof Thickness",
"description": "The thickness of the support roofs. This controls the amount of dense layers at the top of the support on which the model rests.",
"unit": "mm",
"type": "float",
"default_value": 1,
"value": "support_interface_height",
"minimum_value": "0",
"global_inherits_stack": "support_extruder_nr",
"maximum_value_warning": "10",
"enabled": "support_interface_enable and support_enable",
"settable_per_mesh": true
},
"support_bottom_height":
{
"label": "Support Bottom Thickness",
"description": "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests.",
"unit": "mm",
"type": "float",
"default_value": 1,
"value": "support_interface_height",
"minimum_value": "0",
"minimum_value_warning": "support_bottom_stair_step_height",
"global_inherits_stack": "support_extruder_nr",
"maximum_value_warning": "10",
"enabled": "support_interface_enable and support_enable",
"settable_per_mesh": true
}
}
}, },
"support_roof_density": "support_interface_density":
{ {
"label": "Support Roof Density", "label": "Support Interface Density",
"description": "Adjusts the density of the roof of the support structure. A higher value results in better overhangs, but the supports are harder to remove.", "description": "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove.",
"unit": "%", "unit": "%",
"type": "float", "type": "float",
"default_value": 100, "default_value": 100,
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "100", "maximum_value_warning": "100",
"enabled":"support_roof_enable and support_enable", "enabled":"support_interface_enable and support_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"children": "children":
{ {
"support_roof_line_distance": "support_interface_line_distance":
{ {
"label": "Support Roof Line Distance", "label": "Support Interface Line Distance",
"description": "Distance between the printed support roof lines. This setting is calculated by the support roof Density, but can be adjusted separately.", "description": "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately.",
"unit": "mm", "unit": "mm",
"type": "float", "type": "float",
"default_value": 0.4, "default_value": 0.4,
"minimum_value": "0", "minimum_value": "0",
"value": "0 if support_roof_density == 0 else (support_roof_line_width * 100) / support_roof_density * (2 if support_roof_pattern == \"grid\" else (3 if support_roof_pattern == \"triangles\" else 1))", "value": "0 if support_interface_density == 0 else (support_interface_line_width * 100) / support_interface_density * (2 if support_interface_pattern == \"grid\" else (3 if support_interface_pattern == \"triangles\" else 1))",
"enabled": "support_roof_enable and support_enable", "enabled": "support_interface_enable and support_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
} }
} }
}, },
"support_roof_pattern": "support_interface_pattern":
{ {
"label": "Support Roof Pattern", "label": "Support Interface Pattern",
"description": "The pattern with which the top of the support is printed.", "description": "The pattern with which the interface of the support with the model is printed.",
"type": "enum", "type": "enum",
"options": "options":
{ {
@ -2503,7 +2535,7 @@
"zigzag": "Zig Zag" "zigzag": "Zig Zag"
}, },
"default_value": "concentric", "default_value": "concentric",
"enabled": "support_roof_enable and support_enable", "enabled": "support_interface_enable and support_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
@ -3138,14 +3170,14 @@
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": false "settable_per_extruder": false
}, },
"support_roof_extruder_nr": "support_interface_extruder_nr":
{ {
"label": "Support Roof Extruder", "label": "Support Interface Extruder",
"description": "The extruder train to use for printing the roof of the support. This is used in multi-extrusion.", "description": "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion.",
"type": "extruder", "type": "extruder",
"default_value": "0", "default_value": "0",
"value": "support_extruder_nr", "value": "support_extruder_nr",
"enabled": "support_enable and support_roof_enable", "enabled": "support_enable and support_interface_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": false "settable_per_extruder": false
} }