mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-08-15 06:45:59 +08:00
Fix Bridge flow calibration text with first layer height of 0.3 for a 0.4 nozzle
supermerill/SuperSlicer#1462
This commit is contained in:
parent
6b0326e77c
commit
f3a11c3684
@ -143,6 +143,21 @@ void CalibrationBridgeDialog::create_geometry(std::string setting_to_test, bool
|
|||||||
model.objects[objs_idx[i]]->config.set_key_value("no_perimeter_unsupported_algo", new ConfigOptionEnum<NoPerimeterUnsupportedAlgo>(npuaBridges));
|
model.objects[objs_idx[i]]->config.set_key_value("no_perimeter_unsupported_algo", new ConfigOptionEnum<NoPerimeterUnsupportedAlgo>(npuaBridges));
|
||||||
model.objects[objs_idx[i]]->config.set_key_value("top_fill_pattern", new ConfigOptionEnum<InfillPattern>(ipSmooth));
|
model.objects[objs_idx[i]]->config.set_key_value("top_fill_pattern", new ConfigOptionEnum<InfillPattern>(ipSmooth));
|
||||||
}
|
}
|
||||||
|
/// if first ayer height is excatly at the wrong value, the text isn't drawed. Fix that by switching the first layer height just a little bit.
|
||||||
|
double first_layer_height = print_config->get_computed_value("first_layer_height", 0);
|
||||||
|
double layer_height = nozzle_diameter * 0.5;
|
||||||
|
if (layer_height > 0.01 && (int(first_layer_height * 100) % int(layer_height * 100)) == int(layer_height * 50)) {
|
||||||
|
double z_step = printer_config->option<ConfigOptionFloat>("z_step")->value;
|
||||||
|
if (z_step == 0)
|
||||||
|
z_step = 0.1;
|
||||||
|
double max_height = printer_config->option<ConfigOptionFloats>("max_layer_height")->values[0];
|
||||||
|
if (max_height > first_layer_height + z_step)
|
||||||
|
for (size_t i = 0; i < nb_items; i++)
|
||||||
|
model.objects[objs_idx[i]]->config.set_key_value("first_layer_height", new ConfigOptionFloatOrPercent(first_layer_height + z_step, false));
|
||||||
|
else
|
||||||
|
for (size_t i = 0; i < nb_items; i++)
|
||||||
|
model.objects[objs_idx[i]]->config.set_key_value("first_layer_height", new ConfigOptionFloatOrPercent(first_layer_height - z_step, false));
|
||||||
|
}
|
||||||
|
|
||||||
//update plater
|
//update plater
|
||||||
GLCanvas3D::set_warning_freeze(false);
|
GLCanvas3D::set_warning_freeze(false);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user