diff --git a/resources/calibration/bridge_flow/bridge_flow.html b/resources/calibration/bridge_flow/bridge_flow.html index 1adb699fe..dea34d663 100644 --- a/resources/calibration/bridge_flow/bridge_flow.html +++ b/resources/calibration/bridge_flow/bridge_flow.html @@ -8,21 +8,21 @@

Bridge flow calibration

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.

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.

-

Results

- - -

Exemple:

- - - - - - -
TODO
TODO
+ + + + + + + + + + + -

Advice

-

TODO

- + + +

Notes

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

Licence for models used for this calibration test: CC BY-SA 3.0

diff --git a/resources/calibration/cube/cube.html b/resources/calibration/cube/cube.html index 38ae86f35..68def41f4 100644 --- a/resources/calibration/cube/cube.html +++ b/resources/calibration/cube/cube.html @@ -11,8 +11,8 @@

You have to print two cubes, with different sizes. If the dimensional inaccuracy scale with the size of the cubes, then it's the steps/mm of your steppers that needs some adjustments (note: if it's the case, you should also adjust the flow, and maybe redo some calibrations if the change is big). If it doesn't scale, you can correct it by adjusting your xy compensation (slicing tab). With the voron cube, you can also test the hole calibration, as these are often too small.

Goal: infill/perimeter overlap

This test is about to see if the pattern of the infill can be seen on the perimeters. Try to reduce it as low as you can but check the top solid fill, as it can create artifacts if it's too low. It's better with the standard cube, as you have a larger top surface.

-

Goal: external perimeter overlap

-

As the external perimeter is printed last, the real position depends on the position and flow of the whole layer. So you have to be sure that your flow is perfect before doing this test. The main difference is between solid infill layers and sparse infill layers, as the solid one can push the external perimeter outwards. Decreasing the infill/perimeter overlap, decreasing the external perimeter overlap can help to reduce this effect.

+ +

Notes

These tests should be the last ones.

Default size of the standard cube is 20mm and the standard size of the voron cube is 30mm.

diff --git a/resources/calibration/filament_flow/filament_flow.html b/resources/calibration/filament_flow/filament_flow.html index 9c5f7a9ac..7c81d7e8c 100644 --- a/resources/calibration/filament_flow/filament_flow.html +++ b/resources/calibration/filament_flow/filament_flow.html @@ -9,9 +9,9 @@

You need to do the bed level calibration before this one.

This test will print five tests samples with various level of flow. You can choose the flow difference between each steps. You should start with the 10% one. After verifying the result with the help of the table below, you have to modify the filament extrusion multiplier in your filament preset (if the -20 is the best, change the multiplier from 1 to 0.8, see the formula below). Don't forget to save it afterwards. You can continue with the 2.5 step if you want a bit more precision.

Results

+

Exemple:

-

Exemple:

@@ -29,9 +29,9 @@

The flow you want to choose is the lowest that don't create gaps in the top surface. Here it seems that the good flow is below +20. So you have to change your extrusion multiplier to 1.2 and print the second set of test (or put 1.15 and call it a day).

Don't look at the surface quality of the letter, it should be only good at the 0, as it's for this flow we calibrated the bed height. Here, going with +20% flow, i should lower the bed a bit (redoing the bed level calibration).

+

Second step, starting from +20%:

-

Second step, starting from +20%:

diff --git a/resources/calibration/filament_temp/filament_temp.html b/resources/calibration/filament_temp/filament_temp.html index 7f17e995b..11afe7dcf 100644 --- a/resources/calibration/filament_temp/filament_temp.html +++ b/resources/calibration/filament_temp/filament_temp.html @@ -14,36 +14,32 @@
- - - - -
- - - + - + + + + +
too cold, it can't be extruded
good
good
too hot, you can see some ooze
too hot, you can see some ooze
-

Here, you can see that the 210 degree is the hottest we can print without problems (at least not heat-dependant, bad quality is due to high speed). Also, i succeed to break (with difficulty) a chunk of the 195 degree, so it's a bit too cold.

Results: destruction

Finally, you want to tear it apart to see if the lower temperature doesn't have adverse effect on layer bonding. It should be impossible to tear it apart with your own hands. If a floor can be easily broken, then this floor temperature is definitely too low (or you put too much cooling = fan are blowing too hard), so you should choose a higher temperature or try again with less cooling. When trying to break one, don't put your hands on the ends of the tower but on the tested floor and the next one, leaving only the bridge gaps between them.

How to tune your printer

-

Change the temperature in your filament setting (extruder -> other layers), then save it. The first layer temperature is often 5°C higher to help with bed adhesion, so you should also change it, especially if it's lower than the new one.

+

Change the temperature in your filament setting (extruder -> other layers), then save it. The first layer temperature is often 5 degree higher to help with bed adhesion, so you should also change it, especially if it's lower than the new one.

Notes

Most of the calibrations need to done is the right order. This one should be the third.

diff --git a/resources/calibration/filament_temp/temp_tower_180.jpg b/resources/calibration/filament_temp/temp_tower_180.jpg new file mode 100644 index 000000000..9b60ab950 Binary files /dev/null and b/resources/calibration/filament_temp/temp_tower_180.jpg differ diff --git a/resources/calibration/filament_temp/temp_tower_195.jpg b/resources/calibration/filament_temp/temp_tower_195.jpg new file mode 100644 index 000000000..f1e552e26 Binary files /dev/null and b/resources/calibration/filament_temp/temp_tower_195.jpg differ diff --git a/resources/calibration/filament_temp/temp_tower_210.jpg b/resources/calibration/filament_temp/temp_tower_210.jpg new file mode 100644 index 000000000..de93e4d4a Binary files /dev/null and b/resources/calibration/filament_temp/temp_tower_210.jpg differ diff --git a/resources/calibration/filament_temp/temp_tower_225.jpg b/resources/calibration/filament_temp/temp_tower_225.jpg new file mode 100644 index 000000000..6b625301e Binary files /dev/null and b/resources/calibration/filament_temp/temp_tower_225.jpg differ diff --git a/resources/calibration/filament_temp/temp_tower_240.jpg b/resources/calibration/filament_temp/temp_tower_240.jpg new file mode 100644 index 000000000..c84ef159a Binary files /dev/null and b/resources/calibration/filament_temp/temp_tower_240.jpg differ diff --git a/src/slic3r/GUI/CalibrationAbstractDialog.cpp b/src/slic3r/GUI/CalibrationAbstractDialog.cpp index e9e02221a..3e77a76a7 100644 --- a/src/slic3r/GUI/CalibrationAbstractDialog.cpp +++ b/src/slic3r/GUI/CalibrationAbstractDialog.cpp @@ -39,13 +39,13 @@ namespace GUI { } -void CalibrationAbstractDialog::create(std::string html_path){ +void CalibrationAbstractDialog::create(std::string html_path, wxSize dialog_size){ auto main_sizer = new wxBoxSizer(wxVERTICAL); //html html_viewer = new wxHtmlWindow(this, wxID_ANY, - wxDefaultPosition, wxSize(800, 500), wxHW_SCROLLBAR_AUTO); + wxDefaultPosition, dialog_size, wxHW_SCROLLBAR_AUTO); html_viewer->LoadPage(Slic3r::resources_dir()+ html_path); main_sizer->Add(html_viewer, 1, wxEXPAND | wxALL, 5); diff --git a/src/slic3r/GUI/CalibrationAbstractDialog.hpp b/src/slic3r/GUI/CalibrationAbstractDialog.hpp index 5088bd27e..6e978b074 100644 --- a/src/slic3r/GUI/CalibrationAbstractDialog.hpp +++ b/src/slic3r/GUI/CalibrationAbstractDialog.hpp @@ -24,7 +24,7 @@ public: private: wxPanel* create_header(wxWindow* parent, const wxFont& bold_font); protected: - void create(std::string html_path); + void create(std::string html_path, wxSize dialogsize = wxSize(800, 500)); virtual void create_buttons(wxStdDialogButtonSizer*) = 0; void on_dpi_changed(const wxRect& suggested_rect) override; void closeMe(wxCommandEvent& event_args); diff --git a/src/slic3r/GUI/CalibrationBridgeDialog.cpp b/src/slic3r/GUI/CalibrationBridgeDialog.cpp index 99abf61c6..e0b67a0ee 100644 --- a/src/slic3r/GUI/CalibrationBridgeDialog.cpp +++ b/src/slic3r/GUI/CalibrationBridgeDialog.cpp @@ -22,8 +22,8 @@ namespace Slic3r { namespace GUI { void CalibrationBridgeDialog::create_buttons(wxStdDialogButtonSizer* buttons){ - wxString choices_steps[] = { "2.5","5","10" }; - steps = new wxComboBox(this, wxID_ANY, wxString{ "5" }, wxDefaultPosition, wxDefaultSize, 3, choices_steps); + wxString choices_steps[] = { "5","10","15" }; + steps = new wxComboBox(this, wxID_ANY, wxString{ "10" }, wxDefaultPosition, wxDefaultSize, 3, choices_steps); steps->SetToolTip(_(L("Select the step in % between two tests."))); steps->SetSelection(1); wxString choices_nb[] = { "1","2","3","4","5","6" }; @@ -53,7 +53,7 @@ void CalibrationBridgeDialog::create_geometry(std::string setting_to_test, bool int idx_steps = steps->GetSelection(); int idx_nb = nb_tests->GetSelection(); - size_t step = 5 + (idx_steps == wxNOT_FOUND ? 0 : (idx_steps == 0 ? 2.5f : idx_steps == 1 ? 5.F : 10.f)); + size_t step = 5 + (idx_steps == wxNOT_FOUND ? 0 : idx_steps * 5); size_t nb_items = 1 + (idx_nb == wxNOT_FOUND ? 0 : idx_nb); std::vector items; diff --git a/src/slic3r/GUI/CalibrationBridgeDialog.hpp b/src/slic3r/GUI/CalibrationBridgeDialog.hpp index ed6d49839..1db136c32 100644 --- a/src/slic3r/GUI/CalibrationBridgeDialog.hpp +++ b/src/slic3r/GUI/CalibrationBridgeDialog.hpp @@ -10,7 +10,7 @@ class CalibrationBridgeDialog : public CalibrationAbstractDialog { public: - CalibrationBridgeDialog(GUI_App* app, MainFrame* mainframe) : CalibrationAbstractDialog(app, mainframe, "Bridge calibration") { create("/calibration/bridge_flow/bridge_flow.html"); } + CalibrationBridgeDialog(GUI_App* app, MainFrame* mainframe) : CalibrationAbstractDialog(app, mainframe, "Bridge calibration") { create("/calibration/bridge_flow/bridge_flow.html", wxSize(600, 300)); } virtual ~CalibrationBridgeDialog() { } protected: diff --git a/src/slic3r/GUI/CalibrationCubeDialog.cpp b/src/slic3r/GUI/CalibrationCubeDialog.cpp index 7dda4bea7..eff93eb19 100644 --- a/src/slic3r/GUI/CalibrationCubeDialog.cpp +++ b/src/slic3r/GUI/CalibrationCubeDialog.cpp @@ -26,7 +26,7 @@ void CalibrationCubeDialog::create_buttons(wxStdDialogButtonSizer* buttons){ scale = new wxComboBox(this, wxID_ANY, wxString{ "20mm" }, wxDefaultPosition, wxDefaultSize, 4, choices_scale); scale->SetToolTip(_(L("You can choose the dimension of the cube. It's a simple scale, you can modify it in the right panel yourself if you prefer. It's just quicker to select it here."))); scale->SetSelection(1); - wxString choices_goal[] = { "Dimensional accuracy (default)" , "infill/perimeter overlap", "external perimeter overlap"}; + wxString choices_goal[] = { "Dimensional accuracy (default)" , "infill/perimeter overlap"/*, "external perimeter overlap"*/}; calibrate = new wxComboBox(this, wxID_ANY, wxString{ "Dimensional accuracy (default)" }, wxDefaultPosition, wxDefaultSize, 3, choices_goal); calibrate->SetToolTip(_(L("Select a goal, this will change settings to increase the effects to search."))); calibrate->SetSelection(0); diff --git a/src/slic3r/GUI/CalibrationFlowDialog.cpp b/src/slic3r/GUI/CalibrationFlowDialog.cpp index 75432773a..dfe31fc83 100644 --- a/src/slic3r/GUI/CalibrationFlowDialog.cpp +++ b/src/slic3r/GUI/CalibrationFlowDialog.cpp @@ -22,10 +22,10 @@ namespace Slic3r { namespace GUI { void CalibrationFlowDialog::create_buttons(wxStdDialogButtonSizer* buttons){ - wxButton* bt = new wxButton(this, wxID_FILE1, _(L("Generate 10% intervals"))); + wxButton* bt = new wxButton(this, wxID_FILE1, _(L("Generate 10% intervals around current value"))); bt->Bind(wxEVT_BUTTON, &CalibrationFlowDialog::create_geometry_10, this); buttons->Add(bt); - bt = new wxButton(this, wxID_FILE2, _(L("Generate 2.5% intervals"))); + bt = new wxButton(this, wxID_FILE2, _(L("Generate 2% intervals below current value"))); bt->Bind(wxEVT_BUTTON, &CalibrationFlowDialog::create_geometry_2_5, this); buttons->Add(bt); } diff --git a/src/slic3r/GUI/CalibrationFlowDialog.hpp b/src/slic3r/GUI/CalibrationFlowDialog.hpp index 8e5c31a27..da1a605e7 100644 --- a/src/slic3r/GUI/CalibrationFlowDialog.hpp +++ b/src/slic3r/GUI/CalibrationFlowDialog.hpp @@ -10,7 +10,7 @@ class CalibrationFlowDialog : public CalibrationAbstractDialog { public: - CalibrationFlowDialog(GUI_App* app, MainFrame* mainframe) : CalibrationAbstractDialog(app, mainframe, "Flow calibration") { create("/calibration/filament_flow/filament_flow.html"); } + CalibrationFlowDialog(GUI_App* app, MainFrame* mainframe) : CalibrationAbstractDialog(app, mainframe, "Flow calibration") { create("/calibration/filament_flow/filament_flow.html", wxSize(900, 500)); } virtual ~CalibrationFlowDialog() {} protected: diff --git a/src/slic3r/GUI/CalibrationOverBridgeDialog.hpp b/src/slic3r/GUI/CalibrationOverBridgeDialog.hpp index e1630f94d..2af322db6 100644 --- a/src/slic3r/GUI/CalibrationOverBridgeDialog.hpp +++ b/src/slic3r/GUI/CalibrationOverBridgeDialog.hpp @@ -10,7 +10,7 @@ class CalibrationOverBridgeDialog : public CalibrationAbstractDialog { public: - CalibrationOverBridgeDialog(GUI_App* app, MainFrame* mainframe) : CalibrationAbstractDialog(app, mainframe, "Ironing pattern calibration") { std::cout << " html = /calibration/over-bridge_tuning/over-bridge_tuning.html\n"; create("/calibration/over-bridge_tuning/over-bridge_tuning.html"); } + CalibrationOverBridgeDialog(GUI_App* app, MainFrame* mainframe) : CalibrationAbstractDialog(app, mainframe, "Ironing pattern calibration") { create("/calibration/over-bridge_tuning/over-bridge_tuning.html", wxSize(900, 500)); } virtual ~CalibrationOverBridgeDialog() { } protected: