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

Improve 3D Honeycomb density calculation, clean up code #5078

Open
wants to merge 1 commit into
base: merill-merge
Choose a base branch
from

Conversation

gringer
Copy link
Contributor

@gringer gringer commented May 4, 2021

This is essentially the same as my PrusaSlicer 3D Honeycomb update, with a few little grammar tweaks to fit a little bit nicer into Slic3r.

The main visible fix is adding in some pattern density tweaks to make infill % better match extruded density for a 30mm cube. For infill below 42%, the pattern is pinned to cycle at an integer number of layers, and density is estimated by assuming that an integer number of truncated octahedrons are used (squashed or stretched according to quantisation). Calculations will be less precise for non-rectangular structures (but hopefully within the realms of what people expect).

For infill above 42%, the pattern is simplified to have a consistent alternating layer pattern for all densities, so that density calculation could be modeled at about half-way between a linear pattern and a perfect truncated octahedron pattern.

The infill code has also been rewritten to use a separate triangle wave and truncated octahedron wave function, and I've added an ASCII figure to help explain the critical point selection. This may help for future improvements (e.g. creating a concentric version of this infill pattern).

As the density calculation has been altered, this will have different GCode from the previous version in Slicer, although the visible appearance should be similar.

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