Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbubnikv <bubnikv@gmail.com>2017-05-25 23:27:53 +0300
committerbubnikv <bubnikv@gmail.com>2017-05-25 23:27:53 +0300
commite000b22578a5e295958a28b5a2e74afc89109375 (patch)
treeee084d50eed7193b968c13448b4a5d2b6c6bfc12 /xs/src/libslic3r/Print.hpp
parent7d64c465c0ffdb33578f0c65a2aaea4bb2facb78 (diff)
Implemented wipe tower print path preview.
Diffstat (limited to 'xs/src/libslic3r/Print.hpp')
-rw-r--r--xs/src/libslic3r/Print.hpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/xs/src/libslic3r/Print.hpp b/xs/src/libslic3r/Print.hpp
index 9ad45bbcd..01180863f 100644
--- a/xs/src/libslic3r/Print.hpp
+++ b/xs/src/libslic3r/Print.hpp
@@ -13,6 +13,8 @@
#include "Model.hpp"
#include "PlaceholderParser.hpp"
#include "Slicing.hpp"
+#include "GCode/ToolOrdering.hpp"
+#include "GCode/WipeTower.hpp"
namespace Slic3r {
@@ -22,7 +24,7 @@ class ModelObject;
// Print step IDs for keeping track of the print state.
enum PrintStep {
- psSkirt, psBrim,
+ psSkirt, psBrim, psWipeTower
};
enum PrintObjectStep {
posSlice, posPerimeters, posPrepareInfill,
@@ -258,6 +260,18 @@ public:
void auto_assign_extruders(ModelObject* model_object) const;
void _make_skirt();
+
+ // Wipe tower support.
+ bool has_wipe_tower();
+ void _clear_wipe_tower();
+ void _make_wipe_tower();
+ // Tool ordering of a non-sequential print has to be known to calculate the wipe tower.
+ // Cache it here, so it does not need to be recalculated during the G-code generation.
+ ToolOrdering m_tool_ordering;
+ // Cache of tool changes per print layer.
+ std::vector<std::vector<WipeTower::ToolChangeResult>> m_wipe_tower_tool_changes;
+ std::unique_ptr<WipeTower::ToolChangeResult> m_wipe_tower_final_purge;
+
std::string output_filename();
std::string output_filepath(const std::string &path);