Merge branch 'main' into dev/update-bbs-network

This commit is contained in:
Noisyfox 2025-01-23 23:53:21 +08:00 committed by GitHub
commit 8b58719938
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
43 changed files with 101 additions and 31 deletions

View file

@ -194,7 +194,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: OrcaSlicer_Windows_${{ env.ver }}_portable
path: ${{ github.workspace }}/build/OrcaSlicer_Windows_${{ env.ver }}_portable.zip
path: ${{ github.workspace }}/build/OrcaSlicer
- name: Upload artifacts Win installer
if: inputs.os == 'windows-latest'

View file

@ -17,6 +17,7 @@
"slow_down_min_speed": [
"20"
],
"filament_start_gcode": ["; filament start gcode\n{if (position[2] > first_layer_height) }\nM104 S[nozzle_temperature]\n{else}\nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || position[2] > first_layer_height)}\n{if (position[2] +0.4 < printable_height) }\nG2 Z{position[2] + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{position[2] } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}\n"],
"compatible_printers": [
"Creality K2 Plus 0.2 nozzle",
"Creality K2 Plus 0.4 nozzle",

View file

@ -17,6 +17,7 @@
"slow_down_min_speed": [
"20"
],
"filament_start_gcode": ["; filament start gcode\n{if (position[2] > first_layer_height) }\nM104 S[nozzle_temperature]\n{else}\nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || position[2] > first_layer_height)}\n{if (position[2] +0.4 < printable_height) }\nG2 Z{position[2] + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{position[2] } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}\n"],
"compatible_printers": [
"Creality K2 Plus 0.2 nozzle",
"Creality K2 Plus 0.4 nozzle",

View file

@ -14,6 +14,7 @@
"fan_min_speed": [
"30"
],
"filament_start_gcode": ["; filament start gcode\n{if (position[2] > first_layer_height) }\nM104 S[nozzle_temperature]\n{else}\nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || position[2] > first_layer_height)}\n{if (position[2] +0.4 < printable_height) }\nG2 Z{position[2] + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{position[2] } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}\n"],
"compatible_printers": [
"Creality K2 Plus 0.2 nozzle",
"Creality K2 Plus 0.4 nozzle",

View file

@ -50,6 +50,7 @@
"reduce_fan_stop_start_freq": [
"1"
],
"filament_start_gcode": ["; filament start gcode\n{if (position[2] > first_layer_height) }\nM104 S[nozzle_temperature]\n{else}\nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || position[2] > first_layer_height)}\n{if (position[2] +0.4 < printable_height) }\nG2 Z{position[2] + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{position[2] } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}\n"],
"compatible_printers": [
"Creality K2 Plus 0.2 nozzle",
"Creality K2 Plus 0.4 nozzle",

View file

@ -44,6 +44,7 @@
"reduce_fan_stop_start_freq": [
"1"
],
"filament_start_gcode": ["; filament start gcode\n{if (position[2] > first_layer_height) }\nM104 S[nozzle_temperature]\n{else}\nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || position[2] > first_layer_height)}\n{if (position[2] +0.4 < printable_height) }\nG2 Z{position[2] + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{position[2] } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}\n"],
"compatible_printers": [
"Creality K2 Plus 0.2 nozzle",
"Creality K2 Plus 0.4 nozzle",

View file

@ -32,6 +32,7 @@
"reduce_fan_stop_start_freq": [
"1"
],
"filament_start_gcode": ["; filament start gcode\n{if (position[2] > first_layer_height) }\nM104 S[nozzle_temperature]\n{else}\nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || position[2] > first_layer_height)}\n{if (position[2] +0.4 < printable_height) }\nG2 Z{position[2] + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{position[2] } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}\n"],
"compatible_printers": [
"Creality K2 Plus 0.2 nozzle",
"Creality K2 Plus 0.4 nozzle",

View file

@ -20,9 +20,10 @@
],
"printable_height": "350",
"nozzle_type": "hardened_steel",
"nozzle_volume": "183",
"auxiliary_fan": "1",
"support_air_filtration": "1",
"support_multi_bed_types": "0",
"support_multi_bed_types": "1",
"machine_max_acceleration_e": [
"5000",
"5000"
@ -91,7 +92,7 @@
],
"printer_settings_id": "Creality",
"retraction_minimum_travel": [
"2"
"1"
],
"retract_before_wipe": [
"70%"
@ -108,7 +109,14 @@
"deretraction_speed": [
"40"
],
"retract_lift_above": [
"0"
],
"retract_lift_below": [
"349"
],
"enable_filament_ramming": "0",
"purge_in_prime_tower": "0",
"cooling_tube_length": "0",
"cooling_tube_retraction": "0",
"parking_pos_retraction": "0",
@ -127,12 +135,12 @@
"default_filament_profile": [
"Creality Generic PLA @K2-all"
],
"machine_start_gcode":"M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F1500\nG1 X150 Y0 E15 F1500\nG92 E0\nG1 Z1 F600",
"machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600",
"machine_end_gcode": "END_PRINT",
"machine_pause_gcode": "PAUSE",
"change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X0 Y245 F30000\nG1 Z{z_after_toolchange} F600",
"scan_first_layer": "0",
"thumbnails_format":"PNG",
"thumbnails_format": "PNG",
"thumbnails": [
"300x300",
"96x96"

View file

@ -20,9 +20,10 @@
],
"printable_height": "350",
"nozzle_type": "hardened_steel",
"nozzle_volume": "183",
"auxiliary_fan": "1",
"support_air_filtration": "1",
"support_multi_bed_types": "0",
"support_multi_bed_types": "1",
"machine_max_acceleration_e": [
"5000",
"5000"
@ -91,13 +92,13 @@
],
"printer_settings_id": "Creality",
"retraction_minimum_travel": [
"2"
"1"
],
"retract_before_wipe": [
"70%"
],
"retraction_length": [
"0.5"
"0.8"
],
"retract_length_toolchange": [
"0"
@ -108,7 +109,14 @@
"deretraction_speed": [
"40"
],
"retract_lift_above": [
"0"
],
"retract_lift_below": [
"349"
],
"enable_filament_ramming": "0",
"purge_in_prime_tower": "0",
"cooling_tube_length": "0",
"cooling_tube_retraction": "0",
"parking_pos_retraction": "0",
@ -120,19 +128,19 @@
"0.4"
],
"wipe_distance": [
"1"
"2"
],
"single_extruder_multi_material": "1",
"manual_filament_change": "0",
"default_filament_profile": [
"Creality Generic PLA @K2-all"
],
"machine_start_gcode":"M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F1500\nG1 X150 Y0 E15 F1500\nG92 E0\nG1 Z1 F600",
"machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600",
"machine_end_gcode": "END_PRINT",
"machine_pause_gcode": "PAUSE",
"change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X0 Y245 F30000\nG1 Z{z_after_toolchange} F600",
"scan_first_layer": "0",
"thumbnails_format":"PNG",
"thumbnails_format": "PNG",
"thumbnails": [
"300x300",
"96x96"

View file

@ -20,9 +20,10 @@
],
"printable_height": "350",
"nozzle_type": "hardened_steel",
"nozzle_volume": "183",
"auxiliary_fan": "1",
"support_air_filtration": "1",
"support_multi_bed_types": "0",
"support_multi_bed_types": "1",
"machine_max_acceleration_e": [
"5000",
"5000"
@ -91,7 +92,7 @@
],
"printer_settings_id": "Creality",
"retraction_minimum_travel": [
"2"
"1"
],
"retract_before_wipe": [
"70%"
@ -108,7 +109,14 @@
"deretraction_speed": [
"40"
],
"retract_lift_above": [
"0"
],
"retract_lift_below": [
"349"
],
"enable_filament_ramming": "0",
"purge_in_prime_tower": "0",
"cooling_tube_length": "0",
"cooling_tube_retraction": "0",
"parking_pos_retraction": "0",
@ -127,7 +135,7 @@
"default_filament_profile": [
"Creality Generic PLA @K2-all"
],
"machine_start_gcode":"M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F1500\nG1 X150 Y0 E15 F1500\nG92 E0\nG1 Z1 F600",
"machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600",
"machine_end_gcode": "END_PRINT",
"machine_pause_gcode": "PAUSE",
"change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X0 Y245 F30000\nG1 Z{z_after_toolchange} F600",
@ -137,4 +145,4 @@
"300x300",
"96x96"
]
}
}

View file

@ -20,9 +20,10 @@
],
"printable_height": "350",
"nozzle_type": "hardened_steel",
"nozzle_volume": "183",
"auxiliary_fan": "1",
"support_air_filtration": "1",
"support_multi_bed_types": "0",
"support_multi_bed_types": "1",
"machine_max_acceleration_e": [
"5000",
"5000"
@ -91,7 +92,7 @@
],
"printer_settings_id": "Creality",
"retraction_minimum_travel": [
"2"
"1"
],
"retract_before_wipe": [
"70%"
@ -108,7 +109,14 @@
"deretraction_speed": [
"40"
],
"retract_lift_above": [
"0"
],
"retract_lift_below": [
"349"
],
"enable_filament_ramming": "0",
"purge_in_prime_tower": "0",
"cooling_tube_length": "0",
"cooling_tube_retraction": "0",
"parking_pos_retraction": "0",
@ -127,14 +135,14 @@
"default_filament_profile": [
"Creality Generic PLA @K2-all"
],
"machine_start_gcode":"M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F1500\nG1 X150 Y0 E15 F1500\nG92 E0\nG1 Z1 F600",
"machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600",
"machine_end_gcode": "END_PRINT",
"machine_pause_gcode": "PAUSE",
"change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X0 Y245 F30000\nG1 Z{z_after_toolchange} F600",
"scan_first_layer": "0",
"thumbnails_format":"PNG",
"thumbnails_format": "PNG",
"thumbnails": [
"300x300",
"96x96"
]
}
}

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "30",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.25",
"inner_wall_speed": "150",
"wall_loops": "4",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "30",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.45",
"inner_wall_speed": "350",
"wall_loops": "2",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "30",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.25",
"inner_wall_speed": "150",
"wall_loops": "4",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "30",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.25",
"inner_wall_speed": "150",
"wall_loops": "4",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "30",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.45",
"inner_wall_speed": "300",
"wall_loops": "2",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "30",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.25",
"inner_wall_speed": "150",
"wall_loops": "4",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "30",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.45",
"inner_wall_speed": "300",
"wall_loops": "2",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "20",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.65",
"inner_wall_speed": "150",
"wall_loops": "2",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "30",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.45",
"inner_wall_speed": "300",
"wall_loops": "2",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "20",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.82",
"inner_wall_speed": "150",
"wall_loops": "2",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "30",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.45",
"inner_wall_speed": "300",
"wall_loops": "2",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "20",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.65",
"inner_wall_speed": "150",
"wall_loops": "2",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "30",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.45",
"inner_wall_speed": "200",
"wall_loops": "2",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "20",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.65",
"inner_wall_speed": "150",
"wall_loops": "2",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "20",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.82",
"inner_wall_speed": "150",
"wall_loops": "2",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "20",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.65",
"inner_wall_speed": "150",
"wall_loops": "2",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "20",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.82",
"inner_wall_speed": "150",
"wall_loops": "2",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "20",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.65",
"inner_wall_speed": "150",
"wall_loops": "2",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "20",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.82",
"inner_wall_speed": "150",
"wall_loops": "2",

View file

@ -54,6 +54,7 @@
"overhang_3_4_speed": "20",
"overhang_4_4_speed": "10",
"only_one_wall_top": "1",
"precise_outer_wall": "1",
"inner_wall_line_width": "0.82",
"inner_wall_speed": "150",
"wall_loops": "2",

View file

@ -3,7 +3,6 @@
"print_settings_id": "0.20mm Detail @MK3S 0.6",
"name": "0.20mm Detail @MK3S 0.6",
"from": "system",
"renamed_from":"0.20mm Standard @MK3S",
"instantiation": "true",
"inherits": "process_common_mk3",
"bottom_shell_layers": "4",

View file

@ -3,7 +3,6 @@
"print_settings_id": "0.20mm Speed @MK3S 0.4",
"name": "0.20mm Speed @MK3S 0.4",
"from": "system",
"renamed_from":"0.20mm Standard @MK3S",
"instantiation": "true",
"inherits": "process_common_mk3",
"bottom_shell_layers": "4",

View file

@ -3,7 +3,6 @@
"print_settings_id": "0.20mm Speed @MK3S",
"name": "0.20mm Speed @MK3S",
"from": "system",
"renamed_from":"0.20mm Standard @MK3S",
"instantiation": "true",
"inherits": "process_common_mk3",
"bottom_shell_layers": "4",

View file

@ -785,7 +785,7 @@ static std::vector<std::string> s_Preset_print_options {
"top_surface_speed", "support_speed", "support_object_xy_distance", "support_interface_speed",
"bridge_speed", "internal_bridge_speed", "gap_infill_speed", "travel_speed", "travel_speed_z", "initial_layer_speed",
"outer_wall_acceleration", "initial_layer_acceleration", "top_surface_acceleration", "default_acceleration", "skirt_type", "skirt_loops", "skirt_speed","min_skirt_length", "skirt_distance", "skirt_start_angle", "skirt_height", "draft_shield",
"brim_width", "brim_object_gap", "brim_type", "brim_ears_max_angle", "brim_ears_detection_length", "enable_support", "support_type", "support_threshold_angle", "enforce_support_layers",
"brim_width", "brim_object_gap", "brim_type", "brim_ears_max_angle", "brim_ears_detection_length", "enable_support", "support_type", "support_threshold_angle", "support_threshold_overlap","enforce_support_layers",
"raft_layers", "raft_first_layer_density", "raft_first_layer_expansion", "raft_contact_distance", "raft_expansion",
"support_base_pattern", "support_base_pattern_spacing", "support_expansion", "support_style",
"independent_support_layer_height",

View file

@ -4722,11 +4722,22 @@ void PrintConfigDef::init_fff_params()
def->category = L("Support");
def->tooltip = L("Support will be generated for overhangs whose slope angle is below the threshold.");
def->sidetext = L("°");
def->min = 1;
def->min = 0;
def->max = 90;
def->mode = comSimple;
def->set_default_value(new ConfigOptionInt(30));
def = this->add("support_threshold_overlap", coFloatOrPercent);
def->label = L("Threshold overlap");
def->category = L("Support");
def->tooltip = L("If threshold angle is zero, support will be generated for overhangs whose overlap is below the threshold. The smaller this value is, the steeper the overhang that can be printed without support.");
def->sidetext = L("mm or %");
def->min = 0;
def->max = 100;
def->max_literal = 0.5;
def->mode = comSimple;
def->set_default_value(new ConfigOptionFloatOrPercent(50., true));
def = this->add("tree_support_branch_angle", coFloat);
def->label = L("Tree support branch angle");
def->category = L("Support");

View file

@ -820,6 +820,7 @@ PRINT_CONFIG_CLASS_DEFINE(
((ConfigOptionEnum<InternalBridgeFilter>, dont_filter_internal_bridges))
// Overhang angle threshold.
((ConfigOptionInt, support_threshold_angle))
((ConfigOptionFloatOrPercent, support_threshold_overlap))
((ConfigOptionFloat, support_object_xy_distance))
((ConfigOptionFloat, xy_hole_compensation))
((ConfigOptionFloat, xy_contour_compensation))

View file

@ -1019,6 +1019,7 @@ bool PrintObject::invalidate_state_by_config_options(
|| opt_key == "support_expansion"
//|| opt_key == "independent_support_layer_height" // BBS
|| opt_key == "support_threshold_angle"
|| opt_key == "support_threshold_overlap"
|| opt_key == "raft_expansion"
|| opt_key == "raft_first_layer_density"
|| opt_key == "raft_first_layer_expansion"

View file

@ -1517,8 +1517,8 @@ static inline ExPolygons detect_overhangs(
(threshold_rad > 0. ?
// Overhang defined by an angle.
float(scale_(lower_layer.height / tan(threshold_rad))) :
// Overhang defined by half the extrusion width.
0.5f * fw);
// Overhang defined by overlap.
fw - float(scale_(object_config.support_threshold_overlap.get_abs_value(unscale_(fw)))));
// Overhang polygons for this layer and region.
Polygons diff_polygons;
Polygons layerm_polygons = to_polygons(layerm->slices.surfaces);

View file

@ -239,7 +239,7 @@ static std::vector<std::pair<TreeSupportSettings, std::vector<size_t>>> group_me
for (const LayerRegion *layerm : lower_layer.regions())
external_perimeter_width += layerm->flow(frExternalPerimeter).scaled_width();
external_perimeter_width /= lower_layer.region_count();
lower_layer_offset = float(0.5 * external_perimeter_width);
lower_layer_offset = external_perimeter_width - float(scale_(config.support_threshold_overlap.get_abs_value(unscale_(external_perimeter_width))));
} else
lower_layer_offset = scaled<float>(lower_layer.height / tan_threshold);
overhangs = lower_layer_offset == 0 ?

View file

@ -599,6 +599,7 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co
"support_object_xy_distance"/*, "independent_support_layer_height"*/})
toggle_field(el, have_support_material);
toggle_field("support_threshold_angle", have_support_material && is_auto(support_type));
toggle_field("support_threshold_overlap", config->opt_int("support_threshold_angle") == 0 && have_support_material && is_auto(support_type));
//toggle_field("support_closing_radius", have_support_material && support_style == smsSnug);
bool support_is_tree = config->opt_bool("enable_support") && is_tree(support_type);

View file

@ -61,7 +61,7 @@ static SettingsFactory::Bundle FREQ_SETTINGS_BUNDLE_FFF =
{ L("Shell"), { "wall_loops", "top_shell_layers", "bottom_shell_layers"} },
{ L("Infill") , { "sparse_infill_density", "sparse_infill_pattern" } },
// BBS
{ L("Support") , { "enable_support", "support_type", "support_threshold_angle",
{ L("Support") , { "enable_support", "support_type", "support_threshold_angle", "support_threshold_overlap",
"support_base_pattern", "support_on_build_plate_only","support_critical_regions_only",
"support_remove_small_overhang",
"support_base_pattern_spacing", "support_expansion"}},
@ -88,7 +88,7 @@ std::map<std::string, std::vector<SimpleSettingData>> SettingsFactory::OBJECT_C
}},
{ L("Support"), {{"brim_type", "",1},{"brim_width", "",2},{"brim_object_gap", "",3},
{"enable_support", "",4},{"support_type", "",5},{"support_threshold_angle", "",6},{"support_on_build_plate_only", "",7},
{"enable_support", "",4},{"support_type", "",5},{"support_threshold_angle", "",6}, {"support_threshold_overlap", "",6}, {"support_on_build_plate_only", "",7},
{"support_filament", "",8},{"support_interface_filament", "",9},{"support_expansion", "",24},{"support_style", "",25},
{"tree_support_brim_width", "",26}, {"tree_support_branch_angle", "",10},{"tree_support_branch_angle_organic","",10}, {"tree_support_wall_count", "",11},//tree support
{"support_top_z_distance", "",13},{"support_bottom_z_distance", "",12},{"support_base_pattern", "",14},{"support_base_pattern_spacing", "",15},
@ -150,7 +150,7 @@ std::vector<SimpleSettingData> SettingsFactory::get_visible_options(const std::s
//Quality
"layer_height", "initial_layer_print_height", "adaptive_layer_height", "seam_position", "xy_hole_compensation", "xy_contour_compensation", "elefant_foot_compensation", "support_line_width",
//Support
"enable_support", "support_type", "support_threshold_angle", "support_on_build_plate_only", "support_critical_regions_only", "enforce_support_layers",
"enable_support", "support_type", "support_threshold_angle", "support_threshold_overlap", "support_on_build_plate_only", "support_critical_regions_only", "enforce_support_layers",
//tree support
"tree_support_wall_count",
//support

View file

@ -2227,6 +2227,7 @@ void TabPrint::build()
optgroup->append_single_option_line("support_type", "support#support-types");
optgroup->append_single_option_line("support_style", "support#support-styles");
optgroup->append_single_option_line("support_threshold_angle", "support#threshold-angle");
optgroup->append_single_option_line("support_threshold_overlap", "support#threshold-angle");
optgroup->append_single_option_line("raft_first_layer_density");
optgroup->append_single_option_line("raft_first_layer_expansion");
optgroup->append_single_option_line("support_on_build_plate_only");