Added a single perimeter to the first layer of support or raft.
Fixes [Request] Add optional perimeter to raft #756 Fixes First support layer does not stick to bed #2101 New parameters raft_first_layer_density and raft_first_layer_expansion to influence the 1st layer of raft or support. Fixes Allow to disable raft under support structures. #3772 Fixes raft is larger than necessary #2568 Fixes Supports on the build plate should have a solid bottom interface for better adhesion #1165 Changed the 1st layer infill to rectilinear even for soluble materials. Fixes first layer of support for multi filament support oddly spaced #1445 Fixes Full Soluble Materials interfacing into Models + Soluble material noise on Bed #684
This commit is contained in:
parent
77d007c484
commit
fcb714cd24
10 changed files with 178 additions and 80 deletions
src/libslic3r
|
@ -2573,10 +2573,11 @@ std::string GCode::extrude_infill(const Print &print, const std::vector<ObjectBy
|
|||
|
||||
std::string GCode::extrude_support(const ExtrusionEntityCollection &support_fills)
|
||||
{
|
||||
static constexpr const char *support_label = "support material";
|
||||
static constexpr const char *support_interface_label = "support material interface";
|
||||
|
||||
std::string gcode;
|
||||
if (! support_fills.entities.empty()) {
|
||||
const char *support_label = "support material";
|
||||
const char *support_interface_label = "support material interface";
|
||||
const double support_speed = m_config.support_material_speed.value;
|
||||
const double support_interface_speed = m_config.support_material_interface_speed.get_abs_value(support_speed);
|
||||
for (const ExtrusionEntity *ee : support_fills.entities) {
|
||||
|
@ -2589,9 +2590,14 @@ std::string GCode::extrude_support(const ExtrusionEntityCollection &support_fill
|
|||
gcode += this->extrude_path(*path, label, speed);
|
||||
else {
|
||||
const ExtrusionMultiPath *multipath = dynamic_cast<const ExtrusionMultiPath*>(ee);
|
||||
assert(multipath != nullptr);
|
||||
if (multipath)
|
||||
gcode += this->extrude_multi_path(*multipath, label, speed);
|
||||
else {
|
||||
const ExtrusionEntityCollection *eec = dynamic_cast<const ExtrusionEntityCollection*>(ee);
|
||||
assert(eec);
|
||||
if (eec)
|
||||
gcode += this->extrude_support(*eec);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue