mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-16 01:52:11 +00:00
ENH: Add extruder_printable_height
to support different printable height of multi_extruder jira:none Change-Id: I265c65e15fc8f598c3456556557bb6977b5de820 (cherry picked from commit 933adbaaf0eaf361e39f131dd5536dca91214d43)
This commit is contained in:
@@ -122,6 +122,18 @@ class Print;
|
||||
|
||||
using ConflictResultOpt = std::optional<ConflictResult>;
|
||||
|
||||
struct GCodeCheckResult
|
||||
{
|
||||
int error_code = 0; // 0 means succeed, 0001 printable area error, 0010 printable height error
|
||||
std::map<int, std::vector<std::pair<int, int>>> print_area_error_infos; // printable_area extruder_id to <filament_id - object_label_id> which cannot printed in this extruder
|
||||
std::map<int, std::vector<std::pair<int, int>>> print_height_error_infos; // printable_height extruder_id to <filament_id - object_label_id> which cannot printed in this extruder
|
||||
void reset() {
|
||||
error_code = 0;
|
||||
print_area_error_infos.clear();
|
||||
print_height_error_infos.clear();
|
||||
}
|
||||
};
|
||||
|
||||
struct FilamentPrintableResult
|
||||
{
|
||||
std::vector<int> conflict_filament;
|
||||
@@ -133,16 +145,6 @@ class Print;
|
||||
};
|
||||
};
|
||||
|
||||
struct GCodeCheckResult
|
||||
{
|
||||
int error_code = 0; // 0 means succeed
|
||||
std::map<int, std::vector<std::pair<int, int>>> error_infos; // extruder_id to <filament_id - object_label_id> which cannot printed in this extruder
|
||||
void reset() {
|
||||
error_code = 0;
|
||||
error_infos.clear();
|
||||
}
|
||||
};
|
||||
|
||||
struct GCodeProcessorResult
|
||||
{
|
||||
struct FilamentSequenceHash
|
||||
@@ -196,6 +198,7 @@ class Print;
|
||||
Vec3f arc_center_position{ Vec3f::Zero() }; // mm
|
||||
std::vector<Vec3f> interpolation_points; // interpolation points of arc for drawing
|
||||
int object_label_id{-1};
|
||||
float print_z{0.0f};
|
||||
|
||||
float volumetric_rate() const { return feedrate * mm3_per_mm; }
|
||||
//BBS: new function to support arc move
|
||||
@@ -720,6 +723,7 @@ class Print;
|
||||
bool m_virtual_flushing; // mark a section with virtual flush, only for statistics
|
||||
bool m_wipe_tower;
|
||||
int m_object_label_id{-1};
|
||||
float m_print_z{0.0f};
|
||||
std::vector<float> m_remaining_volume;
|
||||
ExtruderTemps m_filament_nozzle_temp;
|
||||
ExtruderTemps m_filament_nozzle_temp_first_layer;
|
||||
@@ -809,7 +813,7 @@ class Print;
|
||||
GCodeProcessor();
|
||||
|
||||
// check whether the gcode path meets the filament_map grouping requirements
|
||||
bool check_multi_extruder_gcode_valid(const std::vector<Polygons> &unprintable_areas, const std::vector<int>& filament_map);
|
||||
bool check_multi_extruder_gcode_valid(const std::vector<Polygons> &unprintable_areas, const std::vector<double>& printable_heights, const std::vector<int>& filament_map);
|
||||
void apply_config(const PrintConfig& config);
|
||||
void set_print(Print* print) { m_print = print; }
|
||||
void enable_stealth_time_estimator(bool enabled);
|
||||
|
||||
Reference in New Issue
Block a user