#165 inside brim fix & allow only inside brim.

This commit is contained in:
supermerill 2020-03-28 21:04:12 +01:00
parent 4b84ab835a
commit cb836d25ac

View File

@ -1664,7 +1664,7 @@ void Print::process()
for (PrintObject *obj : m_objects) { for (PrintObject *obj : m_objects) {
obj->m_brim.clear(); obj->m_brim.clear();
} }
if (m_config.brim_width > 0) { if (m_config.brim_width > 0 || m_config.brim_width_interior > 0) {
this->set_status(88, L("Generating brim")); this->set_status(88, L("Generating brim"));
if (config().complete_objects){ if (config().complete_objects){
for (PrintObject *obj : m_objects){ for (PrintObject *obj : m_objects){
@ -1672,11 +1672,15 @@ void Print::process()
const std::vector<PrintInstance> copies{ obj->instances() }; const std::vector<PrintInstance> copies{ obj->instances() };
obj->m_instances.clear(); obj->m_instances.clear();
obj->m_instances.emplace_back(); obj->m_instances.emplace_back();
ExPolygons brim_area = (config().brim_ears) ExPolygons brim_area;
? this->_make_brim_ears({ obj }, obj->m_brim) if (m_config.brim_width > 0) {
: this->_make_brim({ obj }, obj->m_brim); brim_area = (config().brim_ears)
if (config().brim_width_interior > 0) ? this->_make_brim_ears({ obj }, obj->m_brim)
: this->_make_brim({ obj }, obj->m_brim);
}
if (config().brim_width_interior > 0) {
_make_brim_interior({ obj }, brim_area, obj->m_brim); _make_brim_interior({ obj }, brim_area, obj->m_brim);
}
obj->m_instances = copies; obj->m_instances = copies;
} }
} else { } else {
@ -2159,7 +2163,7 @@ ExPolygons Print::_make_brim_interior(const PrintObjectPtrs &objects, const ExPo
brimmable_areas.back().holes.push_back(poly); brimmable_areas.back().holes.push_back(poly);
brimmable_areas.back().holes.back().make_clockwise(); brimmable_areas.back().holes.back().make_clockwise();
} }
islands_to_loops = brimmable_areas.back().contour; islands_to_loops.insert(islands_to_loops.begin(), brimmable_areas.back().contour);
} }
} }