mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2026-02-16 01:19:47 -07:00
Fix option nullable
This commit is contained in:
parent
dd08cca05e
commit
56d8bd8fbe
14 changed files with 36 additions and 36 deletions
|
|
@ -1591,7 +1591,7 @@ int CLI::run(int argc, char **argv)
|
|||
current_process_name = config.option<ConfigOptionString>("print_settings_id")->value;
|
||||
current_printer_model = config.option<ConfigOptionString>("printer_model", true)->value;
|
||||
current_filaments_name = config.option<ConfigOptionStrings>("filament_settings_id")->values;
|
||||
current_extruder_count = config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();
|
||||
current_extruder_count = config.option<ConfigOptionFloats>("nozzle_diameter")->values.size();
|
||||
current_printer_variant_count = config.option<ConfigOptionStrings>("printer_extruder_variant", true)->values.size();
|
||||
current_print_variant_count = config.option<ConfigOptionStrings>("print_extruder_variant", true)->values.size();
|
||||
current_is_multi_extruder = current_extruder_count > 1;
|
||||
|
|
@ -2834,8 +2834,8 @@ int CLI::run(int argc, char **argv)
|
|||
flush_and_exit(ret);
|
||||
}
|
||||
}
|
||||
if (m_print_config.option<ConfigOptionFloatsNullable>("nozzle_diameter")) {
|
||||
new_extruder_count = m_print_config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();
|
||||
if (m_print_config.option<ConfigOptionFloats>("nozzle_diameter")) {
|
||||
new_extruder_count = m_print_config.option<ConfigOptionFloats>("nozzle_diameter")->values.size();
|
||||
new_is_multi_extruder = new_extruder_count > 1;
|
||||
new_printer_extruder_variants = m_print_config.option<ConfigOptionStrings>("printer_extruder_variant", true)->values;
|
||||
new_printer_variant_count = new_printer_extruder_variants.size();
|
||||
|
|
|
|||
|
|
@ -7899,7 +7899,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
|
|||
add_vector(stream, nozzle_volume_types);
|
||||
stream << "\"/>\n";
|
||||
|
||||
auto* nozzle_diameter_option = dynamic_cast<const ConfigOptionFloatsNullable*>(config.option("nozzle_diameter"));
|
||||
auto* nozzle_diameter_option = dynamic_cast<const ConfigOptionFloats*>(config.option("nozzle_diameter"));
|
||||
std::string nozzle_diameters_str;
|
||||
if (nozzle_diameter_option)
|
||||
nozzle_diameters_str = nozzle_diameter_option->serialize();
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ DynamicPrintConfig PresetBundle::construct_full_config(
|
|||
filament_maps.resize(num_filaments, 1);
|
||||
}
|
||||
|
||||
auto *extruder_diameter = dynamic_cast<const ConfigOptionFloatsNullable *>(out.option("nozzle_diameter"));
|
||||
auto *extruder_diameter = dynamic_cast<const ConfigOptionFloats *>(out.option("nozzle_diameter"));
|
||||
// Collect the "compatible_printers_condition" and "inherits" values over all presets (print, filaments, printers) into a single vector.
|
||||
std::vector<std::string> compatible_printers_condition;
|
||||
std::vector<std::string> compatible_prints_condition;
|
||||
|
|
|
|||
|
|
@ -1556,7 +1556,7 @@ Print::ApplyStatus Print::apply(const Model &model, DynamicPrintConfig new_full_
|
|||
// The PrintObject already exists and the copies differ.
|
||||
PrintBase::ApplyStatus status = (*it_old)->print_object->set_instances(std::move(new_instances.instances));
|
||||
if (status != PrintBase::APPLY_STATUS_UNCHANGED) {
|
||||
size_t extruder_num = new_full_config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->size();
|
||||
size_t extruder_num = new_full_config.option<ConfigOptionFloats>("nozzle_diameter")->size();
|
||||
update_apply_status(status == PrintBase::APPLY_STATUS_INVALIDATED);
|
||||
}
|
||||
print_objects_new.emplace_back((*it_old)->print_object);
|
||||
|
|
|
|||
|
|
@ -980,7 +980,7 @@ void AmsMapingPopup::update_ams_data_multi_machines()
|
|||
void AmsMapingPopup::update_title(MachineObject* obj)
|
||||
{
|
||||
const auto& full_config = wxGetApp().preset_bundle->full_config();
|
||||
size_t nozzle_nums = full_config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();
|
||||
size_t nozzle_nums = full_config.option<ConfigOptionFloats>("nozzle_diameter")->values.size();
|
||||
if (nozzle_nums > 1)
|
||||
{
|
||||
if (m_show_type == ShowType::LEFT)
|
||||
|
|
|
|||
|
|
@ -2878,7 +2878,7 @@ wxWindow *CreatePrinterPresetDialog::create_page2_dialog_buttons(wxWindow *paren
|
|||
if (printer_variant)
|
||||
printer_variant->value = printer_nozzle_name;
|
||||
|
||||
auto nozzle_diameter = dynamic_cast<ConfigOptionFloatsNullable *>(m_printer_preset->config.option("nozzle_diameter", true));
|
||||
auto nozzle_diameter = dynamic_cast<ConfigOptionFloats *>(m_printer_preset->config.option("nozzle_diameter", true));
|
||||
if (nozzle_diameter) {
|
||||
std::unordered_map<std::string, float>::const_iterator iter = nozzle_diameter_map.find(printer_nozzle_name);
|
||||
if (nozzle_diameter_map.end() != iter) {
|
||||
|
|
@ -2935,7 +2935,7 @@ bool CreatePrinterPresetDialog::data_init()
|
|||
if (iter != m_printer_name_to_preset.end()) {
|
||||
std::shared_ptr<Preset> printer_preset = iter->second;
|
||||
if (printer_preset) {
|
||||
auto nozzle_diameter = dynamic_cast<ConfigOptionFloatsNullable *>(printer_preset->config.option("nozzle_diameter", true));
|
||||
auto nozzle_diameter = dynamic_cast<ConfigOptionFloats *>(printer_preset->config.option("nozzle_diameter", true));
|
||||
return nozzle_diameter->values.size();
|
||||
}
|
||||
}
|
||||
|
|
@ -3048,7 +3048,7 @@ wxArrayString CreatePrinterPresetDialog::printer_preset_sort_with_nozzle_diamete
|
|||
if (iter != m_printer_name_to_preset.end()) {
|
||||
std::shared_ptr<Preset> printer_preset = iter->second;
|
||||
if (printer_preset) {
|
||||
auto nozzle_diameter = dynamic_cast<ConfigOptionFloatsNullable *>(printer_preset->config.option("nozzle_diameter", true));
|
||||
auto nozzle_diameter = dynamic_cast<ConfigOptionFloats *>(printer_preset->config.option("nozzle_diameter", true));
|
||||
return nozzle_diameter->values.size();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ static bool should_pop_up()
|
|||
{
|
||||
const auto &preset_bundle = wxGetApp().preset_bundle;
|
||||
const auto &full_config = preset_bundle->full_config();
|
||||
const auto nozzle_diameters = full_config.option<ConfigOptionFloatsNullable>("nozzle_diameter");
|
||||
const auto nozzle_diameters = full_config.option<ConfigOptionFloats>("nozzle_diameter");
|
||||
return nozzle_diameters->size() > 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ extern std::string& get_right_extruder_unprintable_text();
|
|||
bool try_pop_up_before_slice(bool is_slice_all, Plater* plater_ref, PartPlate* partplate_ref, bool force_pop_up)
|
||||
{
|
||||
auto full_config = wxGetApp().preset_bundle->full_config();
|
||||
const auto nozzle_diameters = full_config.option<ConfigOptionFloatsNullable>("nozzle_diameter");
|
||||
const auto nozzle_diameters = full_config.option<ConfigOptionFloats>("nozzle_diameter");
|
||||
if (nozzle_diameters->size() <= 1)
|
||||
return true;
|
||||
|
||||
|
|
|
|||
|
|
@ -1867,7 +1867,7 @@ bool PartPlate::check_mixture_filament_compatible(const DynamicPrintConfig &conf
|
|||
|
||||
bool PartPlate::check_compatible_of_nozzle_and_filament(const DynamicPrintConfig &config, const std::vector<std::string> &filament_presets, std::string &error_msg)
|
||||
{
|
||||
float nozzle_diameter = config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values[0];
|
||||
float nozzle_diameter = config.option<ConfigOptionFloats>("nozzle_diameter")->values[0];
|
||||
auto volume_type_opt = config.option<ConfigOptionEnumsGeneric>("nozzle_volume_type");
|
||||
|
||||
auto get_filament_alias = [](std::string preset_name) -> std::string {
|
||||
|
|
|
|||
|
|
@ -6230,7 +6230,7 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_
|
|||
|
||||
double preset_nozzle_diameter = 0.4;
|
||||
const ConfigOption *opt = printer_preset.config.option("nozzle_diameter");
|
||||
if (opt) preset_nozzle_diameter = static_cast<const ConfigOptionFloatsNullable *>(opt)->values[0];
|
||||
if (opt) preset_nozzle_diameter = static_cast<const ConfigOptionFloats *>(opt)->values[0];
|
||||
float machine_nozzle_diameter = obj->GetExtderSystem()->GetNozzleDiameter(0);
|
||||
|
||||
std::string machine_type = obj->printer_type;
|
||||
|
|
@ -8555,7 +8555,7 @@ void Plater::priv::on_select_preset(wxCommandEvent &evt)
|
|||
PresetBundle *preset_bundle = wxGetApp().preset_bundle;
|
||||
Preset& cur_preset = preset_bundle->printers.get_edited_preset();
|
||||
if (cur_preset.get_printer_type(preset_bundle) == obj->get_show_printer_type()) {
|
||||
double preset_nozzle_diameter = cur_preset.config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values[0];
|
||||
double preset_nozzle_diameter = cur_preset.config.option<ConfigOptionFloats>("nozzle_diameter")->values[0];
|
||||
bool same_nozzle_diameter = true;
|
||||
|
||||
const auto& extruders = obj->GetExtderSystem()->GetExtruders();
|
||||
|
|
@ -15408,8 +15408,8 @@ void Plater::on_config_change(const DynamicPrintConfig &config)
|
|||
t_config_option_keys diff_keys = p->config->diff(config);
|
||||
|
||||
size_t old_nozzle_size = 1, new_nozzle_size = 1;
|
||||
auto * opt_old = p->config->option<ConfigOptionFloatsNullable>("nozzle_diameter");
|
||||
auto * opt_new = config.option<ConfigOptionFloatsNullable>("nozzle_diameter");
|
||||
auto * opt_old = p->config->option<ConfigOptionFloats>("nozzle_diameter");
|
||||
auto * opt_new = config.option<ConfigOptionFloats>("nozzle_diameter");
|
||||
if (opt_old && opt_new) {
|
||||
old_nozzle_size = opt_old->values.size();
|
||||
new_nozzle_size = opt_new->values.size();
|
||||
|
|
|
|||
|
|
@ -221,7 +221,7 @@ void SyncAmsInfoDialog::deal_ok()
|
|||
bool SyncAmsInfoDialog::get_is_double_extruder()
|
||||
{
|
||||
const auto &full_config = wxGetApp().preset_bundle->full_config();
|
||||
size_t nozzle_nums = full_config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();
|
||||
size_t nozzle_nums = full_config.option<ConfigOptionFloats>("nozzle_diameter")->values.size();
|
||||
bool use_double_extruder = nozzle_nums > 1 ? true : false;
|
||||
return use_double_extruder;
|
||||
}
|
||||
|
|
@ -1226,7 +1226,7 @@ bool SyncAmsInfoDialog::do_ams_mapping(MachineObject *obj_)
|
|||
|
||||
const auto &full_config = wxGetApp().preset_bundle->full_config();
|
||||
const auto &project_config = wxGetApp().preset_bundle->project_config;
|
||||
size_t nozzle_nums = full_config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();
|
||||
size_t nozzle_nums = full_config.option<ConfigOptionFloats>("nozzle_diameter")->values.size();
|
||||
m_filaments_map = wxGetApp().plater()->get_partplate_list().get_curr_plate()->get_real_filament_maps(project_config);
|
||||
|
||||
int filament_result = 0;
|
||||
|
|
@ -1415,7 +1415,7 @@ bool SyncAmsInfoDialog::build_nozzles_info(std::string &nozzles_info)
|
|||
|
||||
PresetBundle *preset_bundle = wxGetApp().preset_bundle;
|
||||
if (!preset_bundle) return false;
|
||||
auto opt_nozzle_diameters = preset_bundle->printers.get_edited_preset().config.option<ConfigOptionFloatsNullable>("nozzle_diameter");
|
||||
auto opt_nozzle_diameters = preset_bundle->printers.get_edited_preset().config.option<ConfigOptionFloats>("nozzle_diameter");
|
||||
if (opt_nozzle_diameters == nullptr) {
|
||||
BOOST_LOG_TRIVIAL(error) << "build_nozzles_info, opt_nozzle_diameters is nullptr";
|
||||
return false;
|
||||
|
|
@ -1907,7 +1907,7 @@ bool SyncAmsInfoDialog::is_same_nozzle_diameters(NozzleType &tag_nozzle_type, fl
|
|||
|
||||
try {
|
||||
PresetBundle *preset_bundle = wxGetApp().preset_bundle;
|
||||
auto opt_nozzle_diameters = preset_bundle->printers.get_edited_preset().config.option<ConfigOptionFloatsNullable>("nozzle_diameter");
|
||||
auto opt_nozzle_diameters = preset_bundle->printers.get_edited_preset().config.option<ConfigOptionFloats>("nozzle_diameter");
|
||||
|
||||
const ConfigOptionEnumsGenericNullable *nozzle_type = preset_bundle->printers.get_edited_preset().config.option<ConfigOptionEnumsGenericNullable>("nozzle_type");
|
||||
std::vector<std::string> preset_nozzle_types(nozzle_type->size());
|
||||
|
|
@ -2379,7 +2379,7 @@ void SyncAmsInfoDialog::update_show_status()
|
|||
if (m_ams_mapping_result.empty()) { do_ams_mapping(obj_); }
|
||||
|
||||
const auto &full_config = wxGetApp().preset_bundle->full_config();
|
||||
size_t nozzle_nums = full_config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();
|
||||
size_t nozzle_nums = full_config.option<ConfigOptionFloats>("nozzle_diameter")->values.size();
|
||||
|
||||
// the nozzle type of preset and machine are different
|
||||
if (nozzle_nums > 1) {
|
||||
|
|
@ -2730,7 +2730,7 @@ void SyncAmsInfoDialog::reset_and_sync_ams_list()
|
|||
if (!dev_manager) return;
|
||||
MachineObject *obj_ = dev_manager->get_selected_machine();
|
||||
const auto & full_config = wxGetApp().preset_bundle->full_config();
|
||||
size_t nozzle_nums = full_config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();
|
||||
size_t nozzle_nums = full_config.option<ConfigOptionFloats>("nozzle_diameter")->values.size();
|
||||
if (nozzle_nums > 1) {
|
||||
m_mapping_popup.set_show_type(ShowType::LEFT_AND_RIGHT);//special
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1908,23 +1908,23 @@ void Tab::on_value_change(const std::string& opt_key, const boost::any& value)
|
|||
if (m_preset_bundle->get_printer_extruder_count() > 1){
|
||||
int extruder_idx = std::atoi(opt_key.substr(opt_key.find_last_of('#') + 1).c_str());
|
||||
if (opt_key.find("min_layer_height") != std::string::npos) {
|
||||
auto min_layer_height_from_nozzle = m_preset_bundle->full_config().option<ConfigOptionFloatsNullable>("min_layer_height")->values;
|
||||
auto min_layer_height_from_nozzle = m_preset_bundle->full_config().option<ConfigOptionFloats>("min_layer_height")->values;
|
||||
if (extruder_idx < min_layer_height_from_nozzle.size()) {
|
||||
double value = min_layer_height_from_nozzle[extruder_idx];
|
||||
std::fill(min_layer_height_from_nozzle.begin(), min_layer_height_from_nozzle.end(), value);
|
||||
}
|
||||
auto new_conf = *m_config;
|
||||
new_conf.set_key_value("min_layer_height", new ConfigOptionFloatsNullable(min_layer_height_from_nozzle));
|
||||
new_conf.set_key_value("min_layer_height", new ConfigOptionFloats(min_layer_height_from_nozzle));
|
||||
m_config_manipulation.apply(m_config, &new_conf);
|
||||
}
|
||||
else if (opt_key.find("max_layer_height") != std::string::npos) {
|
||||
auto max_layer_height_from_nozzle = m_preset_bundle->full_config().option<ConfigOptionFloatsNullable>("max_layer_height")->values;
|
||||
auto max_layer_height_from_nozzle = m_preset_bundle->full_config().option<ConfigOptionFloats>("max_layer_height")->values;
|
||||
if (extruder_idx < max_layer_height_from_nozzle.size()) {
|
||||
double value = max_layer_height_from_nozzle[extruder_idx];
|
||||
std::fill(max_layer_height_from_nozzle.begin(), max_layer_height_from_nozzle.end(), value);
|
||||
}
|
||||
auto new_conf = *m_config;
|
||||
new_conf.set_key_value("max_layer_height", new ConfigOptionFloatsNullable(max_layer_height_from_nozzle));
|
||||
new_conf.set_key_value("max_layer_height", new ConfigOptionFloats(max_layer_height_from_nozzle));
|
||||
m_config_manipulation.apply(m_config, &new_conf);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -212,7 +212,7 @@ wxString WipingDialog::BuildTableObjStr()
|
|||
auto full_config = wxGetApp().preset_bundle->full_config();
|
||||
auto filament_colors = full_config.option<ConfigOptionStrings>("filament_colour")->values;
|
||||
auto flush_multiplier = full_config.option<ConfigOptionFloats>("flush_multiplier")->values;
|
||||
int nozzle_num = full_config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();
|
||||
int nozzle_num = full_config.option<ConfigOptionFloats>("nozzle_diameter")->values.size();
|
||||
auto raw_matrix_data = full_config.option<ConfigOptionFloats>("flush_volumes_matrix")->values;
|
||||
auto nozzle_flush_dataset = full_config.option<ConfigOptionIntsNullable>("nozzle_flush_dataset")->values;
|
||||
|
||||
|
|
|
|||
|
|
@ -273,7 +273,7 @@ static bool check_nozzle_diameter_and_type(const DynamicPrintConfig &full_config
|
|||
static void init_multi_extruder_params_for_cali(DynamicPrintConfig& config, const CalibInfo& calib_info)
|
||||
{
|
||||
int extruder_count = 1;
|
||||
auto nozzle_diameters_opt = dynamic_cast<const ConfigOptionFloatsNullable*>(config.option("nozzle_diameter"));
|
||||
auto nozzle_diameters_opt = dynamic_cast<const ConfigOptionFloats*>(config.option("nozzle_diameter"));
|
||||
if (nozzle_diameters_opt != nullptr) {
|
||||
extruder_count = (int)(nozzle_diameters_opt->size());
|
||||
}
|
||||
|
|
@ -761,7 +761,7 @@ void CalibUtils::calib_pa_pattern(const CalibInfo &calib_info, Model& model)
|
|||
|
||||
int index = get_index_for_extruder_parameter(print_config, "outer_wall_speed", calib_info.extruder_id, calib_info.extruder_type, calib_info.nozzle_volume_type);
|
||||
float wall_speed = CalibPressureAdvance::find_optimal_PA_speed(full_config, print_config.get_abs_value("line_width"), print_config.get_abs_value("layer_height"), calib_info.extruder_id, 0);
|
||||
ConfigOptionFloatsNullable *wall_speed_speed_opt = print_config.option<ConfigOptionFloatsNullable>("outer_wall_speed");
|
||||
ConfigOptionFloats *wall_speed_speed_opt = print_config.option<ConfigOptionFloats>("outer_wall_speed");
|
||||
wall_speed_speed_opt->values[index] = wall_speed;
|
||||
|
||||
for (const auto& opt : SuggestedConfigCalibPAPattern().nozzle_ratio_pairs) {
|
||||
|
|
@ -800,8 +800,8 @@ void CalibUtils::set_for_auto_pa_model_and_config(const std::vector<CalibInfo> &
|
|||
{
|
||||
DynamicPrintConfig print_config = calib_infos[0].print_prest->config;
|
||||
|
||||
float nozzle_diameter = full_config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->get_at(0);
|
||||
int extruder_count = full_config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();
|
||||
float nozzle_diameter = full_config.option<ConfigOptionFloats>("nozzle_diameter")->get_at(0);
|
||||
int extruder_count = full_config.option<ConfigOptionFloats>("nozzle_diameter")->values.size();
|
||||
|
||||
for (const auto opt : SuggestedConfigCalibPAPattern().float_pairs) { print_config.set_key_value(opt.first, new ConfigOptionFloat(opt.second)); }
|
||||
|
||||
|
|
@ -815,11 +815,11 @@ void CalibUtils::set_for_auto_pa_model_and_config(const std::vector<CalibInfo> &
|
|||
float wall_speed = CalibPressureAdvance::find_optimal_PA_speed(full_config, print_config.get_abs_value("line_width"), print_config.get_abs_value("layer_height"),
|
||||
calib_info.extruder_id, 0);
|
||||
|
||||
ConfigOptionFloatsNullable *wall_speed_speed_opt = print_config.option<ConfigOptionFloatsNullable>("outer_wall_speed");
|
||||
ConfigOptionFloats *wall_speed_speed_opt = print_config.option<ConfigOptionFloats>("outer_wall_speed");
|
||||
std::vector<double> new_speeds = wall_speed_speed_opt->values;
|
||||
new_speeds[index] = wall_speed;
|
||||
ModelObject* object = model.objects[calib_info.index];
|
||||
object->config.set_key_value("outer_wall_speed", new ConfigOptionFloatsNullable(new_speeds));
|
||||
object->config.set_key_value("outer_wall_speed", new ConfigOptionFloats(new_speeds));
|
||||
}
|
||||
|
||||
for (const auto opt : SuggestedConfigCalibPAPattern().nozzle_ratio_pairs) {
|
||||
|
|
@ -983,7 +983,7 @@ bool CalibUtils::calib_generic_auto_pa_cali(const std::vector<CalibInfo> &calib_
|
|||
else if (params.mode == CalibMode::Calib_Auto_PA_Line)
|
||||
js["cali_type"] = "cali_auto_pa_line";
|
||||
|
||||
const ConfigOptionFloatsNullable *nozzle_diameter_config = printer_config.option<ConfigOptionFloatsNullable>("nozzle_diameter");
|
||||
const ConfigOptionFloats *nozzle_diameter_config = printer_config.option<ConfigOptionFloats>("nozzle_diameter");
|
||||
assert(nozzle_diameter_config->values.size() > 0);
|
||||
float nozzle_diameter = nozzle_diameter_config->values[0];
|
||||
|
||||
|
|
@ -1484,7 +1484,7 @@ bool CalibUtils::check_printable_status_before_cali(const MachineObject* obj, co
|
|||
return false;
|
||||
}
|
||||
|
||||
const ConfigOptionFloatsNullable *nozzle_diameter_config = cali_info.printer_prest->config.option<ConfigOptionFloatsNullable>("nozzle_diameter");
|
||||
const ConfigOptionFloats *nozzle_diameter_config = cali_info.printer_prest->config.option<ConfigOptionFloats>("nozzle_diameter");
|
||||
float nozzle_diameter = nozzle_diameter_config->values[0];
|
||||
|
||||
float diameter = obj->GetExtderSystem()->GetNozzleDiameter(cali_info.extruder_id);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue