-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Infill Line Multiplier #9432
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
base: main
Are you sure you want to change the base?
Infill Line Multiplier #9432
Conversation
Thanks you, for mentioning me. I'm happy you found it useful. It's been a while when i was working on this. Maybe one day I'll revisit the infill world. I have vague plan to infill the infill ( maybe recursive 😋 ). |
38a8857
to
6d8f5bf
Compare
e53e1a2
to
aa90fe3
Compare
8071e7b
to
7a5d114
Compare
a6b7d4e
to
2b55c96
Compare
12d27a7
to
5682e95
Compare
I have to solve the problem of overlapping lines, up to 2 multilines it is not a problem, but with more I imagine it can generate layer shifts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes todo
src/libslic3r/Fill/FillBase.cpp
Outdated
else | ||
tangent = Vec2f(pl.points[i + 1].x() - pl.points[i - 1].x(), pl.points[i + 1].y() - pl.points[i - 1].y()); | ||
|
||
float len = std::sqrt(tangent.x() * tangent.x() + tangent.y() * tangent.y()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change it to
float len = std::hypot(tangent.x() , tangent.y());
src/libslic3r/Fill/Fill.cpp
Outdated
@@ -83,6 +84,7 @@ struct SurfaceFillParams | |||
RETURN_COMPARE_NON_EQUAL(angle); | |||
RETURN_COMPARE_NON_EQUAL(rotate_angle); | |||
RETURN_COMPARE_NON_EQUAL(density); | |||
RETURN_COMPARE_NON_EQUAL(multiline); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tab it
src/libslic3r/Fill/FillBase.cpp
Outdated
@@ -59,6 +61,7 @@ Fill* Fill::new_from_type(const InfillPattern type) | |||
case ipSupportCubic: return new FillAdaptive::Filler(); | |||
case ipSupportBase: return new FillSupportBase(); // simply line fill | |||
case ipLightning: return new FillLightning::Filler(); | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
delete this
src/libslic3r/PrintObject.cpp
Outdated
@@ -1061,6 +1061,7 @@ bool PrintObject::invalidate_state_by_config_options( | |||
#endif | |||
} else if ( | |||
opt_key == "interface_shells" | |||
|| opt_key == "infill_multiline" // TODO: needed? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
uncomment
Wow relatively simple change but opens a lot of possibilities to play with. It would be interesting to see it for "2D lattice" infill if can be easily implemented, I have some specific tasks when it might be helpful |
The current issue with the 2D Lattice infill is that the intersecting planes generate overlapping paths, which makes it non-trivial to implement correctly. I’ll try to find a way to resolve this. |
fe4473a
to
64d8dd9
Compare
I welcome this feature to extremely easily add ribbing to models without having to resort to CAD, since it's just a matter of setting like 5% infill grid, then infill multiplier 4-6x. For models which I didn't make, and for those where ribbing is straightforward, it's a big time saving. |
94d33b7
to
d32e104
Compare
ipCrosshatch
cut poliline ends
Fill Tpmsd Multiline
multiline funcion simplify
Added Infill Line Multiplier for Gyroid & linear infill patterns.
This enhancement allows adjusting the line count in the Gyroid infill and several linear infills, enabling finer control over material usage and print strength.
Gyroid multiline infill Inspired by and adapted from the work of [@profOnno]
(https://github.com/profOnno/PrusaSlicer/commit/90862360de111571272ebbb7b8e0f89f8f841805#diff-3ec83cd4f72e61c92f69178305a0298e90e2d8b43a3d88ca2f8edccde4e02c7a).https://github.com/profOnno/PrusaSlicer/commit/90862360de111571272ebbb7b8e0f89f8f841805#diff-3ec83cd4f72e61c92f69178305a0298e90e2d8b43a3d88ca2f8edccde4e02c7a
prusa3d/PrusaSlicer#7044
Update: I managed to achieve the precise offset of the gyroid curves.
Update: Added linear infill patterns (grid, linear, trihexagon, aligned rectilinear)









Update: Added Tpms-D and 3D honeycomb multiline infills
Known Issues:
Line overlapping for linear infills.