mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-12 10:21:17 +00:00
feat(imex): topology-aware Tool 0 Position dropdown
For single-gantry IMEX setups, front/rear is meaningless — only left/right
matters. Collapse the imex_tool_layout dropdown to two items ("Left" / "Right",
mapped to front-left/front-right internally) when imex_gantry_count == 1, and
show all four corner items otherwise. Normalize stored rear-* selections to
their front-* equivalents on the transition so the displayed selection always
matches the persisted value.
Also rename the field label "Tool 0 Corner" → "Tool 0 Position" so it reads
correctly in both single- and dual-gantry contexts, with a tooltip that
explains the IDEX/IQEX distinction.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
f11011efac
commit
cb66867768
@@ -5821,10 +5821,12 @@ void PrintConfigDef::init_fff_params()
|
||||
def->set_default_value(new ConfigOptionInt(2));
|
||||
|
||||
def = this->add("imex_tool_layout", coEnum);
|
||||
def->label = L("Tool 0 Corner");
|
||||
def->tooltip = L("Physical corner of the bed where tool T0 (index 0) is located. "
|
||||
def->label = L("Tool 0 Position");
|
||||
def->tooltip = L("Physical position on the bed where tool T0 (index 0) is located. "
|
||||
"Determines how tool indices map to bed zones. "
|
||||
"front = lower Y (near the operator), rear = higher Y (back of machine).");
|
||||
"For single-gantry setups (IDEX) only left/right matters; "
|
||||
"for dual-gantry setups (IQEX) all four corners are selectable "
|
||||
"(front = lower Y / near the operator, rear = higher Y / back of machine).");
|
||||
def->mode = comAdvanced;
|
||||
def->enum_keys_map = &ConfigOptionEnum<ImexToolLayout>::get_enum_values();
|
||||
def->enum_values.push_back("front-left");
|
||||
|
||||
Reference in New Issue
Block a user