diff options
author | Joseph Lenox <lenox.joseph@gmail.com> | 2017-01-16 08:56:01 +0300 |
---|---|---|
committer | bubnikv <bubnikv@gmail.com> | 2017-02-08 13:39:45 +0300 |
commit | 3846d9e73496361cf70fd27dd5fcb7f783f022a7 (patch) | |
tree | e582956bad79f4dc14386dd6090f0c059e56e019 /xs | |
parent | bbd63616b11cf87e5f0dab2b3c02cb462b4ad884 (diff) |
Add weight/cost output to gcode. On the way to #647
Diffstat (limited to 'xs')
-rw-r--r-- | xs/src/libslic3r/Extruder.cpp | 12 | ||||
-rw-r--r-- | xs/src/libslic3r/Extruder.hpp | 2 | ||||
-rw-r--r-- | xs/src/libslic3r/PrintConfig.cpp | 24 | ||||
-rw-r--r-- | xs/src/libslic3r/PrintConfig.hpp | 4 | ||||
-rw-r--r-- | xs/xsp/Extruder.xsp | 2 |
5 files changed, 44 insertions, 0 deletions
diff --git a/xs/src/libslic3r/Extruder.cpp b/xs/src/libslic3r/Extruder.cpp index b9be14661..8cf3e8b0a 100644 --- a/xs/src/libslic3r/Extruder.cpp +++ b/xs/src/libslic3r/Extruder.cpp @@ -112,6 +112,18 @@ Extruder::filament_diameter() const } double +Extruder::filament_density() const +{ + return this->config->filament_density.get_at(this->id); +} + +double +Extruder::filament_cost() const +{ + return this->config->filament_cost.get_at(this->id); +} + +double Extruder::extrusion_multiplier() const { return this->config->extrusion_multiplier.get_at(this->id); diff --git a/xs/src/libslic3r/Extruder.hpp b/xs/src/libslic3r/Extruder.hpp index 76b70df63..729996cd1 100644 --- a/xs/src/libslic3r/Extruder.hpp +++ b/xs/src/libslic3r/Extruder.hpp @@ -29,6 +29,8 @@ class Extruder 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; diff --git a/xs/src/libslic3r/PrintConfig.cpp b/xs/src/libslic3r/PrintConfig.cpp index 9a8915db0..336fff382 100644 --- a/xs/src/libslic3r/PrintConfig.cpp +++ b/xs/src/libslic3r/PrintConfig.cpp @@ -335,6 +335,30 @@ PrintConfigDef::PrintConfigDef() opt->values.push_back(3); def->default_value = opt; } + + def = this->add("filament_density", coFloats); + def->label = "Density"; + def->tooltip = "Enter your filament density here. This is only for statistical information. A decent way is to weigh a known length of filament and compute the ratio of the length to volume."; + def->sidetext = "g/mm^3"; + def->cli = "filament-density=f@"; + def->min = 0; + { + ConfigOptionFloats* opt = new ConfigOptionFloats(); + opt->values.push_back(0); + def->default_value = opt; + } + + def = this->add("filament_cost", coFloats); + def->label = "Cost"; + def->tooltip = "Enter your filament cost per kg here. This is only for statistical information."; + def->sidetext = "money/kg"; + def->cli = "filament-cost=f@"; + def->min = 0; + { + ConfigOptionFloats* opt = new ConfigOptionFloats(); + opt->values.push_back(0); + def->default_value = opt; + } def = this->add("filament_settings_id", coString); def->default_value = new ConfigOptionString(""); diff --git a/xs/src/libslic3r/PrintConfig.hpp b/xs/src/libslic3r/PrintConfig.hpp index 53a211f5d..9964d6f28 100644 --- a/xs/src/libslic3r/PrintConfig.hpp +++ b/xs/src/libslic3r/PrintConfig.hpp @@ -299,6 +299,8 @@ class GCodeConfig : public virtual StaticPrintConfig ConfigOptionString extrusion_axis; ConfigOptionFloats extrusion_multiplier; ConfigOptionFloats filament_diameter; + ConfigOptionFloats filament_density; + ConfigOptionFloats filament_cost; ConfigOptionFloats filament_max_volumetric_speed; ConfigOptionBool gcode_comments; ConfigOptionEnum<GCodeFlavor> gcode_flavor; @@ -334,6 +336,8 @@ class GCodeConfig : public virtual StaticPrintConfig OPT_PTR(extrusion_axis); OPT_PTR(extrusion_multiplier); OPT_PTR(filament_diameter); + OPT_PTR(filament_density); + OPT_PTR(filament_cost); OPT_PTR(filament_max_volumetric_speed); OPT_PTR(gcode_comments); OPT_PTR(gcode_flavor); diff --git a/xs/xsp/Extruder.xsp b/xs/xsp/Extruder.xsp index 2a315858e..36f5427c7 100644 --- a/xs/xsp/Extruder.xsp +++ b/xs/xsp/Extruder.xsp @@ -42,6 +42,8 @@ %code%{ RETVAL = THIS->retract_speed_mm_min; %}; double filament_diameter(); + double filament_density(); + double filament_cost(); double extrusion_multiplier(); double retract_length(); double retract_lift(); |