mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-22 00:12:34 +00:00
Apply the Belt Slicing Transform to Painted Supports and Seams
Painted support/seam facets, support volumes, seam occlusion, MMU top/bottom painting and the adaptive infill octree used trafo_centered() while the layers were sliced with the belt rotation, remap and Z lift; they now share PrintObject::trafo_sliced().
This commit is contained in:
@@ -1799,6 +1799,13 @@ ExPolygons PrintObject::_shrink_contour_holes(double contour_delta, double hole_
|
||||
return union_ex(new_ex_polys);
|
||||
}
|
||||
|
||||
Transform3d PrintObject::trafo_sliced() const
|
||||
{
|
||||
Transform3d trafo = this->trafo_centered();
|
||||
BeltSliceStrategy::apply_preslice_transforms(trafo, this->print()->config(), this->model_object()->volumes);
|
||||
return trafo;
|
||||
}
|
||||
|
||||
std::vector<Polygons> PrintObject::slice_support_volumes(const ModelVolumeType model_volume_type) const
|
||||
{
|
||||
auto it_volume = this->model_object()->volumes.begin();
|
||||
@@ -1813,7 +1820,7 @@ std::vector<Polygons> PrintObject::slice_support_volumes(const ModelVolumeType m
|
||||
const Print *print = this->print();
|
||||
auto throw_on_cancel_callback = std::function<void()>([print](){ print->throw_if_canceled(); });
|
||||
MeshSlicingParamsEx params;
|
||||
params.trafo = this->trafo_centered();
|
||||
params.trafo = this->trafo_sliced();
|
||||
for (; it_volume != it_volume_end; ++ it_volume)
|
||||
if ((*it_volume)->type() == model_volume_type) {
|
||||
std::vector<ExPolygons> slices2 = slice_volume(*(*it_volume), zs, params, throw_on_cancel_callback);
|
||||
|
||||
Reference in New Issue
Block a user