From 8aacf63f4aa524472c715fd8b2978572c2a11492 Mon Sep 17 00:00:00 2001 From: Paul Kuiper <46715907+pkuiper-ultimaker@users.noreply.github.com> Date: Thu, 27 Feb 2025 11:29:46 +0100 Subject: [PATCH 1/2] Improved self-support settings for the S8. Better release due to the horizontal expansion. More robustness due to brims, and larger build plate trunks and avoid travel over support. Faster printing due to higher support speeds and less tree branches.Improved part strength due to higher infill flow rates. Added 1 flooring layer to all Ultimaker machines to improve bottom part quality. Small bug fixes to the sketch/replicator profiles. Updated settings version def files. PP-580 PP-581 --- resources/definitions/ultimaker.def.json | 10 +++++++++ .../ultimaker_replicator_plus.def.json | 2 +- resources/definitions/ultimaker_s8.def.json | 21 +++++++++++++------ .../definitions/ultimaker_sketch.def.json | 5 +---- .../um_s8_bb0.4_pva_0.15mm.inst.cfg | 1 + .../um_s8_bb0.4_pva_0.1mm.inst.cfg | 1 + .../um_s8_bb0.4_pva_0.2mm.inst.cfg | 1 + .../um_s8_bb0.4_pva_0.3mm.inst.cfg | 1 + 8 files changed, 31 insertions(+), 11 deletions(-) diff --git a/resources/definitions/ultimaker.def.json b/resources/definitions/ultimaker.def.json index 65ceaf6f0f..97cb472f24 100644 --- a/resources/definitions/ultimaker.def.json +++ b/resources/definitions/ultimaker.def.json @@ -14,8 +14,11 @@ }, "overrides": { + "acceleration_flooring": { "value": "acceleration_roofing" }, "acceleration_layer_0": { "value": "acceleration_topbottom" }, "acceleration_travel_enabled": { "value": false }, + "acceleration_wall_0_flooring": { "value": "acceleration_wall_0_roofing" }, + "acceleration_wall_x_flooring": { "value": "acceleration_wall_x_roofing" }, "bottom_layers": { "value": "math.ceil(round(bottom_thickness / resolveOrValue('layer_height'), 4))" }, "bridge_enable_more_layers": { "value": false }, "bridge_fan_speed": { "value": "cool_fan_speed_max" }, @@ -43,11 +46,13 @@ "cool_min_speed": { "value": "round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)" }, "cool_min_temperature": { "value": "max([material_final_print_temperature, material_initial_print_temperature, material_print_temperature - 15])" }, "extra_infill_lines_to_support_skins": { "value": "'none'" }, + "flooring_layer_count": { "value": "1" }, "gradual_support_infill_step_height": { "value": "4 * layer_height" }, "gradual_support_infill_steps": { "value": "2 if support_interface_enable and support_structure != 'tree' else 0" }, "infill_material_flow": { "value": "(1.95-infill_sparse_density / 100 if infill_sparse_density > 95 else 1) * material_flow" }, "infill_overlap": { "value": "0 if infill_sparse_density > 80 else 10" }, "inset_direction": { "value": "'outside_in'" }, + "jerk_flooring": { "value": "jerk_roofing" }, "jerk_infill": { "minimum_value_warning": 20 }, "jerk_prime_tower": { "minimum_value_warning": 20 }, "jerk_print": @@ -65,6 +70,8 @@ "jerk_travel_enabled": { "value": false }, "jerk_wall": { "minimum_value_warning": 20 }, "jerk_wall_0": { "minimum_value_warning": 20 }, + "jerk_wall_0_flooring": { "value": "jerk_wall_0_roofing" }, + "jerk_wall_x_flooring": { "value": "jerk_wall_x_roofing" }, "layer_height": { "value": 0.15 }, "layer_height_0": { "value": "max(0.2, layer_height)" }, "line_width": { "value": "machine_nozzle_size" }, @@ -116,9 +123,12 @@ "skin_monotonic": { "value": "roofing_layer_count == 0" }, "skin_overlap": { "value": "20" }, "speed_equalize_flow_width_factor": { "value": "110.0" }, + "speed_flooring": { "value": "speed_roofing" }, "speed_layer_0": { "value": "min(30, layer_height / layer_height_0 * speed_wall_0)" }, "speed_slowdown_layers": { "value": 1 }, "speed_travel_layer_0": { "value": "speed_travel" }, + "speed_wall_0_flooring": { "value": "speed_wall_0_roofing" }, + "speed_wall_x_flooring": { "value": "speed_wall_x_roofing" }, "support_infill_rate": { "value": "0 if support_structure == 'tree' else 80 if gradual_support_infill_steps != 0 else 15" }, "support_initial_layer_line_distance": { "minimum_value_warning": "0 if support_structure == 'tree' else support_line_width" }, "support_interface_height": { "value": "2 * layer_height" }, diff --git a/resources/definitions/ultimaker_replicator_plus.def.json b/resources/definitions/ultimaker_replicator_plus.def.json index 6616b98143..edfab6d962 100644 --- a/resources/definitions/ultimaker_replicator_plus.def.json +++ b/resources/definitions/ultimaker_replicator_plus.def.json @@ -65,7 +65,7 @@ "machine_extruder_trains": { "0": "ultimaker_replicator_extruder" }, "preferred_material": "ultimaker_pla_175", "preferred_quality_type": "draft", - "preferred_variant_name": "ultimaker_replicator_smart_extruder_plus", + "preferred_variant_name": "Smart Extruder+", "reference_machine_id": "replicator_b", "supports_network_connection": true, "supports_usb_connection": false, diff --git a/resources/definitions/ultimaker_s8.def.json b/resources/definitions/ultimaker_s8.def.json index 6d71240c83..ff0e9b9bc4 100644 --- a/resources/definitions/ultimaker_s8.def.json +++ b/resources/definitions/ultimaker_s8.def.json @@ -69,8 +69,8 @@ "acceleration_wall_0_roofing": { "value": "acceleration_wall_0" }, "acceleration_wall_x": { "value": "acceleration_print" }, "acceleration_wall_x_roofing": { "value": "acceleration_wall" }, - "adhesion_type": { "value": "'skirt'" }, - "bottom_thickness": { "value": "3*layer_height if top_layers==4 else top_bottom_thickness" }, + "adhesion_type": { "value": "'brim' if support_enable and support_structure=='tree' else 'skirt'" }, + "bottom_thickness": { "value": "3*layer_height if top_layers==4 and not support_enable else top_bottom_thickness" }, "bridge_skin_material_flow": { "value": 200 }, "bridge_skin_speed": { @@ -94,6 +94,7 @@ "extra_infill_lines_to_support_skins": { "value": "'walls_and_lines'" }, "gradual_flow_enabled": { "value": false }, "hole_xy_offset": { "value": 0.075 }, + "infill_material_flow": { "value": "1.1*material_flow" }, "infill_overlap": { "value": 10 }, "infill_pattern": { "value": "'zigzag' if infill_sparse_density > 80 else 'grid'" }, "infill_sparse_density": { "value": 15 }, @@ -319,7 +320,7 @@ "speed_support": { "maximum_value_warning": 300, - "value": "speed_wall_0" + "value": "speed_print" }, "speed_support_bottom": { @@ -334,7 +335,7 @@ "speed_support_interface": { "maximum_value_warning": 300, - "value": 50 + "value": 80 }, "speed_support_roof": { @@ -381,14 +382,22 @@ "maximum_value_warning": 300, "value": "speed_wall" }, - "support_brim_line_count": { "value": 5 }, - "support_infill_rate": { "value": "80 if gradual_support_infill_steps != 0 else 15" }, + "support_angle": { "value": 60 }, + "support_bottom_offset": { "value": 0 }, + "support_brim_width": { "value": 10 }, "support_interface_enable": { "value": true }, + "support_interface_offset": { "value": "support_offset" }, + "support_offset": { "value": "1.2 if support_structure == 'tree' else 0.8" }, "support_pattern": { "value": "'gyroid' if support_structure == 'tree' else 'lines'" }, "support_structure": { "value": "'normal'" }, + "support_tree_bp_diameter": { "value": 15 }, + "support_tree_tip_diameter": { "value": 1.0 }, + "support_tree_top_rate": { "value": 20 }, + "support_xy_distance_overhang": { "value": "machine_nozzle_size" }, "support_z_distance": { "value": "0.4*material_shrinkage_percentage_z/100.0" }, "top_bottom_thickness": { "value": "round(4*layer_height, 2)" }, "travel_avoid_other_parts": { "value": true }, + "travel_avoid_supports": { "value": true }, "wall_0_acceleration": { "value": 1000 }, "wall_0_deceleration": { "value": 1000 }, "wall_0_end_speed_ratio": { "value": 100 }, diff --git a/resources/definitions/ultimaker_sketch.def.json b/resources/definitions/ultimaker_sketch.def.json index bcd3e3891b..a49dd432af 100644 --- a/resources/definitions/ultimaker_sketch.def.json +++ b/resources/definitions/ultimaker_sketch.def.json @@ -55,10 +55,6 @@ "basf_", "jabil_", "polymaker_", - "ultimaker_rapidrinse", - "ultimaker_sr30", - "ultimaker_petg", - "ultimaker_pva", "ultimaker_pc-abs", "ultimaker_pc-abs-fr" ], @@ -66,6 +62,7 @@ "has_materials": true, "has_variants": true, "machine_extruder_trains": { "0": "ultimaker_sketch_extruder" }, + "preferred_material": "ultimaker_pla_175", "preferred_quality_type": "draft", "preferred_variant_name": "0.4mm", "reference_machine_id": "sketch", diff --git a/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.15mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.15mm.inst.cfg index 9e1a57ffb5..9539bd42b1 100644 --- a/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.15mm.inst.cfg @@ -23,6 +23,7 @@ retraction_count_max = 5 skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width)) speed_prime_tower = 25 speed_support = 50 +support_angle = 45 support_infill_sparse_thickness = =2 * layer_height support_interface_enable = True support_z_distance = 0 diff --git a/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.1mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.1mm.inst.cfg index ea171f4852..d5e6084c76 100644 --- a/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.1mm.inst.cfg @@ -24,6 +24,7 @@ retraction_count_max = 5 skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width)) speed_prime_tower = 25 speed_support = 50 +support_angle = 45 support_infill_sparse_thickness = =2 * layer_height support_interface_enable = True support_z_distance = 0 diff --git a/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.2mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.2mm.inst.cfg index 475187c3bf..3c29ca8186 100644 --- a/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.2mm.inst.cfg @@ -24,6 +24,7 @@ retraction_count_max = 5 skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width)) speed_prime_tower = 25 speed_support = 50 +support_angle = 45 support_interface_enable = True support_z_distance = 0 diff --git a/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.3mm.inst.cfg b/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.3mm.inst.cfg index 05cdcfcc8e..a49cea6817 100644 --- a/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s8/um_s8_bb0.4_pva_0.3mm.inst.cfg @@ -24,6 +24,7 @@ retraction_count_max = 5 skirt_brim_minimal_length = =min(2000, 175 / (layer_height * line_width)) speed_prime_tower = 25 speed_support = 50 +support_angle = 45 support_infill_sparse_thickness = 0.3 support_interface_enable = True support_z_distance = 0 From f2098b570f52cc75f3f7947176040abb9aee4f4c Mon Sep 17 00:00:00 2001 From: Paul Kuiper <46715907+pkuiper-ultimaker@users.noreply.github.com> Date: Fri, 28 Feb 2025 10:28:01 +0100 Subject: [PATCH 2/2] Moved flooring settings from ultimaker.def.json to the S8 only to reduce risk. Added support_wall_count is 2 (forgot this in the original commit). PP-580 --- resources/definitions/ultimaker.def.json | 10 ------ resources/definitions/ultimaker_s8.def.json | 35 +++++++++++++++++++++ 2 files changed, 35 insertions(+), 10 deletions(-) diff --git a/resources/definitions/ultimaker.def.json b/resources/definitions/ultimaker.def.json index 97cb472f24..65ceaf6f0f 100644 --- a/resources/definitions/ultimaker.def.json +++ b/resources/definitions/ultimaker.def.json @@ -14,11 +14,8 @@ }, "overrides": { - "acceleration_flooring": { "value": "acceleration_roofing" }, "acceleration_layer_0": { "value": "acceleration_topbottom" }, "acceleration_travel_enabled": { "value": false }, - "acceleration_wall_0_flooring": { "value": "acceleration_wall_0_roofing" }, - "acceleration_wall_x_flooring": { "value": "acceleration_wall_x_roofing" }, "bottom_layers": { "value": "math.ceil(round(bottom_thickness / resolveOrValue('layer_height'), 4))" }, "bridge_enable_more_layers": { "value": false }, "bridge_fan_speed": { "value": "cool_fan_speed_max" }, @@ -46,13 +43,11 @@ "cool_min_speed": { "value": "round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 5)" }, "cool_min_temperature": { "value": "max([material_final_print_temperature, material_initial_print_temperature, material_print_temperature - 15])" }, "extra_infill_lines_to_support_skins": { "value": "'none'" }, - "flooring_layer_count": { "value": "1" }, "gradual_support_infill_step_height": { "value": "4 * layer_height" }, "gradual_support_infill_steps": { "value": "2 if support_interface_enable and support_structure != 'tree' else 0" }, "infill_material_flow": { "value": "(1.95-infill_sparse_density / 100 if infill_sparse_density > 95 else 1) * material_flow" }, "infill_overlap": { "value": "0 if infill_sparse_density > 80 else 10" }, "inset_direction": { "value": "'outside_in'" }, - "jerk_flooring": { "value": "jerk_roofing" }, "jerk_infill": { "minimum_value_warning": 20 }, "jerk_prime_tower": { "minimum_value_warning": 20 }, "jerk_print": @@ -70,8 +65,6 @@ "jerk_travel_enabled": { "value": false }, "jerk_wall": { "minimum_value_warning": 20 }, "jerk_wall_0": { "minimum_value_warning": 20 }, - "jerk_wall_0_flooring": { "value": "jerk_wall_0_roofing" }, - "jerk_wall_x_flooring": { "value": "jerk_wall_x_roofing" }, "layer_height": { "value": 0.15 }, "layer_height_0": { "value": "max(0.2, layer_height)" }, "line_width": { "value": "machine_nozzle_size" }, @@ -123,12 +116,9 @@ "skin_monotonic": { "value": "roofing_layer_count == 0" }, "skin_overlap": { "value": "20" }, "speed_equalize_flow_width_factor": { "value": "110.0" }, - "speed_flooring": { "value": "speed_roofing" }, "speed_layer_0": { "value": "min(30, layer_height / layer_height_0 * speed_wall_0)" }, "speed_slowdown_layers": { "value": 1 }, "speed_travel_layer_0": { "value": "speed_travel" }, - "speed_wall_0_flooring": { "value": "speed_wall_0_roofing" }, - "speed_wall_x_flooring": { "value": "speed_wall_x_roofing" }, "support_infill_rate": { "value": "0 if support_structure == 'tree' else 80 if gradual_support_infill_steps != 0 else 15" }, "support_initial_layer_line_distance": { "minimum_value_warning": "0 if support_structure == 'tree' else support_line_width" }, "support_interface_height": { "value": "2 * layer_height" }, diff --git a/resources/definitions/ultimaker_s8.def.json b/resources/definitions/ultimaker_s8.def.json index ff0e9b9bc4..cc9c97aebd 100644 --- a/resources/definitions/ultimaker_s8.def.json +++ b/resources/definitions/ultimaker_s8.def.json @@ -92,6 +92,7 @@ "cool_min_temperature": { "value": "material_print_temperature-15" }, "default_material_print_temperature": { "maximum_value_warning": 320 }, "extra_infill_lines_to_support_skins": { "value": "'walls_and_lines'" }, + "flooring_layer_count": { "value": "1" }, "gradual_flow_enabled": { "value": false }, "hole_xy_offset": { "value": 0.075 }, "infill_material_flow": { "value": "1.1*material_flow" }, @@ -100,6 +101,12 @@ "infill_sparse_density": { "value": 15 }, "infill_wall_line_count": { "value": "1 if infill_sparse_density > 80 else 0" }, "initial_bottom_layers": { "value": 2 }, + "jerk_flooring": + { + "maximum_value_warning": "machine_max_jerk_xy / 2", + "unit": "m/s\u00b3", + "value": "jerk_roofing" + }, "jerk_infill": { "maximum_value_warning": "machine_max_jerk_xy / 2", @@ -203,6 +210,12 @@ "unit": "m/s\u00b3", "value": "jerk_wall" }, + "jerk_wall_0_flooring": + { + "maximum_value_warning": "machine_max_jerk_xy / 2", + "unit": "m/s\u00b3", + "value": "jerk_wall_0_roofing" + }, "jerk_wall_0_roofing": { "maximum_value_warning": "machine_max_jerk_xy / 2", @@ -215,6 +228,12 @@ "unit": "m/s\u00b3", "value": "jerk_print" }, + "jerk_wall_x_flooring": + { + "maximum_value_warning": "machine_max_jerk_xy / 2", + "unit": "m/s\u00b3", + "value": "jerk_wall_x_roofing" + }, "jerk_wall_x_roofing": { "maximum_value_warning": "machine_max_jerk_xy / 2", @@ -282,6 +301,11 @@ "skirt_line_count": { "value": 5 }, "small_skin_on_surface": { "value": false }, "small_skin_width": { "value": 4 }, + "speed_flooring": + { + "maximum_value_warning": 300, + "value": "speed_roofing" + }, "speed_infill": { "maximum_value_warning": 300, @@ -367,6 +391,11 @@ "maximum_value_warning": 300, "value": "speed_wall" }, + "speed_wall_0_flooring": + { + "maximum_value_warning": 300, + "value": "speed_wall_0_roofing" + }, "speed_wall_0_roofing": { "maximum_value_warning": 300, @@ -377,6 +406,11 @@ "maximum_value_warning": 300, "value": "speed_print" }, + "speed_wall_x_flooring": + { + "maximum_value_warning": 300, + "value": "speed_wall_x_roofing" + }, "speed_wall_x_roofing": { "maximum_value_warning": 300, @@ -393,6 +427,7 @@ "support_tree_bp_diameter": { "value": 15 }, "support_tree_tip_diameter": { "value": 1.0 }, "support_tree_top_rate": { "value": 20 }, + "support_wall_count": { "value": 2 }, "support_xy_distance_overhang": { "value": "machine_nozzle_size" }, "support_z_distance": { "value": "0.4*material_shrinkage_percentage_z/100.0" }, "top_bottom_thickness": { "value": "round(4*layer_height, 2)" },