mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-14 00:52:04 +00:00
500C temp tower Calib (#12103)
* 500C temp tower * better model * draco temp tower Co-Authored-By: Ian Bassi <ian.bassi@outlook.com> --------- Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
This commit is contained in:
BIN
resources/calib/temperature_tower/temperature_tower.drc
Normal file
BIN
resources/calib/temperature_tower/temperature_tower.drc
Normal file
Binary file not shown.
Binary file not shown.
@@ -12677,7 +12677,7 @@ void Plater::calib_temp(const Calib_Params& params) {
|
||||
if (params.mode != CalibMode::Calib_Temp_Tower)
|
||||
return;
|
||||
|
||||
add_model(false, Slic3r::resources_dir() + "/calib/temperature_tower/temperature_tower.stl");
|
||||
add_model(false, Slic3r::resources_dir() + "/calib/temperature_tower/temperature_tower.drc");
|
||||
auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config;
|
||||
auto filament_config = &wxGetApp().preset_bundle->filaments.get_edited_preset().config;
|
||||
auto start_temp = lround(params.start);
|
||||
@@ -12702,7 +12702,7 @@ void Plater::calib_temp(const Calib_Params& params) {
|
||||
|
||||
// cut upper
|
||||
auto obj_bb = model().objects[0]->bounding_box_exact();
|
||||
auto block_count = lround((350 - params.end) / 5 + 1);
|
||||
auto block_count = lround((500 - params.end) / 5 + 1);
|
||||
if(block_count > 0){
|
||||
// subtract EPSILON offset to avoid cutting at the exact location where the flat surface is
|
||||
auto new_height = block_count * 10.0 - EPSILON;
|
||||
@@ -12713,7 +12713,7 @@ void Plater::calib_temp(const Calib_Params& params) {
|
||||
|
||||
// cut bottom
|
||||
obj_bb = model().objects[0]->bounding_box_exact();
|
||||
block_count = lround((350 - params.start) / 5);
|
||||
block_count = lround((500 - params.start) / 5);
|
||||
if(block_count > 0){
|
||||
auto new_height = block_count * 10.0 + EPSILON;
|
||||
if (new_height < obj_bb.size().z()) {
|
||||
|
||||
@@ -414,15 +414,15 @@ Temp_Calibration_Dlg::Temp_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plat
|
||||
unsigned long t = 0;
|
||||
if(!ti->GetTextCtrl()->GetValue().ToULong(&t))
|
||||
return;
|
||||
if(t> 350 || t < 170){
|
||||
MessageDialog msg_dlg(nullptr, wxString::Format(L"Supported range: 170%s - 350%s",
|
||||
if(t> 500 || t < 155){
|
||||
MessageDialog msg_dlg(nullptr, wxString::Format(L"Supported range: 170%s - 500%s",
|
||||
_L("\u2103" /* °C */), _L("\u2103" /* °C */)),
|
||||
wxEmptyString, wxICON_WARNING | wxOK);
|
||||
msg_dlg.ShowModal();
|
||||
if(t > 350)
|
||||
t = 350;
|
||||
if(t > 500)
|
||||
t = 500;
|
||||
else
|
||||
t = 170;
|
||||
t = 155;
|
||||
}
|
||||
t = (t / 5) * 5;
|
||||
ti->GetTextCtrl()->SetValue(std::to_string(t));
|
||||
@@ -452,8 +452,8 @@ void Temp_Calibration_Dlg::on_start(wxCommandEvent& event) {
|
||||
read_long = m_tiStart->GetTextCtrl()->GetValue().ToULong(&start);
|
||||
read_long = read_long && m_tiEnd->GetTextCtrl()->GetValue().ToULong(&end);
|
||||
|
||||
if (!read_long || start > 350 || end < 170 || end > (start - 5)) {
|
||||
MessageDialog msg_dlg(nullptr, _L("Please input valid values:\nStart temp: <= 350\nEnd temp: >= 170\nStart temp >= End temp + 5"), wxEmptyString, wxICON_WARNING | wxOK);
|
||||
if (!read_long || start > 500 || end < 155 || end > (start - 5)) {
|
||||
MessageDialog msg_dlg(nullptr, _L("Please input valid values:\nStart temp: <= 500\nEnd temp: >= 155\nStart temp >= End temp + 5"), wxEmptyString, wxICON_WARNING | wxOK);
|
||||
msg_dlg.ShowModal();
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user