mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-06 16:57:11 +00:00
Replace hand-rolled nozzle type comparison + Hybrid hack with BBS-style NozzleGroupInfo comparison in check_ams_status_impl. Previous approach: direct nozzle_volume_type == printer_flow_type with a Hybrid tolerance lambda. This either suppressed the dialog entirely (Hybrid always matched) or showed it on every Preview switch. New approach (matching BBS): - Build preset NozzleGroupInfo from extruder_nozzle_stats config - For Hybrid presets: expand into per-type counts (Std#N, HF#M) - nozzle_count==0 (never synced): dialog appears for first sync - nozzle_count>0 (after sync): compare with printer GetNozzleGroups() - Counts match → dialog suppressed on Prepare↔Preview switches Safe for all multi-extruder printers (H2C, H2D): non-Hybrid presets use single NozzleGroupInfo per extruder. Single-extruder printers exit at is_multi_extruders() guard before reaching this code. Reference to BBS: BambuStudio/src/slic3r/GUI/Plater.cpp is_extruder_stat_synced() line 16642