Merge branch 'main' into main

This commit is contained in:
SoftFever 2024-12-14 20:21:34 +08:00 committed by GitHub
commit 8bb8b30053
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
47 changed files with 219 additions and 68 deletions

View file

@ -302,6 +302,10 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMP
add_compile_options(-gz=zstd)
endif()
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 14)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=template-id-cdtor" )
endif()
endif()
if (SLIC3R_ASAN)

View file

@ -1,4 +1,4 @@
FOUND_GTK3=$(dpkg -l libgtk* | grep gtk-3)
FOUND_GTK3=$(dpkg -l libgtk* | grep gtk-3 || echo '')
REQUIRED_DEV_PACKAGES=(
autoconf

View file

@ -16,6 +16,7 @@ REQUIRED_DEV_PACKAGES=(
gstreamermm-devel
gtk3-devel
libmspack-devel
libquadmath-devel
libsecret-devel
libtool
m4

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.7 KiB

View file

@ -0,0 +1,34 @@
<svg width="31" height="507" viewBox="0 0 31 507" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1_421)">
<path d="M23.9769 127.531H6.49071C4.80136 127.531 3.40839 128.894 3.40839 130.554V145.491H6.87599V133.251C6.87599 132.747 7.26128 132.392 7.73549 132.392H22.7025C23.1767 132.392 23.562 132.777 23.562 133.251V145.491H27V130.554C27 128.865 25.6366 127.531 23.9769 127.531Z" fill="#B3B3B3"/>
<path d="M21.4872 163.6V151.3C21.4872 149.611 20.1535 148.307 18.4938 148.307H6.46091C4.77156 148.307 3.43787 149.641 3.43787 151.3V163.6C3.43787 165.23 4.8012 166.593 6.46091 166.593H18.4938C20.1832 166.593 21.4872 165.23 21.4872 163.6ZM6.34236 161.881V152.99H18.5827V161.881H6.34236Z" fill="#B3B3B3"/>
<path d="M21.4872 184.317V172.017C21.4872 170.328 20.1535 169.024 18.4938 169.024H6.46091C4.77156 169.024 3.43787 170.357 3.43787 172.017V184.317C3.43787 185.947 4.8012 187.31 6.46091 187.31H18.4938C20.1832 187.31 21.4872 185.947 21.4872 184.317ZM6.34236 182.627V173.736H18.5827V182.627H6.34236Z" fill="#B3B3B3"/>
<path d="M27 194.631V189.77H6.54998C4.80136 189.77 3.40839 191.163 3.40839 192.882V199.521H6.43143V194.631H27Z" fill="#B3B3B3"/>
<path d="M27 231.381V212.087H3.40839V216.948H11.0549V231.411C11.0549 233.1 12.4182 234.464 14.078 234.464H23.9769C25.6663 234.464 27 233.1 27 231.411V231.381ZM15.2931 229.574C14.7893 229.574 14.4336 229.188 14.4336 228.714V216.948H23.6213V228.684C23.6213 229.159 23.236 229.603 22.7618 229.603H15.2931V229.574Z" fill="#B3B3B3"/>
<path d="M27 242.081V237.22H6.54998C4.80136 237.22 3.40839 238.613 3.40839 240.332V246.971H6.43143V242.081H27Z" fill="#B3B3B3"/>
<path d="M21.4874 263.657V250.557H18.494V263.094H14.5818V252.157C14.5818 250.438 13.1888 249.045 11.4698 249.045H6.52034C4.80136 249.045 3.40839 250.438 3.40839 252.157V267.954H18.0494C19.9462 267.954 21.4577 266.028 21.4577 263.657H21.4874ZM6.40179 263.094V253.906H11.5291V263.094H6.40179Z" fill="#B3B3B3"/>
<path d="M27 279.394V274.534H21.4577V270.74H18.4643V274.534H6.52034C4.80136 274.534 3.40839 275.927 3.40839 277.646V283.158H6.43143V280.58C6.43143 279.958 6.96491 279.394 7.5873 279.394H18.4347V283.158H21.4281V279.394H27Z" fill="#B3B3B3"/>
<path d="M21.3688 301.297V288.701C21.3688 286.982 19.9758 285.618 18.2568 285.618H6.49065C4.77166 285.618 3.37869 286.982 3.37869 288.701V304.112H6.34246V290.449H10.3435V304.409H18.2272C19.9462 304.409 21.3391 303.016 21.3391 301.297H21.3688ZM13.3962 299.548V290.42H18.4643V299.548H13.3962Z" fill="#B3B3B3"/>
<path d="M16.5971 20.8057H23.4731C25.1624 20.8057 26.4665 19.4423 26.4665 17.8122V0H3.2009V19.057C3.2009 20.6871 4.56423 22.0504 6.22394 22.0504H14.0779C14.9967 22.0504 15.8562 21.6651 16.4193 20.9242L16.5675 20.776L16.5971 20.8057ZM23.1174 4.83094V15.1745C23.1174 15.6191 22.7321 16.034 22.2579 16.034H17.3973C16.9231 16.034 16.5379 15.6191 16.5379 15.1745V4.83094H23.1174ZM7.46872 17.2788C6.96488 17.2788 6.60923 16.8935 6.60923 16.4193V4.83094H13.1592V16.4193C13.1592 16.9231 12.7739 17.2788 12.3293 17.2788H7.46872Z" fill="#B3B3B3"/>
<path d="M21.3096 39.4478V26.3479H18.3162V38.8846H14.404V27.9483C14.404 26.2294 13.011 24.8364 11.292 24.8364H6.34255C4.62356 24.8364 3.23059 26.2294 3.23059 27.9483V43.7452H17.8716C19.7684 43.7452 21.2799 41.8188 21.2799 39.4478H21.3096ZM6.224 38.8846V29.697H11.3513V38.8846H6.224Z" fill="#B3B3B3"/>
<path d="M21.3095 69.0854V46.5311H3.23053V51.4214H18.2568V56.934H3.2009V61.7946H18.2865V67.3072H3.2009V72.1974H18.1976C19.9166 72.1974 21.3095 70.8044 21.3095 69.0854Z" fill="#B3B3B3"/>
<path d="M21.3096 90.4246V79.5476H26.8222V74.6573H3.23059V90.4246C3.23059 92.1732 4.62356 93.5662 6.34255 93.5662H18.1976C19.9166 93.5662 21.3096 92.1732 21.3096 90.4246ZM6.25363 88.676V79.5179H18.2865V88.676H6.25363Z" fill="#B3B3B3"/>
<path d="M6.10545 109.63V100.738H21.3096V96.0261H6.25363C4.56429 96.0261 3.23059 97.3894 3.23059 99.0491V114.313H21.3096V109.63H6.10545Z" fill="#B3B3B3"/>
<path d="M26.4665 322.162L14.9078 313.745L3.34906 322.162V325.066L14.9078 316.619L26.4665 325.066V322.162Z" fill="#B3B3B3"/>
<path d="M26.4665 498.654V495.779L14.9078 504.196L3.34906 495.779V498.654L14.9078 507.071L26.4665 498.654Z" fill="#B3B3B3"/>
<path d="M16.1821 351.651V340.626C16.1821 340.241 16.5081 339.915 16.8934 339.915H21.2502C21.6355 339.915 21.9911 340.241 21.9911 340.626V353.489H24.7474V338.433C24.7474 337.04 23.6508 335.914 22.2875 335.914H15.9154C14.5817 335.914 13.4555 337.01 13.4555 338.373V349.458C13.4555 349.843 13.0998 350.229 12.7145 350.229H9.158C8.74308 350.229 8.32815 349.873 8.32815 349.488V336.566H5.54221V351.681C5.54221 353.044 6.66844 354.141 8.03177 354.141H13.6926C15.0559 354.141 16.1821 353.014 16.1821 351.681V351.651Z" fill="#B3B3B3"/>
<path d="M7.85389 367.478V360.216H20.2424V356.363H7.97244C6.60911 356.363 5.51251 357.46 5.51251 358.823V371.242H20.2424V367.418H7.88353V367.478H7.85389Z" fill="#B3B3B3"/>
<path d="M20.2425 386.149V373.287H-3.05176e-05V377.228H5.51258V386.12C5.51258 387.542 6.63881 388.669 8.03178 388.669H17.6937C19.0866 388.669 20.2129 387.542 20.2129 386.12L20.2425 386.149ZM7.94287 384.727V377.258H17.7529V384.727H7.94287Z" fill="#B3B3B3"/>
<path d="M20.1536 403.458V393.203C20.1536 391.81 19.0274 390.714 17.6344 390.714H8.06141C6.66844 390.714 5.54221 391.81 5.54221 393.203V405.74H7.9725V394.626H11.2326V406.007H17.664C19.057 406.007 20.1832 404.88 20.1832 403.487L20.1536 403.458ZM13.6333 402.035V394.626H17.7529V402.035H13.6333Z" fill="#B3B3B3"/>
<path d="M18.4642 412.557L17.5454 411.934H20.2128V407.992H5.51251V411.934H16.3006V418.277H20.2424V415.906C20.2424 414.572 19.5608 413.297 18.4642 412.557Z" fill="#B3B3B3"/>
<path d="M21.9614 420.262V426.783H5.51251V430.784H21.9614V437.274H24.7474V420.262H21.9614Z" fill="#B3B3B3"/>
<path d="M20.2424 450.878V440.209H17.7825V450.434H14.5816V441.542C14.5816 440.149 13.4554 439.023 12.0624 439.023H8.03172C6.63874 439.023 5.51251 440.149 5.51251 441.542V454.405H17.4565C18.9977 454.405 20.2424 452.834 20.2424 450.908V450.878ZM7.9428 450.434V442.965H12.1217V450.434H7.9428Z" fill="#B3B3B3"/>
<path d="M17.7233 456.657H8.06141C6.66844 456.657 5.54221 457.784 5.54221 459.177V471.625H8.00213V460.599H17.8418V471.625H20.3018V459.177C20.3018 457.784 19.1755 456.657 17.7826 456.657H17.7233Z" fill="#B3B3B3"/>
<path d="M14.3742 485.702L20.2424 488.251V484.458L15.204 482.235V477.582H24.7474V473.64H5.51251V477.582H13.0108V482.413L5.54215 484.991V488.666L14.2556 485.643L14.3742 485.702Z" fill="#B3B3B3"/>
</g>
<defs>
<clipPath id="clip0_1_421">
<rect width="31" height="507" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 6.4 KiB

View file

@ -15,8 +15,11 @@
"slow_down_layer_time": [
"8"
],
"enable_pressure_advance": [
"1"
],
"pressure_advance": [
"0.084"
"0.032"
],
"compatible_printers": [
"FlyingBear Reborn3 0.4 nozzle",

View file

@ -15,8 +15,11 @@
"slow_down_layer_time": [
"8"
],
"enable_pressure_advance": [
"1"
],
"pressure_advance": [
"0.084"
"0.032"
],
"compatible_printers": [
"FlyingBear S1 0.4 nozzle"

View file

@ -15,8 +15,11 @@
"slow_down_layer_time": [
"8"
],
"enable_pressure_advance": [
"1"
],
"pressure_advance": [
"0.084"
"0.032"
],
"compatible_printers": [
"FlyingBear S1 0.4 nozzle"

View file

@ -41,7 +41,7 @@
"60"
],
"hot_plate_temp_initial_layer" : [
"65"
"60"
],
"textured_plate_temp_initial_layer" : [
"60"

View file

@ -41,7 +41,7 @@
"60"
],
"hot_plate_temp_initial_layer" : [
"65"
"60"
],
"textured_plate_temp_initial_layer" : [
"60"

View file

@ -41,7 +41,7 @@
"60"
],
"hot_plate_temp_initial_layer" : [
"65"
"60"
],
"textured_plate_temp_initial_layer" : [
"60"

View file

@ -41,7 +41,7 @@
"60"
],
"hot_plate_temp_initial_layer" : [
"65"
"60"
],
"textured_plate_temp_initial_layer" : [
"60"

View file

@ -41,7 +41,7 @@
"60"
],
"hot_plate_temp_initial_layer" : [
"65"
"60"
],
"textured_plate_temp_initial_layer" : [
"60"

View file

@ -41,7 +41,7 @@
"60"
],
"hot_plate_temp_initial_layer" : [
"65"
"60"
],
"textured_plate_temp_initial_layer" : [
"60"

View file

@ -207,6 +207,6 @@
"0.4"
],
"z_hop_types": [
"Auto Lift"
"Normal Lift"
]
}

View file

@ -112,7 +112,7 @@
"0"
],
"machine_pause_gcode": "PAUSE",
"machine_start_gcode": ";V1.1\n\nM140 S[bed_temperature_initial_layer_single] \nM104 S135\nG28\nG4 P200\nZ_TILT_ADJUST\nG90\nG1 X150 Y150 F3000\nG28 Z\nG1 X50 Y-4 F2500\nM109 S[nozzle_temperature_initial_layer]\nM190 S[bed_temperature_initial_layer_single] \nPRINT_START",
"machine_start_gcode": ";R3_V1.1.0-20241115\n\nM140 S[bed_temperature_initial_layer_single] \nM104 S135\nG28\nG4 P200\nM190 S[bed_temperature_initial_layer_single] \nZ_TILT_ADJUST\nG90\nG1 X150 Y150 F3000\nG28 Z\nG1 X50 Y-4 F2500\nM109 S[nozzle_temperature_initial_layer]\nM190 S[bed_temperature_initial_layer_single] \nPRINT_START",
"max_layer_height": [
"0.28"
],

View file

@ -113,7 +113,7 @@
"0"
],
"machine_pause_gcode": "PAUSE",
"machine_start_gcode": ";V1.1\n\nM140 S[bed_temperature_initial_layer_single] \nM104 S135\nG28\nG4 P200\nZ_TILT_ADJUST\nG90\nG1 X150 Y150 F3000\nG28 Z\nG1 X50 Y-4 F2500\nM109 S[nozzle_temperature_initial_layer]\nM190 S[bed_temperature_initial_layer_single] \nPRINT_START",
"machine_start_gcode": ";R3_V1.1.0-20241115\n\nM140 S[bed_temperature_initial_layer_single] \nM104 S135\nG28\nG4 P200\nM190 S[bed_temperature_initial_layer_single] \nZ_TILT_ADJUST\nG90\nG1 X150 Y150 F3000\nG28 Z\nG1 X50 Y-4 F2500\nM109 S[nozzle_temperature_initial_layer]\nM190 S[bed_temperature_initial_layer_single] \nPRINT_START",
"max_layer_height": [
"0.28"
],
@ -201,6 +201,6 @@
"0.4"
],
"z_hop_types": [
"Auto Lift"
"Normal Lift"
]
}

View file

@ -5,7 +5,8 @@
"from": "system",
"instantiation": "true",
"inherits": "fdm_process_common",
"inner_wall_acceleration": "3000",
"bottom_shell_layers": "7",
"overhang_1_4_speed": "60",
"overhang_2_4_speed": "30",

View file

@ -5,7 +5,8 @@
"from": "system",
"instantiation": "true",
"inherits": "fdm_process_common",
"inner_wall_acceleration": "3000",
"bottom_shell_layers": "5",
"overhang_1_4_speed": "50",
"overhang_2_4_speed": "30",

View file

@ -5,7 +5,8 @@
"from": "system",
"instantiation": "true",
"inherits": "fdm_process_common",
"inner_wall_acceleration": "3000",
"overhang_2_4_speed": "50",
"overhang_3_4_speed": "30",
"top_shell_layers": "6",

View file

@ -6,7 +6,8 @@
"from": "system",
"instantiation": "true",
"inherits": "fdm_process_common_S1",
"inner_wall_acceleration": "3000",
"bottom_shell_layers": "7",
"overhang_1_4_speed": "50",
"overhang_2_4_speed": "30",

View file

@ -6,6 +6,7 @@
"instantiation": "true",
"inherits": "fdm_process_common_S1",
"inner_wall_acceleration": "3000",
"bottom_shell_layers": "5",
"overhang_1_4_speed": "50",
"overhang_2_4_speed": "30",

View file

@ -5,7 +5,8 @@
"from": "system",
"instantiation": "true",
"inherits": "fdm_process_common_S1",
"inner_wall_acceleration": "3000",
"overhang_2_4_speed": "50",
"overhang_3_4_speed": "30",
"top_shell_layers": "6",

View file

@ -24,7 +24,7 @@
"default_jerk": "0",
"detect_narrow_internal_solid_infill": "1",
"detect_overhang_wall": "1",
"detect_thin_wall": "0",
"detect_thin_wall": "1",
"draft_shield": "disabled",
"elefant_foot_compensation": "0.15",
"enable_arc_fitting": "0",
@ -123,6 +123,7 @@
"slice_closing_radius": "0.049",
"slicing_mode": "regular",
"slow_down_layers": "0",
"slowdown_for_curled_perimeters": "0",
"small_perimeter_speed": "50%",
"small_perimeter_threshold": "0",
"solid_infill_filament": "1",
@ -130,7 +131,7 @@
"sparse_infill_density": "15%",
"sparse_infill_filament": "1",
"sparse_infill_line_width": "0.45",
"sparse_infill_pattern": "crosshatch",
"sparse_infill_pattern": "grid",
"spiral_mode": "0",
"staggered_inner_seams": "0",

View file

@ -24,7 +24,7 @@
"default_jerk": "0",
"detect_narrow_internal_solid_infill": "1",
"detect_overhang_wall": "1",
"detect_thin_wall": "0",
"detect_thin_wall": "1",
"draft_shield": "disabled",
"elefant_foot_compensation": "0.15",
"enable_arc_fitting": "0",
@ -123,6 +123,7 @@
"slice_closing_radius": "0.049",
"slicing_mode": "regular",
"slow_down_layers": "0",
"slowdown_for_curled_perimeters": "0",
"small_perimeter_speed": "50%",
"small_perimeter_threshold": "0",
"solid_infill_filament": "1",
@ -130,7 +131,7 @@
"sparse_infill_density": "15%",
"sparse_infill_filament": "1",
"sparse_infill_line_width": "0.45",
"sparse_infill_pattern": "crosshatch",
"sparse_infill_pattern": "grid",
"spiral_mode": "0",
"staggered_inner_seams": "0",

View file

@ -15,8 +15,11 @@
"slow_down_layer_time": [
"8"
],
"enable_pressure_advance": [
"1"
],
"pressure_advance": [
"0.084"
"0.032"
],
"compatible_printers": [
"InfiMech TX 0.4 nozzle"

View file

@ -15,8 +15,11 @@
"slow_down_layer_time": [
"8"
],
"enable_pressure_advance": [
"1"
],
"pressure_advance": [
"0.084"
"0.032"
],
"compatible_printers": [
"InfiMech TX 0.4 nozzle"

View file

@ -41,7 +41,7 @@
"60"
],
"hot_plate_temp_initial_layer" : [
"65"
"60"
],
"textured_plate_temp_initial_layer" : [
"60"

View file

@ -41,7 +41,7 @@
"60"
],
"hot_plate_temp_initial_layer" : [
"65"
"60"
],
"textured_plate_temp_initial_layer" : [
"60"

View file

@ -41,7 +41,7 @@
"60"
],
"hot_plate_temp_initial_layer" : [
"65"
"60"
],
"textured_plate_temp_initial_layer" : [
"60"

View file

@ -41,7 +41,7 @@
"60"
],
"hot_plate_temp_initial_layer" : [
"65"
"60"
],
"textured_plate_temp_initial_layer" : [
"60"

View file

@ -204,7 +204,7 @@
"0.4"
],
"z_hop_types": [
"Auto Lift"
"Normal Lift"
]

View file

@ -201,6 +201,6 @@
"0.4"
],
"z_hop_types": [
"Auto Lift"
"Normal Lift"
]
}

View file

@ -204,7 +204,7 @@
"0.4"
],
"z_hop_types": [
"Auto Lift"
"Normal Lift"
]

View file

@ -201,6 +201,6 @@
"0.4"
],
"z_hop_types": [
"Auto Lift"
"Normal Lift"
]
}

View file

@ -23,7 +23,7 @@
"default_jerk": "0",
"detect_narrow_internal_solid_infill": "1",
"detect_overhang_wall": "1",
"detect_thin_wall": "0",
"detect_thin_wall": "1",
"draft_shield": "disabled",
"elefant_foot_compensation": "0.15",
"enable_arc_fitting": "0",
@ -122,6 +122,7 @@
"slice_closing_radius": "0.049",
"slicing_mode": "regular",
"slow_down_layers": "0",
"slowdown_for_curled_perimeters": "0",
"small_perimeter_speed": "50%",
"small_perimeter_threshold": "0",
"solid_infill_filament": "1",
@ -129,7 +130,7 @@
"sparse_infill_density": "15%",
"sparse_infill_filament": "1",
"sparse_infill_line_width": "0.45",
"sparse_infill_pattern": "crosshatch",
"sparse_infill_pattern": "grid",
"spiral_mode": "0",
"staggered_inner_seams": "0",

View file

@ -23,7 +23,7 @@
"default_jerk": "0",
"detect_narrow_internal_solid_infill": "1",
"detect_overhang_wall": "1",
"detect_thin_wall": "0",
"detect_thin_wall": "1",
"draft_shield": "disabled",
"elefant_foot_compensation": "0.15",
"enable_arc_fitting": "0",
@ -122,6 +122,7 @@
"slice_closing_radius": "0.049",
"slicing_mode": "regular",
"slow_down_layers": "0",
"slowdown_for_curled_perimeters": "0",
"small_perimeter_speed": "50%",
"small_perimeter_threshold": "0",
"solid_infill_filament": "1",
@ -129,7 +130,7 @@
"sparse_infill_density": "15%",
"sparse_infill_filament": "1",
"sparse_infill_line_width": "0.45",
"sparse_infill_pattern": "crosshatch",
"sparse_infill_pattern": "grid",
"spiral_mode": "0",
"staggered_inner_seams": "0",

View file

@ -264,7 +264,7 @@ SplittedLine do_split_line(const ClipperZUtils::ZPath& path, const ExPolygons& c
}
for (const auto segment : node) {
for (const ClipperZUtils::ZPoint& sp : *segment) {
assert(!is_clip(sp.z()));
assert(!is_clip(sp));
result.emplace_back(to_point(sp), true, sp.z());
}
result.back().clipped = false; // Mark the end of the clipped line

View file

@ -1792,6 +1792,7 @@ enum BambuBedType {
bbtEngineeringPlate = 2,
bbtHighTemperaturePlate = 3,
bbtTexturedPEIPlate = 4,
bbtSuperTackPlate = 5,
};
static BambuBedType to_bambu_bed_type(BedType type)
@ -1807,6 +1808,8 @@ static BambuBedType to_bambu_bed_type(BedType type)
bambu_bed_type = bbtTexturedPEIPlate;
else if (type == btPCT)
bambu_bed_type = bbtCoolPlate;
else if (type == btSuperTack)
bambu_bed_type = bbtSuperTackPlate;
return bambu_bed_type;
}

View file

@ -2785,7 +2785,7 @@ std::vector<size_t> ModelVolume::get_extruders_from_multi_material_painting() co
if (!this->is_mm_painted())
return {};
assert(static_cast<size_t>(TriangleStateType::Extruder1) - 1 == 0);
assert(static_cast<size_t>(EnforcerBlockerType::Extruder1) - 1 == 0);
const TriangleSelector::TriangleSplittingData &data = this->mmu_segmentation_facets.get_data();
std::vector<size_t> extruders;

View file

@ -823,7 +823,7 @@ static std::vector<std::string> s_Preset_filament_options {
"filament_flow_ratio", "filament_density", "filament_cost", "filament_minimal_purge_on_wipe_tower",
"nozzle_temperature", "nozzle_temperature_initial_layer",
// BBS
"cool_plate_temp", "textured_cool_plate_temp", "eng_plate_temp", "hot_plate_temp", "textured_plate_temp", "cool_plate_temp_initial_layer", "textured_cool_plate_temp_initial_layer", "eng_plate_temp_initial_layer", "hot_plate_temp_initial_layer","textured_plate_temp_initial_layer",
"cool_plate_temp", "textured_cool_plate_temp", "eng_plate_temp", "hot_plate_temp", "textured_plate_temp", "cool_plate_temp_initial_layer", "textured_cool_plate_temp_initial_layer", "eng_plate_temp_initial_layer", "hot_plate_temp_initial_layer", "textured_plate_temp_initial_layer", "supertack_plate_temp_initial_layer", "supertack_plate_temp",
// "bed_type",
//BBS:temperature_vitrification
"temperature_vitrification", "reduce_fan_stop_start_freq","dont_slow_down_outer_wall", "slow_down_for_layer_cooling", "fan_min_speed",

View file

@ -129,6 +129,7 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
"sparse_infill_acceleration",
"internal_solid_infill_acceleration",
// BBS
"supertack_plate_temp_initial_layer",
"cool_plate_temp_initial_layer",
"textured_cool_plate_temp_initial_layer",
"eng_plate_temp_initial_layer",
@ -270,6 +271,8 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
|| opt_key == "gcode_flavor"
|| opt_key == "single_extruder_multi_material"
|| opt_key == "nozzle_temperature"
// BBS
|| opt_key == "supertack_plate_temp"
|| opt_key == "cool_plate_temp"
|| opt_key == "textured_cool_plate_temp"
|| opt_key == "eng_plate_temp"

View file

@ -350,6 +350,7 @@ CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(OverhangFanThreshold)
// BBS
static const t_config_enum_values s_keys_map_BedType = {
{ "Default Plate", btDefault },
{ "Supertack Plate", btSuperTack },
{ "Cool Plate", btPC },
{ "Engineering Plate", btEP },
{ "High Temp Plate", btPEI },
@ -657,6 +658,16 @@ void PrintConfigDef::init_fff_params()
def->set_default_value(new ConfigOptionFloatOrPercent(0., false));
// BBS
def = this->add("supertack_plate_temp", coInts);
def->label = L("Other layers");
def->tooltip = L("Bed temperature for layers except the initial one. "
"Value 0 means the filament does not support to print on the Cool Plate");
def->sidetext = "°C";
def->full_label = L("Bed temperature");
def->min = 0;
def->max = 120;
def->set_default_value(new ConfigOptionInts{35});
def = this->add("cool_plate_temp", coInts);
def->label = L("Other layers");
def->tooltip = L("Bed temperature for layers except the initial one. "
@ -707,6 +718,16 @@ void PrintConfigDef::init_fff_params()
def->max = 300;
def->set_default_value(new ConfigOptionInts{45});
def = this->add("supertack_plate_temp_initial_layer", coInts);
def->label = L("Initial layer");
def->full_label = L("Initial layer bed temperature");
def->tooltip = L("Bed temperature of the initial layer. "
"Value 0 means the filament does not support to print on the Bambu Cool Plate SuperTack");
def->sidetext = "°C";
def->min = 0;
def->max = 120;
def->set_default_value(new ConfigOptionInts{ 35 });
def = this->add("cool_plate_temp_initial_layer", coInts);
def->label = L("Initial layer");
def->full_label = L("Initial layer bed temperature");
@ -762,12 +783,14 @@ void PrintConfigDef::init_fff_params()
def->mode = comSimple;
def->enum_keys_map = &s_keys_map_BedType;
// Orca: make sure the order of the values is the same as the BedType enum
def->enum_values.emplace_back("Supertack Plate");
def->enum_values.emplace_back("Cool Plate");
def->enum_values.emplace_back("Engineering Plate");
def->enum_values.emplace_back("High Temp Plate");
def->enum_values.emplace_back("Textured PEI Plate");
def->enum_values.emplace_back("Textured Cool Plate");
def->enum_labels.emplace_back(L("Smooth Cool Plate"));
def->enum_labels.emplace_back(L("Bambu Cool Plate SuperTack"));
def->enum_labels.emplace_back(L("Smooth Cool Plate / PLA Plate"));
def->enum_labels.emplace_back(L("Engineering Plate"));
def->enum_labels.emplace_back(L("Smooth High Temp Plate"));
def->enum_labels.emplace_back(L("Textured PEI Plate"));
@ -3757,7 +3780,7 @@ void PrintConfigDef::init_fff_params()
def->set_default_value(new ConfigOptionFloats { 10. });
def = this->add("z_hop", coFloats);
def->label = L("Z hop when retract");
def->label = L("Z-hop height");
def->tooltip = L("Whenever the retraction is done, the nozzle is lifted a little to create clearance between nozzle and the print. "
"It prevents nozzle from hitting the print when travel move. "
"Using spiral line to lift z can prevent stringing");
@ -3785,7 +3808,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("z_hop_types", coEnums);
def->label = L("Z hop type");
def->label = L("Z-hop type");
def->tooltip = L("Z hop type");
def->enum_keys_map = &ConfigOptionEnum<ZHopType>::get_enum_values();
def->enum_values.push_back("Auto Lift");
@ -5440,9 +5463,9 @@ void PrintConfigDef::init_extruder_option_keys()
"retract_lift_above",
"retract_lift_below",
"retract_lift_enforce",
"retract_on_top_layer",
"retract_restart_extra",
"retract_when_changing_layer",
"retract_on_top_layer",
"retraction_distances_when_cut",
"retraction_length",
"retraction_minimum_travel",

View file

@ -254,6 +254,7 @@ enum OverhangFanThreshold {
// BBS
enum BedType {
btDefault = 0,
btSuperTack,
btPC,
btEP,
btPEI,
@ -322,6 +323,9 @@ static std::string bed_type_to_gcode_string(const BedType type)
std::string type_str;
switch (type) {
case btSuperTack:
type_str = "supertack_plate";
break;
case btPC:
type_str = "cool_plate";
break;
@ -347,6 +351,9 @@ static std::string bed_type_to_gcode_string(const BedType type)
static std::string get_bed_temp_key(const BedType type)
{
if (type == btSuperTack)
return "supertack_plate_temp";
if (type == btPC)
return "cool_plate_temp";
@ -367,6 +374,9 @@ static std::string get_bed_temp_key(const BedType type)
static std::string get_bed_temp_1st_layer_key(const BedType type)
{
if (type == btSuperTack)
return "supertack_plate_temp_initial_layer";
if (type == btPC)
return "cool_plate_temp_initial_layer";
@ -1183,9 +1193,11 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE(
((ConfigOptionEnum<BedType>, curr_bed_type))
((ConfigOptionInts, cool_plate_temp))
((ConfigOptionInts, textured_cool_plate_temp))
((ConfigOptionInts, supertack_plate_temp))
((ConfigOptionInts, eng_plate_temp))
((ConfigOptionInts, hot_plate_temp)) // hot is short for high temperature
((ConfigOptionInts, textured_plate_temp))
((ConfigOptionInts, supertack_plate_temp_initial_layer))
((ConfigOptionInts, cool_plate_temp_initial_layer))
((ConfigOptionInts, textured_cool_plate_temp_initial_layer))
((ConfigOptionInts, eng_plate_temp_initial_layer))

View file

@ -5499,7 +5499,9 @@ void PartPlateList::BedTextureInfo::reset()
void PartPlateList::init_bed_type_info()
{
BedTextureInfo::TexturePart pct_part_left(10, 130, 10, 110, "orca_bed_pct_left.svg");
BedTextureInfo::TexturePart pc_part1(10, 130, 10, 110, "bbl_bed_pc_left.svg");
BedTextureInfo::TexturePart st_part1(9, 70, 12.5, 170, "bbl_bed_st_left.svg");
BedTextureInfo::TexturePart st_part2(74, -10, 148, 12, "bbl_bed_st_bottom.svg");
BedTextureInfo::TexturePart pc_part1(10, 130, 10, 110, "bbl_bed_pc_left.svg");
BedTextureInfo::TexturePart pc_part2(74, -10, 148, 12, "bbl_bed_pc_bottom.svg");
BedTextureInfo::TexturePart ep_part1(7.5, 90, 12.5, 150, "bbl_bed_ep_left.svg");
BedTextureInfo::TexturePart ep_part2(74, -10, 148, 12, "bbl_bed_ep_bottom.svg");
@ -5511,6 +5513,8 @@ void PartPlateList::init_bed_type_info()
bed_texture_info[i].reset();
bed_texture_info[i].parts.clear();
}
bed_texture_info[btSuperTack].parts.push_back(st_part1);
bed_texture_info[btSuperTack].parts.push_back(st_part2);
bed_texture_info[btPC].parts.push_back(pc_part1);
bed_texture_info[btPC].parts.push_back(pc_part2);
bed_texture_info[btPCT].parts.push_back(pct_part_left);

View file

@ -2123,19 +2123,19 @@ void TabPrint::build()
optgroup->append_single_option_line("detect_thin_wall");
optgroup = page->new_optgroup(L("Top/bottom shells"), L"param_shell");
optgroup->append_single_option_line("top_surface_pattern", "fill-patterns#Infill of the top surface and bottom surface");
optgroup->append_single_option_line("top_shell_layers");
optgroup->append_single_option_line("top_shell_thickness");
optgroup->append_single_option_line("bottom_surface_pattern", "fill-patterns#Infill of the top surface and bottom surface");
optgroup->append_single_option_line("top_surface_pattern", "fill-patterns#Infill of the top surface and bottom surface");
optgroup->append_single_option_line("bottom_shell_layers");
optgroup->append_single_option_line("bottom_shell_thickness");
optgroup->append_single_option_line("bottom_surface_pattern", "fill-patterns#Infill of the top surface and bottom surface");
optgroup->append_single_option_line("top_bottom_infill_wall_overlap");
optgroup = page->new_optgroup(L("Infill"), L"param_infill");
optgroup->append_single_option_line("sparse_infill_density");
optgroup->append_single_option_line("sparse_infill_pattern", "fill-patterns#infill types and their properties of sparse");
optgroup->append_single_option_line("infill_anchor");
optgroup->append_single_option_line("infill_anchor_max");
optgroup->append_single_option_line("infill_anchor");
optgroup->append_single_option_line("internal_solid_infill_pattern");
optgroup->append_single_option_line("gap_fill_target");
optgroup->append_single_option_line("filter_out_gap_fill");
@ -2320,8 +2320,8 @@ void TabPrint::build()
page = add_options_page(L("Others"), "custom-gcode_other"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Skirt"), L"param_skirt");
optgroup->append_single_option_line("skirt_type");
optgroup->append_single_option_line("skirt_loops");
optgroup->append_single_option_line("skirt_type");
optgroup->append_single_option_line("min_skirt_length");
optgroup->append_single_option_line("skirt_distance");
optgroup->append_single_option_line("skirt_start_angle");
@ -3335,7 +3335,12 @@ void TabFilament::build()
optgroup->append_line(line);
optgroup = page->new_optgroup(L("Bed temperature"), L"param_bed_temp");
line = { L("Cool plate"), L("Bed temperature when cool plate is installed. Value 0 means the filament does not support to print on the Cool Plate") };
line = {L("Bambu Cool Plate SuperTack"), L("Bed temperature when cool plate is installed. Value 0 means the filament does not support to print on the Bambu Cool Plate SuperTack")};
line.append_option(optgroup->get_option("supertack_plate_temp_initial_layer"));
line.append_option(optgroup->get_option("supertack_plate_temp"));
optgroup->append_line(line);
line = { L("Cool Plate / PLA Plate"), L("Bed temperature when cool plate is installed. Value 0 means the filament does not support to print on the Cool Plate") };
line.append_option(optgroup->get_option("cool_plate_temp_initial_layer"));
line.append_option(optgroup->get_option("cool_plate_temp"));
optgroup->append_line(line);
@ -3625,6 +3630,12 @@ void TabFilament::toggle_options()
bool is_pellet_printer = cfg.opt_bool("pellet_modded_printer");
toggle_line("pellet_flow_coefficient", is_pellet_printer);
toggle_line("filament_diameter", !is_pellet_printer);
bool support_chamber_temp_control = this->m_preset_bundle->printers.get_edited_preset().config.opt_bool("support_chamber_temp_control");
toggle_line("chamber_temperatures", support_chamber_temp_control);
for (auto el : {"supertack_plate_temp", "supertack_plate_temp_initial_layer", "cool_plate_temp", "cool_plate_temp_initial_layer", "eng_plate_temp", "eng_plate_temp_initial_layer", "textured_plate_temp", "textured_plate_temp_initial_layer"})
toggle_line(el, is_BBL_printer);
}
if (m_active_page->title() == L("Setting Overrides"))
update_filament_overrides_page(&cfg);
@ -4322,9 +4333,6 @@ if (is_marlin_flavor)
optgroup = page->new_optgroup(L("Retraction"), L"param_retraction");
optgroup->append_single_option_line("retraction_length", "", extruder_idx);
optgroup->append_single_option_line("retract_restart_extra", "", extruder_idx);
optgroup->append_single_option_line("z_hop", "", extruder_idx);
optgroup->append_single_option_line("z_hop_types", "", extruder_idx);
optgroup->append_single_option_line("travel_slope", "", extruder_idx);
optgroup->append_single_option_line("retraction_speed", "", extruder_idx);
optgroup->append_single_option_line("deretraction_speed", "", extruder_idx);
optgroup->append_single_option_line("retraction_minimum_travel", "", extruder_idx);
@ -4334,10 +4342,13 @@ if (is_marlin_flavor)
optgroup->append_single_option_line("wipe_distance", "", extruder_idx);
optgroup->append_single_option_line("retract_before_wipe", "", extruder_idx);
optgroup = page->new_optgroup(L("Lift Z Enforcement"), L"param_extruder_lift_enforcement");
optgroup = page->new_optgroup(L("Z-Hop"), L"param_extruder_lift_enforcement");
optgroup->append_single_option_line("retract_lift_enforce", "", extruder_idx);
optgroup->append_single_option_line("z_hop_types", "", extruder_idx);
optgroup->append_single_option_line("z_hop", "", extruder_idx);
optgroup->append_single_option_line("travel_slope", "", extruder_idx);
optgroup->append_single_option_line("retract_lift_above", "", extruder_idx);
optgroup->append_single_option_line("retract_lift_below", "", extruder_idx);
optgroup->append_single_option_line("retract_lift_enforce", "", extruder_idx);
optgroup = page->new_optgroup(L("Retraction when switching material"), L"param_retraction_material_change");
optgroup->append_single_option_line("retract_length_toolchange", "", extruder_idx);
@ -5104,8 +5115,14 @@ bool Tab::select_preset(std::string preset_name, bool delete_current /*=false*/,
// Orca: update presets for the selected printer
if (m_type == Preset::TYPE_PRINTER && wxGetApp().app_config->get_bool("remember_printer_config")) {
m_preset_bundle->update_selections(*wxGetApp().app_config);
wxGetApp().plater()->sidebar().on_filaments_change(m_preset_bundle->filament_presets.size());
m_preset_bundle->update_selections(*wxGetApp().app_config);
int extruders_count = m_preset_bundle->printers.get_edited_preset().config.opt<ConfigOptionFloats>("nozzle_diameter")->values.size();
if (extruders_count > 1) {
// multi tool
wxGetApp().plater()->sidebar().on_filaments_change(extruders_count);
} else {
wxGetApp().plater()->sidebar().on_filaments_change(m_preset_bundle->filament_presets.size());
}
}
load_current_preset();
@ -6087,8 +6104,9 @@ void Page::update_visibility(ConfigOptionMode mode, bool update_contolls_visibil
#ifdef __WXMSW__
if (!m_show) return;
// BBS: fix field control position
wxTheApp->CallAfter([this]() {
for (auto group : m_optgroups) {
auto groups = this->m_optgroups;
wxTheApp->CallAfter([groups]() {
for (auto group : groups) {
if (group->custom_ctrl) group->custom_ctrl->fixup_items_positions();
}
});

View file

@ -1664,17 +1664,19 @@ void UnsavedChangesDialog::update_tree(Preset::Type type, PresetCollection* pres
// process changes of extruders count
if (type == Preset::TYPE_PRINTER && old_pt == ptFFF &&
old_config.opt<ConfigOptionStrings>("extruder_colour")->values.size() != new_config.opt<ConfigOptionStrings>("extruder_colour")->values.size()) {
old_config.opt<ConfigOptionFloats>("nozzle_diameter")->values.size() != new_config.opt<ConfigOptionFloats>("nozzle_diameter")->values.size()) {
wxString local_label = _L("Extruders count");
wxString old_val = from_u8((boost::format("%1%") % old_config.opt<ConfigOptionStrings>("extruder_colour")->values.size()).str());
wxString new_val = from_u8((boost::format("%1%") % new_config.opt<ConfigOptionStrings>("extruder_colour")->values.size()).str());
wxString old_val = from_u8((boost::format("%1%") % old_config.opt<ConfigOptionFloats>("nozzle_diameter")->values.size()).str());
wxString new_val = from_u8((boost::format("%1%") % new_config.opt<ConfigOptionFloats>("nozzle_diameter")->values.size()).str());
//BBS: the page "General" changed to "Basic information" instead
//m_tree->Append("extruders_count", type, _L("General"), _L("Capabilities"), local_label, old_val, new_val, category_icon_map.at("Basic information"));
//m_tree->Append("extruders_count", type, _L("General"), _L("Capabilities"), local_label, old_val, new_val, category_icon_map.at("General"));
PresetItem pi = {type, "extruders_count", _L("General"), _L("Capabilities"), local_label, old_val, new_val};
m_presetitems.push_back(pi);
if (old_val != new_val) {
PresetItem pi = {type, "extruders_count", _L("General"), _L("Capabilities"), local_label, old_val, new_val};
m_presetitems.push_back(pi);
}
}
for (const std::string& opt_key : dirty_options) {
@ -1822,11 +1824,11 @@ FullCompareDialog::FullCompareDialog(const wxString& option_name, const wxString
static PresetCollection* get_preset_collection(Preset::Type type, PresetBundle* preset_bundle = nullptr) {
if (!preset_bundle)
preset_bundle = wxGetApp().preset_bundle;
return type == Preset::Type::TYPE_PRINT ? &preset_bundle->prints :
type == Preset::Type::TYPE_SLA_PRINT ? &preset_bundle->sla_prints :
return type == Preset::Type::TYPE_PRINTER ? &preset_bundle->printers :
type == Preset::Type::TYPE_FILAMENT ? &preset_bundle->filaments :
type == Preset::Type::TYPE_SLA_MATERIAL ? &preset_bundle->sla_materials :
type == Preset::Type::TYPE_PRINTER ? &preset_bundle->printers :
type == Preset::Type::TYPE_PRINT ? &preset_bundle->prints :
type == Preset::Type::TYPE_SLA_PRINT ? &preset_bundle->sla_prints :
nullptr;
}
@ -1842,7 +1844,7 @@ void DiffPresetDialog::create_presets_sizer()
{
m_presets_sizer = new wxBoxSizer(wxVERTICAL);
for (auto new_type : { Preset::TYPE_PRINT, Preset::TYPE_SLA_PRINT, Preset::TYPE_FILAMENT, Preset::TYPE_SLA_MATERIAL, Preset::TYPE_PRINTER })
for (auto new_type : { Preset::TYPE_PRINTER, Preset::TYPE_FILAMENT, Preset::TYPE_SLA_MATERIAL, Preset::TYPE_PRINT, Preset::TYPE_SLA_PRINT })
{
const PresetCollection* collection = get_preset_collection(new_type);
wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);