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

@ -28,6 +28,7 @@ enum ExtrusionRole : uint8_t {
erBottomSurface,
erIroning,
erBridgeInfill,
erInternalBridgeInfill,
erGapFill,
erSkirt,
erBrim,
@ -69,6 +70,7 @@ inline bool is_external_perimeter(ExtrusionRole role)
inline bool is_infill(ExtrusionRole role)
{
return role == erBridgeInfill
|| role == erInternalBridgeInfill
|| role == erInternalInfill
|| role == erSolidInfill
|| role == erTopSolidInfill
@ -84,6 +86,7 @@ inline bool is_top_surface(ExtrusionRole role)
inline bool is_solid_infill(ExtrusionRole role)
{
return role == erBridgeInfill
|| role == erInternalBridgeInfill
|| role == erSolidInfill
|| role == erTopSolidInfill
|| role == erBottomSurface
@ -92,6 +95,7 @@ inline bool is_solid_infill(ExtrusionRole role)
inline bool is_bridge(ExtrusionRole role) {
return role == erBridgeInfill
|| role == erInternalBridgeInfill
|| role == erOverhangPerimeter;
}