mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-07 23:17:35 -06:00
ENH: add paint-on support on vertical faces
Add paint-on support on vertical faces of slender rods ENH STUDIO-970/1285 FIX STUDIO-1183 Change-Id: I36b398f9c1c1341bce080ec3d454dcc6e6f991e8 (cherry picked from commit 65ee2c8d74284b21bfd34a1059e2005998d749c5)
This commit is contained in:
parent
e61e6c3c95
commit
aa0dbac351
3 changed files with 30 additions and 7 deletions
|
@ -2798,6 +2798,10 @@ static void project_triangles_to_slabs(ConstLayerPtrsAdaptor layers, const index
|
|||
void PrintObject::project_and_append_custom_facets(
|
||||
bool seam, EnforcerBlockerType type, std::vector<Polygons>& out) const
|
||||
{
|
||||
// BBS: Approve adding enforcer support on vertical faces
|
||||
SlabSlicingConfig config;
|
||||
config.isVertical = true;
|
||||
|
||||
for (const ModelVolume* mv : this->model_object()->volumes)
|
||||
if (mv->is_model_part()) {
|
||||
const indexed_triangle_set custom_facets = seam
|
||||
|
@ -2811,7 +2815,7 @@ void PrintObject::project_and_append_custom_facets(
|
|||
else {
|
||||
std::vector<Polygons> projected;
|
||||
// Support blockers or enforcers. Project downward facing painted areas upwards to their respective slicing plane.
|
||||
slice_mesh_slabs(custom_facets, zs_from_layers(this->layers()), this->trafo_centered() * mv->get_matrix(), nullptr, &projected, [](){});
|
||||
slice_mesh_slabs(custom_facets, zs_from_layers(this->layers()), this->trafo_centered() * mv->get_matrix(), nullptr, &projected, [](){}, config);
|
||||
// Merge these projections with the output, layer by layer.
|
||||
assert(! projected.empty());
|
||||
assert(out.empty() || out.size() == projected.size());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue