diff options
author | Remco Burema <41987080+rburema@users.noreply.github.com> | 2022-05-06 14:58:10 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-06 14:58:10 +0300 |
commit | 3c409acc58c29578b22a0fd282841f7bf8a7233d (patch) | |
tree | 8e5354c27cc08dfb8f0630011583e634f6d99c4d | |
parent | f0ba3432e0b8732fb3ab2bfc638061d9215cd099 (diff) | |
parent | a5e6e86ea2b4ab1f2bd77b22a1e8bd26358a72be (diff) |
Merge pull request #1657 from Ultimaker/CURA-9163-hairy_holes
CURA-9163 - 🏃♀️ Travels through model with printing PVA
-rw-r--r-- | src/pathPlanning/Comb.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/pathPlanning/Comb.cpp b/src/pathPlanning/Comb.cpp index ea8de3d8c..efa78dda6 100644 --- a/src/pathPlanning/Comb.cpp +++ b/src/pathPlanning/Comb.cpp @@ -65,12 +65,16 @@ 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(); + /* NOTE/TODO: The commented-out lines in this scope are something that we want to reintroduce, but had to disable for proper PVA supports for now. + * See the latest commit message (at time of writing) of those lines or internal ticket CURA-9163 for details. + */ + +// 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); } ) @@ -241,10 +245,6 @@ bool Comb::calc(const ExtruderTrain& train, Point start_point, Point end_point, // add combing travel moves if the combing was successful comb_paths.push_back(tmp_comb_path); } - else if (fail_on_unavoidable_obstacles) - { - return false; - } else { // if combing is not possible then move directly to the target destination @@ -255,6 +255,11 @@ bool Comb::calc(const ExtruderTrain& train, Point start_point, Point end_point, comb_paths.back().cross_boundary = true; comb_paths.back().push_back(start_crossing.in_or_mid); comb_paths.back().push_back(end_crossing.in_or_mid); + + if (fail_on_unavoidable_obstacles) + { + return false; + } } } } |