Fix infill projection

This commit is contained in:
Alessandro Ranellucci 2016-12-01 16:57:47 +01:00
parent 92845300be
commit 3232350ffd
3 changed files with 8 additions and 4 deletions

View File

@ -914,9 +914,10 @@ sub _repaint {
if ($self->print->layer_solid($self->layer_num)) {
$self->_paint_expolygon($_, $dc) for @{$self->print->layer_slices($self->layer_num)};
} else {
# perimeters first, because their "hole" is painted black
$self->_paint_expolygon($_, $dc) for
@{$self->print->layer_solid_infill($self->layer_num)},
@{$self->print->layer_perimeters($self->layer_num)};
@{$self->print->layer_perimeters($self->layer_num)},
@{$self->print->layer_solid_infill($self->layer_num)};
$self->_paint_expolygon($_, $dc)
for @{union_ex($self->print->layer_infill($self->layer_num)->grow)};

View File

@ -42,6 +42,7 @@ protected:
class FillLine : public FillRectilinear
{
public:
virtual Fill* clone() const { return new FillLine(*this); };
virtual ~FillLine() {}
protected:
@ -62,6 +63,7 @@ protected:
class FillGrid : public FillRectilinear
{
public:
virtual Fill* clone() const { return new FillGrid(*this); };
virtual ~FillGrid() {}
protected:
@ -74,11 +76,12 @@ protected:
class FillAlignedRectilinear : public FillRectilinear
{
public:
virtual Fill* clone() const { return new FillAlignedRectilinear(*this); };
virtual ~FillAlignedRectilinear() {};
protected:
// Keep the angle constant in all layers.
virtual float _layer_angle(size_t idx) const { printf("ALIGNED\n"); return 0.f; };
virtual float _layer_angle(size_t idx) const { return 0.f; };
};
}; // namespace Slic3r

View File

@ -21,7 +21,7 @@
ExPolygons layer_slices(size_t i)
%code%{ RETVAL = THIS->layers[i].slices; %};
ExPolygons layer_solid_infill(size_t i)
%code%{ RETVAL = THIS->layers[i].solid_infill.expolygons; %};
%code%{ RETVAL = THIS->layers[i].solid_infill; %};
ExPolygons layer_perimeters(size_t i)
%code%{ RETVAL = THIS->layers[i].perimeters; %};
Ref<ExtrusionEntityCollection> layer_infill(size_t i)