mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-11 18:01:14 +00:00
feat: iMEX temperature handling and pre-slice warnings
Temperature emission (GCode.cpp, PrintConfig.cpp, ConfigManipulation.cpp): - Set temperatures for all active tools in layer_change_gcode for iMEX parallel modes (primary + secondary carriages) - Fix filament temperature commands so Layer 1 temperatures only emit on the first layer; subsequent layers use normal layer-change temperatures - Remove stray temperature commands that fired outside the intended context - Consolidate iMEX temperature handling into the second-layer transition; clean up emission logic and naming throughout Pre-slice warning dialogs (PartPlate.cpp/hpp, Plater.cpp): - Collect per-plate IMEX warnings before slicing: multi-material conflict, bed temperature mismatch between carriages (>5 °C delta), and filament type incompatibility - Show a dismissible Yes/No dialog from both "Slice Plate" and "Slice All" actions; No returns to 3D view, Yes proceeds to slice - Refresh plate thumbnails after the panel switch so previously-generated thumbnails are not left black Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
5aa624b025
commit
ad0b42fd37
@@ -10511,16 +10511,16 @@ OtherSlicingStatesConfigDef::OtherSlicingStatesConfigDef()
|
||||
new_def("in_head_wrap_detect_zone", coBool, "In head wrap detect zone", "Indicates if the first layer overlaps with the head wrap zone.");
|
||||
|
||||
def = this->add("imex_mode", coString);
|
||||
def->label = L("iMEX active mode");
|
||||
def->tooltip = L("Name of the active iMEX parallel print mode for this plate (e.g. 'primary', 'mirror', 'copy'). Empty string if iMEX is not enabled.");
|
||||
def->label = L("IMEX active mode");
|
||||
def->tooltip = L("Name of the active IMEX parallel print mode for this plate (e.g. 'primary', 'mirror', 'copy'). Empty string if IMEX is not enabled.");
|
||||
|
||||
def = this->add("imex_mode_index", coInt);
|
||||
def->label = L("iMEX active mode index");
|
||||
def->tooltip = L("Zero-based index of the active iMEX parallel print mode within imex_mode_names.");
|
||||
def->label = L("IMEX active mode index");
|
||||
def->tooltip = L("Zero-based index of the active IMEX parallel print mode within imex_mode_names.");
|
||||
|
||||
def = this->add("imex_mode_gcode", coString);
|
||||
def->label = L("iMEX active mode G-code");
|
||||
def->tooltip = L("The raw mode G-code template for the active iMEX parallel print mode, after placeholder evaluation. Globals defined here flow into machine_start_gcode.");
|
||||
def->label = L("IMEX active mode G-code");
|
||||
def->tooltip = L("The raw mode G-code template for the active IMEX parallel print mode, after placeholder evaluation. Globals defined here flow into machine_start_gcode.");
|
||||
}
|
||||
|
||||
PrintStatisticsConfigDef::PrintStatisticsConfigDef()
|
||||
|
||||
Reference in New Issue
Block a user