libslic3r
Library for generating gcode from 3d models
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
Slic3r::Fill Class Referenceabstract

Abstract base class for the infill generators. More...

#include <Fill.hpp>

Inheritance diagram for Slic3r::Fill:
Slic3r::Fill3DHoneycomb Slic3r::FillConcentric Slic3r::FillGyroid Slic3r::FillHoneycomb Slic3r::FillPlanePath Slic3r::FillRectilinear Slic3r::FillArchimedeanChords Slic3r::FillHilbertCurve Slic3r::FillOctagramSpiral Slic3r::FillAlignedRectilinear Slic3r::FillCubic Slic3r::FillGrid Slic3r::FillStars Slic3r::FillTriangles

Public Member Functions

virtual Fillclone () const =0
 
virtual ~Fill ()
 
virtual bool use_bridge_flow () const
 
virtual bool no_sort () const
 Do not sort the fill lines to optimize the print head path? More...
 
virtual bool can_solid () const
 Can this pattern be used for solid infill? More...
 
virtual Polylines fill_surface (const Surface &surface)
 Perform the fill. More...
 
coordf_t spacing () const
 

Static Public Member Functions

static Fillnew_from_type (const InfillPattern type)
 
static Fillnew_from_type (const std::string &type)
 

Public Attributes

size_t layer_id
 Index of the layer. More...
 
coordf_t z
 Z coordinate of the top print surface, in unscaled coordinates. More...
 
coordf_t min_spacing
 in unscaled coordinates More...
 
float endpoints_overlap
 overlap over spacing for extrusion endpoints More...
 
float angle
 in radians, ccw, 0 = East More...
 
coord_t link_max_length
 
coord_t loop_clipping
 In scaled coordinates. Used by the concentric infill pattern to clip the loops to create extrusion paths. More...
 
BoundingBox bounding_box
 
float density
 Fill density, fraction in <0, 1> More...
 
bool dont_connect
 Don't connect the fill lines around the inner perimeter. More...
 
bool dont_adjust
 Don't adjust spacing to fill the space evenly. More...
 
bool complete
 

Protected Types

typedef std::pair< float, Pointdirection_t
 

Protected Member Functions

 Fill ()
 
virtual void _fill_surface_single (unsigned int thickness_layers, const direction_t &direction, ExPolygon &expolygon, Polylines *polylines_out)
 The expolygon may be modified by the method to avoid a copy. More...
 
virtual float _layer_angle (size_t idx) const
 Implementations can override the following virtual method: More...
 
direction_t _infill_direction (const Surface &surface) const
 

Protected Attributes

coordf_t _spacing
 the actual one in unscaled coordinates, we fill this while generating paths More...
 

Detailed Description

Abstract base class for the infill generators.

Member Typedef Documentation

◆ direction_t

typedef std::pair<float, Point> Slic3r::Fill::direction_t
protected

Constructor & Destructor Documentation

◆ ~Fill()

virtual Slic3r::Fill::~Fill ( )
inlinevirtual

◆ Fill()

Slic3r::Fill::Fill ( )
inlineprotected

Member Function Documentation

◆ _fill_surface_single()

virtual void Slic3r::Fill::_fill_surface_single ( unsigned int  thickness_layers,
const direction_t direction,
ExPolygon expolygon,
Polylines polylines_out 
)
inlineprotectedvirtual

The expolygon may be modified by the method to avoid a copy.

Reimplemented in Slic3r::Fill3DHoneycomb, Slic3r::FillPlanePath, Slic3r::FillHoneycomb, Slic3r::FillRectilinear, and Slic3r::FillConcentric.

◆ _infill_direction()

Fill::direction_t Slic3r::Fill::_infill_direction ( const Surface surface) const
protected

◆ _layer_angle()

virtual float Slic3r::Fill::_layer_angle ( size_t  idx) const
inlineprotectedvirtual

◆ can_solid()

virtual bool Slic3r::Fill::can_solid ( ) const
inlinevirtual

◆ clone()

virtual Fill* Slic3r::Fill::clone ( ) const
pure virtual

◆ fill_surface()

Polylines Slic3r::Fill::fill_surface ( const Surface surface)
virtual

Perform the fill.

◆ new_from_type() [1/2]

Fill * Slic3r::Fill::new_from_type ( const InfillPattern  type)
static

◆ new_from_type() [2/2]

Fill * Slic3r::Fill::new_from_type ( const std::string &  type)
static

◆ no_sort()

virtual bool Slic3r::Fill::no_sort ( ) const
inlinevirtual

Do not sort the fill lines to optimize the print head path?

Reimplemented in Slic3r::FillConcentric.

◆ spacing()

coordf_t Slic3r::Fill::spacing ( ) const
inline

◆ use_bridge_flow()

virtual bool Slic3r::Fill::use_bridge_flow ( ) const
inlinevirtual

Implementations can override the following virtual methods: Use bridge flow for the fill?

Reimplemented in Slic3r::FillGyroid, and Slic3r::Fill3DHoneycomb.

Member Data Documentation

◆ _spacing

coordf_t Slic3r::Fill::_spacing
protected

the actual one in unscaled coordinates, we fill this while generating paths

◆ angle

float Slic3r::Fill::angle

in radians, ccw, 0 = East

◆ bounding_box

BoundingBox Slic3r::Fill::bounding_box

In scaled coordinates. Bounding box of the 2D projection of the object. If not defined, the bounding box of each single expolygon is used.

◆ complete

bool Slic3r::Fill::complete

For Honeycomb. we were requested to complete each loop; in this case we don't try to make more continuous paths

◆ density

float Slic3r::Fill::density

Fill density, fraction in <0, 1>

◆ dont_adjust

bool Slic3r::Fill::dont_adjust

Don't adjust spacing to fill the space evenly.

◆ dont_connect

bool Slic3r::Fill::dont_connect

Don't connect the fill lines around the inner perimeter.

◆ endpoints_overlap

float Slic3r::Fill::endpoints_overlap

overlap over spacing for extrusion endpoints

◆ layer_id

size_t Slic3r::Fill::layer_id

Index of the layer.

◆ link_max_length

coord_t Slic3r::Fill::link_max_length

In scaled coordinates. Maximum lenght of a perimeter segment connecting two infill lines. Used by the FillRectilinear2, FillGrid2, FillTriangles, FillStars and FillCubic. If left to zero, the links will not be limited.

◆ loop_clipping

coord_t Slic3r::Fill::loop_clipping

In scaled coordinates. Used by the concentric infill pattern to clip the loops to create extrusion paths.

◆ min_spacing

coordf_t Slic3r::Fill::min_spacing

in unscaled coordinates

◆ z

coordf_t Slic3r::Fill::z

Z coordinate of the top print surface, in unscaled coordinates.


The documentation for this class was generated from the following files: