Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/xs
diff options
context:
space:
mode:
authorJoseph Lenox <lenox.joseph@gmail.com>2017-01-16 08:56:01 +0300
committerbubnikv <bubnikv@gmail.com>2017-02-08 13:39:45 +0300
commit3846d9e73496361cf70fd27dd5fcb7f783f022a7 (patch)
treee582956bad79f4dc14386dd6090f0c059e56e019 /xs
parentbbd63616b11cf87e5f0dab2b3c02cb462b4ad884 (diff)
Add weight/cost output to gcode. On the way to #647
Diffstat (limited to 'xs')
-rw-r--r--xs/src/libslic3r/Extruder.cpp12
-rw-r--r--xs/src/libslic3r/Extruder.hpp2
-rw-r--r--xs/src/libslic3r/PrintConfig.cpp24
-rw-r--r--xs/src/libslic3r/PrintConfig.hpp4
-rw-r--r--xs/xsp/Extruder.xsp2
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();