New option for vertical distance between object and support material, with special handling of the 0 case that disabled bridge flow/speed in order to allow for soluble material. #2491 #2272 #2069 #1942 #2435 #1703

This commit is contained in:
Alessandro Ranellucci 2015-01-19 09:52:24 +01:00
parent fc5437f6d3
commit 7b980c1dc9
10 changed files with 57 additions and 16 deletions

View file

@ -780,6 +780,19 @@ PrintConfigDef::build_def() {
Options["support_material_angle"].min = 0;
Options["support_material_angle"].max = 359;
Options["support_material_contact_distance"].type = coFloat;
Options["support_material_contact_distance"].gui_type = "f_enum_open";
Options["support_material_contact_distance"].label = "Contact Z distance";
Options["support_material_contact_distance"].category = "Support material";
Options["support_material_contact_distance"].tooltip = "The vertical distance between object and support material interface. Setting this to 0 will also prevent Slic3r from using bridge flow and speed for the first object layer.";
Options["support_material_contact_distance"].sidetext = "mm";
Options["support_material_contact_distance"].cli = "support-material-contact-distance=f";
Options["support_material_contact_distance"].min = 0;
Options["support_material_contact_distance"].enum_values.push_back("0");
Options["support_material_contact_distance"].enum_values.push_back("0.2");
Options["support_material_contact_distance"].enum_labels.push_back("0 (soluble)");
Options["support_material_contact_distance"].enum_labels.push_back("0.2 (detachable)");
Options["support_material_enforce_layers"].type = coInt;
Options["support_material_enforce_layers"].label = "Enforce support for the first";
Options["support_material_enforce_layers"].category = "Support material";

View file

@ -133,6 +133,7 @@ class PrintObjectConfig : public virtual StaticPrintConfig
ConfigOptionEnum<SeamPosition> seam_position;
ConfigOptionBool support_material;
ConfigOptionInt support_material_angle;
ConfigOptionFloat support_material_contact_distance;
ConfigOptionInt support_material_enforce_layers;
ConfigOptionInt support_material_extruder;
ConfigOptionFloatOrPercent support_material_extrusion_width;
@ -159,6 +160,7 @@ class PrintObjectConfig : public virtual StaticPrintConfig
this->seam_position.value = spAligned;
this->support_material.value = false;
this->support_material_angle.value = 0;
this->support_material_contact_distance.value = 0.2;
this->support_material_enforce_layers.value = 0;
this->support_material_extruder.value = 1;
this->support_material_extrusion_width.value = 0;
@ -186,6 +188,7 @@ class PrintObjectConfig : public virtual StaticPrintConfig
if (opt_key == "seam_position") return &this->seam_position;
if (opt_key == "support_material") return &this->support_material;
if (opt_key == "support_material_angle") return &this->support_material_angle;
if (opt_key == "support_material_contact_distance") return &this->support_material_contact_distance;
if (opt_key == "support_material_enforce_layers") return &this->support_material_enforce_layers;
if (opt_key == "support_material_extruder") return &this->support_material_extruder;
if (opt_key == "support_material_extrusion_width") return &this->support_material_extrusion_width;