Skip to content

BUG-FIX avoid crossing perimeters ingonore holes <=2mm#10942

Merged
Noisyfox merged 1 commit into
OrcaSlicer:mainfrom
RF47:Fix-avoid-crossing-perimeters-bug2
Oct 13, 2025
Merged

BUG-FIX avoid crossing perimeters ingonore holes <=2mm#10942
Noisyfox merged 1 commit into
OrcaSlicer:mainfrom
RF47:Fix-avoid-crossing-perimeters-bug2

Conversation

@RF47

@RF47 RF47 commented Oct 3, 2025

Copy link
Copy Markdown
Collaborator

Description

This pull request fixes a bug described in #10936, where perimeters of holes smaller than 2 mm in diameter are crossed. The issue is caused by the logic introduced in #10220.
https://github.com/SoftFever/OrcaSlicer/blob/737948be1f5b108b191420d4c670b511f8118604/src/libslic3r/GCode/AvoidCrossingPerimeters.cpp#L1019-L1029

Screenshots/Recordings/Graphs

image

Tests

Test avoidcross 3.zip

image

Fix #10936

@RF47 RF47 marked this pull request as ready for review October 3, 2025 21:06
@pi-squared-studio

Copy link
Copy Markdown
Contributor

@RF47 This is a very good addition, but I also wanted to say something about the addition that could be arranged. The avoid crossing perimeters is good for all layers except the uppermost one. The fact is that it remains facial, and any movement can cause visual defects such as the tracks of the hot nozzle on it, or leaking snots. It would be nice to invert the traveling algorithm so that travels always pass from outside this surface.

@RF47

RF47 commented Oct 4, 2025

Copy link
Copy Markdown
Collaborator Author

@RF47 This is a very good addition, but I also wanted to say something about the addition that could be arranged. The avoid crossing perimeters is good for all layers except the uppermost one. The fact is that it remains facial, and any movement can cause visual defects such as the tracks of the hot nozzle on it, or leaking snots. It would be nice to invert the traveling algorithm so that travels always pass from outside this surface.

What I do to avoid scratching the top layer is to activate z-hop, although it's not a perfect solution.

image

@pi-squared-studio

pi-squared-studio commented Oct 4, 2025

Copy link
Copy Markdown
Contributor

What I do to avoid scratching the top layer is to activate z-hop, although it's not a perfect solution.

Yes, in case of scratches, this is the solution, but not from snots. Then there are several upper layers at different levels, where I would not like to constantly turn on z-hop.
Similar problems are also relevant for the bottom surface, when the snotty hotend is moved by an area that has not yet been printed.
image

@Noisyfox

Copy link
Copy Markdown
Collaborator

This does solve the problem but I was wondering why this filter was introduced in the first place and how/why this value was chosen.

@pi-squared-studio

Copy link
Copy Markdown
Contributor

@Noisyfox I'm sorry, there was no reffer to part of the discussion and I didn't understand what the last question was linked to. If it comes to photo, then it's all done with this solution #10314 with simply 3-colored silk PLA

@Noisyfox

Copy link
Copy Markdown
Collaborator

I'm talking about this PR that changes the filter threshold.

@RF47

RF47 commented Oct 12, 2025

Copy link
Copy Markdown
Collaborator Author

I'm talking about this PR that changes the filter threshold.

I didn't want to delete it just in case. I'm not sure why that filter was added.

@Noisyfox Noisyfox left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks

@Noisyfox Noisyfox merged commit ac75c69 into OrcaSlicer:main Oct 13, 2025
12 checks passed
discip added a commit to discip/OrcaSlicer that referenced this pull request Oct 13, 2025
* Bump actions/stale from 9 to 10 (OrcaSlicer#10919)

Bumps [actions/stale](https://github.com/actions/stale) from 9 to 10.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](actions/stale@v9...v10)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-version: '10'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/github-script from 7 to 8 (OrcaSlicer#10920)

Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 8.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](actions/github-script@v7...v8)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/setup-python from 5 to 6 (OrcaSlicer#10921)

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump tj-actions/changed-files from 46 to 47 (OrcaSlicer#10922)

Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 46 to 47.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](tj-actions/changed-files@v46...v47)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-version: '47'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Attempt to get the correct PR commit hash (OrcaSlicer#10900)

* Attempt to get the correct PR commit hash

* Add commit hash to flatpak

* Use given hash if `git_commit_hash` env variable is present

* bugfix for Invalid speed "G1 F-2147483648" (OrcaSlicer#10944)

added non zero safety check for feedrate calculation

* Clarify warning about malicious websites

* overflow inital setup screen (OrcaSlicer#11007)

allow overflow on setup

Co-authored-by: Noisyfox <[email protected]>

* [Profiles] Fix Prusa XL overhang speed (OrcaSlicer#10931) (OrcaSlicer#10933)

Fix reverse order of overhangs slowdown settings

* Delete .github/workflows/assign.yml

* Delete .github/workflows/orca_bot.yml

* Update build_all.yml

* BUG-FIX avoid crossing perimeters ingonore holes <=2mm (OrcaSlicer#10942)

Fix avoid crossing perimeters 2

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Noisyfox <[email protected]>
Co-authored-by: Azi <[email protected]>
Co-authored-by: SoftFever <[email protected]>
Co-authored-by: Daazed McFarland <[email protected]>
Co-authored-by: Aleksandra M <[email protected]>
Co-authored-by: Rodrigo Faselli <[email protected]>
dbaarda pushed a commit to dbaarda/OrcaSlicer that referenced this pull request Oct 20, 2025
* main: (21 commits)
  Add Coex 3D filament profiles to Orcaslicer (OrcaSlicer#10924)
  Fix Z offset for 1st layer (OrcaSlicer#11011)
  Feature: Ability to change flow ratios by extrusion path types (Code + Docs) (OrcaSlicer#10641)
  Fix: A proper handling of the `support_base_pattern_spacing = 0` for the `Tree Slim` support (OrcaSlicer#11084)
  Limit Shrinkage values (OrcaSlicer#10930)
  Set Ironing angle setting to be a relative degree offset from top surface infill direction (OrcaSlicer#10841)
  Input Shaping Calib: Types, RepRap + Improvements (OrcaSlicer#10913)
  Wiki 13: Layer time variability + Minor Improvements (OrcaSlicer#10677)
  Validation Action comment Remove + Improvement (OrcaSlicer#10617)
  Material Type standarization + Technical Filament Types (OrcaSlicer#10553)
  Optimize and simplify MarchingSquares.hpp. (OrcaSlicer#10747)
  Fix several imgui UTF8 related issues (OrcaSlicer#11078)
  Make top resizing grabber larger on Windows (OrcaSlicer#11023)
  Preferences dialog redesign / improvements / fixes (OrcaSlicer#10665)
  Add the u8 marker to UTF-8 strings (OrcaSlicer#10666)
  Add static assert for bed number related values (OrcaSlicer#11035)
  BUG-FIX avoid crossing perimeters ingonore holes <=2mm (OrcaSlicer#10942)
  [Profiles] Fix Prusa XL overhang speed (OrcaSlicer#10931) (OrcaSlicer#10933)
  overflow inital setup screen (OrcaSlicer#11007)
  Clarify warning about malicious websites
  ...
dbaarda pushed a commit to dbaarda/OrcaSlicer that referenced this pull request Oct 21, 2025
* opt-filltpmsfk: (21 commits)
  Add Coex 3D filament profiles to Orcaslicer (OrcaSlicer#10924)
  Fix Z offset for 1st layer (OrcaSlicer#11011)
  Feature: Ability to change flow ratios by extrusion path types (Code + Docs) (OrcaSlicer#10641)
  Fix: A proper handling of the `support_base_pattern_spacing = 0` for the `Tree Slim` support (OrcaSlicer#11084)
  Limit Shrinkage values (OrcaSlicer#10930)
  Set Ironing angle setting to be a relative degree offset from top surface infill direction (OrcaSlicer#10841)
  Input Shaping Calib: Types, RepRap + Improvements (OrcaSlicer#10913)
  Wiki 13: Layer time variability + Minor Improvements (OrcaSlicer#10677)
  Validation Action comment Remove + Improvement (OrcaSlicer#10617)
  Material Type standarization + Technical Filament Types (OrcaSlicer#10553)
  Optimize and simplify MarchingSquares.hpp. (OrcaSlicer#10747)
  Fix several imgui UTF8 related issues (OrcaSlicer#11078)
  Make top resizing grabber larger on Windows (OrcaSlicer#11023)
  Preferences dialog redesign / improvements / fixes (OrcaSlicer#10665)
  Add the u8 marker to UTF-8 strings (OrcaSlicer#10666)
  Add static assert for bed number related values (OrcaSlicer#11035)
  BUG-FIX avoid crossing perimeters ingonore holes <=2mm (OrcaSlicer#10942)
  [Profiles] Fix Prusa XL overhang speed (OrcaSlicer#10931) (OrcaSlicer#10933)
  overflow inital setup screen (OrcaSlicer#11007)
  Clarify warning about malicious websites
  ...
@RF47 RF47 deleted the Fix-avoid-crossing-perimeters-bug2 branch October 26, 2025 15:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Avoid crossing perimeters ignores holes <=2mm

3 participants