Raft improvements:

1) Object 1st layer fill direction is locked if printing on raft.
2) Object fill direction is referenced to object layer ignoring
   the raft layers, thus the fill direction depends no more
   on number of raft layers.
2) Raft contact perpendicular to object 1st layer fill direction.
3) Raft interface / contact layers are produced with alternating
   directions.
This commit is contained in:
Vojtech Bubnik 2023-03-02 15:17:05 +01:00
parent 55533397f9
commit 00cc73f65f
4 changed files with 75 additions and 42 deletions

View file

@ -20,6 +20,7 @@
#include "Fill/FillAdaptive.hpp"
#include "Fill/FillLightning.hpp"
#include "Format/STL.hpp"
#include "SupportMaterial.hpp"
#include "SupportSpotsGenerator.hpp"
#include "TriangleSelectorWrapper.hpp"
#include "format.hpp"
@ -1129,6 +1130,15 @@ void PrintObject::process_external_surfaces()
m_print->throw_if_canceled();
BOOST_LOG_TRIVIAL(debug) << "Processing external surfaces for region " << region_id << " in parallel - end";
}
if (this->has_raft() && ! m_layers.empty()) {
// Adjust bridge direction of 1st object layer over raft to be perpendicular to the raft contact layer direction.
Layer &layer = *m_layers.front();
assert(layer.id() > 0);
for (LayerRegion *layerm : layer.regions())
for (Surface &fill : layerm->m_fill_surfaces)
fill.bridge_angle = -1;
}
} // void PrintObject::process_external_surfaces()
void PrintObject::discover_vertical_shells()