mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-08-03 08:12:07 +00:00
The upstream _make_wipe_tower() tracked purge volumes per-extruder (2 slots), which collapsed all H2C carousel filaments into one slot and caused massive redundant AMS flushing (~40g instead of ~0.4g). Changes: - Print.cpp: Replace per-extruder nozzle_cur_filament_ids with BBS NozzleStatusRecorder that tracks per group_id (carousel slot 0..6). Use get_nozzle_for_filament() to resolve physical slot per layer. Select filament_prime_volume_nc for nozzle changes, filament_prime_volume for filament changes (BBS pattern). - PrintConfig.hpp/cpp: Register filament_prime_volume (per-filament EC prime volume, default 45mm³) matching BBS PrintConfig. - Preset.cpp: Add filament_prime_volume to preset keys list. Safe for non-carousel printers: group_id == extruder_id when each extruder has one nozzle, so NozzleStatusRecorder behaves identically to the original per-extruder tracking. Reference to BBS: BambuStudio/src/libslic3r/Print.cpp _make_wipe_tower() L3341-3392
_orca-test-repo
@ 0dfd8df467