mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-08-06 01:27:40 +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:
@@ -7995,6 +7995,15 @@ void PrintConfigDef::init_fff_params()
|
||||
def->mode = comDevelop;
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
// Reference to BBS: BambuStudio/src/libslic3r/PrintConfig.cpp L2617-2624
|
||||
def = this->add("filament_prime_volume", coFloats);
|
||||
def->label = L("Filament change");
|
||||
def->tooltip = L("The volume of material required to prime the extruder on the tower, excluding a hotend change.");
|
||||
def->sidetext = L("mm³");
|
||||
def->min = 1.0;
|
||||
def->mode = comSimple;
|
||||
def->set_default_value(new ConfigOptionFloats{45.});
|
||||
|
||||
def = this->add("filament_prime_volume_nc", coFloats);
|
||||
def->label = L("Hotend change");
|
||||
def->tooltip = L("The volume of material required to prime the extruder for a hotend change on the tower.");
|
||||
|
||||
Reference in New Issue
Block a user