Initial work for custom bed shape

This commit is contained in:
Alessandro Ranellucci 2014-06-16 01:49:49 +02:00
parent b142469cf3
commit 4fe2128fc4
8 changed files with 248 additions and 31 deletions

View file

@ -11,11 +11,8 @@ PrintConfigDef::build_def() {
Options["avoid_crossing_perimeters"].tooltip = "Optimize travel moves in order to minimize the crossing of perimeters. This is mostly useful with Bowden extruders which suffer from oozing. This feature slows down both the print and the G-code generation.";
Options["avoid_crossing_perimeters"].cli = "avoid-crossing-perimeters!";
Options["bed_size"].type = coPoint;
Options["bed_size"].label = "Bed size";
Options["bed_size"].tooltip = "Size of your bed. This is used to adjust the preview in the plater and for auto-arranging parts in it.";
Options["bed_size"].sidetext = "mm";
Options["bed_size"].cli = "bed-size=s";
Options["bed_shape"].type = coPoints;
Options["bed_shape"].label = "Bed shape";
Options["bed_temperature"].type = coInt;
Options["bed_temperature"].label = "Other layers";

View file

@ -307,7 +307,7 @@ class PrintConfig : public virtual StaticPrintConfig
{
public:
ConfigOptionBool avoid_crossing_perimeters;
ConfigOptionPoint bed_size;
ConfigOptionPoints bed_shape;
ConfigOptionInt bed_temperature;
ConfigOptionFloat bridge_acceleration;
ConfigOptionInt bridge_fan_speed;
@ -378,7 +378,10 @@ class PrintConfig : public virtual StaticPrintConfig
PrintConfig() : StaticPrintConfig() {
this->avoid_crossing_perimeters.value = false;
this->bed_size.point = Pointf(200,200);
this->bed_shape.values.push_back(Pointf(0,0));
this->bed_shape.values.push_back(Pointf(200,0));
this->bed_shape.values.push_back(Pointf(200,200));
this->bed_shape.values.push_back(Pointf(0,200));
this->bed_temperature.value = 0;
this->bridge_acceleration.value = 0;
this->bridge_fan_speed.value = 100;
@ -466,7 +469,7 @@ class PrintConfig : public virtual StaticPrintConfig
ConfigOption* option(const t_config_option_key opt_key, bool create = false) {
if (opt_key == "avoid_crossing_perimeters") return &this->avoid_crossing_perimeters;
if (opt_key == "bed_size") return &this->bed_size;
if (opt_key == "bed_shape") return &this->bed_shape;
if (opt_key == "bed_temperature") return &this->bed_temperature;
if (opt_key == "bridge_acceleration") return &this->bridge_acceleration;
if (opt_key == "bridge_fan_speed") return &this->bridge_fan_speed;