Skip to content

Commit

Permalink
fix: don't always fill perimeter gaps between inner wall and skin/inf…
Browse files Browse the repository at this point in the history
…ill (CURA-4027, CURA-4251)

this solves a problem that too many gaps are filled when alternate extra wall is enabled or when the initial layer line width is larger
if the infill pattern is concentric
  • Loading branch information
BagelOrb committed Aug 28, 2017
1 parent ca618d9 commit 9d439fc
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions src/FffPolygonGenerator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -432,12 +432,16 @@ void FffPolygonGenerator::processPerimeterGaps(SliceDataStorage& storage)
{
continue;
}
bool fill_gaps_between_inner_wall_and_skin_or_infill =
mesh.getSettingInMicrons("infill_line_distance") > 0
&& !mesh.getSettingBoolean("infill_hollow")
&& mesh.getSettingInMicrons("infill_overlap_mm") >= 0;
for (unsigned int layer_nr = 0; layer_nr < mesh.layers.size(); layer_nr++)
{
const ExtruderTrain& train_wall_x = *storage.meshgroup->getExtruderTrain(mesh.getSettingAsExtruderNr("wall_x_extruder_nr"));
bool fill_gaps_between_inner_wall_and_skin_or_infill =
mesh.getSettingInMicrons("infill_line_distance") > 0
&& !mesh.getSettingBoolean("infill_hollow")
&& mesh.getSettingInMicrons("infill_overlap_mm") >= 0
&& !(mesh.getSettingAsFillMethod("infill_pattern") == EFillMethod::CONCENTRIC
&& (mesh.getSettingBoolean("alternate_extra_perimeter") || (layer_nr == 0 && train_wall_x.getSettingInPercentage("initial_layer_line_width_factor") > 100))
);
SliceLayer& layer = mesh.layers[layer_nr];
coord_t wall_line_width_0 = mesh.getSettingInMicrons("wall_line_width_0");
coord_t wall_line_width_x = mesh.getSettingInMicrons("wall_line_width_x");
Expand Down

0 comments on commit 9d439fc

Please sign in to comment.