mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-01 09:31:59 +08:00
Fix: Spiral vase missing perimeter
This commit is contained in:
parent
082da86f25
commit
466ac9105e
@ -2203,7 +2203,7 @@ LayerResult GCodeGenerator::process_layer(
|
|||||||
print.config().before_layer_gcode.value, m_writer.extruder()->id(), &config)
|
print.config().before_layer_gcode.value, m_writer.extruder()->id(), &config)
|
||||||
+ "\n";
|
+ "\n";
|
||||||
}
|
}
|
||||||
gcode += this->change_layer(previous_layer_z, print_z); // this will increase m_layer_index
|
gcode += this->change_layer(previous_layer_z, print_z, result.spiral_vase_enable); // this will increase m_layer_index
|
||||||
m_layer = &layer;
|
m_layer = &layer;
|
||||||
if (this->line_distancer_is_required(layer_tools.extruders) && this->m_layer != nullptr && this->m_layer->lower_layer != nullptr) {
|
if (this->line_distancer_is_required(layer_tools.extruders) && this->m_layer != nullptr && this->m_layer->lower_layer != nullptr) {
|
||||||
this->m_previous_layer_distancer = GCode::Impl::get_expolygons_distancer(m_layer->lower_layer->lslices);
|
this->m_previous_layer_distancer = GCode::Impl::get_expolygons_distancer(m_layer->lower_layer->lslices);
|
||||||
@ -2732,8 +2732,11 @@ std::optional<std::string> GCodeGenerator::get_helical_layer_change_gcode(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// called by GCodeGenerator::process_layer()
|
// called by GCodeGenerator::process_layer()
|
||||||
std::string GCodeGenerator::change_layer(coordf_t previous_layer_z, coordf_t print_z)
|
std::string GCodeGenerator::change_layer(
|
||||||
{
|
coordf_t previous_layer_z,
|
||||||
|
coordf_t print_z,
|
||||||
|
const bool spiral_vase_enabled
|
||||||
|
) {
|
||||||
std::string gcode;
|
std::string gcode;
|
||||||
if (m_layer_count > 0)
|
if (m_layer_count > 0)
|
||||||
// Increment a progress bar indicator.
|
// Increment a progress bar indicator.
|
||||||
@ -2745,7 +2748,7 @@ std::string GCodeGenerator::change_layer(coordf_t previous_layer_z, coordf_t pri
|
|||||||
const std::string comment{"move to next layer (" + std::to_string(m_layer_index) + ")"};
|
const std::string comment{"move to next layer (" + std::to_string(m_layer_index) + ")"};
|
||||||
|
|
||||||
bool helical_layer_change{
|
bool helical_layer_change{
|
||||||
(!this->m_spiral_vase || !this->m_spiral_vase->is_enabled())
|
!spiral_vase_enabled
|
||||||
&& print_z > previous_layer_z
|
&& print_z > previous_layer_z
|
||||||
&& EXTRUDER_CONFIG(travel_ramping_lift)
|
&& EXTRUDER_CONFIG(travel_ramping_lift)
|
||||||
&& EXTRUDER_CONFIG(travel_slope) > 0 && EXTRUDER_CONFIG(travel_slope) < 90
|
&& EXTRUDER_CONFIG(travel_slope) > 0 && EXTRUDER_CONFIG(travel_slope) < 90
|
||||||
|
@ -366,7 +366,11 @@ private:
|
|||||||
const coordf_t print_z,
|
const coordf_t print_z,
|
||||||
const std::string& comment
|
const std::string& comment
|
||||||
);
|
);
|
||||||
std::string change_layer(coordf_t previous_layer_z, coordf_t print_z);
|
std::string change_layer(
|
||||||
|
coordf_t previous_layer_z,
|
||||||
|
coordf_t print_z,
|
||||||
|
const bool spiral_vase_enabled
|
||||||
|
);
|
||||||
std::string extrude_entity(const ExtrusionEntityReference &entity, const GCode::SmoothPathCache &smooth_path_cache, const std::string_view description, double speed = -1.);
|
std::string extrude_entity(const ExtrusionEntityReference &entity, const GCode::SmoothPathCache &smooth_path_cache, const std::string_view description, double speed = -1.);
|
||||||
std::string extrude_loop(const ExtrusionLoop &loop, const GCode::SmoothPathCache &smooth_path_cache, const std::string_view description, double speed = -1.);
|
std::string extrude_loop(const ExtrusionLoop &loop, const GCode::SmoothPathCache &smooth_path_cache, const std::string_view description, double speed = -1.);
|
||||||
std::string extrude_skirt(const ExtrusionLoop &loop_src, const ExtrusionFlow &extrusion_flow_override,
|
std::string extrude_skirt(const ExtrusionLoop &loop_src, const ExtrusionFlow &extrusion_flow_override,
|
||||||
|
@ -28,10 +28,6 @@ public:
|
|||||||
m_enabled = en;
|
m_enabled = en;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool is_enabled() const {
|
|
||||||
return m_enabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string process_layer(const std::string &gcode);
|
std::string process_layer(const std::string &gcode);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user