diff --git a/README.md b/README.md
index 30cf379a5c..b70b7cc431 100644
--- a/README.md
+++ b/README.md
@@ -52,11 +52,11 @@ If you come across any of these in search results, please report them as
Use varied infill [patterns](https://github.com/OrcaSlicer/OrcaSlicer/wiki/strength_settings_patterns) and accurate hole shapes for improved clarity.
- **[Overhang](https://github.com/OrcaSlicer/OrcaSlicer/wiki/quality_settings_overhangs) and [Support Optimization](https://github.com/OrcaSlicer/OrcaSlicer/wiki#support-settings)**
Modify geometry for printable overhangs with precise support placement.
-- **[Granular Controls](https://github.com/OrcaSlicer/OrcaSlicer/wiki#process-settings) and Customization**
+- **[Granular Controls](https://github.com/OrcaSlicer/OrcaSlicer/wiki#process-settings and Customization)**
Fine-tune print speed, layer height, pressure, and temperature with precision.
- **Network Printer Support**
Seamless integration with Klipper, PrusaLink, and OctoPrint for remote control.
-- **[Mouse Ear Brims](https://github.com/OrcaSlicer/OrcaSlicer/wiki/others_settings_brim) & Adaptive Bed Mesh**
+- **[Mouse Ear Brims](https://github.com/OrcaSlicer/OrcaSlicer/wiki/others_settings_brim) & [Adaptive Bed Mesh](https://github.com/OrcaSlicer/OrcaSlicer/wiki/printer_basic_information_adaptive_bed_mesh)**
Automatic brims and adaptive mesh calibration ensure consistent adhesion.
- **User-Friendly Interface**
Intuitive drag-and-drop design with pre-made profiles for popular printers.
@@ -68,9 +68,7 @@ If you come across any of these in search results, please report them as
# Wiki
-The wiki below aims to provide a detailed explanation of the slicer settings, including how to maximize their use and how to calibrate and set up your printer.
-
-Please note that the wiki is a work in progress. We appreciate your patience as we continue to develop and improve it!
+The [wiki](https://github.com/OrcaSlicer/OrcaSlicer/wiki) aims to provide a detailed explanation of the slicer settings, including how to maximize their use and how to calibrate and set up your printer.
- **[Access the wiki here](https://github.com/OrcaSlicer/OrcaSlicer/wiki)**
- **[Contribute to the wiki](https://github.com/OrcaSlicer/OrcaSlicer/wiki/How-to-wiki)**
diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp
index e1fadfd4c6..bcb2f833c7 100644
--- a/src/libslic3r/PrintConfig.cpp
+++ b/src/libslic3r/PrintConfig.cpp
@@ -10094,6 +10094,10 @@ OtherSlicingStatesConfigDef::OtherSlicingStatesConfigDef()
def->label = L("Is extruder used?");
def->tooltip = L("Vector of booleans stating whether a given extruder is used in the print.");
+ def = this->add("num_extruders", coInt);
+ def->label = L("Number of extruders");
+ def->tooltip = L("Total number of extruders, regardless of whether they are used in the current print.");
+
// Options from PS not used in Orca
// def = this->add("initial_filament_type", coString);
// def->label = L("Initial filament type");
@@ -10135,22 +10139,21 @@ PrintStatisticsConfigDef::PrintStatisticsConfigDef()
def->label = L("Total layer count");
def->tooltip = L("Number of layers in the entire print.");
- // Options from PS not used in Orca
- /* def = this->add("normal_print_time", coString);
+ def = this->add("normal_print_time", coString);
def->label = L("Print time (normal mode)");
def->tooltip = L("Estimated print time when printed in normal mode (i.e. not in silent mode). Same as print_time.");
- def = this->add("num_printing_extruders", coInt);
- def->label = L("Number of printing extruders");
- def->tooltip = L("Number of extruders used during the print.");
+ //def = this->add("num_printing_extruders", coInt);
+ //def->label = L("Number of printing extruders");
+ //def->tooltip = L("Number of extruders used during the print.");
def = this->add("print_time", coString);
def->label = L("Print time (normal mode)");
def->tooltip = L("Estimated print time when printed in normal mode (i.e. not in silent mode). Same as normal_print_time.");
- def = this->add("printing_filament_types", coString);
- def->label = L("Used filament types");
- def->tooltip = L("Comma-separated list of all filament types used during the print.");
+ //def = this->add("printing_filament_types", coString);
+ //def->label = L("Used filament types");
+ //def->tooltip = L("Comma-separated list of all filament types used during the print.");
def = this->add("silent_print_time", coString);
def->label = L("Print time (silent mode)");
@@ -10174,7 +10177,7 @@ PrintStatisticsConfigDef::PrintStatisticsConfigDef()
def = this->add("used_filament", coFloat);
def->label = L("Used filament");
- def->tooltip = L("Total length of filament used in the print.");*/
+ def->tooltip = L("Total length of filament used in the print.");
}
ObjectsInfoConfigDef::ObjectsInfoConfigDef()
@@ -10304,10 +10307,6 @@ OtherPresetsConfigDef::OtherPresetsConfigDef()
def = this->add("physical_printer_preset", coString);
def->label = L("Physical printer name");
def->tooltip = L("Name of the physical printer used for slicing.");
-
- def = this->add("num_extruders", coInt);
- def->label = L("Number of extruders");
- def->tooltip = L("Total number of extruders, regardless of whether they are used in the current print.");
}
diff --git a/src/slic3r/GUI/OG_CustomCtrl.cpp b/src/slic3r/GUI/OG_CustomCtrl.cpp
index 2d85b27e5e..8be287fd3d 100644
--- a/src/slic3r/GUI/OG_CustomCtrl.cpp
+++ b/src/slic3r/GUI/OG_CustomCtrl.cpp
@@ -931,7 +931,7 @@ wxCoord OG_CustomCtrl::CtrlLine::draw_text(wxDC &dc, wxPoint pos, const wxString
} else {
pos.y = pos.y + lround((height - size.y) / 2);
}
- if (width > 0)
+ if (width > 0 && is_main)
rect_label = wxRect(pos, wxSize(size.x, size.y));
wxColour old_clr = dc.GetTextForeground();
diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp
index f5f90f1acc..253a76a286 100644
--- a/src/slic3r/GUI/Tab.cpp
+++ b/src/slic3r/GUI/Tab.cpp
@@ -2406,7 +2406,7 @@ void TabPrint::build()
page = add_options_page(L("Strength"), "custom-gcode_strength"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Walls"), L"param_wall");
- optgroup->append_single_option_line("wall_loops", "strength_settings_walls#wall-loops");
+ optgroup->append_single_option_line("wall_loops", "strength_settings_walls#wall-loops");
optgroup->append_single_option_line("alternate_extra_wall", "strength_settings_walls#alternate-extra-wall");
optgroup->append_single_option_line("detect_thin_wall", "strength_settings_walls#detect-thin-wall");
@@ -2461,7 +2461,7 @@ void TabPrint::build()
page = add_options_page(L("Speed"), "custom-gcode_speed"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Initial layer speed"), L"param_speed_first", 15);
- optgroup->append_single_option_line("initial_layer_speed", "speed_settings_initial_layer_speed#initial-layer");
+ optgroup->append_single_option_line("initial_layer_speed", "speed_settings_initial_layer_speed#initial-layer");
optgroup->append_single_option_line("initial_layer_infill_speed", "speed_settings_initial_layer_speed#initial-layer-infill");
optgroup->append_single_option_line("initial_layer_travel_speed", "speed_settings_initial_layer_speed#initial-layer-travel-speed");
optgroup->append_single_option_line("slow_down_layers", "speed_settings_initial_layer_speed#number-of-slow-layers");
@@ -2527,7 +2527,7 @@ void TabPrint::build()
page = add_options_page(L("Support"), "custom-gcode_support"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Support"), L"param_support");
- optgroup->append_single_option_line("enable_support", "support_settings_support");
+ optgroup->append_single_option_line("enable_support", "support_settings_support");
optgroup->append_single_option_line("support_type", "support_settings_support#type");
optgroup->append_single_option_line("support_style", "support_settings_support#style");
optgroup->append_single_option_line("support_threshold_angle", "support_settings_support#threshold-angle");
@@ -2641,9 +2641,9 @@ void TabPrint::build()
optgroup->append_single_option_line("interlocking_depth", "multimaterial_settings_advanced#interlocking-depth");
optgroup->append_single_option_line("interlocking_boundary_avoidance", "multimaterial_settings_advanced#interlocking-boundary-avoidance");
-page = add_options_page(L("Others"), "custom-gcode_other"); // ORCA: icon only visible on placeholders
+ page = add_options_page(L("Others"), "custom-gcode_other"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Skirt"), L"param_skirt");
-optgroup->append_single_option_line("skirt_loops", "others_settings_skirt#loops");
+ optgroup->append_single_option_line("skirt_loops", "others_settings_skirt#loops");
optgroup->append_single_option_line("skirt_type", "others_settings_skirt#type");
optgroup->append_single_option_line("min_skirt_length", "others_settings_skirt#minimum-extrusion-length");
optgroup->append_single_option_line("skirt_distance", "others_settings_skirt#distance");
@@ -3821,26 +3821,26 @@ void TabFilament::build()
auto page = add_options_page(L("Filament"), "custom-gcode_filament"); // ORCA: icon only visible on placeholders
//BBS
auto optgroup = page->new_optgroup(L("Basic information"), L"param_information");
- optgroup->append_single_option_line("filament_type"); // ORCA use same width with other elements
- optgroup->append_single_option_line("filament_vendor");
- optgroup->append_single_option_line("filament_soluble");
+ optgroup->append_single_option_line("filament_type", "material_basic_information#type"); // ORCA use same width with other elements
+ optgroup->append_single_option_line("filament_vendor", "material_basic_information#vendor");
+ optgroup->append_single_option_line("filament_soluble", "material_basic_information#soluble-material");
// BBS
- optgroup->append_single_option_line("filament_is_support");
- optgroup->append_single_option_line("filament_change_length");
+ optgroup->append_single_option_line("filament_is_support", "material_basic_information#support-material");
+ optgroup->append_single_option_line("filament_change_length", "material_basic_information#filament-ramming-length");
//optgroup->append_single_option_line("filament_colour");
- optgroup->append_single_option_line("required_nozzle_HRC");
- optgroup->append_single_option_line("default_filament_colour");
- optgroup->append_single_option_line("filament_diameter");
- optgroup->append_single_option_line("filament_adhesiveness_category");
+ optgroup->append_single_option_line("required_nozzle_HRC", "material_basic_information#required-nozzle-hrc");
+ optgroup->append_single_option_line("default_filament_colour", "material_basic_information#default-color");
+ optgroup->append_single_option_line("filament_diameter", "material_basic_information#diameter");
+ optgroup->append_single_option_line("filament_adhesiveness_category", "material_basic_information#adhesiveness-category");
- optgroup->append_single_option_line("filament_density");
- optgroup->append_single_option_line("filament_shrink");
- optgroup->append_single_option_line("filament_shrinkage_compensation_z");
- optgroup->append_single_option_line("filament_cost");
+ optgroup->append_single_option_line("filament_density", "material_basic_information#density");
+ optgroup->append_single_option_line("filament_shrink", "material_basic_information#shrinkage-xy");
+ optgroup->append_single_option_line("filament_shrinkage_compensation_z", "material_basic_information#shrinkage-z");
+ optgroup->append_single_option_line("filament_cost", "material_basic_information#price");
//BBS
- optgroup->append_single_option_line("temperature_vitrification");
- optgroup->append_single_option_line("idle_temperature");
+ optgroup->append_single_option_line("temperature_vitrification", "material_basic_information#softening-temperature");
+ optgroup->append_single_option_line("idle_temperature", "material_basic_information#idle-temperature");
Line line = { L("Recommended nozzle temperature"), L("Recommended nozzle temperature range of this filament. 0 means no set") };
line.append_option(optgroup->get_option("nozzle_temperature_range_low"));
line.append_option(optgroup->get_option("nozzle_temperature_range_high"));
@@ -3858,16 +3858,16 @@ void TabFilament::build()
// Orca: New section to focus on flow rate and PA to declutter general section
optgroup = page->new_optgroup(L("Flow ratio and Pressure Advance"), L"param_flow_ratio_and_pressure_advance");
- optgroup->append_single_option_line("pellet_flow_coefficient", "pellet-flow-coefficient");
- optgroup->append_single_option_line("filament_flow_ratio", "", 0);
+ optgroup->append_single_option_line("pellet_flow_coefficient", "printer_basic_information_advanced#pellet-modded-printer");
+ optgroup->append_single_option_line("filament_flow_ratio", "material_flow_ratio_and_pressure_advance#flow-ratio", 0);
- optgroup->append_single_option_line("enable_pressure_advance", "pressure-advance-calib");
- optgroup->append_single_option_line("pressure_advance", "pressure-advance-calib");
+ optgroup->append_single_option_line("enable_pressure_advance", "material_flow_ratio_and_pressure_advance#pressure-advance");
+ optgroup->append_single_option_line("pressure_advance", "material_flow_ratio_and_pressure_advance#pressure-advance");
// Orca: adaptive pressure advance and calibration model
- optgroup->append_single_option_line("adaptive_pressure_advance", "adaptive-pressure-advance-calib");
- optgroup->append_single_option_line("adaptive_pressure_advance_overhangs", "adaptive-pressure-advance-calib");
- optgroup->append_single_option_line("adaptive_pressure_advance_bridges", "adaptive-pressure-advance-calib");
+ optgroup->append_single_option_line("adaptive_pressure_advance", "material_flow_ratio_and_pressure_advance#enable-adaptive-pressure-advance-beta");
+ optgroup->append_single_option_line("adaptive_pressure_advance_overhangs", "material_flow_ratio_and_pressure_advance##enable-adaptive-pressure-advance-for-overhangs-beta");
+ optgroup->append_single_option_line("adaptive_pressure_advance_bridges", "material_flow_ratio_and_pressure_advance#pressure-advance-for-bridges");
Option option = optgroup->get_option("adaptive_pressure_advance_model");
option.opt.full_width = true;
@@ -3877,11 +3877,12 @@ void TabFilament::build()
//
optgroup = page->new_optgroup(L("Print chamber temperature"), L"param_chamber_temp");
- optgroup->append_single_option_line("chamber_temperature", "chamber-temperature");
- optgroup->append_single_option_line("activate_chamber_temp_control", "chamber-temperature");
+ optgroup->append_single_option_line("chamber_temperature", "material_temperatures#print-chamber-temperature");
+ optgroup->append_single_option_line("activate_chamber_temp_control", "material_temperatures#print-chamber-temperature");
optgroup = page->new_optgroup(L("Print temperature"), L"param_extruder_temp");
line = { L("Nozzle"), L("Nozzle temperature when printing") };
+ line.label_path = "material_temperatures#nozzle";
line.append_option(optgroup->get_option("nozzle_temperature_initial_layer"));
line.append_option(optgroup->get_option("nozzle_temperature"));
optgroup->append_line(line);
@@ -3889,36 +3890,42 @@ void TabFilament::build()
optgroup = page->new_optgroup(L("Bed temperature"), L"param_bed_temp");
line = { L("Cool Plate (SuperTack)"),
L("Bed temperature when the Cool Plate SuperTack is installed. A value of 0 means the filament does not support printing on the Cool Plate SuperTack.") };
+ line.label_path = "material_temperatures#bed";
line.append_option(optgroup->get_option("supertack_plate_temp_initial_layer"));
line.append_option(optgroup->get_option("supertack_plate_temp"));
optgroup->append_line(line);
line = { L("Cool Plate"),
L("Bed temperature when the Cool Plate is installed. A value of 0 means the filament does not support printing on the Cool Plate.") };
+ line.label_path = "material_temperatures#bed";
line.append_option(optgroup->get_option("cool_plate_temp_initial_layer"));
line.append_option(optgroup->get_option("cool_plate_temp"));
optgroup->append_line(line);
line = { L("Textured Cool Plate"),
L("Bed temperature when the Textured Cool Plate is installed. A value of 0 means the filament does not support printing on the Textured Cool Plate.") };
+ line.label_path = "material_temperatures#bed";
line.append_option(optgroup->get_option("textured_cool_plate_temp_initial_layer"));
line.append_option(optgroup->get_option("textured_cool_plate_temp"));
optgroup->append_line(line);
line = { L("Engineering Plate"),
L("Bed temperature when the Engineering Plate is installed. A value of 0 means the filament does not support printing on the Engineering Plate.") };
+ line.label_path = "material_temperatures#bed";
line.append_option(optgroup->get_option("eng_plate_temp_initial_layer"));
line.append_option(optgroup->get_option("eng_plate_temp"));
optgroup->append_line(line);
line = { L("Smooth PEI Plate / High Temp Plate"),
L("Bed temperature when the Smooth PEI Plate/High Temperature Plate is installed. A value of 0 means the filament does not support printing on the Smooth PEI Plate/High Temp Plate.") };
+ line.label_path = "material_temperatures#bed";
line.append_option(optgroup->get_option("hot_plate_temp_initial_layer"));
line.append_option(optgroup->get_option("hot_plate_temp"));
optgroup->append_line(line);
line = { L("Textured PEI Plate"),
L("Bed temperature when the Textured PEI Plate is installed. A value of 0 means the filament does not support printing on the Textured PEI Plate.") };
+ line.label_path = "material_temperatures#bed";
line.append_option(optgroup->get_option("textured_plate_temp_initial_layer"));
line.append_option(optgroup->get_option("textured_plate_temp"));
optgroup->append_line(line);
@@ -3955,8 +3962,8 @@ void TabFilament::build()
//BBS
optgroup = page->new_optgroup(L("Volumetric speed limitation"), L"param_volumetric_speed");
- optgroup->append_single_option_line("filament_adaptive_volumetric_speed", "", 0);
- optgroup->append_single_option_line("filament_max_volumetric_speed");
+ optgroup->append_single_option_line("filament_adaptive_volumetric_speed", "material_volumetric_speed_limitation#adaptive-volumetric-speed", 0);
+ optgroup->append_single_option_line("filament_max_volumetric_speed", "material_volumetric_speed_limitation#max-volumetric-speed");
//line = { "", "" };
//line.full_width = 1;
@@ -3974,46 +3981,48 @@ void TabFilament::build()
//};
//optgroup->append_line(line);
optgroup = page->new_optgroup(L("Cooling for specific layer"), L"param_cooling_specific_layer");
- optgroup->append_single_option_line("close_fan_the_first_x_layers");
- optgroup->append_single_option_line("full_fan_speed_layer");
+ optgroup->append_single_option_line("close_fan_the_first_x_layers", "material_cooling#no-cooling-for-the-first");
+ optgroup->append_single_option_line("full_fan_speed_layer", "material_cooling#full-fan-speed-at-layer");
optgroup = page->new_optgroup(L("Part cooling fan"), L"param_cooling_part_fan");
line = { L("Min fan speed threshold"), L("Part cooling fan speed will start to run at min speed when the estimated layer time is no longer than the layer time in setting. When layer time is shorter than threshold, fan speed is interpolated between the minimum and maximum fan speed according to layer printing time") };
- line.label_path = "auto-cooling";
+ line.label_path = "material_cooling#material-part-cooling-fan";
line.append_option(optgroup->get_option("fan_min_speed"));
line.append_option(optgroup->get_option("fan_cooling_layer_time"));
optgroup->append_line(line);
line = { L("Max fan speed threshold"), L("Part cooling fan speed will be max when the estimated layer time is shorter than the setting value") };
- line.label_path = "auto-cooling";
+ line.label_path = "material_cooling#material-part-cooling-fan";
line.append_option(optgroup->get_option("fan_max_speed"));
line.append_option(optgroup->get_option("slow_down_layer_time"));
optgroup->append_line(line);
- optgroup->append_single_option_line("reduce_fan_stop_start_freq");
- optgroup->append_single_option_line("slow_down_for_layer_cooling");
- optgroup->append_single_option_line("dont_slow_down_outer_wall");
- optgroup->append_single_option_line("slow_down_min_speed");
+ optgroup->append_single_option_line("reduce_fan_stop_start_freq", "material_cooling#keep-fan-always-on");
+ optgroup->append_single_option_line("slow_down_for_layer_cooling", "material_cooling#slow-printing-down-for-better-layer-cooling");
+ optgroup->append_single_option_line("dont_slow_down_outer_wall", "material_cooling#dont-slow-down-outer-walls");
+ optgroup->append_single_option_line("slow_down_min_speed", "material_cooling#min-print-speed");
- optgroup->append_single_option_line("enable_overhang_bridge_fan");
- optgroup->append_single_option_line("overhang_fan_threshold");
- optgroup->append_single_option_line("overhang_fan_speed");
- optgroup->append_single_option_line("internal_bridge_fan_speed"); // ORCA: Add support for separate internal bridge fan speed control
- optgroup->append_single_option_line("support_material_interface_fan_speed");
- optgroup->append_single_option_line("ironing_fan_speed"); // ORCA: Add support for ironing fan speed control
+ optgroup->append_single_option_line("enable_overhang_bridge_fan", "material_cooling#force-cooling-for-overhangs-and-bridges");
+ optgroup->append_single_option_line("overhang_fan_threshold", "material_cooling#overhang-cooling-activation-threshold");
+ optgroup->append_single_option_line("overhang_fan_speed", "material_cooling#overhangs-and-external-bridges-fan-speed");
+ optgroup->append_single_option_line("internal_bridge_fan_speed", "material_cooling#internal-bridges-fan-speed"); // ORCA: Add support for separate internal bridge fan speed control
+ optgroup->append_single_option_line("support_material_interface_fan_speed", "material_cooling#support-interface-fan-speed");
+ optgroup->append_single_option_line("ironing_fan_speed", "material_cooling#ironing-fan-speed"); // ORCA: Add support for ironing fan speed control
optgroup = page->new_optgroup(L("Auxiliary part cooling fan"), L"param_cooling_aux_fan");
- optgroup->append_single_option_line("additional_cooling_fan_speed", "auxiliary-fan");
+ optgroup->append_single_option_line("additional_cooling_fan_speed", "material_cooling#auxiliary-part-cooling-fan");
optgroup = page->new_optgroup(L("Exhaust fan"),L"param_cooling_exhaust");
- optgroup->append_single_option_line("activate_air_filtration", "air-filtration");
+ optgroup->append_single_option_line("activate_air_filtration", "material_cooling#activate-air-filtration");
line = {L("During print"), ""};
line.append_option(optgroup->get_option("during_print_exhaust_fan_speed"));
+ line.label_path = "material_cooling#during-print";
optgroup->append_line(line);
line = {L("Complete print"), ""};
line.append_option(optgroup->get_option("complete_print_exhaust_fan_speed"));
+ line.label_path = "material_cooling#complete-print";
optgroup->append_line(line);
//BBS
add_filament_overrides_page();
@@ -4047,26 +4056,26 @@ void TabFilament::build()
page = add_options_page(L("Multimaterial"), "custom-gcode_multi_material"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Wipe tower parameters"), "param_tower");
- optgroup->append_single_option_line("filament_minimal_purge_on_wipe_tower");
+ optgroup->append_single_option_line("filament_minimal_purge_on_wipe_tower", "material_multimaterial#multimaterial-wipe-tower-parameters");
optgroup = page->new_optgroup(L("Multi Filament"));
// optgroup->append_single_option_line("filament_flush_temp", "", 0);
// optgroup->append_single_option_line("filament_flush_volumetric_speed", "", 0);
- optgroup->append_single_option_line("long_retractions_when_ec", "" , 0);
- optgroup->append_single_option_line("retraction_distances_when_ec", "" , 0);
+ optgroup->append_single_option_line("long_retractions_when_ec", "material_multimaterial#multi-filament" , 0);
+ optgroup->append_single_option_line("retraction_distances_when_ec", "material_multimaterial#multi-filament" , 0);
optgroup = page->new_optgroup(L("Tool change parameters with single extruder MM printers"), "param_toolchange");
- optgroup->append_single_option_line("filament_loading_speed_start", "semm");
- optgroup->append_single_option_line("filament_loading_speed", "semm");
- optgroup->append_single_option_line("filament_unloading_speed_start", "semm");
- optgroup->append_single_option_line("filament_unloading_speed", "semm");
- optgroup->append_single_option_line("filament_toolchange_delay", "semm");
- optgroup->append_single_option_line("filament_cooling_moves", "semm");
- optgroup->append_single_option_line("filament_cooling_initial_speed", "semm");
- optgroup->append_single_option_line("filament_cooling_final_speed", "semm");
- optgroup->append_single_option_line("filament_stamping_loading_speed");
- optgroup->append_single_option_line("filament_stamping_distance");
- create_line_with_widget(optgroup.get(), "filament_ramming_parameters", "", [this](wxWindow* parent) {
+ optgroup->append_single_option_line("filament_loading_speed_start", "material_multimaterial#loading-speed-at-the-start");
+ optgroup->append_single_option_line("filament_loading_speed", "material_multimaterial#loading-speed");
+ optgroup->append_single_option_line("filament_unloading_speed_start", "material_multimaterial#unloading-speed-at-the-start");
+ optgroup->append_single_option_line("filament_unloading_speed", "material_multimaterial#unloading-speed");
+ optgroup->append_single_option_line("filament_toolchange_delay", "material_multimaterial#delay-after-unloading");
+ optgroup->append_single_option_line("filament_cooling_moves", "material_multimaterial#number-of-cooling-moves");
+ optgroup->append_single_option_line("filament_cooling_initial_speed", "material_multimaterial#speed-of-the-first-cooling-move");
+ optgroup->append_single_option_line("filament_cooling_final_speed", "material_multimaterial#speed-of-the-last-cooling-move");
+ optgroup->append_single_option_line("filament_stamping_loading_speed", "material_multimaterial#stamping-loading-speed");
+ optgroup->append_single_option_line("filament_stamping_distance", "material_multimaterial#stamping-distance");
+ create_line_with_widget(optgroup.get(), "filament_ramming_parameters", "material_multimaterial#ramming-parameters", [this](wxWindow* parent) {
// ORCA modernize button style
Button* btn = new Button(parent, _(L("Set")) + " " + dots);
@@ -4086,9 +4095,9 @@ void TabFilament::build()
});
optgroup = page->new_optgroup(L("Tool change parameters with multi extruder MM printers"), "param_toolchange_multi_extruder");
- optgroup->append_single_option_line("filament_multitool_ramming");
- optgroup->append_single_option_line("filament_multitool_ramming_volume");
- optgroup->append_single_option_line("filament_multitool_ramming_flow");
+ optgroup->append_single_option_line("filament_multitool_ramming", "material_multimaterial#tool-change-parameters-with-multi-extruder");
+ optgroup->append_single_option_line("filament_multitool_ramming_volume", "material_multimaterial#multi-tool-ramming-volume");
+ optgroup->append_single_option_line("filament_multitool_ramming_flow", "material_multimaterial#multi-tool-ramming-flow");
page = add_options_page(L("Dependencies"), "advanced");
optgroup = page->new_optgroup(L("Compatible printers"), "param_dependencies_printers");
@@ -4098,7 +4107,7 @@ void TabFilament::build()
option = optgroup->get_option("compatible_printers_condition");
option.opt.full_width = true;
- optgroup->append_single_option_line(option);
+ optgroup->append_single_option_line(option, "material_dependencies#compatible-printers");
optgroup = page->new_optgroup(L("Compatible process profiles"), "param_dependencies_presets");
create_line_with_widget(optgroup.get(), "compatible_prints", "", [this](wxWindow* parent) {
@@ -4107,7 +4116,7 @@ void TabFilament::build()
option = optgroup->get_option("compatible_prints_condition");
option.opt.full_width = true;
- optgroup->append_single_option_line(option);
+ optgroup->append_single_option_line(option, "material_dependencies#compatible-process-profiles");
page = add_options_page(L("Notes"), "custom-gcode_note"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Notes"),"note", 0);
@@ -4341,28 +4350,28 @@ void TabPrinter::build_fff()
});
Option option = optgroup->get_option("bed_exclude_area");
option.opt.full_width = true;
- optgroup->append_single_option_line(option);
+ optgroup->append_single_option_line(option, "printer_basic_information_printable_space#excluded-bed-area");
// optgroup->append_single_option_line("printable_area");
- optgroup->append_single_option_line("printable_height");
- optgroup->append_single_option_line("support_multi_bed_types","bed-types");
- optgroup->append_single_option_line("best_object_pos");
+ optgroup->append_single_option_line("printable_height", "printer_basic_information_printable_space#printable-height");
+ optgroup->append_single_option_line("support_multi_bed_types","printer_basic_information_printable_space#support-multi-bed-types");
+ optgroup->append_single_option_line("best_object_pos", "printer_basic_information_printable_space#best-object-position");
// todo: for multi_extruder test
- optgroup->append_single_option_line("z_offset");
- optgroup->append_single_option_line("preferred_orientation");
+ optgroup->append_single_option_line("z_offset", "printer_basic_information_printable_space#z-offset");
+ optgroup->append_single_option_line("preferred_orientation", "printer_basic_information_printable_space#preferred-orientation");
optgroup = page->new_optgroup(L("Advanced"), L"param_advanced");
- optgroup->append_single_option_line("printer_structure");
- optgroup->append_single_option_line("gcode_flavor");
- optgroup->append_single_option_line("pellet_modded_printer", "pellet-flow-coefficient");
- optgroup->append_single_option_line("bbl_use_printhost");
- optgroup->append_single_option_line("scan_first_layer");
+ optgroup->append_single_option_line("printer_structure", "printer_basic_information_advanced#printer-structure");
+ optgroup->append_single_option_line("gcode_flavor", "printer_basic_information_advanced#g-code-flavor");
+ optgroup->append_single_option_line("pellet_modded_printer", "printer_basic_information_advanced#pellet-modded-printer");
+ optgroup->append_single_option_line("bbl_use_printhost", "printer_basic_information_advanced#use-3rd-party-print-host");
+ optgroup->append_single_option_line("scan_first_layer" , "printer_basic_information_advanced#scan-first-layer");
//option = optgroup->get_option("wrapping_exclude_area");
//option.opt.full_width = true;
//optgroup->append_single_option_line(option);
- optgroup->append_single_option_line("disable_m73");
+ optgroup->append_single_option_line("disable_m73", "printer_basic_information_advanced#disable-set-remaining-print-time");
option = optgroup->get_option("thumbnails");
option.opt.full_width = true;
- optgroup->append_single_option_line(option);
+ optgroup->append_single_option_line(option, "printer_basic_information_advanced#g-code-thumbnails");
// optgroup->append_single_option_line("thumbnails_format");
optgroup->m_on_change = [this](t_config_option_key opt_key, boost::any value) {
wxTheApp->CallAfter([this, opt_key, value]() {
@@ -4400,36 +4409,37 @@ void TabPrinter::build_fff()
});
};
- optgroup->append_single_option_line("use_relative_e_distances");
- optgroup->append_single_option_line("use_firmware_retraction");
- optgroup->append_single_option_line("bed_temperature_formula");
+ optgroup->append_single_option_line("use_relative_e_distances", "printer_basic_information_advanced#use-relative-e-distances");
+ optgroup->append_single_option_line("use_firmware_retraction", "printer_basic_information_advanced#use-firmware-retraction");
+ optgroup->append_single_option_line("bed_temperature_formula", "printer_basic_information_advanced#bed-temperature-type");
// optgroup->append_single_option_line("spaghetti_detector");
- optgroup->append_single_option_line("time_cost");
+ optgroup->append_single_option_line("time_cost", "printer_basic_information_advanced#time-cost");
optgroup = page->new_optgroup(L("Cooling Fan"), "param_cooling_fan");
Line line = Line{ L("Fan speed-up time"), optgroup->get_option("fan_speedup_time").opt.tooltip };
+ line.label_path = "printer_basic_information_cooling_fan#fan-speed-up-time";
line.append_option(optgroup->get_option("fan_speedup_time"));
line.append_option(optgroup->get_option("fan_speedup_overhangs"));
optgroup->append_line(line);
- optgroup->append_single_option_line("fan_kickstart");
+ optgroup->append_single_option_line("fan_kickstart", "printer_basic_information_cooling_fan#fan-kick-start-time");
optgroup = page->new_optgroup(L("Extruder Clearance"), "param_extruder_clearance");
- optgroup->append_single_option_line("extruder_clearance_radius");
- optgroup->append_single_option_line("extruder_clearance_height_to_rod");
- optgroup->append_single_option_line("extruder_clearance_height_to_lid");
+ optgroup->append_single_option_line("extruder_clearance_radius", "printer_basic_information_extruder_clearance#radius");
+ optgroup->append_single_option_line("extruder_clearance_height_to_rod", "printer_basic_information_extruder_clearance#height-to-rod");
+ optgroup->append_single_option_line("extruder_clearance_height_to_lid", "printer_basic_information_extruder_clearance#height-to-lid");
optgroup = page->new_optgroup(L("Adaptive bed mesh"), "param_adaptive_mesh");
- optgroup->append_single_option_line("bed_mesh_min", "adaptive-bed-mesh");
- optgroup->append_single_option_line("bed_mesh_max", "adaptive-bed-mesh");
- optgroup->append_single_option_line("bed_mesh_probe_distance", "adaptive-bed-mesh");
- optgroup->append_single_option_line("adaptive_bed_mesh_margin", "adaptive-bed-mesh");
+ optgroup->append_single_option_line("bed_mesh_min", "printer_basic_information_adaptive_bed_mesh#bed-mesh");
+ optgroup->append_single_option_line("bed_mesh_max", "printer_basic_information_adaptive_bed_mesh#bed-mesh");
+ optgroup->append_single_option_line("bed_mesh_probe_distance", "printer_basic_information_adaptive_bed_mesh#probe-point-distance");
+ optgroup->append_single_option_line("adaptive_bed_mesh_margin", "printer_basic_information_adaptive_bed_mesh#mesh-margin");
optgroup = page->new_optgroup(L("Accessory"), "param_accessory");
- optgroup->append_single_option_line("nozzle_type");
- optgroup->append_single_option_line("nozzle_hrc");
- optgroup->append_single_option_line("auxiliary_fan", "auxiliary-fan");
- optgroup->append_single_option_line("support_chamber_temp_control", "chamber-temperature");
- optgroup->append_single_option_line("support_air_filtration", "air-filtration");
+ optgroup->append_single_option_line("nozzle_type", "printer_basic_information_accessory#nozzle-type");
+ optgroup->append_single_option_line("nozzle_hrc", "printer_basic_information_accessory#nozzle-hrc");
+ optgroup->append_single_option_line("auxiliary_fan", "printer_basic_information_accessory#auxiliary-part-cooling-fan");
+ optgroup->append_single_option_line("support_chamber_temp_control", "printer_basic_information_accessory#support-controlling-chamber-temperature");
+ optgroup->append_single_option_line("support_air_filtration", "printer_basic_information_accessory#support-air-filtration");
auto edit_custom_gcode_fn = [this](const t_config_option_key& opt_key) { edit_custom_gcode(opt_key); };
@@ -4445,7 +4455,7 @@ void TabPrinter::build_fff()
option.opt.full_width = true;
option.opt.is_code = true;
option.opt.height = gcode_field_height;//150;
- optgroup->append_single_option_line(option);
+ optgroup->append_single_option_line(option, "printer_machine_gcode#machine-start-g-code");
optgroup = page->new_optgroup(L("Machine end G-code"), L"param_gcode", 0);
optgroup->m_on_change = [this, &optgroup_title = optgroup->title](const t_config_option_key& opt_key, const boost::any& value) {
@@ -4456,7 +4466,7 @@ void TabPrinter::build_fff()
option.opt.full_width = true;
option.opt.is_code = true;
option.opt.height = gcode_field_height;//150;
- optgroup->append_single_option_line(option);
+ optgroup->append_single_option_line(option, "printer_machine_gcode#machine-end-g-code");
optgroup = page->new_optgroup(L("Printing by object G-code"), L"param_gcode", 0);
optgroup->m_on_change = [this, optgroup](const t_config_option_key &opt_key, const boost::any &value) {
@@ -4467,7 +4477,7 @@ void TabPrinter::build_fff()
option.opt.full_width = true;
option.opt.is_code = true;
option.opt.height = gcode_field_height; // 150;
- optgroup->append_single_option_line(option);
+ optgroup->append_single_option_line(option, "printer_machine_gcode#printing-by-object-g-code");
optgroup = page->new_optgroup(L("Before layer change G-code"),"param_gcode", 0);
@@ -4479,7 +4489,7 @@ void TabPrinter::build_fff()
option.opt.full_width = true;
option.opt.is_code = true;
option.opt.height = gcode_field_height;//150;
- optgroup->append_single_option_line(option);
+ optgroup->append_single_option_line(option, "printer_machine_gcode#before-layer-change-g-code");
optgroup = page->new_optgroup(L("Layer change G-code"), L"param_gcode", 0);
optgroup->m_on_change = [this, &optgroup_title = optgroup->title](const t_config_option_key& opt_key, const boost::any& value) {
@@ -4490,7 +4500,7 @@ void TabPrinter::build_fff()
option.opt.full_width = true;
option.opt.is_code = true;
option.opt.height = gcode_field_height;//150;
- optgroup->append_single_option_line(option);
+ optgroup->append_single_option_line(option, "printer_machine_gcode#layer-change-g-code");
optgroup = page->new_optgroup(L("Timelapse G-code"), L"param_gcode", 0);
optgroup->m_on_change = [this, &optgroup_title = optgroup->title](const t_config_option_key& opt_key, const boost::any& value) {
@@ -4501,7 +4511,7 @@ void TabPrinter::build_fff()
option.opt.full_width = true;
option.opt.is_code = true;
option.opt.height = gcode_field_height;//150;
- optgroup->append_single_option_line(option);
+ optgroup->append_single_option_line(option, "printer_machine_gcode#timelapse-g-code");
optgroup = page->new_optgroup(L("Clumping Detection G-code"), L"param_gcode", 0);
optgroup->m_on_change = [this, optgroup](const t_config_option_key &opt_key, const boost::any &value) {
@@ -4512,7 +4522,7 @@ void TabPrinter::build_fff()
option.opt.full_width = true;
option.opt.is_code = true;
option.opt.height = gcode_field_height; // 150;
- optgroup->append_single_option_line(option);
+ optgroup->append_single_option_line(option, "printer_machine_gcode#clumping-detection-g-code");
optgroup = page->new_optgroup(L("Change filament G-code"), L"param_gcode", 0);
optgroup->m_on_change = [this, &optgroup_title = optgroup->title](const t_config_option_key& opt_key, const boost::any& value) {
@@ -4523,7 +4533,7 @@ void TabPrinter::build_fff()
option.opt.full_width = true;
option.opt.is_code = true;
option.opt.height = gcode_field_height;//150;
- optgroup->append_single_option_line(option);
+ optgroup->append_single_option_line(option, "printer_machine_gcode#change-filament-g-code");
optgroup = page->new_optgroup(L("Change extrusion role G-code"), L"param_gcode", 0);
optgroup->m_on_change = [this, &optgroup_title = optgroup->title](const t_config_option_key &opt_key, const boost::any &value) {
@@ -4534,7 +4544,7 @@ void TabPrinter::build_fff()
option.opt.full_width = true;
option.opt.is_code = true;
option.opt.height = gcode_field_height;//150;
- optgroup->append_single_option_line(option);
+ optgroup->append_single_option_line(option, "printer_machine_gcode#change-extrusion-role-g-code");
optgroup = page->new_optgroup(L("Pause G-code"), L"param_gcode", 0);
optgroup->m_on_change = [this, &optgroup_title = optgroup->title](const t_config_option_key& opt_key, const boost::any& value) {
@@ -4544,7 +4554,7 @@ void TabPrinter::build_fff()
option = optgroup->get_option("machine_pause_gcode");
option.opt.is_code = true;
option.opt.height = gcode_field_height;//150;
- optgroup->append_single_option_line(option);
+ optgroup->append_single_option_line(option, "printer_machine_gcode#pause-g-code");
optgroup = page->new_optgroup(L("Template Custom G-code"), L"param_gcode", 0);
optgroup->m_on_change = [this, &optgroup_title = optgroup->title](const t_config_option_key& opt_key, const boost::any& value) {
@@ -4554,7 +4564,7 @@ void TabPrinter::build_fff()
option = optgroup->get_option("template_custom_gcode");
option.opt.is_code = true;
option.opt.height = gcode_field_height;//150;
- optgroup->append_single_option_line(option);
+ optgroup->append_single_option_line(option, "printer_machine_gcode#template-custom-g-code");
page = add_options_page(L("Notes"), "custom-gcode_note"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Notes"), "note", 0);
@@ -4657,10 +4667,11 @@ void TabPrinter::extruders_count_changed(size_t extruders_count)
}
}
-void TabPrinter::append_option_line(ConfigOptionsGroupShp optgroup, const std::string opt_key)
+void TabPrinter::append_option_line(ConfigOptionsGroupShp optgroup, const std::string opt_key, const std::string& label_path)
{
auto option = optgroup->get_option(opt_key, 0);
auto line = Line{ option.opt.full_label, "" };
+ line.label_path = label_path;
line.append_option(option);
if (m_use_silent_mode
|| m_printer_technology == ptSLA // just for first build, if SLA printer preset is selected
@@ -4697,14 +4708,15 @@ PageShp TabPrinter::build_kinematics_page()
optgroup->append_line(line);
}
auto optgroup = page->new_optgroup(L("Advanced"), "param_advanced");
- optgroup->append_single_option_line("emit_machine_limits_to_gcode");
+ optgroup->append_single_option_line("emit_machine_limits_to_gcode", "printer_motion_ability#emit-limits-to-g-code");
// resonance avoidance ported over from qidi slicer
optgroup = page->new_optgroup(L("Resonance Avoidance"), "param_resonance_avoidance");
- optgroup->append_single_option_line("resonance_avoidance");
+ optgroup->append_single_option_line("resonance_avoidance", "printer_motion_ability_resonance_avoidance#resonance-avoidance");
// Resonance‑avoidance speed inputs
{
Line resonance_line = {L("Resonance Avoidance Speed"), L""};
+ resonance_line.label_path = "printer_motion_ability_resonance_avoidance#resonance-avoidance-speed";
resonance_line.append_option(optgroup->get_option("min_resonance_avoidance_speed"));
resonance_line.append_option(optgroup->get_option("max_resonance_avoidance_speed"));
optgroup->append_line(resonance_line);
@@ -4718,23 +4730,23 @@ PageShp TabPrinter::build_kinematics_page()
};
optgroup = page->new_optgroup(L("Speed limitation"), "param_speed");
for (const std::string &speed_axis : speed_axes) {
- append_option_line(optgroup, speed_axis);
+ append_option_line(optgroup, speed_axis, "printer_motion_ability#speed-limitation");
}
const std::vector axes{ "x", "y", "z", "e" };
optgroup = page->new_optgroup(L("Acceleration limitation"), "param_acceleration");
for (const std::string &axis : axes) {
- append_option_line(optgroup, "machine_max_acceleration_" + axis);
+ append_option_line(optgroup, "machine_max_acceleration_" + axis, "printer_motion_ability#acceleration-limitation");
}
- append_option_line(optgroup, "machine_max_acceleration_extruding");
- append_option_line(optgroup, "machine_max_acceleration_retracting");
- append_option_line(optgroup, "machine_max_acceleration_travel");
+ append_option_line(optgroup, "machine_max_acceleration_extruding", "printer_motion_ability#acceleration-limitation");
+ append_option_line(optgroup, "machine_max_acceleration_retracting", "printer_motion_ability#acceleration-limitation");
+ append_option_line(optgroup, "machine_max_acceleration_travel", "printer_motion_ability#acceleration-limitation");
optgroup = page->new_optgroup(L("Jerk limitation"), "param_jerk");
// machine max junction deviation
- append_option_line(optgroup, "machine_max_junction_deviation");
+ append_option_line(optgroup, "machine_max_junction_deviation", "printer_motion_ability#maximum-junction-deviation");
for (const std::string &axis : axes) {
- append_option_line(optgroup, "machine_max_jerk_" + axis);
+ append_option_line(optgroup, "machine_max_jerk_" + axis, "printer_motion_ability#maximum-jerk");
}
//optgroup = page->new_optgroup(L("Minimum feedrates"));
@@ -4789,7 +4801,7 @@ if (is_marlin_flavor)
// create a page, but pretend it's an extruder page, so we can add it to m_pages ourselves
auto page = add_options_page(L("Multimaterial"), "custom-gcode_multi_material", true); // ORCA: icon only visible on placeholders
auto optgroup = page->new_optgroup(L("Single extruder multi-material setup"), "param_multi_material");
- optgroup->append_single_option_line("single_extruder_multi_material", "semm");
+ optgroup->append_single_option_line("single_extruder_multi_material", "printer_multimaterial_setup#single-extruder-multi-material");
ConfigOptionDef def;
def.type = coInt, def.set_default_value(new ConfigOptionInt((int) m_extruders_count));
def.label = L("Extruders");
@@ -4798,7 +4810,7 @@ if (is_marlin_flavor)
def.max = MAXIMUM_EXTRUDER_NUMBER;
def.mode = comAdvanced;
Option option(def, "extruders_count");
- optgroup->append_single_option_line(option);
+ optgroup->append_single_option_line(option, "printer_multimaterial_setup#extruders");
// Orca: rebuild missed extruder pages
optgroup->m_on_change = [this, optgroup_wk = ConfigOptionsGroupWkp(optgroup)](t_config_option_key opt_key, boost::any value) {
@@ -4872,24 +4884,24 @@ if (is_marlin_flavor)
}
});
};
- optgroup->append_single_option_line("manual_filament_change", "semm#manual-filament-change");
+ optgroup->append_single_option_line("manual_filament_change", "printer_multimaterial_setup#manual-filament-change");
optgroup = page->new_optgroup(L("Wipe tower"), "param_tower");
- optgroup->append_single_option_line("purge_in_prime_tower", "semm");
- optgroup->append_single_option_line("enable_filament_ramming", "semm");
+ optgroup->append_single_option_line("purge_in_prime_tower", "printer_multimaterial_wipe_tower#purge-in-prime-tower");
+ optgroup->append_single_option_line("enable_filament_ramming", "printer_multimaterial_wipe_tower#enable-filament-ramming");
optgroup = page->new_optgroup(L("Single extruder multi-material parameters"), "param_settings");
- optgroup->append_single_option_line("cooling_tube_retraction", "semm");
- optgroup->append_single_option_line("cooling_tube_length", "semm");
- optgroup->append_single_option_line("parking_pos_retraction", "semm");
- optgroup->append_single_option_line("extra_loading_move", "semm");
- optgroup->append_single_option_line("high_current_on_filament_swap", "semm");
+ optgroup->append_single_option_line("cooling_tube_retraction", "printer_multimaterial_semm_parameters#cooling-tube-position");
+ optgroup->append_single_option_line("cooling_tube_length", "printer_multimaterial_semm_parameters#cooling-tube-length");
+ optgroup->append_single_option_line("parking_pos_retraction", "printer_multimaterial_semm_parameters#filament-parking-positions");
+ optgroup->append_single_option_line("extra_loading_move", "printer_multimaterial_semm_parameters#extra-loading-distance");
+ optgroup->append_single_option_line("high_current_on_filament_swap", "printer_multimaterial_semm_parameters#high-extruder-current-on-filament-swap");
optgroup = page->new_optgroup(L("Advanced"), L"param_advanced");
- optgroup->append_single_option_line("machine_load_filament_time");
- optgroup->append_single_option_line("machine_unload_filament_time");
- optgroup->append_single_option_line("machine_tool_change_time");
+ optgroup->append_single_option_line("machine_load_filament_time", "printer_multimaterial_advanced#filament-load-time");
+ optgroup->append_single_option_line("machine_unload_filament_time", "printer_multimaterial_advanced#filament-unload-time");
+ optgroup->append_single_option_line("machine_tool_change_time", "printer_multimaterial_advanced#tool-change-time");
m_pages.insert(m_pages.end() - n_after_single_extruder_MM, page);
}
@@ -4903,14 +4915,14 @@ if (is_marlin_flavor)
m_pages.insert(m_pages.begin() + n_before_extruders + extruder_idx, page);
auto optgroup = page->new_optgroup(L("Basic information"), L"param_information", -1, true);
- optgroup->append_single_option_line("nozzle_diameter", "", extruder_idx);
+ optgroup->append_single_option_line("nozzle_diameter", "printer_extruder_basic_information#nozzle-diameter", extruder_idx);
//optgroup->append_single_option_line("nozzle_volume_type", "", extruder_idx);
- optgroup->append_single_option_line("nozzle_volume", "", extruder_idx);
- optgroup->append_single_option_line("extruder_printable_height", "", extruder_idx);
+ optgroup->append_single_option_line("nozzle_volume", "printer_extruder_basic_information#nozzle-volume", extruder_idx);
+ optgroup->append_single_option_line("extruder_printable_height", "printer_extruder_basic_information#extruder-layer-height-limits", extruder_idx);
Option option = optgroup->get_option("extruder_printable_area", extruder_idx);
option.opt.full_width = true;
- optgroup->append_single_option_line(option);
+ optgroup->append_single_option_line(option, "printer_extruder_basic_information#extruder-offset-position");
optgroup->m_on_change = [this, extruder_idx](const t_config_option_key& opt_key, boost::any value)
{
@@ -4951,38 +4963,38 @@ if (is_marlin_flavor)
};
optgroup = page->new_optgroup(L("Layer height limits"), L"param_layer_height");
- optgroup->append_single_option_line("min_layer_height", "", extruder_idx);
- optgroup->append_single_option_line("max_layer_height", "", extruder_idx);
+ optgroup->append_single_option_line("min_layer_height", "printer_extruder_basic_information#extruder-layer-height-limits", extruder_idx);
+ optgroup->append_single_option_line("max_layer_height", "printer_extruder_basic_information#extruder-layer-height-limits", extruder_idx);
optgroup = page->new_optgroup(L("Position"), L"param_position");
- optgroup->append_single_option_line("extruder_offset", "", extruder_idx);
+ optgroup->append_single_option_line("extruder_offset", "printer_extruder_basic_information#extruder-offset-position", extruder_idx);
//BBS: don't show retract related config menu in machine page
optgroup = page->new_optgroup(L("Retraction"), L"param_retraction");
- optgroup->append_single_option_line("retraction_length", "", extruder_idx);
- optgroup->append_single_option_line("retract_restart_extra", "", extruder_idx);
- optgroup->append_single_option_line("retraction_speed", "", extruder_idx);
- optgroup->append_single_option_line("deretraction_speed", "", extruder_idx);
- optgroup->append_single_option_line("retraction_minimum_travel", "", extruder_idx);
- optgroup->append_single_option_line("retract_when_changing_layer", "", extruder_idx);
- optgroup->append_single_option_line("wipe", "", extruder_idx);
- optgroup->append_single_option_line("wipe_distance", "", extruder_idx);
- optgroup->append_single_option_line("retract_before_wipe", "", extruder_idx);
+ optgroup->append_single_option_line("retraction_length", "printer_extruder_retraction#length", extruder_idx);
+ optgroup->append_single_option_line("retract_restart_extra", "printer_extruder_retraction#extra-length-on-restart", extruder_idx);
+ optgroup->append_single_option_line("retraction_speed", "printer_extruder_retraction#retraction-speed", extruder_idx);
+ optgroup->append_single_option_line("deretraction_speed", "printer_extruder_retraction#deretraction-speed", extruder_idx);
+ optgroup->append_single_option_line("retraction_minimum_travel", "printer_extruder_retraction#travel-distance-threshold", extruder_idx);
+ optgroup->append_single_option_line("retract_when_changing_layer", "printer_extruder_retraction#retract-on-layer-change", extruder_idx);
+ optgroup->append_single_option_line("wipe", "printer_extruder_retraction#wipe-while-retracting", extruder_idx);
+ optgroup->append_single_option_line("wipe_distance", "printer_extruder_retraction#wipe-distance", extruder_idx);
+ optgroup->append_single_option_line("retract_before_wipe", "printer_extruder_retraction#retract-amount-before-wipe", extruder_idx);
optgroup = page->new_optgroup(L("Z-Hop"), L"param_extruder_lift_enforcement");
- optgroup->append_single_option_line("retract_lift_enforce", "", extruder_idx);
- optgroup->append_single_option_line("z_hop_types", "", extruder_idx);
- optgroup->append_single_option_line("z_hop", "", extruder_idx);
- optgroup->append_single_option_line("travel_slope", "", extruder_idx);
- optgroup->append_single_option_line("retract_lift_above", "", extruder_idx);
- optgroup->append_single_option_line("retract_lift_below", "", extruder_idx);
+ optgroup->append_single_option_line("retract_lift_enforce", "printer_extruder_z_hop#on-surfaces", extruder_idx);
+ optgroup->append_single_option_line("z_hop_types", "printer_extruder_z_hop#z-hop-type", extruder_idx);
+ optgroup->append_single_option_line("z_hop", "printer_extruder_z_hop#z-hop-height", extruder_idx);
+ optgroup->append_single_option_line("travel_slope", "printer_extruder_z_hop#traveling-angle", extruder_idx);
+ optgroup->append_single_option_line("retract_lift_above", "printer_extruder_z_hop#only-lift-z-above", extruder_idx);
+ optgroup->append_single_option_line("retract_lift_below", "printer_extruder_z_hop#only-lift-z-below", extruder_idx);
optgroup = page->new_optgroup(L("Retraction when switching material"), L"param_retraction_material_change");
- optgroup->append_single_option_line("retract_length_toolchange", "", extruder_idx);
- optgroup->append_single_option_line("retract_restart_extra_toolchange", "", extruder_idx);
+ optgroup->append_single_option_line("retract_length_toolchange", "printer_extruder_retraction#retraction-when-switching-materials", extruder_idx);
+ optgroup->append_single_option_line("retract_restart_extra_toolchange", "printer_extruder_retraction#retraction-when-switching-materials", extruder_idx);
// do not display this params now
- optgroup->append_single_option_line("long_retractions_when_cut", "", extruder_idx);
- optgroup->append_single_option_line("retraction_distances_when_cut", "", extruder_idx);
+ optgroup->append_single_option_line("long_retractions_when_cut", "printer_extruder_retraction#long-retraction-when-cut-beta", extruder_idx);
+ optgroup->append_single_option_line("retraction_distances_when_cut", "printer_extruder_retraction#long-retraction-when-cut-beta", extruder_idx);
#if 0
//optgroup = page->new_optgroup(L("Preview"), -1, true);
diff --git a/src/slic3r/GUI/Tab.hpp b/src/slic3r/GUI/Tab.hpp
index dbcff30352..824ef2df9f 100644
--- a/src/slic3r/GUI/Tab.hpp
+++ b/src/slic3r/GUI/Tab.hpp
@@ -592,7 +592,7 @@ class TabPrinter : public Tab
{
private:
bool m_use_silent_mode = false;
- void append_option_line(ConfigOptionsGroupShp optgroup, const std::string opt_key);
+ void append_option_line(ConfigOptionsGroupShp optgroup, const std::string opt_key, const std::string& label_path = "");
bool m_rebuild_kinematics_page = false;
ogStaticText* m_fff_print_host_upload_description_line {nullptr};