forked from slic3r/Slic3r
/
Extruder.hpp
51 lines (43 loc) · 1.23 KB
/
Extruder.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef slic3r_Extruder_hpp_
#define slic3r_Extruder_hpp_
#include "libslic3r.h"
#include "Point.hpp"
#include "PrintConfig.hpp"
namespace Slic3r {
class Extruder
{
public:
unsigned int id;
double E;
double absolute_E;
double retracted;
double restart_extra;
double e_per_mm3;
double retract_speed_mm_min;
double time_used;
Extruder(unsigned int id, GCodeConfig *config);
virtual ~Extruder() {}
void reset();
double extrude(double dE);
double retract(double length, double restart_extra);
double unretract();
double e_per_mm(double mm3_per_mm) const;
double extruded_volume() const;
double used_filament() const;
double filament_diameter() const;
double filament_density() const;
double filament_cost() const;
double extrusion_multiplier() const;
double retract_length() const;
double retract_lift() const;
int retract_speed() const;
double retract_restart_extra() const;
double retract_length_toolchange() const;
double retract_restart_extra_toolchange() const;
void add_extrusion_time(double length, double v, double acceleration);
double extrusion_time() const;
private:
GCodeConfig *config;
};
}
#endif