small update to calibrations

This commit is contained in:
supermerill 2020-05-22 18:44:22 +02:00
parent e562fbeef9
commit ff40015401
12 changed files with 29 additions and 18 deletions

View File

@ -7,7 +7,7 @@
<body> <body>
<h1>Bridge flow calibration</h1> <h1>Bridge flow calibration</h1>
<p>You need to do the bed level calibration and the filament flow calibration before this one. It's better if you have done the filament temperature calibration also.</p> <p>You need to do the bed level calibration and the filament flow calibration before this one. It's better if you have done the filament temperature calibration also.</p>
<p>This test will print tests samples with various level of bridge flow ratio, and then you can also tune your bridge overlap ratio, if lines of bridges are too far apart from each other. It start at your current setting, so you may want to set them to 100% before clicking on the button.</p> <p>This test will print tests samples with various level of bridge flow ratio. It starts at your current setting, so you may want to set them to 100% before clicking on the button.</p>
<h2>Results</h2> <h2>Results</h2>
<table> <table>
<tbody> <tbody>
@ -24,7 +24,7 @@
<p>TODO</p> <p>TODO</p>
</ul> </ul>
<h2>Notes</h2> <h2>Notes</h2>
<p>This test set the setting "complete individual objects" to true, so you may want to reset your print settings afterwards</p> <p>This test set the setting "complete individual objects" to true, so you may want to reset your print settings afterwards, or diable this setting if your bed is too small</p>
<p>Licence for models used for this calibration test: CC BY-SA 3.0</p> <p>Licence for models used for this calibration test: CC BY-SA 3.0</p>
</body> </body>
</html> </html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -13,12 +13,21 @@
<tbody> <tbody>
<h4>Exemple:</h4> <h4>Exemple:</h4>
<tr> <tr>
<td>TODO</td> <td><img src="./100.jpg" width="150" height="100" /></td>
<td><img src="./105.jpg" width="150" height="100" /></td>
<td><img src="./110.jpg" width="150" height="100" /></td>
<td><img src="./115.jpg" width="150" height="100" /></td>
<td><img src="./120.jpg" width="150" height="100" /></td>
</tr> </tr>
<tr> <tr>
<td style="text-align: center;">TODO</td> <td style="text-align: center;">not flat</td>
<td style="text-align: center;">not flat</td>
<td style="text-align: center;">not flat</td>
<td style="text-align: center;">flat</td>
<td style="text-align: center;">Flat</td>
</tr> </tr>
</table> </table>
Hee, we can see that artifact exists until the over-brodge flow was set to 115. It was flat from the flow calibration, if it's not now, it's because the bridges below the top surfaces are dropping a bit, and so there are more volume to fill afterwards. Here, 115 should be enough, but 120 is a more safe bet.
<h2>Advice</h2> <h2>Advice</h2>
<p>TODO</p> <p>TODO</p>

View File

@ -313,7 +313,7 @@ extra_perimeters_odd_layers = 0
only_one_perimeter_top = 1 only_one_perimeter_top = 1
elefant_foot_compensation = -0.05 elefant_foot_compensation = -0.05
extruder_clearance_height = 20 extruder_clearance_height = 20
extruder_clearance_radius = 20 extruder_clearance_radius = 25
fill_angle = 45 fill_angle = 45
fill_density = 13% fill_density = 13%
fill_pattern = gyroid fill_pattern = gyroid

View File

@ -40,10 +40,10 @@ void CalibrationBridgeDialog::create_buttons(wxStdDialogButtonSizer* buttons){
wxButton* bt = new wxButton(this, wxID_FILE1, _(L("Test Flow Ratio"))); wxButton* bt = new wxButton(this, wxID_FILE1, _(L("Test Flow Ratio")));
bt->Bind(wxEVT_BUTTON, &CalibrationBridgeDialog::create_geometry_flow_ratio, this); bt->Bind(wxEVT_BUTTON, &CalibrationBridgeDialog::create_geometry_flow_ratio, this);
buttons->Add(bt); buttons->Add(bt);
buttons->AddSpacer(15); //buttons->AddSpacer(15);
bt = new wxButton(this, wxID_FILE1, _(L("Test Overlap"))); //bt = new wxButton(this, wxID_FILE1, _(L("Test Overlap")));
bt->Bind(wxEVT_BUTTON, &CalibrationBridgeDialog::create_geometry_overlap, this); //bt->Bind(wxEVT_BUTTON, &CalibrationBridgeDialog::create_geometry_overlap, this);
buttons->Add(bt); //buttons->Add(bt);
} }
void CalibrationBridgeDialog::create_geometry(std::string setting_to_test, bool add) { void CalibrationBridgeDialog::create_geometry(std::string setting_to_test, bool add) {
@ -58,7 +58,7 @@ void CalibrationBridgeDialog::create_geometry(std::string setting_to_test, bool
std::vector<std::string> items; std::vector<std::string> items;
for (size_t i = 0; i < nb_items; i++) for (size_t i = 0; i < nb_items; i++)
items.emplace_back("./resources/calibration/bridge_flow/bridge_test.amf"); items.emplace_back(Slic3r::resources_dir()+"/calibration/bridge_flow/bridge_test.amf");
std::vector<size_t> objs_idx = plat->load_files(items, true, false); std::vector<size_t> objs_idx = plat->load_files(items, true, false);
assert(objs_idx.size() == nb_items); assert(objs_idx.size() == nb_items);
@ -107,6 +107,8 @@ void CalibrationBridgeDialog::create_geometry(std::string setting_to_test, bool
/// --- custom config --- /// --- custom config ---
for (size_t i = 0; i < nb_items; i++) { for (size_t i = 0; i < nb_items; i++) {
model.objects[objs_idx[i]]->config.set_key_value("brim_width", new ConfigOptionFloat(std::max (print_config->option<ConfigOptionFloat>("brim_width")->value, nozzle_diameter * 5.)));
model.objects[objs_idx[i]]->config.set_key_value("brim_ears", new ConfigOptionBool(false));
model.objects[objs_idx[i]]->config.set_key_value("perimeters", new ConfigOptionInt(2)); model.objects[objs_idx[i]]->config.set_key_value("perimeters", new ConfigOptionInt(2));
model.objects[objs_idx[i]]->config.set_key_value("bottom_solid_layers", new ConfigOptionInt(2)); model.objects[objs_idx[i]]->config.set_key_value("bottom_solid_layers", new ConfigOptionInt(2));
model.objects[objs_idx[i]]->config.set_key_value("gap_fill", new ConfigOptionBool(false)); model.objects[objs_idx[i]]->config.set_key_value("gap_fill", new ConfigOptionBool(false));

View File

@ -16,8 +16,8 @@ public:
protected: protected:
void create_buttons(wxStdDialogButtonSizer* buttons) override; void create_buttons(wxStdDialogButtonSizer* buttons) override;
void create_geometry(std::string setting_key, bool add); void create_geometry(std::string setting_key, bool add);
void CalibrationBridgeDialog::create_geometry_flow_ratio(wxCommandEvent& event_args) { create_geometry("bridge_flow_ratio", false); } void create_geometry_flow_ratio(wxCommandEvent& event_args) { create_geometry("bridge_flow_ratio", false); }
void CalibrationBridgeDialog::create_geometry_overlap(wxCommandEvent& event_args) { create_geometry("bridge_overlap", true); } void create_geometry_overlap(wxCommandEvent& event_args) { create_geometry("bridge_overlap", true); }
wxComboBox* steps; wxComboBox* steps;
wxComboBox* nb_tests; wxComboBox* nb_tests;

View File

@ -32,12 +32,12 @@ void CalibrationOverBridgeDialog::create_geometry(wxCommandEvent& event_args) {
Model& model = plat->model(); Model& model = plat->model();
plat->reset(); plat->reset();
std::vector<size_t> objs_idx = plat->load_files(std::vector<std::string>{ std::vector<size_t> objs_idx = plat->load_files(std::vector<std::string>{
"./resources/calibration/over-bridge_tuning/over-bridge_flow_ratio_test.amf", Slic3r::resources_dir()+"/calibration/over-bridge_tuning/over-bridge_flow_ratio_test.amf",
"./resources/calibration/over-bridge_tuning/over-bridge_flow_ratio_test.amf", Slic3r::resources_dir()+"/calibration/over-bridge_tuning/over-bridge_flow_ratio_test.amf",
"./resources/calibration/over-bridge_tuning/over-bridge_flow_ratio_test.amf", Slic3r::resources_dir()+"/calibration/over-bridge_tuning/over-bridge_flow_ratio_test.amf",
"./resources/calibration/over-bridge_tuning/over-bridge_flow_ratio_test.amf", Slic3r::resources_dir()+"/calibration/over-bridge_tuning/over-bridge_flow_ratio_test.amf",
"./resources/calibration/over-bridge_tuning/over-bridge_flow_ratio_test.amf", Slic3r::resources_dir()+"/calibration/over-bridge_tuning/over-bridge_flow_ratio_test.amf",
"./resources/calibration/over-bridge_tuning/over-bridge_flow_ratio_test.amf"}, true, false); Slic3r::resources_dir()+"/calibration/over-bridge_tuning/over-bridge_flow_ratio_test.amf"}, true, false);
assert(objs_idx.size() == 6); assert(objs_idx.size() == 6);
const DynamicPrintConfig* printConfig = this->gui_app->get_tab(Preset::TYPE_PRINT)->get_config(); const DynamicPrintConfig* printConfig = this->gui_app->get_tab(Preset::TYPE_PRINT)->get_config();