diff --git a/resources/images/custom-gcode_temperature.svg b/resources/images/custom-gcode_temperature.svg new file mode 100644 index 0000000000..d14cd1a31c --- /dev/null +++ b/resources/images/custom-gcode_temperature.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index ed6d80aec5..fc8354b094 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -6577,6 +6577,9 @@ OtherSlicingStatesConfigDef::OtherSlicingStatesConfigDef() // def = this->add("has_single_extruder_multi_material_priming", coBool); // def->label = L("Has single extruder MM priming"); // def->tooltip = L("Are the extra multi-material priming regions used in this print?"); + + new_def("initial_no_support_extruder", coInt, "Initial no support extruder", "Zero-based index of the first extruder used for printing without support. Same as initial_no_support_tool."); + new_def("in_head_wrap_detect_zone", coBool, "In head wrap detect zone", "Indicates if the first layer overlaps with the head wrap zone."); } PrintStatisticsConfigDef::PrintStatisticsConfigDef() @@ -6671,9 +6674,8 @@ ObjectsInfoConfigDef::ObjectsInfoConfigDef() def->label = L("Input filename without extension"); def->tooltip = L("Source filename of the first object, without extension."); - def = this->add("input_filename", coString); - def->label = L("Full input filename"); - def->tooltip = L("Source filename of the first object."); + new_def("input_filename", coString, "Full input filename", "Source filename of the first object."); + new_def("plate_name", coString, "Plate name", "Name of the plate sliced."); } DimensionsConfigDef::DimensionsConfigDef() @@ -6711,6 +6713,22 @@ DimensionsConfigDef::DimensionsConfigDef() def = this->add("print_bed_size", coFloats); def->label = L("Size of the print bed bounding box"); def->tooltip = bb_size_tooltip; + + new_def("first_layer_center_no_wipe_tower", coFloats, "First layer center without wipe tower", point_tooltip); + new_def("first_layer_height", coFloat, "First layer height", "Height of the first layer."); +} + +TemperaturesConfigDef::TemperaturesConfigDef() +{ + ConfigOptionDef* def; + + new_def("bed_temperature", coInts, "Bed temperature", "Vector of bed temperatures for each extruder/filament.") + new_def("bed_temperature_initial_layer", coInts, "Initial layer bed temperature", "Vector of initial layer bed temperatures for each extruder/filament. Provides the same value as first_layer_bed_temperature.") + new_def("bed_temperature_initial_layer_single", coInt, "Initial layer bed temperature (initial extruder)", "Initial layer bed temperature for the initial extruder. Same as bed_temperature_initial_layer[initial_extruder]") + new_def("chamber_temperature", coInts, "Chamber temperature", "Vector of chamber temperatures for each extruder/filament.") + new_def("overall_chamber_temperature", coInt, "Overall chamber temperature", "Overall chamber temperature. This value is the maximum chamber temperature of any extruder/filament used.") + new_def("first_layer_bed_temperature", coInts, "First layer bed temperature", "Vector of first layer bed temperatures for each extruder/filament. Provides the same value as bed_temperature_initial_layer.") + new_def("first_layer_temperature", coInts, "First layer temperature", "Vector of first layer temperatures for each extruder/filament.") } diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index 41d8830ca6..9a4207766a 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -1480,6 +1480,12 @@ public: DimensionsConfigDef(); }; +class TemperaturesConfigDef : public ConfigDef +{ +public: + TemperaturesConfigDef(); +}; + class TimestampsConfigDef : public ConfigDef { public: diff --git a/src/slic3r/GUI/EditGCodeDialog.cpp b/src/slic3r/GUI/EditGCodeDialog.cpp index 669bb84622..b5b6eb1d02 100644 --- a/src/slic3r/GUI/EditGCodeDialog.cpp +++ b/src/slic3r/GUI/EditGCodeDialog.cpp @@ -176,6 +176,14 @@ void EditGCodeDialog::init_params_list(const std::string& custom_gcode_name) m_params_list->AppendParam(dimensions, get_type(opt_key, def), opt_key); } + // Add temperature subgroup + + if (!cgp_temperatures_config_def.empty()) { + wxDataViewItem temperatures = m_params_list->AppendGroup(_L("Temperatures"), "custom-gcode_temperature"); + for (const auto& [opt_key, def] : cgp_temperatures_config_def.options) + m_params_list->AppendParam(temperatures, get_type(opt_key, def), opt_key); + } + // Add timestamp subgroup if (!cgp_timestamps_config_def.empty()) { @@ -296,6 +304,7 @@ void EditGCodeDialog::selection_changed(wxDataViewEvent& evt) &cgp_print_statistics_config_def, &cgp_objects_info_config_def, &cgp_dimensions_config_def, + &cgp_temperatures_config_def, &cgp_timestamps_config_def, &cgp_other_presets_config_def }) { diff --git a/src/slic3r/GUI/EditGCodeDialog.hpp b/src/slic3r/GUI/EditGCodeDialog.hpp index bceb694399..907a500f53 100644 --- a/src/slic3r/GUI/EditGCodeDialog.hpp +++ b/src/slic3r/GUI/EditGCodeDialog.hpp @@ -39,6 +39,7 @@ class EditGCodeDialog : public DPIDialog PrintStatisticsConfigDef cgp_print_statistics_config_def; ObjectsInfoConfigDef cgp_objects_info_config_def; DimensionsConfigDef cgp_dimensions_config_def; + TemperaturesConfigDef cgp_temperatures_config_def; TimestampsConfigDef cgp_timestamps_config_def; OtherPresetsConfigDef cgp_other_presets_config_def;