diff --git a/resources/calibration/over-bridge_tuning/over-bridge_tuning.html b/resources/calibration/over-bridge_tuning/over-bridge_tuning.html
index 7c87bf4b8..b496791bc 100644
--- a/resources/calibration/over-bridge_tuning/over-bridge_tuning.html
+++ b/resources/calibration/over-bridge_tuning/over-bridge_tuning.html
@@ -21,7 +21,8 @@
You need to do the filament flow calibration and the bridge flow ratio before this one. It's better if you have done the filament temperature.
-This calibration method will print test samples with various levels of over-bridge flow ratio, between 100 and 125. Choose the lowest value on which the top surface is smooth without rough "holes".
+This calibration method will print test samples with various levels of over-bridge flow ratio, between 100 and 125. Choose the lowest value on which the top surface is smooth without rough "holes". Began with the over-bridge calibraiton.
+If the over-bridge calibration is not conclusive (same holes on all samples), then set it to 110% and use the top flow calibration. This setting is a bit more unpredictable so it's best to not move it far away from 100%.
Results
diff --git a/src/slic3r/GUI/CalibrationOverBridgeDialog.cpp b/src/slic3r/GUI/CalibrationOverBridgeDialog.cpp
index 1544706f0..984520c4f 100644
--- a/src/slic3r/GUI/CalibrationOverBridgeDialog.cpp
+++ b/src/slic3r/GUI/CalibrationOverBridgeDialog.cpp
@@ -25,12 +25,21 @@ namespace Slic3r {
namespace GUI {
void CalibrationOverBridgeDialog::create_buttons(wxStdDialogButtonSizer* buttons){
- wxButton* bt = new wxButton(this, wxID_FILE1, _(L("Generate")));
- bt->Bind(wxEVT_BUTTON, &CalibrationOverBridgeDialog::create_geometry, this);
- buttons->Add(bt);
+ wxButton* bt1 = new wxButton(this, wxID_FILE1, _(L("Over-Bridge calibration")));
+ wxButton* bt2 = new wxButton(this, wxID_FILE1, _(L("Top flow calibration")));
+ bt1->Bind(wxEVT_BUTTON, &CalibrationOverBridgeDialog::create_geometry1, this);
+ bt2->Bind(wxEVT_BUTTON, &CalibrationOverBridgeDialog::create_geometry2, this);
+ buttons->Add(bt1);
+ buttons->Add(bt2);
}
-void CalibrationOverBridgeDialog::create_geometry(wxCommandEvent& event_args) {
+void CalibrationOverBridgeDialog::create_geometry1(wxCommandEvent& event_args) {
+ create_geometry(true);
+}
+void CalibrationOverBridgeDialog::create_geometry2(wxCommandEvent& event_args) {
+ create_geometry(false);
+}
+void CalibrationOverBridgeDialog::create_geometry(bool over_bridge) {
Plater* plat = this->main_frame->plater();
Model& model = plat->model();
plat->reset();
@@ -108,7 +117,11 @@ void CalibrationOverBridgeDialog::create_geometry(wxCommandEvent& event_args) {
model.objects[objs_idx[i]]->config.set_key_value("fill_density", new ConfigOptionPercent(5.5));
model.objects[objs_idx[i]]->config.set_key_value("fill_pattern", new ConfigOptionEnum(ipRectilinear));
model.objects[objs_idx[i]]->config.set_key_value("infill_dense", new ConfigOptionBool(false));
- model.objects[objs_idx[i]]->config.set_key_value("over_bridge_flow_ratio", new ConfigOptionPercent(100 + i * 5));
+ //calibration setting. Use 100 & 5 step as it's the numbers printed on the samples
+ if(over_bridge)
+ model.objects[objs_idx[i]]->config.set_key_value("over_bridge_flow_ratio", new ConfigOptionPercent(/*print_config->option("over_bridge_flow_ratio")->get_abs_value(100)*/100 + i * 5));
+ else
+ model.objects[objs_idx[i]]->config.set_key_value("fill_top_flow_ratio", new ConfigOptionPercent(/*print_config->option("fill_top_flow_ratio")->get_abs_value(100)*/100 + i * 5));
model.objects[objs_idx[i]]->config.set_key_value("layer_height", new ConfigOptionFloat(nozzle_diameter / 2));
model.objects[objs_idx[i]]->config.set_key_value("external_infill_margin", new ConfigOptionFloatOrPercent(400,true));
model.objects[objs_idx[i]]->config.set_key_value("top_fill_pattern", new ConfigOptionEnum(ipSmooth));
diff --git a/src/slic3r/GUI/CalibrationOverBridgeDialog.hpp b/src/slic3r/GUI/CalibrationOverBridgeDialog.hpp
index 2af322db6..2d1b2a3d0 100644
--- a/src/slic3r/GUI/CalibrationOverBridgeDialog.hpp
+++ b/src/slic3r/GUI/CalibrationOverBridgeDialog.hpp
@@ -15,7 +15,9 @@ public:
protected:
void create_buttons(wxStdDialogButtonSizer* sizer) override;
- void create_geometry(wxCommandEvent& event_args);
+ void create_geometry1(wxCommandEvent& event_args);
+ void create_geometry2(wxCommandEvent& event_args);
+ void create_geometry(bool over_bridge);
};