Skip to content

Commit

Permalink
Merge pull request #19286 from Ultimaker/PP-490-Method-Self-Support
Browse files Browse the repository at this point in the history
Improve self support for Method machines
  • Loading branch information
HellAholic committed Jul 5, 2024
2 parents dd1cbad + e7f768f commit 5d963fa
Show file tree
Hide file tree
Showing 28 changed files with 670 additions and 315 deletions.
30 changes: 23 additions & 7 deletions resources/definitions/ultimaker_method_base.def.json
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@
"infill_before_walls": { "value": false },
"infill_material_flow": { "value": "material_flow" },
"infill_overlap": { "value": 0 },
"infill_pattern": { "value": "'lines' if infill_sparse_density > 80 else 'grid'" },
"infill_pattern": { "value": "'grid' if infill_sparse_density < 80 else 'lines'" },
"infill_wipe_dist": { "value": 0 },
"inset_direction": { "value": "'inside_out'" },
"jerk_enabled":
Expand Down Expand Up @@ -321,6 +321,7 @@
"material_flow": { "value": 100 },
"material_initial_print_temperature": { "value": "material_print_temperature-10" },
"material_shrinkage_percentage": { "enabled": true },
"min_bead_width": { "value": "0.75*line_width" },
"min_wall_line_width": { "value": 0.4 },
"minimum_support_area": { "value": 0.1 },
"multiple_mesh_overlap": { "value": 0 },
Expand All @@ -335,19 +336,25 @@
"prime_tower_raft_base_line_spacing": { "value": "raft_base_line_width" },
"prime_tower_wipe_enabled": { "value": true },
"print_sequence": { "enabled": false },
"raft_base_fan_speed": { "value": 0 },
"raft_base_line_spacing": { "value": "2*raft_base_line_width" },
"raft_base_line_width": { "value": 1.4 },
"raft_base_speed": { "value": 10 },
"raft_base_thickness": { "value": 0.8 },
"raft_interface_extruder_nr": { "value": "raft_surface_extruder_nr" },
"raft_interface_fan_speed": { "value": 0 },
"raft_interface_layers": { "value": 2 },
"raft_interface_line_width": { "value": 0.7 },
"raft_interface_speed": { "value": 90 },
"raft_interface_thickness": { "value": 0.3 },
"raft_interface_wall_count": { "value": "raft_wall_count" },
"raft_margin": { "value": 1.2 },
"raft_smoothing": { "value": 9.5 },
"raft_surface_extruder_nr": { "value": "int(anyExtruderWithMaterial('material_is_support_material')) if support_enable and extruderValue(support_extruder_nr,'material_is_support_material') else raft_base_extruder_nr" },
"raft_surface_fan_speed": { "value": 0 },
"raft_surface_monotonic": { "value": true },
"raft_surface_wall_count": { "value": "raft_wall_count" },
"retract_at_layer_change": { "value": true },
"retraction_amount": { "value": 0.75 },
"retraction_combing": { "value": "'off'" },
"retraction_combing_max_distance": { "value": "speed_travel / 10" },
Expand All @@ -356,11 +363,14 @@
"retraction_hop": { "value": 0.4 },
"retraction_hop_enabled": { "value": true },
"retraction_hop_only_when_collides": { "value": false },
"retraction_min_travel": { "value": "0.6 if extruder_nr == support_extruder_nr else 5" },
"retraction_prime_speed": { "value": "retraction_speed" },
"retraction_speed": { "value": 5 },
"roofing_layer_count": { "value": 2 },
"roofing_material_flow": { "value": "material_flow" },
"roofing_monotonic": { "value": true },
"skin_material_flow": { "value": "material_flow" },
"skin_material_flow_layer_0": { "value": "material_flow" },
"skin_monotonic": { "value": true },
"skin_outline_count": { "value": 0 },
"skin_overlap": { "value": 0 },
Expand All @@ -380,37 +390,43 @@
"speed_wall_0": { "value": "speed_wall * 30/40" },
"speed_wall_x": { "value": "speed_wall" },
"support_angle": { "value": 40 },
"support_bottom_distance": { "value": "support_z_distance / 2" },
"support_bottom_distance": { "value": "layer_height if extruder_nr == support_extruder_nr else 0" },
"support_bottom_enable": { "value": "false if extruder_nr == support_extruder_nr else true" },
"support_bottom_material_flow": { "value": "material_flow" },
"support_bottom_wall_count": { "value": "0 if extruder_nr == support_extruder_nr else support_wall_count" },
"support_brim_enable": { "value": false },
"support_conical_min_width": { "value": 10 },
"support_enable": { "value": true },
"support_extruder_nr": { "value": "int(anyExtruderWithMaterial('material_is_support_material'))" },
"support_fan_enable": { "value": false },
"support_fan_enable": { "value": "true if extruder_nr == support_extruder_nr else false" },
"support_infill_rate": { "value": 20.0 },
"support_infill_sparse_thickness": { "value": "layer_height" },
"support_interface_enable": { "value": true },
"support_interface_material_flow": { "value": "material_flow" },
"support_interface_offset": { "value": 0 },
"support_interface_offset": { "value": "1 if extruder_nr == support_extruder_nr else 0" },
"support_interface_pattern": { "value": "'lines'" },
"support_interface_wall_count": { "value": 2 },
"support_interface_wall_count": { "value": "1 if extruder_nr == support_extruder_nr else 2" },
"support_material_flow": { "value": "material_flow" },
"support_offset": { "value": "1.8 if extruder_nr == support_extruder_nr else 0.8" },
"support_pattern": { "value": "'lines'" },
"support_roof_height": { "value": "4*layer_height if extruder_nr == support_extruder_nr else 5*layer_height" },
"support_roof_material_flow": { "value": "material_flow" },
"support_supported_skin_fan_speed": { "value": "cool_fan_speed_max" },
"support_top_distance": { "value": "support_z_distance" },
"support_wall_count": { "value": "1 if support_conical_enabled or support_structure == 'tree' else 0" },
"support_wall_count": { "value": "2 if support_conical_enabled or support_structure == 'tree' else 0" },
"support_xy_distance": { "value": 0.2 },
"support_z_distance": { "value": 0 },
"switch_extruder_retraction_amount": { "value": 0.5 },
"switch_extruder_retraction_speeds": { "value": "retraction_speed" },
"top_bottom_thickness": { "value": "5*layer_height" },
"travel_avoid_distance": { "value": "3 if extruders_enabled_count > 1 else machine_nozzle_tip_outer_diameter / 2 * 1.5" },
"travel_avoid_other_parts": { "value": false },
"wall_0_inset": { "value": 0 },
"wall_0_material_flow": { "value": "material_flow" },
"wall_0_material_flow_layer_0": { "value": "material_flow" },
"wall_0_wipe_dist": { "value": 0.8 },
"wall_material_flow": { "value": "material_flow" },
"wall_x_material_flow": { "value": "material_flow" },
"wall_x_material_flow_layer_0": { "value": "material_flow" },
"xy_offset": { "value": 0 },
"xy_offset_layer_0": { "value": "xy_offset" },
"z_seam_position": { "value": "'backright'" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@ type = intent
variant = AA 0.4

[values]
build_volume_temperature = 35
jerk_print = 30
material_print_temperature = =default_material_print_temperature + 10
material_bed_temperature = =default_material_bed_temperature + 5
material_print_temperature = =default_material_print_temperature + 15
speed_print = 80
wall_thickness = =line_width * 3

Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ _plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0
_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True
_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
brim_replaces_support = False
build_volume_temperature = =50 if extruders_enabled_count > 1 else 35
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
machine_nozzle_heat_up_speed = 1.56
material_print_temperature = =default_material_print_temperature - 5
prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100
skin_material_flow = =material_flow * 0.965
speed_print = 60
support_angle = 45
support_bottom_distance = =math.ceil(min(extruderValues('material_adhesion_tendency')) / 2) * layer_height
support_interface_density = =min(extruderValues('material_surface_energy'))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,12 @@ _plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1
acceleration_support_bottom = 100
acceleration_support_interface = 1500
brim_replaces_support = False
build_volume_temperature = =40 if extruders_enabled_count > 1 else 35
default_material_bed_temperature = =0 if extruders_enabled_count > 1 else 60
initial_layer_line_width_factor = 150
minimum_support_area = 4
prime_tower_min_volume = 15
skin_material_flow = =material_flow * 0.93
speed_print = 50
support_infill_sparse_thickness = =min(layer_height * 2, machine_nozzle_size * 3 / 4) if layer_height <= 0.15 / 0.4 * machine_nozzle_size else layer_height
support_interface_offset = 1
support_offset = 3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,31 +12,52 @@ variant = 1C
weight = -2

[values]
cool_fan_enabled = False
raft_airgap = 0.3
cool_fan_enabled = =True if extruder_nr == support_extruder_nr else False
cool_fan_full_layer = 3
cool_fan_speed = 0
cool_fan_speed_0 = 0
cool_fan_speed_max = 100
cool_min_layer_time = 6
cool_min_layer_time_fan_speed_max = 11
cool_min_speed = 6
cool_min_temperature = 250
raft_airgap = =0.15 if extruder_nr == support_extruder_nr else 0
raft_base_wall_count = =2 if extruder_nr == support_extruder_nr else 1
raft_surface_flow = =110 if extruder_nr == support_extruder_nr else 100
raft_surface_speed = =90 if extruder_nr == support_extruder_nr else 50
raft_surface_thickness = =0.25 if extruder_nr == support_extruder_nr else 0.2
raft_surface_z_offset = =-0.075 if extruder_nr == support_extruder_nr else 0
skin_overlap = 10
speed_layer_0 = 35
speed_prime_tower = 30.0
speed_print = 120.0
speed_roofing = 55
speed_topbottom = 55
speed_support = =speed_print
speed_topbottom = 85
speed_travel = 250.0
speed_wall_0 = 45
speed_wall_x = 65
support_angle = 50
support_angle = 52
support_bottom_density = 24
support_bottom_enable = False
support_bottom_line_width = 0.6
support_bottom_stair_step_height = 0
support_fan_enable = False
support_infill_rate = 12.0
support_infill_angles = [ 45,45,45,45,45,45,45,45,45,45,45,45,135,135,135,135,135,135,135,135,135,135,135,135]
support_infill_rate = 15.0
support_interface_enable = True
support_interface_offset = 1.2
support_interface_pattern = lines
support_line_width = 0.3
support_line_width = 0.35
support_material_flow = 90
support_pattern = lines
support_roof_density = 97
support_roof_density = 82
support_roof_height = 1.015
support_roof_line_width = 0.25
support_use_towers = False
support_xy_distance = 0.2
support_xy_distance_overhang = 0.15
support_z_distance = 0.25
support_use_towers = True
support_xy_distance = =0.3 if extruder_nr == support_extruder_nr else 0.2
support_xy_distance_overhang = =0.25 if extruder_nr == support_extruder_nr else 0.15
support_z_distance = 0.15
wall_overhang_angle = 30
wall_overhang_speed_factor = 50

Original file line number Diff line number Diff line change
Expand Up @@ -12,31 +12,54 @@ variant = 1C
weight = -2

[values]
cool_fan_enabled = False
raft_airgap = 0.3
cool_fan_enabled = =True if extruder_nr == support_extruder_nr else False
cool_fan_full_layer = 3
cool_fan_speed = 75
cool_fan_speed_0 = 0
cool_fan_speed_max = 100
cool_min_layer_time = 10
cool_min_layer_time_fan_speed_max = 8
cool_min_speed = =round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)
cool_min_temperature = 250
material_final_print_temperature = =material_print_temperature if extruder_nr == support_extruder_nr else (material_print_temperature - 10)
material_initial_print_temperature = =material_print_temperature if extruder_nr == support_extruder_nr else (material_print_temperature - 10)
material_print_temperature = =255 if extruder_nr == support_extruder_nr else 260
raft_airgap = =0.16 if extruder_nr == support_extruder_nr else 0
raft_base_thickness = =0.6 if extruder_nr == support_extruder_nr else 0.8
raft_surface_speed = =90 if extruder_nr == support_extruder_nr else 50
skin_overlap = 10
speed_layer_0 = 35
speed_prime_tower = 30.0
speed_print = 120.0
speed_roofing = 55
speed_roofing = 65
speed_support = 100
speed_support_interface = 75
speed_topbottom = 55
speed_travel = 250.0
speed_wall_0 = 45
speed_wall_x = 65
speed_wall = 25
speed_wall_0 = 20
support_angle = 50
support_bottom_density = 24
support_bottom_enable = False
support_bottom_line_width = 0.6
support_bottom_stair_step_height = 0
support_fan_enable = False
support_infill_rate = 12.0
support_infill_angles = [45,45,45,45,45,45,45,45,45,45,135,135,135,135,135,135,135,135,135,135]
support_infill_rate = 15.0
support_interface_density = 85
support_interface_enable = True
support_interface_pattern = lines
support_line_width = 0.3
support_pattern = lines
support_roof_density = 97
support_roof_height = 1.015
support_roof_line_width = 0.25
support_material_flow = 85
support_roof_density = 85
support_roof_line_width = =0.4 if extruder_nr == support_extruder_nr else 0.25
support_roof_wall_count = 1
support_supported_skin_fan_speed = 60.0
support_top_distance = =support_z_distance
support_use_towers = False
support_xy_distance = 0.2
support_xy_distance_overhang = 0.15
support_z_distance = 0.25
support_xy_distance = =0.35 if extruder_nr == support_extruder_nr else 0.2
support_xy_distance_overhang = 0.25
support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40

Original file line number Diff line number Diff line change
Expand Up @@ -13,38 +13,55 @@ variant = 1C
weight = -2

[values]
cool_fan_enabled = False
cool_fan_enabled = =True if extruder_nr == support_extruder_nr else False
cool_fan_full_layer = 3
cool_fan_speed = 85.0
cool_fan_speed_0 = 0
cool_fan_speed_max = 100
cool_min_layer_time = 10
cool_min_layer_time_fan_speed_max = 15
cool_min_speed = =round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)
material_print_temperature_layer_0 = =default_material_print_temperature+5
raft_airgap = 0.3
raft_airgap = =0.15 if extruder_nr == support_extruder_nr else 0
raft_base_speed = 10
retract_at_layer_change = True
raft_base_thickness = =0.6 if extruder_nr == support_extruder_nr else 0.8
raft_surface_speed = 90
retraction_amount = 0.5
retraction_min_travel = 3.2
roofing_material_flow = 98.0
skin_overlap = 10
small_skin_width = 3.6
speed_layer_0 = 35
speed_prime_tower = 30.0
speed_print = 120.0
speed_roofing = 55
speed_roofing = 65
speed_support = 100
speed_support_interface = 75
speed_topbottom = 55
speed_travel = 250.0
speed_wall_0 = 45
speed_wall_x = 65
speed_wall = 25
speed_wall_0 = 20
speed_wall_x = 25
support_angle = 50
support_bottom_density = 24
support_bottom_enable = False
support_bottom_line_width = 0.6
support_bottom_stair_step_height = 0
support_fan_enable = False
support_infill_rate = 12.0
support_infill_angles = [45,45,45,45,45,45,45,45,45,45,135,135,135,135,135,135,135,135,135,135]
support_infill_rate = 15.0
support_interface_enable = True
support_interface_pattern = lines
support_line_width = 0.3
support_pattern = lines
support_roof_density = 97
support_roof_height = 1.015
support_roof_line_width = 0.25
support_material_flow = =0.85*material_flow
support_roof_density = 85
support_roof_line_width = =0.4 if extruder_nr == support_extruder_nr else 0.25
support_roof_wall_count = 1
support_supported_skin_fan_speed = 60.0
support_top_distance = =support_z_distance
support_use_towers = False
support_xy_distance = 0.2
support_xy_distance_overhang = 0.15
support_z_distance = 0.25
support_xy_distance = 0.35
support_xy_distance_overhang = 0.25
support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40

Loading

0 comments on commit 5d963fa

Please sign in to comment.