mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-19 11:23:42 +00:00
ENH: support new feature of AMS
jira: [STUDIO-14067][STUDIO-14069] Change-Id: Ib51f9ec6b387418f1817619973e926d3c9494935 (cherry picked from commit e2f63a8d1e3a1ea1f53578c611300ead12052b39)
This commit is contained in:
@@ -3179,15 +3179,16 @@ void StatusPanel::update_ams(MachineObject *obj)
|
|||||||
|
|
||||||
bool is_support_virtual_tray = obj->ams_support_virtual_tray;
|
bool is_support_virtual_tray = obj->ams_support_virtual_tray;
|
||||||
bool is_support_filament_backup = obj->is_support_filament_backup;
|
bool is_support_filament_backup = obj->is_support_filament_backup;
|
||||||
AMSModel ams_mode = AMSModel::GENERIC_AMS;
|
|
||||||
|
|
||||||
if (obj) {
|
if (obj && obj->is_security_control_ready()) {
|
||||||
if (obj->get_printer_ams_type() == "f1") { ams_mode = AMSModel::AMS_LITE; }
|
obj->check_ams_filament_valid();
|
||||||
if (obj->is_security_control_ready())
|
|
||||||
obj->check_ams_filament_valid();
|
|
||||||
}
|
}
|
||||||
if (obj->is_enable_np && obj->GetFilaSystem()->GetAmsList().size() > 0) {
|
|
||||||
|
AMSModel ams_mode = AMSModel::GENERIC_AMS;
|
||||||
|
if ((obj->is_enable_np || obj->is_enable_ams_np) && obj->GetFilaSystem()->GetAmsList().size() > 0) {
|
||||||
ams_mode = AMSModel(obj->GetFilaSystem()->GetAmsList().begin()->second->GetAmsType());
|
ams_mode = AMSModel(obj->GetFilaSystem()->GetAmsList().begin()->second->GetAmsType());
|
||||||
|
} if (obj->get_printer_ams_type() == "f1") {
|
||||||
|
ams_mode = AMSModel::AMS_LITE;//STUDIO-14066
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!obj || !obj->is_connected()) {
|
if (!obj || !obj->is_connected()) {
|
||||||
@@ -3228,7 +3229,6 @@ void StatusPanel::update_ams(MachineObject *obj)
|
|||||||
AMSinfo info;
|
AMSinfo info;
|
||||||
info.ams_id = ams->first;
|
info.ams_id = ams->first;
|
||||||
if (ams->second->IsExist() && info.parse_ams_info(obj, ams->second, obj->GetFilaSystem()->IsDetectRemainEnabled(), obj->is_support_ams_humidity)) {
|
if (ams->second->IsExist() && info.parse_ams_info(obj, ams->second, obj->GetFilaSystem()->IsDetectRemainEnabled(), obj->is_support_ams_humidity)) {
|
||||||
if (ams_mode == AMSModel::AMS_LITE) { info.ams_type = AMSModel::AMS_LITE; }
|
|
||||||
ams_info.push_back(info);
|
ams_info.push_back(info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3041,10 +3041,7 @@ void AMSHumidity::msw_rescale() {
|
|||||||
/*************************************************
|
/*************************************************
|
||||||
Description:AmsItem
|
Description:AmsItem
|
||||||
**************************************************/
|
**************************************************/
|
||||||
|
AmsItem::AmsItem(wxWindow *parent,AMSinfo info, AMSModel model, AMSPanelPos pos)
|
||||||
AmsItem::AmsItem() {}
|
|
||||||
|
|
||||||
AmsItem::AmsItem(wxWindow *parent,AMSinfo info, AMSModel model, AMSPanelPos pos) : AmsItem()
|
|
||||||
{
|
{
|
||||||
m_bitmap_extra_framework = ScalableBitmap(this, "ams_extra_framework_mid_new", 134);
|
m_bitmap_extra_framework = ScalableBitmap(this, "ams_extra_framework_mid_new", 134);
|
||||||
|
|
||||||
@@ -3590,6 +3587,15 @@ void AmsItem::RenderLiteRoad(wxDC& dc, wxSize size) {
|
|||||||
auto a3_top = m_panel_pos == AMSPanelPos::RIGHT_PANEL ? size.y / 2 + FromDIP(8) : size.y / 2 + FromDIP(4);
|
auto a3_top = m_panel_pos == AMSPanelPos::RIGHT_PANEL ? size.y / 2 + FromDIP(8) : size.y / 2 + FromDIP(4);
|
||||||
auto a4_top = m_panel_pos == AMSPanelPos::RIGHT_PANEL ? size.y / 2 + FromDIP(4) : size.y / 2 + FromDIP(8);
|
auto a4_top = m_panel_pos == AMSPanelPos::RIGHT_PANEL ? size.y / 2 + FromDIP(4) : size.y / 2 + FromDIP(8);
|
||||||
|
|
||||||
|
if (m_can_lib_list.empty()) {
|
||||||
|
//to Extruder
|
||||||
|
dc.SetPen(wxPen(AMS_CONTROL_GRAY500, 2, wxPENSTYLE_SOLID));
|
||||||
|
dc.SetBrush(wxBrush(*wxTRANSPARENT_BRUSH));
|
||||||
|
auto top = std::min(a1_top, a2_top);
|
||||||
|
dc.DrawLine(end_top, top, end_top, size.y);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
auto a1_left = m_can_lib_list["0"]->GetScreenPosition().x + m_can_lib_list["0"]->GetSize().x / 2;
|
auto a1_left = m_can_lib_list["0"]->GetScreenPosition().x + m_can_lib_list["0"]->GetSize().x / 2;
|
||||||
|
|||||||
@@ -759,7 +759,6 @@ Description:AmsItem
|
|||||||
class AmsItem : public wxWindow
|
class AmsItem : public wxWindow
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
AmsItem();
|
|
||||||
AmsItem(wxWindow *parent, AMSinfo info, AMSModel model, AMSPanelPos pos);
|
AmsItem(wxWindow *parent, AMSinfo info, AMSModel model, AMSPanelPos pos);
|
||||||
~AmsItem();
|
~AmsItem();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user