fix crashes

Signed-off-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
SoftFever 2023-09-30 09:52:20 +08:00
parent 59bab91da9
commit d6c4c4b46b
6 changed files with 22 additions and 13 deletions

View file

@ -786,7 +786,7 @@ void Layer::make_ironing()
// Check whether there is any non-solid hole in the regions.
bool internal_infill_solid = region_config.sparse_infill_density.value > 95.;
for (const Surface &surface : ironing_params.layerm->fill_surfaces.surfaces)
if ((!internal_infill_solid && surface.surface_type == stInternal) || surface.surface_type == stInternalBridge || surface.surface_type == stInternalVoid || surface.surface_type==stInternalWithLoop) {
if ((!internal_infill_solid && surface.surface_type == stInternal) || surface.surface_type == stInternalBridge || surface.surface_type == stInternalVoid) {
// Some fill region is not quite solid. Don't iron over the whole surface.
iron_completely = false;
break;

View file

@ -818,6 +818,7 @@ static std::vector<std::string> s_Preset_printer_options {
// BBS
"scan_first_layer", "machine_load_filament_time", "machine_unload_filament_time","time_cost", "machine_pause_gcode", "template_custom_gcode",
"nozzle_type", "nozzle_hrc","auxiliary_fan", "nozzle_volume","upward_compatible_machine", "z_hop_types", "retract_lift_enforce","support_chamber_temp_control","support_air_filtration","printer_structure",
"best_object_pos",
//SoftFever
"host_type", "print_host", "printhost_apikey",
"print_host_webui",

View file

@ -100,7 +100,6 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
"printable_area",
//BBS: add bed_exclude_area
"bed_exclude_area",
"thumbnail_size",
"before_layer_change_gcode",
"enable_pressure_advance",
"pressure_advance",
@ -179,12 +178,12 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
"wipe_distance",
"curr_bed_type",
"nozzle_volume",
"chamber_temperature",
"thumbnails",
"nozzle_hrc",
"required_nozzle_HRC",
"upward_compatible_machine",
// SoftFever
"chamber_temperature",
"thumbnails",
"seam_gap",
"role_based_wipe_speed",
"wipe_speed",

View file

@ -2061,13 +2061,6 @@ def = this->add("filament_loading_speed", coFloats);
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(false));
// BBS
def = this->add("thumbnail_size", coPoints);
def->label = L("Thumbnail size");
def->tooltip = L("Decides the size of thumbnail stored in gcode files");
def->mode = comDevelop;
def->gui_type = ConfigOptionDef::GUIType::one_string;
def->set_default_value(new ConfigOptionPoints{ Vec2d(50,50) });
//BBS
// def = this->add("spaghetti_detector", coBool);
@ -5063,6 +5056,22 @@ void PrintConfigDef::handle_legacy(t_config_option_key &opt_key, std::string &va
} else if(opt_key == "single_extruder_multi_material") {
value = "1";
}
else if (opt_key == "sparse_infill_anchor") {
opt_key = "infill_anchor";
}
else if (opt_key == "sparse_infill_anchor_max") {
opt_key = "infill_anchor_max";
}
else if (opt_key == "chamber_temperatures") {
opt_key = "chamber_temperature";
}
else if (opt_key == "thumbnail_size") {
opt_key = "thumbnails";
}
else if (opt_key == "top_one_wall_type" && value != "none") {
opt_key = "only_one_wall_top";
value = "1";
}
// Ignore the following obsolete configuration keys:
static std::set<std::string> ignore = {

View file

@ -273,7 +273,7 @@ void BackgroundSlicingProcess::process_sla()
//BBS: add plate id for thumbnail generation
ThumbnailsList thumbnails = this->render_thumbnails(
ThumbnailsParams{ current_print()->full_print_config().option<ConfigOptionPoints>("thumbnail_size")->values, true, true, true, true, 0 });
ThumbnailsParams{ current_print()->full_print_config().option<ConfigOptionPoints>("thumbnails")->values, true, true, true, true, 0 });
Zipper zipper(export_path);
m_sla_archive.export_print(zipper, *m_sla_print); // true, false, true, true); // renders also supports and pad

View file

@ -1363,7 +1363,7 @@ static wxString get_string_value(std::string opt_key, const DynamicPrintConfig&
else if (opt_key == "bed_exclude_area") {
return get_thumbnails_string(config.option<ConfigOptionPoints>(opt_key)->values);
}
else if (opt_key == "thumbnail_size") {
else if (opt_key == "thumbnails") {
return get_thumbnails_string(config.option<ConfigOptionPoints>(opt_key)->values);
}
Vec2d val = config.opt<ConfigOptionPoints>(opt_key)->get_at(opt_idx);