diff options
author | c.lamboo <casperlamboo@gmail.com> | 2022-05-06 00:03:09 +0300 |
---|---|---|
committer | c.lamboo <casperlamboo@gmail.com> | 2022-05-06 00:03:09 +0300 |
commit | 40dac838770e1d3f26455e52258f83ab93a71c97 (patch) | |
tree | 8d4f540f092fb8be3fce605dc8edd468d70b12d4 | |
parent | 936ca60974d302a9ca35b352dd0021d3b950993b (diff) |
Disable logic to add support to `model_boundary`
We _do_ want to enable this however there is a bug in the current implementation. It is checking _all_ the extruders and if `travel_avoid_supports` is enabled on one of the extruders then this feature is enabled for all combing.
This introduces problems for PVA support. If `travel_avoid_supports` is disabled for the PLA extruder but disabled for the PVA extruder the `model_boundary` will contain the boundary for support. As there are many travel moves within/through this model boundary with support area's included there will be many retractions. This is the main cause for https://ultimaker.atlassian.net/browse/CURA-9163.
Note that `model_boundary` is only used in a very specific case where combing fails to travel via the outside of the travel-avoid distance (see https://github.com/Ultimaker/CuraEngine/pull/1626)
CURA-9163
-rw-r--r-- | src/pathPlanning/Comb.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/pathPlanning/Comb.cpp b/src/pathPlanning/Comb.cpp index fce66cc82..620b69324 100644 --- a/src/pathPlanning/Comb.cpp +++ b/src/pathPlanning/Comb.cpp @@ -65,12 +65,12 @@ Comb::Comb(const SliceDataStorage& storage, const LayerIndex layer_nr, const Pol , model_boundary( [&storage, layer_nr]() { - const std::vector<bool> extruder_is_used = storage.getExtrudersUsed(); +// const std::vector<bool> extruder_is_used = storage.getExtrudersUsed(); bool travel_avoid_supports = false; - for (const ExtruderTrain& extruder : Application::getInstance().current_slice->scene.extruders) - { - travel_avoid_supports |= extruder_is_used[extruder.extruder_nr] && extruder.settings.get<bool>("travel_avoid_other_parts") && extruder.settings.get<bool>("travel_avoid_supports"); - } +// for (const ExtruderTrain& extruder : Application::getInstance().current_slice->scene.extruders) +// { +// travel_avoid_supports |= extruder_is_used[extruder.extruder_nr] && extruder.settings.get<bool>("travel_avoid_other_parts") && extruder.settings.get<bool>("travel_avoid_supports"); +// } return storage.getLayerOutlines(layer_nr, travel_avoid_supports, travel_avoid_supports); } ) |