mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-07 06:57:36 -06:00
Allow specifying print order within each layer (#3685)
* Allow reordering objects regardless of print seq * Add option to control the layer print order * Sort object by their order in object list instead of id * Show print order when print order is the same as the object list * Ensure the print order when print order is same as object list * Update option name --------- Co-authored-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
parent
e92be73894
commit
26505e23ee
9 changed files with 54 additions and 28 deletions
|
@ -195,6 +195,12 @@ static t_config_enum_values s_keys_map_PrintSequence {
|
|||
};
|
||||
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(PrintSequence)
|
||||
|
||||
static t_config_enum_values s_keys_map_PrintOrder{
|
||||
{ "default", int(PrintOrder::Default) },
|
||||
{ "as_obj_list", int(PrintOrder::AsObjectList)},
|
||||
};
|
||||
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(PrintOrder)
|
||||
|
||||
static t_config_enum_values s_keys_map_SlicingMode {
|
||||
{ "regular", int(SlicingMode::Regular) },
|
||||
{ "even_odd", int(SlicingMode::EvenOdd) },
|
||||
|
@ -1171,6 +1177,17 @@ void PrintConfigDef::init_fff_params()
|
|||
def->mode = comSimple;
|
||||
def->set_default_value(new ConfigOptionEnum<PrintSequence>(PrintSequence::ByLayer));
|
||||
|
||||
def = this->add("print_order", coEnum);
|
||||
def->label = L("Layer order");
|
||||
def->tooltip = L("Print order within a single layer");
|
||||
def->enum_keys_map = &ConfigOptionEnum<PrintOrder>::get_enum_values();
|
||||
def->enum_values.push_back("default");
|
||||
def->enum_values.push_back("as_obj_list");
|
||||
def->enum_labels.push_back(L("Default"));
|
||||
def->enum_labels.push_back(L("As object list"));
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionEnum<PrintOrder>(PrintOrder::Default));
|
||||
|
||||
def = this->add("slow_down_for_layer_cooling", coBools);
|
||||
def->label = L("Slow printing down for better layer cooling");
|
||||
def->tooltip = L("Enable this option to slow printing speed down to make the final layer time not shorter than "
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue