mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-10-20 07:11:12 -06:00
NEW: add extrusion calibration
1. display factor of extrusion calibration 2. add progress to calibration extrusion 3. support ext spool Change-Id: Ic124a0097f16e6287c09f5f133eea84eeefb4000 Signed-off-by: Stone Li <stone.li@bambulab.com>
This commit is contained in:
parent
582ec2c109
commit
eed072eccf
16 changed files with 2250 additions and 420 deletions
|
@ -41,6 +41,7 @@ enum class AMSRoadMode : int {
|
|||
AMS_ROAD_MODE_END,
|
||||
AMS_ROAD_MODE_END_ONLY,
|
||||
AMS_ROAD_MODE_NONE,
|
||||
AMS_ROAD_MODE_NONE_ANY_ROAD,
|
||||
};
|
||||
|
||||
enum class AMSPassRoadMode : int {
|
||||
|
@ -56,8 +57,11 @@ enum class AMSAction : int {
|
|||
AMS_ACTION_NONE,
|
||||
AMS_ACTION_LOAD,
|
||||
AMS_ACTION_UNLOAD,
|
||||
AMS_ACTION_CALI,
|
||||
AMS_ACTION_PRINTING,
|
||||
AMS_ACTION_NORMAL,
|
||||
AMS_ACTION_VIRTUAL,
|
||||
AMS_ACTION_NOAMS,
|
||||
};
|
||||
|
||||
enum class AMSPassRoadSTEP : int {
|
||||
|
@ -82,6 +86,7 @@ enum class AMSCanType : int {
|
|||
AMS_CAN_TYPE_BRAND,
|
||||
AMS_CAN_TYPE_THIRDBRAND,
|
||||
AMS_CAN_TYPE_EMPTY,
|
||||
AMS_CAN_TYPE_VIRTUAL,
|
||||
};
|
||||
|
||||
enum FilamentStep {
|
||||
|
@ -114,6 +119,8 @@ struct Caninfo
|
|||
wxColour material_colour = {*wxWHITE};
|
||||
AMSCanType material_state;
|
||||
int material_remain = 100;
|
||||
float k = 0.0f;
|
||||
float n = 0.0f;
|
||||
};
|
||||
|
||||
struct AMSinfo
|
||||
|
@ -237,6 +244,7 @@ public:
|
|||
virtual bool Enable(bool enable = true);
|
||||
void post_event(wxCommandEvent &&event);
|
||||
Caninfo m_info;
|
||||
void show_kn_value(bool show) { m_show_kn = show; };
|
||||
|
||||
protected:
|
||||
wxStaticBitmap *m_edit_bitmp = {nullptr};
|
||||
|
@ -249,6 +257,7 @@ protected:
|
|||
bool m_enable = {false};
|
||||
bool m_selected = {false};
|
||||
bool m_hover = {false};
|
||||
bool m_show_kn = {false};
|
||||
|
||||
double m_radius = {4};
|
||||
wxColour m_border_color;
|
||||
|
@ -390,6 +399,7 @@ public:
|
|||
void PlayRridLoading(wxString canid);
|
||||
void StopRridLoading(wxString canid);
|
||||
void msw_rescale();
|
||||
void show_sn_value(bool show);
|
||||
|
||||
std::string GetCurrentCan();
|
||||
|
||||
|
@ -453,6 +463,8 @@ protected:
|
|||
|
||||
AMSextruder *m_extruder = {nullptr};
|
||||
|
||||
AmsIntroducePopup m_ams_introduce_popup;
|
||||
|
||||
wxSimplebook *m_simplebook_right = {nullptr};
|
||||
wxSimplebook *m_simplebook_calibration = {nullptr};
|
||||
wxSimplebook *m_simplebook_amsitems = {nullptr};
|
||||
|
@ -466,11 +478,20 @@ protected:
|
|||
wxWindow * m_none_ams_panel = {nullptr};
|
||||
wxWindow * m_panel_top = {nullptr};
|
||||
wxWindow * m_amswin = {nullptr};
|
||||
wxBoxSizer* m_vams_sizer = {nullptr};
|
||||
wxBoxSizer* m_sizer_vams_tips = {nullptr};
|
||||
|
||||
Caninfo m_vams_info;
|
||||
StaticBox* m_panel_virtual = {nullptr};
|
||||
AMSrefresh* m_vams_refresh = {nullptr};
|
||||
AMSLib* m_vams_lib = {nullptr};
|
||||
AMSRoad* m_vams_road = {nullptr};
|
||||
|
||||
StaticBox * m_panel_can = {nullptr};
|
||||
wxBoxSizer *m_sizer_top = {nullptr};
|
||||
wxBoxSizer *m_sizer_cans = {nullptr};
|
||||
wxBoxSizer *m_sizer_right_tip = {nullptr};
|
||||
wxBoxSizer* m_sizer_ams_tips = {nullptr};
|
||||
|
||||
::StepIndicator *m_filament_load_step = {nullptr};
|
||||
::StepIndicator *m_filament_unload_step = {nullptr};
|
||||
|
@ -481,6 +502,7 @@ protected:
|
|||
ScalableBitmap m_button_ams_setting_normal;
|
||||
ScalableBitmap m_button_ams_setting_hover;
|
||||
ScalableBitmap m_button_ams_setting_press;
|
||||
Button *m_button_extrusion_cali= {nullptr};
|
||||
Button *m_button_guide = {nullptr};
|
||||
Button *m_button_retry = {nullptr};
|
||||
|
||||
|
@ -491,7 +513,7 @@ public:
|
|||
std::string GetCurrentCan(std::string amsid);
|
||||
wxColour GetCanColour(std::string amsid, std::string canid);
|
||||
|
||||
void SetActionState(AMSAction action);
|
||||
void SetActionState(AMSAction action, bool support_virtual_tray = true);
|
||||
void EnterNoneAMSMode();
|
||||
void ExitNoneAMSMode();
|
||||
|
||||
|
@ -510,7 +532,7 @@ public:
|
|||
void SetHumidity(std::string amsid, int humidity);
|
||||
void UpdateStepCtrl();
|
||||
void CreateAms();
|
||||
void UpdateAms(std::vector<AMSinfo> info, bool keep_selection = true);
|
||||
void UpdateAms(std::vector<AMSinfo> info, bool keep_selection = true, bool has_extrusion_cali = true);
|
||||
void AddAms(AMSinfo info, bool refresh = true);
|
||||
void SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadType type, AMSPassRoadSTEP step);
|
||||
void SwitchAms(std::string ams_id);
|
||||
|
@ -519,10 +541,17 @@ public:
|
|||
void on_filament_load(wxCommandEvent &event);
|
||||
void on_filament_unload(wxCommandEvent &event);
|
||||
void on_ams_setting_click(wxMouseEvent &event);
|
||||
void on_extrusion_cali(wxCommandEvent &event);
|
||||
void on_ams_setting_click(wxCommandEvent &event);
|
||||
void on_clibration_again_click(wxMouseEvent &event);
|
||||
void on_clibration_cancel_click(wxMouseEvent &event);
|
||||
void Reset();
|
||||
|
||||
void show_noams_mode(bool show, bool support_virtual_tray);
|
||||
void show_vams(bool show);
|
||||
void show_vams_kn_value(bool show);
|
||||
void update_vams_kn_value(AmsTray tray);
|
||||
|
||||
void post_event(wxEvent &&event);
|
||||
|
||||
virtual bool Enable(bool enable = true);
|
||||
|
@ -531,17 +560,20 @@ public:
|
|||
std::string m_current_senect;
|
||||
};
|
||||
|
||||
wxDECLARE_EVENT(EVT_AMS_EXTRUSION_CALI, wxCommandEvent);
|
||||
wxDECLARE_EVENT(EVT_AMS_LOAD, SimpleEvent);
|
||||
wxDECLARE_EVENT(EVT_AMS_UNLOAD, SimpleEvent);
|
||||
wxDECLARE_EVENT(EVT_AMS_SETTINGS, SimpleEvent);
|
||||
wxDECLARE_EVENT(EVT_AMS_REFRESH_RFID, wxCommandEvent);
|
||||
wxDECLARE_EVENT(EVT_AMS_ON_SELECTED, wxCommandEvent);
|
||||
wxDECLARE_EVENT(EVT_AMS_ON_FILAMENT_EDIT, wxCommandEvent);
|
||||
wxDECLARE_EVENT(EVT_VAMS_ON_FILAMENT_EDIT, wxCommandEvent);
|
||||
wxDECLARE_EVENT(EVT_AMS_CLIBRATION_AGAIN, wxCommandEvent);
|
||||
wxDECLARE_EVENT(EVT_AMS_CLIBRATION_CANCEL, wxCommandEvent);
|
||||
wxDECLARE_EVENT(EVT_AMS_GUIDE_WIKI, wxCommandEvent);
|
||||
wxDECLARE_EVENT(EVT_AMS_RETRY, wxCommandEvent);
|
||||
wxDECLARE_EVENT(EVT_AMS_SHOW_HUMIDITY_TIPS, wxCommandEvent);
|
||||
wxDECLARE_EVENT(EVT_AMS_UNSELETED_VAMS, wxCommandEvent);
|
||||
|
||||
}} // namespace Slic3r::GUI
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue