mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-08-05 09:07:39 +00:00
fix: port BBS NozzleStatusRecorder pattern for per-carousel-slot purge tracking
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
This commit is contained in:
@@ -1837,6 +1837,8 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE(
|
||||
// BBS: wipe tower is only used for priming
|
||||
((ConfigOptionFloat, prime_volume))
|
||||
// Nozzle-change (nc) prime volume + pre-heat delta
|
||||
// Reference to BBS: BambuStudio/src/libslic3r/PrintConfig.hpp L1524-1525
|
||||
((ConfigOptionFloats, filament_prime_volume))
|
||||
((ConfigOptionFloats, filament_prime_volume_nc))
|
||||
((ConfigOptionFloatsNullable, filament_preheat_temperature_delta))
|
||||
((ConfigOptionFloats, flush_multiplier))
|
||||
|
||||
Reference in New Issue
Block a user