mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-10-19 06:41:14 -06:00
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:
parent
8dd9561574
commit
5807135a1f
8 changed files with 40 additions and 12 deletions
|
@ -174,12 +174,19 @@ std::vector<SurfaceFill> group_fills(const Layer &layer)
|
|||
} else if (params.density <= 0)
|
||||
continue;
|
||||
|
||||
params.extrusion_role =
|
||||
is_bridge ?
|
||||
erBridgeInfill :
|
||||
(surface.is_solid() ?
|
||||
(surface.is_top() ? erTopSolidInfill : (surface.is_bottom()? erBottomSurface : erSolidInfill)) :
|
||||
erInternalInfill);
|
||||
params.extrusion_role = erInternalInfill;
|
||||
if (is_bridge) {
|
||||
if(surface.is_internal_bridge())
|
||||
params.extrusion_role = erInternalBridgeInfill;
|
||||
else
|
||||
params.extrusion_role = erBridgeInfill;
|
||||
} else if (surface.is_solid()) {
|
||||
if (surface.is_top()) {
|
||||
params.extrusion_role = erTopSolidInfill;
|
||||
} else {
|
||||
params.extrusion_role = erSolidInfill;
|
||||
}
|
||||
}
|
||||
params.bridge_angle = float(surface.bridge_angle);
|
||||
params.angle = float(Geometry::deg2rad(region_config.infill_direction.value));
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue