mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-11 00:37:51 -06:00
Fixed SLA-parameters initialization with correct current values, not default (SPE-834)
This commit is contained in:
parent
822bd92bd1
commit
de0bd2ea44
2 changed files with 20 additions and 11 deletions
|
@ -259,7 +259,7 @@ void ObjectList::update_extruder_values_for_items(const int max_extruder)
|
||||||
void ObjectList::update_objects_list_extruder_column(int extruders_count)
|
void ObjectList::update_objects_list_extruder_column(int extruders_count)
|
||||||
{
|
{
|
||||||
if (!this) return; // #ys_FIXME
|
if (!this) return; // #ys_FIXME
|
||||||
if (wxGetApp().preset_bundle->printers.get_selected_preset().printer_technology() == ptSLA)
|
if (printer_technology() == ptSLA)
|
||||||
extruders_count = 1;
|
extruders_count = 1;
|
||||||
|
|
||||||
wxDataViewChoiceRenderer* ch_render = dynamic_cast<wxDataViewChoiceRenderer*>(GetColumn(1)->GetRenderer());
|
wxDataViewChoiceRenderer* ch_render = dynamic_cast<wxDataViewChoiceRenderer*>(GetColumn(1)->GetRenderer());
|
||||||
|
@ -452,7 +452,7 @@ void ObjectList::show_context_menu()
|
||||||
|
|
||||||
wxMenu* menu = type & itInstance ? &m_menu_instance :
|
wxMenu* menu = type & itInstance ? &m_menu_instance :
|
||||||
m_objects_model->GetParent(item) != wxDataViewItem(0) ? &m_menu_part :
|
m_objects_model->GetParent(item) != wxDataViewItem(0) ? &m_menu_part :
|
||||||
wxGetApp().plater()->printer_technology() == ptFFF ? &m_menu_object : &m_menu_sla_object;
|
printer_technology() == ptFFF ? &m_menu_object : &m_menu_sla_object;
|
||||||
|
|
||||||
if (!(type & itInstance))
|
if (!(type & itInstance))
|
||||||
append_menu_item_settings(menu);
|
append_menu_item_settings(menu);
|
||||||
|
@ -597,7 +597,7 @@ void ObjectList::OnDrop(wxDataViewEvent &event)
|
||||||
|
|
||||||
std::vector<std::string> ObjectList::get_options(const bool is_part)
|
std::vector<std::string> ObjectList::get_options(const bool is_part)
|
||||||
{
|
{
|
||||||
if (wxGetApp().plater()->printer_technology() == ptSLA) {
|
if (printer_technology() == ptSLA) {
|
||||||
SLAPrintObjectConfig full_sla_config;
|
SLAPrintObjectConfig full_sla_config;
|
||||||
auto options = full_sla_config.keys();
|
auto options = full_sla_config.keys();
|
||||||
options.erase(find(options.begin(), options.end(), "layer_height"));
|
options.erase(find(options.begin(), options.end(), "layer_height"));
|
||||||
|
@ -616,7 +616,7 @@ std::vector<std::string> ObjectList::get_options(const bool is_part)
|
||||||
|
|
||||||
const std::vector<std::string>& ObjectList::get_options_for_bundle(const wxString& bundle_name)
|
const std::vector<std::string>& ObjectList::get_options_for_bundle(const wxString& bundle_name)
|
||||||
{
|
{
|
||||||
const FreqSettingsBundle& bundle = wxGetApp().plater()->printer_technology() == ptSLA ?
|
const FreqSettingsBundle& bundle = printer_technology() == ptSLA ?
|
||||||
FREQ_SETTINGS_BUNDLE_SLA : FREQ_SETTINGS_BUNDLE_FFF;
|
FREQ_SETTINGS_BUNDLE_SLA : FREQ_SETTINGS_BUNDLE_FFF;
|
||||||
|
|
||||||
for (auto& it : bundle)
|
for (auto& it : bundle)
|
||||||
|
@ -626,7 +626,7 @@ const std::vector<std::string>& ObjectList::get_options_for_bundle(const wxStrin
|
||||||
}
|
}
|
||||||
#if 0
|
#if 0
|
||||||
// if "Quick menu" is selected
|
// if "Quick menu" is selected
|
||||||
FreqSettingsBundle& bundle_quick = wxGetApp().plater()->printer_technology() == ptSLA ?
|
FreqSettingsBundle& bundle_quick = printer_technology() == ptSLA ?
|
||||||
m_freq_settings_sla: m_freq_settings_fff;
|
m_freq_settings_sla: m_freq_settings_fff;
|
||||||
|
|
||||||
for (auto& it : bundle_quick)
|
for (auto& it : bundle_quick)
|
||||||
|
@ -644,7 +644,7 @@ void ObjectList::get_options_menu(settings_menu_hierarchy& settings_menu, const
|
||||||
{
|
{
|
||||||
auto options = get_options(is_part);
|
auto options = get_options(is_part);
|
||||||
|
|
||||||
auto extruders_cnt = wxGetApp().preset_bundle->printers.get_selected_preset().printer_technology() == ptSLA ? 1 :
|
auto extruders_cnt = printer_technology() == ptSLA ? 1 :
|
||||||
wxGetApp().preset_bundle->printers.get_edited_preset().config.option<ConfigOptionFloats>("nozzle_diameter")->values.size();
|
wxGetApp().preset_bundle->printers.get_edited_preset().config.option<ConfigOptionFloats>("nozzle_diameter")->values.size();
|
||||||
|
|
||||||
DynamicPrintConfig config;
|
DynamicPrintConfig config;
|
||||||
|
@ -667,6 +667,11 @@ void ObjectList::get_options_menu(settings_menu_hierarchy& settings_menu, const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Slic3r::PrinterTechnology ObjectList::printer_technology() const
|
||||||
|
{
|
||||||
|
return wxGetApp().preset_bundle->printers.get_selected_preset().printer_technology();
|
||||||
|
}
|
||||||
|
|
||||||
void ObjectList::get_settings_choice(const wxString& category_name)
|
void ObjectList::get_settings_choice(const wxString& category_name)
|
||||||
{
|
{
|
||||||
wxArrayString names;
|
wxArrayString names;
|
||||||
|
@ -705,7 +710,7 @@ void ObjectList::get_settings_choice(const wxString& category_name)
|
||||||
if (selection_cnt > 0)
|
if (selection_cnt > 0)
|
||||||
{
|
{
|
||||||
// Add selected items to the "Quick menu"
|
// Add selected items to the "Quick menu"
|
||||||
FreqSettingsBundle& freq_settings = wxGetApp().plater()->printer_technology() == ptSLA ?
|
FreqSettingsBundle& freq_settings = printer_technology() == ptSLA ?
|
||||||
m_freq_settings_sla : m_freq_settings_fff;
|
m_freq_settings_sla : m_freq_settings_fff;
|
||||||
bool changed_existing = false;
|
bool changed_existing = false;
|
||||||
|
|
||||||
|
@ -751,7 +756,9 @@ void ObjectList::get_settings_choice(const wxString& category_name)
|
||||||
for (auto sel : selections)
|
for (auto sel : selections)
|
||||||
selected_options.push_back((*settings_list)[sel].first);
|
selected_options.push_back((*settings_list)[sel].first);
|
||||||
|
|
||||||
const DynamicPrintConfig& from_config = wxGetApp().preset_bundle->prints.get_edited_preset().config;
|
const DynamicPrintConfig& from_config = printer_technology() == ptFFF ?
|
||||||
|
wxGetApp().preset_bundle->prints.get_edited_preset().config :
|
||||||
|
wxGetApp().preset_bundle->sla_prints.get_edited_preset().config;
|
||||||
|
|
||||||
for (auto& setting : (*settings_list))
|
for (auto& setting : (*settings_list))
|
||||||
{
|
{
|
||||||
|
@ -1065,10 +1072,10 @@ wxMenu* ObjectList::create_settings_popupmenu(wxMenu *parent_menu)
|
||||||
void ObjectList::create_freq_settings_popupmenu(wxMenu *menu)
|
void ObjectList::create_freq_settings_popupmenu(wxMenu *menu)
|
||||||
{
|
{
|
||||||
// Add default settings bundles
|
// Add default settings bundles
|
||||||
const FreqSettingsBundle& bundle = wxGetApp().plater()->printer_technology() == ptFFF ?
|
const FreqSettingsBundle& bundle = printer_technology() == ptFFF ?
|
||||||
FREQ_SETTINGS_BUNDLE_FFF : FREQ_SETTINGS_BUNDLE_SLA;
|
FREQ_SETTINGS_BUNDLE_FFF : FREQ_SETTINGS_BUNDLE_SLA;
|
||||||
|
|
||||||
auto extruders_cnt = wxGetApp().preset_bundle->printers.get_selected_preset().printer_technology() == ptSLA ? 1 :
|
auto extruders_cnt = printer_technology() == ptSLA ? 1 :
|
||||||
wxGetApp().preset_bundle->printers.get_edited_preset().config.option<ConfigOptionFloats>("nozzle_diameter")->values.size();
|
wxGetApp().preset_bundle->printers.get_edited_preset().config.option<ConfigOptionFloats>("nozzle_diameter")->values.size();
|
||||||
|
|
||||||
for (auto& it : bundle) {
|
for (auto& it : bundle) {
|
||||||
|
@ -1081,7 +1088,7 @@ void ObjectList::create_freq_settings_popupmenu(wxMenu *menu)
|
||||||
}
|
}
|
||||||
#if 0
|
#if 0
|
||||||
// Add "Quick" settings bundles
|
// Add "Quick" settings bundles
|
||||||
const FreqSettingsBundle& bundle_quick = wxGetApp().plater()->printer_technology() == ptFFF ?
|
const FreqSettingsBundle& bundle_quick = printer_technology() == ptFFF ?
|
||||||
m_freq_settings_fff : m_freq_settings_sla;
|
m_freq_settings_fff : m_freq_settings_sla;
|
||||||
|
|
||||||
for (auto& it : bundle_quick) {
|
for (auto& it : bundle_quick) {
|
||||||
|
|
|
@ -284,6 +284,8 @@ private:
|
||||||
std::vector<std::string> get_options(const bool is_part);
|
std::vector<std::string> get_options(const bool is_part);
|
||||||
const std::vector<std::string>& get_options_for_bundle(const wxString& bundle_name);
|
const std::vector<std::string>& get_options_for_bundle(const wxString& bundle_name);
|
||||||
void get_options_menu(settings_menu_hierarchy& settings_menu, const bool is_part);
|
void get_options_menu(settings_menu_hierarchy& settings_menu, const bool is_part);
|
||||||
|
|
||||||
|
PrinterTechnology printer_technology() const ;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue