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); };