Fixed an issue that internal_bridge_speed is applied to external bridge infills

A new extrusion role - erInternalBridgeInfill is introduced.
SuperSlicer's implementation is referenced.

Signed-off-by: SoftFever <103989404+SoftFever@users.noreply.github.com>
This commit is contained in:
SoftFever
2023-08-12 15:38:22 +08:00
parent 8dd9561574
commit 5807135a1f
8 changed files with 40 additions and 12 deletions

View File

@@ -1,3 +1,4 @@
#include "PrintConfig.hpp"
#include "libslic3r.h"
#include "I18N.hpp"
#include "GCode.hpp"
@@ -4045,9 +4046,9 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description,
speed = new_speed == 0.0 ? speed : new_speed;
}
}
else if(path.role() == erBridgeInfill) {
else if(path.role() == erInternalBridgeInfill) {
speed = m_config.get_abs_value("internal_bridge_speed");
} else if (path.role() == erOverhangPerimeter || path.role() == erSupportTransition) {
} else if (path.role() == erOverhangPerimeter || path.role() == erSupportTransition || path.role() == erBridgeInfill) {
speed = m_config.get_abs_value("bridge_speed");
} else if (path.role() == erInternalInfill) {
speed = m_config.get_abs_value("sparse_infill_speed");