FIX: add cali for 3rd party printer in mac
Change-Id: I62be98bcd6bb70c34aa83fcefe819200231bd33c (cherry picked from commit 543d751818d80892dd3371026987199e4768b8bc)
This commit is contained in:
parent
8f580895a7
commit
176c9053b5
|
@ -2693,8 +2693,8 @@ void MainFrame::init_menubar_as_editor()
|
||||||
m_topbar->GetCalibMenu()->AppendSubMenu(flowrate_menu, _L("Flow rate"));
|
m_topbar->GetCalibMenu()->AppendSubMenu(flowrate_menu, _L("Flow rate"));
|
||||||
append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Pressure advance"), _L("Pressure advance"),
|
append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Pressure advance"), _L("Pressure advance"),
|
||||||
[this](wxCommandEvent&) {
|
[this](wxCommandEvent&) {
|
||||||
if (!m_pa_calib_dlg)
|
//if (!m_pa_calib_dlg)
|
||||||
m_pa_calib_dlg = new PA_Calibration_Dlg((wxWindow*)this, wxID_ANY, m_plater);
|
m_pa_calib_dlg = new PA_Calibration_Dlg((wxWindow*)this, wxID_ANY, m_plater);
|
||||||
m_pa_calib_dlg->ShowModal();
|
m_pa_calib_dlg->ShowModal();
|
||||||
}, "", nullptr,
|
}, "", nullptr,
|
||||||
[this]() {return m_plater->is_view3D_shown();; }, this);
|
[this]() {return m_plater->is_view3D_shown();; }, this);
|
||||||
|
@ -2751,6 +2751,139 @@ void MainFrame::init_menubar_as_editor()
|
||||||
m_menubar->Append(viewMenu, wxString::Format("&%s", _L("View")));
|
m_menubar->Append(viewMenu, wxString::Format("&%s", _L("View")));
|
||||||
//if (publishMenu)
|
//if (publishMenu)
|
||||||
// m_menubar->Append(publishMenu, wxString::Format("&%s", _L("3D Models")));
|
// m_menubar->Append(publishMenu, wxString::Format("&%s", _L("3D Models")));
|
||||||
|
|
||||||
|
// SoftFever calibrations
|
||||||
|
auto calib_menu = new wxMenu();
|
||||||
|
|
||||||
|
// Temp
|
||||||
|
append_menu_item(
|
||||||
|
calib_menu, wxID_ANY, _L("Temperature"), _L("Temperature"),
|
||||||
|
[this](wxCommandEvent &) {
|
||||||
|
if (!m_temp_calib_dlg)
|
||||||
|
m_temp_calib_dlg = new Temp_Calibration_Dlg((wxWindow *) this, wxID_ANY, m_plater);
|
||||||
|
m_temp_calib_dlg->ShowModal();
|
||||||
|
},
|
||||||
|
"", nullptr,
|
||||||
|
[this]() {
|
||||||
|
return m_plater->is_view3D_shown();
|
||||||
|
;
|
||||||
|
},
|
||||||
|
this);
|
||||||
|
|
||||||
|
// Flowrate
|
||||||
|
auto flowrate_menu = new wxMenu();
|
||||||
|
append_menu_item(
|
||||||
|
flowrate_menu, wxID_ANY, _L("Pass 1"), _L("Flow rate test - Pass 1"),
|
||||||
|
[this](wxCommandEvent &) {
|
||||||
|
if (m_plater) m_plater->calib_flowrate(1);
|
||||||
|
},
|
||||||
|
"", nullptr,
|
||||||
|
[this]() {
|
||||||
|
return m_plater->is_view3D_shown();
|
||||||
|
;
|
||||||
|
},
|
||||||
|
this);
|
||||||
|
append_menu_item(
|
||||||
|
flowrate_menu, wxID_ANY, _L("Pass 2"), _L("Flow rate test - Pass 2"),
|
||||||
|
[this](wxCommandEvent &) {
|
||||||
|
if (m_plater) m_plater->calib_flowrate(2);
|
||||||
|
},
|
||||||
|
"", nullptr,
|
||||||
|
[this]() {
|
||||||
|
return m_plater->is_view3D_shown();
|
||||||
|
;
|
||||||
|
},
|
||||||
|
this);
|
||||||
|
append_submenu(calib_menu, flowrate_menu, wxID_ANY, _L("Flow rate"), _L("Flow rate"), "", [this]() {
|
||||||
|
return m_plater->is_view3D_shown();
|
||||||
|
;
|
||||||
|
});
|
||||||
|
|
||||||
|
// PA
|
||||||
|
append_menu_item(
|
||||||
|
calib_menu, wxID_ANY, _L("Pressure advance"), _L("Pressure advance"),
|
||||||
|
[this](wxCommandEvent &) {
|
||||||
|
m_pa_calib_dlg = new PA_Calibration_Dlg((wxWindow *) this, wxID_ANY, m_plater);
|
||||||
|
m_pa_calib_dlg->ShowModal();
|
||||||
|
},
|
||||||
|
"", nullptr,
|
||||||
|
[this]() {
|
||||||
|
return m_plater->is_view3D_shown();
|
||||||
|
;
|
||||||
|
},
|
||||||
|
this);
|
||||||
|
|
||||||
|
// Retraction
|
||||||
|
append_menu_item(
|
||||||
|
calib_menu, wxID_ANY, _L("Retraction test"), _L("Retraction test"),
|
||||||
|
[this](wxCommandEvent &) {
|
||||||
|
if (!m_retraction_calib_dlg) m_retraction_calib_dlg = new Retraction_Test_Dlg((wxWindow *) this, wxID_ANY, m_plater);
|
||||||
|
m_retraction_calib_dlg->ShowModal();
|
||||||
|
},
|
||||||
|
"", nullptr,
|
||||||
|
[this]() {
|
||||||
|
return m_plater->is_view3D_shown();
|
||||||
|
;
|
||||||
|
},
|
||||||
|
this);
|
||||||
|
|
||||||
|
// Tolerance Test
|
||||||
|
append_menu_item(
|
||||||
|
calib_menu, wxID_ANY, _L("Orca Tolerance Test"), _L("Orca Tolerance Test"),
|
||||||
|
[this](wxCommandEvent &) {
|
||||||
|
m_plater->new_project();
|
||||||
|
m_plater->add_model(false, Slic3r::resources_dir() + "/calib/tolerance_test/OrcaToleranceTest.stl");
|
||||||
|
},
|
||||||
|
"", nullptr,
|
||||||
|
[this]() {
|
||||||
|
return m_plater->is_view3D_shown();
|
||||||
|
;
|
||||||
|
},
|
||||||
|
this);
|
||||||
|
|
||||||
|
// Advance calibrations
|
||||||
|
auto advance_menu = new wxMenu();
|
||||||
|
append_menu_item(
|
||||||
|
advance_menu, wxID_ANY, _L("Max flowrate"), _L("Max flowrate"),
|
||||||
|
[this](wxCommandEvent &) {
|
||||||
|
if (!m_vol_test_dlg) m_vol_test_dlg = new MaxVolumetricSpeed_Test_Dlg((wxWindow *) this, wxID_ANY, m_plater);
|
||||||
|
m_vol_test_dlg->ShowModal();
|
||||||
|
},
|
||||||
|
"", nullptr,
|
||||||
|
[this]() {
|
||||||
|
return m_plater->is_view3D_shown();
|
||||||
|
;
|
||||||
|
},
|
||||||
|
this);
|
||||||
|
append_menu_item(
|
||||||
|
advance_menu, wxID_ANY, _L("VFA"), _L("VFA"),
|
||||||
|
[this](wxCommandEvent &) {
|
||||||
|
if (!m_vfa_test_dlg) m_vfa_test_dlg = new VFA_Test_Dlg((wxWindow *) this, wxID_ANY, m_plater);
|
||||||
|
m_vfa_test_dlg->ShowModal();
|
||||||
|
},
|
||||||
|
"", nullptr,
|
||||||
|
[this]() {
|
||||||
|
return m_plater->is_view3D_shown();
|
||||||
|
;
|
||||||
|
},
|
||||||
|
this);
|
||||||
|
|
||||||
|
append_submenu(calib_menu, advance_menu, wxID_ANY, _L("More..."), _L("More calibrations"), "", [this]() {
|
||||||
|
return m_plater->is_view3D_shown();
|
||||||
|
;
|
||||||
|
});
|
||||||
|
// help
|
||||||
|
append_menu_item(
|
||||||
|
calib_menu, wxID_ANY, _L("Tutorial"), _L("Calibration help"),
|
||||||
|
[this](wxCommandEvent &) { wxLaunchDefaultBrowser("https://github.com/SoftFever/OrcaSlicer/wiki/Calibration", wxBROWSER_NEW_WINDOW); }, "", nullptr,
|
||||||
|
[this]() {
|
||||||
|
return m_plater->is_view3D_shown();
|
||||||
|
;
|
||||||
|
},
|
||||||
|
this);
|
||||||
|
|
||||||
|
m_menubar->Append(calib_menu, wxString::Format("&%s", _L("Calibration")));
|
||||||
|
|
||||||
if (helpMenu)
|
if (helpMenu)
|
||||||
m_menubar->Append(helpMenu, wxString::Format("&%s", _L("Help")));
|
m_menubar->Append(helpMenu, wxString::Format("&%s", _L("Help")));
|
||||||
SetMenuBar(m_menubar);
|
SetMenuBar(m_menubar);
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
#include <wx/dcgraph.h>
|
#include <wx/dcgraph.h>
|
||||||
#include "MainFrame.hpp"
|
#include "MainFrame.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include "libslic3r/Config.hpp"
|
||||||
|
#include "libslic3r/PrintConfig.hpp"
|
||||||
|
|
||||||
namespace Slic3r { namespace GUI {
|
namespace Slic3r { namespace GUI {
|
||||||
|
|
||||||
wxBoxSizer* create_item_checkbox(wxString title, wxWindow* parent, bool* value, CheckBox*& checkbox)
|
wxBoxSizer* create_item_checkbox(wxString title, wxWindow* parent, bool* value, CheckBox*& checkbox)
|
||||||
|
@ -40,12 +43,14 @@ PA_Calibration_Dlg::PA_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plater*
|
||||||
SetSizer(v_sizer);
|
SetSizer(v_sizer);
|
||||||
wxBoxSizer* choice_sizer = new wxBoxSizer(wxHORIZONTAL);
|
wxBoxSizer* choice_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
|
||||||
wxString m_rbExtruderTypeChoices[] = { _L("DDE"), _L("Bowden") };
|
// BBS: get from printer preset
|
||||||
int m_rbExtruderTypeNChoices = sizeof(m_rbExtruderTypeChoices) / sizeof(wxString);
|
//wxString m_rbExtruderTypeChoices[] = { _L("DDE"), _L("Bowden") };
|
||||||
m_rbExtruderType = new wxRadioBox(this, wxID_ANY, _L("Extruder type"), wxDefaultPosition, wxDefaultSize, m_rbExtruderTypeNChoices, m_rbExtruderTypeChoices, 2, wxRA_SPECIFY_COLS);
|
//int m_rbExtruderTypeNChoices = sizeof(m_rbExtruderTypeChoices) / sizeof(wxString);
|
||||||
m_rbExtruderType->SetSelection(0);
|
//m_rbExtruderType = new wxRadioBox(this, wxID_ANY, _L("Extruder type"), wxDefaultPosition, wxDefaultSize, m_rbExtruderTypeNChoices, m_rbExtruderTypeChoices, 2, wxRA_SPECIFY_COLS);
|
||||||
choice_sizer->Add(m_rbExtruderType, 0, wxALL, 5);
|
//m_rbExtruderType->SetSelection(0);
|
||||||
choice_sizer->Add(FromDIP(5), 0, 0, wxEXPAND, 5);
|
//choice_sizer->Add(m_rbExtruderType, 0, wxALL, 5);
|
||||||
|
//choice_sizer->Add(FromDIP(5), 0, 0, wxEXPAND, 5);
|
||||||
|
|
||||||
wxString m_rbMethodChoices[] = { _L("PA Tower"), _L("PA Line") };
|
wxString m_rbMethodChoices[] = { _L("PA Tower"), _L("PA Line") };
|
||||||
int m_rbMethodNChoices = sizeof(m_rbMethodChoices) / sizeof(wxString);
|
int m_rbMethodNChoices = sizeof(m_rbMethodChoices) / sizeof(wxString);
|
||||||
m_rbMethod = new wxRadioBox(this, wxID_ANY, _L("Method"), wxDefaultPosition, wxDefaultSize, m_rbMethodNChoices, m_rbMethodChoices, 2, wxRA_SPECIFY_COLS);
|
m_rbMethod = new wxRadioBox(this, wxID_ANY, _L("Method"), wxDefaultPosition, wxDefaultSize, m_rbMethodNChoices, m_rbMethodChoices, 2, wxRA_SPECIFY_COLS);
|
||||||
|
@ -116,18 +121,30 @@ PA_Calibration_Dlg::PA_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plater*
|
||||||
v_sizer->Add(m_btnStart, 0, wxALL | wxALIGN_RIGHT, FromDIP(5));
|
v_sizer->Add(m_btnStart, 0, wxALL | wxALIGN_RIGHT, FromDIP(5));
|
||||||
|
|
||||||
// Connect Events
|
// Connect Events
|
||||||
m_rbExtruderType->Connect(wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler(PA_Calibration_Dlg::on_extruder_type_changed), NULL, this);
|
//m_rbExtruderType->Connect(wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler(PA_Calibration_Dlg::on_extruder_type_changed), NULL, this);
|
||||||
m_rbMethod->Connect(wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler(PA_Calibration_Dlg::on_method_changed), NULL, this);
|
m_rbMethod->Connect(wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler(PA_Calibration_Dlg::on_method_changed), NULL, this);
|
||||||
this->Connect(wxEVT_SHOW, wxShowEventHandler(PA_Calibration_Dlg::on_show));
|
this->Connect(wxEVT_SHOW, wxShowEventHandler(PA_Calibration_Dlg::on_show));
|
||||||
//wxGetApp().UpdateDlgDarkUI(this);
|
//wxGetApp().UpdateDlgDarkUI(this);
|
||||||
|
|
||||||
|
Preset &printer_preset = wxGetApp().preset_bundle->printers.get_edited_preset();
|
||||||
|
int extruder_type = printer_preset.config.opt_enum("extruder_type", 0);
|
||||||
|
if (extruder_type == ExtruderType::etBowden) {
|
||||||
|
m_tiEndPA->GetTextCtrl()->SetValue(wxString::FromDouble(1.0));
|
||||||
|
m_tiStartPA->GetTextCtrl()->SetValue(wxString::FromDouble(0.0));
|
||||||
|
m_tiPAStep->GetTextCtrl()->SetValue(wxString::FromDouble(0.02));
|
||||||
|
} else {
|
||||||
|
m_tiEndPA->GetTextCtrl()->SetValue(wxString::FromDouble(0.1));
|
||||||
|
m_tiStartPA->GetTextCtrl()->SetValue(wxString::FromDouble(0.0));
|
||||||
|
m_tiPAStep->GetTextCtrl()->SetValue(wxString::FromDouble(0.002));
|
||||||
|
}
|
||||||
|
|
||||||
Layout();
|
Layout();
|
||||||
Fit();
|
Fit();
|
||||||
}
|
}
|
||||||
|
|
||||||
PA_Calibration_Dlg::~PA_Calibration_Dlg() {
|
PA_Calibration_Dlg::~PA_Calibration_Dlg() {
|
||||||
// Disconnect Events
|
// Disconnect Events
|
||||||
m_rbExtruderType->Disconnect(wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler(PA_Calibration_Dlg::on_extruder_type_changed), NULL, this);
|
//m_rbExtruderType->Disconnect(wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler(PA_Calibration_Dlg::on_extruder_type_changed), NULL, this);
|
||||||
m_rbMethod->Disconnect(wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler(PA_Calibration_Dlg::on_method_changed), NULL, this);
|
m_rbMethod->Disconnect(wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler(PA_Calibration_Dlg::on_method_changed), NULL, this);
|
||||||
m_btnStart->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PA_Calibration_Dlg::on_start), NULL, this);
|
m_btnStart->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PA_Calibration_Dlg::on_start), NULL, this);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue