PrusaSlicer/src/libslic3r/GCode/SpiralVase.hpp
Vojtech Bubnik 298b730589 Implemented linear tapering of extrusion rate for the 1st spiral vase layer
above the solid infill. Should fix
first layer of vase (after bottom layers) is bulging (0.6nozzle, 0.4 layerhight) #3712
Adjust flow of the "second" layer in spiral vase mode #2795
2020-12-09 14:54:26 +01:00

36 lines
766 B
C++

#ifndef slic3r_SpiralVase_hpp_
#define slic3r_SpiralVase_hpp_
#include "../libslic3r.h"
#include "../GCodeReader.hpp"
namespace Slic3r {
class SpiralVase {
public:
SpiralVase(const PrintConfig &config) : m_config(&config)
{
m_reader.z() = (float)m_config->z_offset;
m_reader.apply_config(*m_config);
};
void enable(bool en) {
m_transition_layer = en && ! m_enabled;
m_enabled = en;
}
std::string process_layer(const std::string &gcode);
private:
const PrintConfig *m_config;
GCodeReader m_reader;
bool m_enabled = false;
// First spiral vase layer. Layer height has to be ramped up from zero to the target layer height.
bool m_transition_layer = false;
};
}
#endif