diff options
author | Vojtech Bubnik <bubnikv@gmail.com> | 2021-04-12 12:06:09 +0300 |
---|---|---|
committer | Vojtech Bubnik <bubnikv@gmail.com> | 2021-04-12 12:06:09 +0300 |
commit | 978c3a6c8984bdf7d852bd071718e70ee11e0063 (patch) | |
tree | 5e62926a8c962c7b6d5ccb1c1a1c2c525bafe4a9 /src/libslic3r/GCode/WipeTower.hpp | |
parent | 580d739d6f377fcf76456051e1816aae2fb35bad (diff) | |
parent | fcabe8a0f47807bb7efff3fdcecf35c49d02556b (diff) |
Merge tag 'version_2.3.0' into stable
version_2.3.0
Diffstat (limited to 'src/libslic3r/GCode/WipeTower.hpp')
-rw-r--r-- | src/libslic3r/GCode/WipeTower.hpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/libslic3r/GCode/WipeTower.hpp b/src/libslic3r/GCode/WipeTower.hpp index cc870c08a..0f9b0b87d 100644 --- a/src/libslic3r/GCode/WipeTower.hpp +++ b/src/libslic3r/GCode/WipeTower.hpp @@ -21,7 +21,7 @@ enum GCodeFlavor : unsigned char; class WipeTower { public: - static char const* never_skip_tag() { return "_GCODE_WIPE_TOWER_NEVER_SKIP_TAG"; } + static const std::string never_skip_tag() { return "_GCODE_WIPE_TOWER_NEVER_SKIP_TAG"; } struct Extrusion { @@ -57,6 +57,13 @@ public: // Is this a priming extrusion? (If so, the wipe tower rotation & translation will not be applied later) bool priming; + // Pass a polyline so that normal G-code generator can do a wipe for us. + // The wipe cannot be done by the wipe tower because it has to pass back + // a loaded extruder, so it would have to either do a wipe with no retraction + // (leading to https://github.com/prusa3d/PrusaSlicer/issues/2834) or do + // an extra retraction-unretraction pair. + std::vector<Vec2f> wipe_path; + // Initial tool int initial_tool; @@ -77,6 +84,12 @@ public: } }; + // Construct ToolChangeResult from current state of WipeTower and WipeTowerWriter. + // WipeTowerWriter is moved from ! + ToolChangeResult construct_tcr(WipeTowerWriter& writer, + bool priming, + size_t old_tool) const; + // x -- x coordinates of wipe tower in mm ( left bottom corner ) // y -- y coordinates of wipe tower in mm ( left bottom corner ) // width -- width of wipe tower in mm ( default 60 mm - leave as it is ) @@ -154,7 +167,7 @@ public: // Returns gcode for a toolchange and a final print head position. // On the first layer, extrude a brim around the future wipe tower first. - ToolChangeResult tool_change(size_t new_tool, bool last_in_layer); + ToolChangeResult tool_change(size_t new_tool); // Fill the unfilled space with a sparse infill. // Call this method only if layer_finished() is false. @@ -189,8 +202,6 @@ public: }; private: - WipeTower(); - enum wipe_shape // A fill-in direction { SHAPE_NORMAL = 1, |