Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Smooth" outer perimeters #8443

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

philyeahz
Copy link

@philyeahz philyeahz commented Feb 17, 2025

Description

benchy_small

Adds a new parameter called "Outer perimeter layer divider".
This division factor is used to generate sub slices for each layer, which will be used to generate the outer perimeters.

While trying some stuff on the brick layers, I found the need for generating sub slices for slanted walls. Incidentally the outer perimeter "smoothing" could be implemented with this as well.

Not happy with the current state, but it's a start, so someone else could build on it and make it better.
Also tried implementing it the other way around, merging internal layers together,
but adding sub slices to the outer perimeters resulted in less resistance inside the code base.

Screenshots/Recordings/Graphs

benchy_full

Tests

Nozzle: 0.4mm
Layer height: 0.2mm
Outer perimeter layer divider: 2 (Outer perimeter layer height: 0.1mm)

result
Outer perimeter artifacts are mainly due to inconsistent extrusion speed.
speed

Known Issues

  • Classic wall generator
    • Thin wall and small wall detection not implemented for sub slices
  • No check for minimal nozzle layer height
  • Sub slice height infill will be needed for most accurate results
    • Outer perimeters might float and/or intersect on top infill
    • Top infill can peak out of outer perimeter
  • Inconsistent speed on outer perimeters
  • Remaining print time is not correct on printer
  • Probably many more...

@philyeahz philyeahz marked this pull request as draft February 17, 2025 21:42
@philyeahz
Copy link
Author

philyeahz commented Feb 23, 2025

Miniature Test (with Arachne)

miniature
Still got some under-extrusion going on but could also be due to the speed of 60mm/s being too high.

miniature_assembled

Parameters

Nozzle: 0.2mm
Wall Generator: Arachne
Minimum wall width/feature size: 20%
Layer height: 0.14mm
Outer perimeter layer divider: 3 (Outer layer height: 46μm)
Outer wall speed: 60mm/s
Wall loops: 3
Sparse infill: Gyroid at 10%
Minimum sparse infill threshold: 5mm²
Tree support: enabled
Top/bottom z distance: 0.08

Time saving

Layer height 46μm: 3h05m
Outer perimeter divider 46μm: 1h32m
About 50% time saving

After some tests the time saving can be between 20-50% depending on the models.

@philyeahz philyeahz marked this pull request as ready for review February 23, 2025 19:34
@philyeahz philyeahz changed the title Draft: "Smooth" outer perimeters "Smooth" outer perimeters Feb 23, 2025
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.

1 participant