mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-08 07:27:41 -06:00
Cherry pick some fixes from mainstream
FIX: crush when slicer multi-color model the root cause is a mismatch between the dimensions of flush matrix and the number of extruders Change-Id: I3a4ca706cb24d9e5d33969b9e6f5b288e71bb8f2 (cherry picked from commit 7399037eaacdfd7d8407667a2e5a097757265254) FIX: fix crash when switch printer Change-Id: I7632689c5df07df0222a5fa529993e114d7c5b08 Signed-off-by: Stone Li <stone.li@bambulab.com> ENH:close the amsmapping dialog when exit seletmachine dialog Change-Id: Ib49b1f9d08267c56b34d867edb40f287114479e1 ENH:no longer hide the unload button when connected to AMS Change-Id: I62c7195d590827bd189c6e6886e95c2cf755e203 FIX: fix the slicing result different issue when move volume in objects copied from other object the result is not correct Change-Id: Ieebc586f11c42429902d653e871c038d096783e8 FIX: support blocker not work on vertical+horizontal faces Jira: STUDIO-2088 Change-Id: I6803e8e90ebcc4c67d81473f60fdf97929011e12 (cherry picked from commit 738800c5af48ab8a2cde40b6f2b3c48a88bfee8b) FIX:fixed send print will crash when resources path is chinese path Change-Id: Ie4a5161f853dca691bd69e5695720d99148a0134
This commit is contained in:
parent
e9613e971d
commit
dfd658c00c
7 changed files with 23 additions and 8 deletions
|
@ -2046,6 +2046,7 @@ void PresetBundle::load_config_file_config(const std::string &name_or_path, bool
|
||||||
}
|
}
|
||||||
|
|
||||||
this->update_compatible(PresetSelectCompatibleType::Never);
|
this->update_compatible(PresetSelectCompatibleType::Never);
|
||||||
|
this->update_multi_material_filament_presets();
|
||||||
|
|
||||||
//BBS
|
//BBS
|
||||||
//const std::string &physical_printer = config.option<ConfigOptionString>("physical_printer_settings_id", true)->value;
|
//const std::string &physical_printer = config.option<ConfigOptionString>("physical_printer_settings_id", true)->value;
|
||||||
|
|
|
@ -1408,6 +1408,8 @@ void Print::process(bool use_cache)
|
||||||
return false;
|
return false;
|
||||||
if (model_volume1.mesh_ptr() != model_volume2.mesh_ptr())
|
if (model_volume1.mesh_ptr() != model_volume2.mesh_ptr())
|
||||||
return false;
|
return false;
|
||||||
|
if (!(model_volume1.get_transformation() == model_volume2.get_transformation()))
|
||||||
|
return false;
|
||||||
has_extruder1 = model_volume1.config.has("extruder");
|
has_extruder1 = model_volume1.config.has("extruder");
|
||||||
has_extruder2 = model_volume2.config.has("extruder");
|
has_extruder2 = model_volume2.config.has("extruder");
|
||||||
if ((has_extruder1 != has_extruder2)
|
if ((has_extruder1 != has_extruder2)
|
||||||
|
|
|
@ -2820,7 +2820,7 @@ void PrintObject::project_and_append_custom_facets(
|
||||||
{
|
{
|
||||||
// BBS: Approve adding enforcer support on vertical faces
|
// BBS: Approve adding enforcer support on vertical faces
|
||||||
SlabSlicingConfig config;
|
SlabSlicingConfig config;
|
||||||
config.isVertical = true;
|
config.isVertical = type == EnforcerBlockerType::ENFORCER ? true : false;
|
||||||
|
|
||||||
for (const ModelVolume* mv : this->model_object()->volumes)
|
for (const ModelVolume* mv : this->model_object()->volumes)
|
||||||
if (mv->is_model_part()) {
|
if (mv->is_model_part()) {
|
||||||
|
|
|
@ -33,6 +33,13 @@ SendJob::SendJob(std::shared_ptr<ProgressIndicator> pri, Plater* plater, std::st
|
||||||
void SendJob::prepare()
|
void SendJob::prepare()
|
||||||
{
|
{
|
||||||
m_plater->get_print_job_data(&job_data);
|
m_plater->get_print_job_data(&job_data);
|
||||||
|
if (&job_data) {
|
||||||
|
std::string temp_file = Slic3r::resources_dir() + "/check_access_code.txt";
|
||||||
|
auto check_access_code_path = temp_file.c_str();
|
||||||
|
BOOST_LOG_TRIVIAL(trace) << "sned_job: check_access_code_path = " << check_access_code_path;
|
||||||
|
job_data._temp_path = fs::path(check_access_code_path);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SendJob::on_exception(const std::exception_ptr &eptr)
|
void SendJob::on_exception(const std::exception_ptr &eptr)
|
||||||
|
|
|
@ -6587,8 +6587,6 @@ void Plater::get_print_job_data(PrintPrepareData* data)
|
||||||
data->plate_idx = p->m_print_job_data.plate_idx;
|
data->plate_idx = p->m_print_job_data.plate_idx;
|
||||||
data->_3mf_path = p->m_print_job_data._3mf_path;
|
data->_3mf_path = p->m_print_job_data._3mf_path;
|
||||||
data->_3mf_config_path = p->m_print_job_data._3mf_config_path;
|
data->_3mf_config_path = p->m_print_job_data._3mf_config_path;
|
||||||
std::string temp_file = Slic3r::resources_dir() + "/check_access_code.txt";
|
|
||||||
data->_temp_path = encode_path(temp_file.c_str());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1933,6 +1933,9 @@ void SelectMachineDialog::init_timer()
|
||||||
|
|
||||||
void SelectMachineDialog::on_cancel(wxCloseEvent &event)
|
void SelectMachineDialog::on_cancel(wxCloseEvent &event)
|
||||||
{
|
{
|
||||||
|
if (m_mapping_popup.IsShown())
|
||||||
|
m_mapping_popup.Dismiss();
|
||||||
|
|
||||||
if (m_print_job) {
|
if (m_print_job) {
|
||||||
if (m_print_job->is_running()) {
|
if (m_print_job->is_running()) {
|
||||||
m_print_job->cancel();
|
m_print_job->cancel();
|
||||||
|
|
|
@ -1724,7 +1724,7 @@ void StatusPanel::update_misc_ctrl(MachineObject *obj)
|
||||||
{
|
{
|
||||||
if (!obj) return;
|
if (!obj) return;
|
||||||
|
|
||||||
if (obj->can_unload_filament()) {
|
/*if (obj->can_unload_filament()) {
|
||||||
if (!m_button_unload->IsShown()) {
|
if (!m_button_unload->IsShown()) {
|
||||||
m_button_unload->Show();
|
m_button_unload->Show();
|
||||||
m_button_unload->GetParent()->Layout();
|
m_button_unload->GetParent()->Layout();
|
||||||
|
@ -1734,7 +1734,7 @@ void StatusPanel::update_misc_ctrl(MachineObject *obj)
|
||||||
m_button_unload->Hide();
|
m_button_unload->Hide();
|
||||||
m_button_unload->GetParent()->Layout();
|
m_button_unload->GetParent()->Layout();
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
// update extruder icon
|
// update extruder icon
|
||||||
update_extruder_status(obj);
|
update_extruder_status(obj);
|
||||||
|
@ -2212,8 +2212,11 @@ void StatusPanel::update_cloud_subtask(MachineObject *obj)
|
||||||
|
|
||||||
if (is_task_changed(obj)) {
|
if (is_task_changed(obj)) {
|
||||||
reset_printing_values();
|
reset_printing_values();
|
||||||
BOOST_LOG_TRIVIAL(trace) << "monitor: change to sub task id = " << obj->subtask_->task_id;
|
BOOST_LOG_TRIVIAL(info) << "monitor: change to sub task id = " << obj->subtask_->task_id;
|
||||||
if (web_request.IsOk()) web_request.Cancel();
|
if (web_request.IsOk() && web_request.GetState() == wxWebRequest::State_Active) {
|
||||||
|
BOOST_LOG_TRIVIAL(info) << "web_request: cancelled";
|
||||||
|
web_request.Cancel();
|
||||||
|
}
|
||||||
m_start_loading_thumbnail = true;
|
m_start_loading_thumbnail = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2227,7 +2230,8 @@ void StatusPanel::update_cloud_subtask(MachineObject *obj)
|
||||||
img = it->second;
|
img = it->second;
|
||||||
wxImage resize_img = img.Scale(m_bitmap_thumbnail->GetSize().x, m_bitmap_thumbnail->GetSize().y);
|
wxImage resize_img = img.Scale(m_bitmap_thumbnail->GetSize().x, m_bitmap_thumbnail->GetSize().y);
|
||||||
m_bitmap_thumbnail->SetBitmap(resize_img);
|
m_bitmap_thumbnail->SetBitmap(resize_img);
|
||||||
task_thumbnail_state == ThumbnailState::TASK_THUMBNAIL;
|
task_thumbnail_state = ThumbnailState::TASK_THUMBNAIL;
|
||||||
|
BOOST_LOG_TRIVIAL(trace) << "web_request: use cache image";
|
||||||
} else {
|
} else {
|
||||||
web_request = wxWebSession::GetDefault().CreateRequest(this, m_request_url);
|
web_request = wxWebSession::GetDefault().CreateRequest(this, m_request_url);
|
||||||
BOOST_LOG_TRIVIAL(trace) << "monitor: start request thumbnail, url = " << m_request_url;
|
BOOST_LOG_TRIVIAL(trace) << "monitor: start request thumbnail, url = " << m_request_url;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue