Comparar commits

..

1 Commits

Autor SHA1 Mensagem Data
daid d7a26ab715 Improve skirt handling with support material 2014-12-03 15:39:30 +01:00
+6 -1
Ver Arquivo
@@ -11,6 +11,7 @@ void generateSkirt(SliceDataStorage& storage, int distance, int extrusionWidth,
{
int offsetDistance = distance + extrusionWidth * skirtNr + extrusionWidth / 2;
SupportPolyGenerator supportGenerator(storage.support, initialLayerHeight);
Polygons skirtPolygons(storage.wipeTower.offset(offsetDistance));
for(unsigned int volumeIdx = 0; volumeIdx < storage.volumes.size(); volumeIdx++)
{
@@ -26,10 +27,14 @@ void generateSkirt(SliceDataStorage& storage, int distance, int extrusionWidth,
}
else
skirtPolygons = skirtPolygons.unionPolygons(layer->parts[i].outline.offset(offsetDistance));
supportGenerator.polygons = supportGenerator.polygons.difference(layer->parts[i].outline);
}
}
SupportPolyGenerator supportGenerator(storage.support, initialLayerHeight);
//Contract and expand the suppory polygons so small sections are removed and the final polygon is smoothed a bit.
supportGenerator.polygons = supportGenerator.polygons.offset(-extrusionWidth * 3);
supportGenerator.polygons = supportGenerator.polygons.offset(extrusionWidth * 3);
skirtPolygons = skirtPolygons.unionPolygons(supportGenerator.polygons.offset(offsetDistance));
//Remove small inner skirt holes. Holes have a negative area, remove anything smaller then 100x extrusion "area"