slic3r / Slic3r

Open Source toolpath generator for 3D printers
https://slic3r.org/
GNU Affero General Public License v3.0
3.33k stars 1.29k forks source link

Fermats spirals #3399

Open kengdahl opened 8 years ago

kengdahl commented 8 years ago

This is a feature requset. Have you thought about implementing fermats spirals as a infill method? Here is a paper on the subject: https://www.cs.sfu.ca/~haoz/pubs/zhao_sig16_fermat.pdf

(removed extraneous boilerplate ---@lordofhyphens)

mrvn commented 8 years ago

I really like the idea although the pictures in the paper don't show such a good result. The zig-zag actually looks better. But how much of that is the printer? Or over/under filling mentioned in the paper.

What I really like is that it constructs a single continious loop, assuming there is only one island.

I don't think this will be good for infill though. Path placement depends on the overall shape so it will differ from layer to layer and not garantee the current layers path will rest on the previous layers infill. Also, similar to concentric, it lacks stability. The infill needs a crossing pattern to give stability in more than one direction.

I think this would be more suitable for top/bottom fill and solid fill.

lordofhyphens commented 8 years ago

If someone wants to prototype it and submit it as a PR with print tests showing it's worth having, then I'd probably merge it in.

Zule10 commented 7 years ago

Good afternoon,

I would like to work in the fermats spirals code for its implementation, though I don’t have enough experience programming for Slic3r. What I mean is that I want to try to solve the challenge, but I need help doing the transition or the shift between my code in C++ and the one in which Slic3r works or is programmed. More documentation or help about this challenge is openly welcomed.

Zuleimi Gonzalez, developer, currently studying systems (software) engineering at Universidad EIA, Colombia. You may leave us a comment or contact us in @Zule10 @felohdez2008

lordofhyphens commented 7 years ago

Slic3r's infill is in C++.

jcongote commented 7 years ago

@lordofhyphens I am John Congote, and I will help @Zule10 and @felohdez2008 to develop the infill algorithm, however if you can point out a function in the source code that makes an infill pattern could be helpful so we can check the input of the function and the expected output... and start implementing the fermat spiral under the constrains of the sourcecode.

lordofhyphens commented 7 years ago

https://github.com/alexrj/Slic3r/tree/master/xs/src/libslic3r/Fill

Go nuts.