mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-19 19:33:47 +00:00
FIX:get error config when use quick key
jira: STUDIO-9026 Change-Id: I28f4a7bf5ec7e421fada9ca3950e6125c2bb6936 (cherry picked from commit 32c42ccefacbd4b511b296d8796ca4a1874da532)
This commit is contained in:
@@ -5881,8 +5881,8 @@ void ObjectList::set_extruder_for_selected_items(const int extruder)
|
|||||||
ItemType type = m_objects_model->GetItemType(item);
|
ItemType type = m_objects_model->GetItemType(item);
|
||||||
if (type & itVolume) {
|
if (type & itVolume) {
|
||||||
const int obj_idx = m_objects_model->GetObjectIdByItem(item);
|
const int obj_idx = m_objects_model->GetObjectIdByItem(item);
|
||||||
const int vol_idx = m_objects_model->GetVolumeIdByItem(item);
|
int vol_idx = m_objects_model->GetVolumeIdByItem(item);
|
||||||
|
vol_idx = m_objects_model->get_real_volume_index_in_3d(obj_idx, vol_idx);
|
||||||
if ((obj_idx < m_objects->size()) && (obj_idx < (*m_objects)[obj_idx]->volumes.size())) {
|
if ((obj_idx < m_objects->size()) && (obj_idx < (*m_objects)[obj_idx]->volumes.size())) {
|
||||||
auto volume_type = (*m_objects)[obj_idx]->volumes[vol_idx]->type();
|
auto volume_type = (*m_objects)[obj_idx]->volumes[vol_idx]->type();
|
||||||
if (volume_type != ModelVolumeType::MODEL_PART && volume_type != ModelVolumeType::PARAMETER_MODIFIER)
|
if (volume_type != ModelVolumeType::MODEL_PART && volume_type != ModelVolumeType::PARAMETER_MODIFIER)
|
||||||
@@ -5904,11 +5904,25 @@ void ObjectList::set_extruder_for_selected_items(const int extruder)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (type & itInfo && m_objects_model->GetInfoItemType(item) == InfoItemType::CutConnectors) {
|
||||||
|
const int obj_idx = m_objects_model->GetObjectIdByItem(item);
|
||||||
|
for (size_t i = 0; i < (*m_objects)[obj_idx]->volumes.size(); i++) {
|
||||||
|
auto mv = (*m_objects)[obj_idx]->volumes[i];
|
||||||
|
if (mv->is_cut_connector()) {
|
||||||
|
ModelConfig &config = mv->config;
|
||||||
|
if (config.has("extruder"))
|
||||||
|
config.set("extruder", new_extruder);
|
||||||
|
else
|
||||||
|
config.set_key_value("extruder", new ConfigOptionInt(new_extruder));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
ModelConfig &config = get_item_config(item);
|
ModelConfig &config = get_item_config(item);
|
||||||
if (config.has("extruder"))
|
if (config.has("extruder"))
|
||||||
config.set("extruder", new_extruder);
|
config.set("extruder", new_extruder);
|
||||||
else
|
else
|
||||||
config.set_key_value("extruder", new ConfigOptionInt(new_extruder));
|
config.set_key_value("extruder", new ConfigOptionInt(new_extruder));
|
||||||
|
}
|
||||||
|
|
||||||
// for object, clear all its part volume's extruder config
|
// for object, clear all its part volume's extruder config
|
||||||
if (type & itObject) {
|
if (type & itObject) {
|
||||||
|
|||||||
Reference in New Issue
Block a user