Closed probonopd closed 6 years ago
FYI the link doesn't work.
It was working a few days ago... Anyway: https://www.reddit.com/r/3Dprinting/comments/81b39y/new_infill_pattern_gyroid_looks_amazing/
Nice.
Any news on this? Will Cura add this? :)
For now I don't think so, but we will continue to discuss as a team. We would probably be open to adding it via a pull request if someone writes the engine code for it.
Thanks, keep it up, love Cura!
Here is a semi-scientific on-camera comparison: https://www.youtube.com/watch?v=upELI0HmzHc
Gyroid infill is very useful not just because of its mechanical properties, but also because the interior of the part is fully connected; this is true for no other infill pattern AFAIK. Fully connected interior infill space allows the part to be filled easily with epoxy, and on the other hand lets liquid/air escape through a single hole.
Thanks for providing a usecase other than "I want it".
Let me summarize also the "traiditional" justifications for gyroid: gyroid is one of the strongest infills for a given weight, it is fairly isotropic (=works about the same in all directions), doesn't require strong accelerations, and prints fairly fast. I don't have much hands-on experience with it yet (since Cura is my primary slicer), but I think it may make a good default just based on its mechanical properties alone.
Missing this feature is absolutely the only reason I use slicer PE!! It is a must if you would like to print PETG infill at any decent speeds as line infill will resort to stringing due to the quick changes in direction... Come on dev team, this is a chance to make Cura the greatest slicer again 👍
It is a must if you would like to print PETG infill at any decent speeds as...
As what?
@smartavionics you left out the remainder of the sentence. Sharp changes in direction for line infill result in more blobbing and thus poor print quality. Besides, everyone loves Gyroid, so it should just be implemented 😄
@smartavionics you left out the remainder of the sentence.
LOL, you added the remainder of the sentence after I made my comment!
Are there any news about it?
Cura has some big stuff in the works so unfortunately for now, no. This issue is marked as "Deferred" because we do not plan to devote any time to it in the foreseeable future, but would like it implemented eventually. Pull requests are very welcome.
After testing this with another slicer, I very much look forward to the day this gets implemented in Cura. I don't see myself ever using anything but gyroid at that point. It looks great, is stronger, faster as it is a more curved continuous movement and can print with less infill (gota see it printing to appreciate it), and at the same time allows me to fill in the voids (the voids are not blocked) with sand for some things that need extra weight. I don't want to waste filament on it (Just fill it with sand after the print). I seem to be able to use a lot less infill % with gyroid.
If someone does a kickstarter (or something similar) to fund the development of gyroid infill for Cura , please post it on the cura forums or in this thread. I don't want to use the other slicer... as I like Cura. I will certainly throw a little money at it. I will certainly be using gyroid infill for quite a bit of future stuff I print though.
OK, I'll have a go at implementing it.
Could some kind person attach a simple model and also the gcode that has been created from that model using gyroid infill so I can compare it with I will be producing. Cheers.
Here's the same cube but only with infill... in case its easier for you to check that way @smartavionics
You might want to mention what infill percentage you used as well as include the STL for completeness.
an STL of a 25mm cube..... 🤔😉 The infill is at 17% for reference
This is a 25x25 cube also with a bunch of different infills with and without walls/top/bottom. I also scaled it by 1200% and did a 300x300 cube with a 2% infill. I couldn't include it as it is bigger than 10MB. I included that in the pic because I printed a 300x300 2% infill for fun... well I aborted it after about 36mm. The 2% 300x300 actually printed which I was surprised by.
The link for the 300x300 (over 10MB) is below if you are curious. https://drive.google.com/file/d/1OB2GbjhJTXPmezXLHlKC8ajgqa7sbjWD/view
The pic is of the 300x300x36 at 2% infill and a 25x25x25 at 10% infill. Both without walls or top/bottom.
Thanks for the files, they helped a lot.
I am happy to report that after bashing my head against sufficient walls, progress has been made.
As the following pics show, the basic functionality is now working. Needs to be tidied up and performance could be a problem. With high density infill, the slice time goes up hugely. Does Slic3r also slow down a lot for dense gyroid infill?
Awesome!
We could implement a warning for the infill density setting in the frontend if the infill pattern is set to gyroid.
Hi Aldo. That could be a good idea but it's early days yet so I want to find out where the time is going and get it as fast as possible first.
Do people actually use this infill very dense? I just printed that little cube and it seems very sturdy.
Later tonight I will upload a new Linux dev archive so that if anyone is using Linux they could try out the current state of the art.
How strong would you like your infill, Sir?
Gyroid with infill multiplier set to 3...
I have uploaded a new Linux archive that includes this feature in its current early state. If anyone tries it out, please provide feedback.
The archive can be found at https://www.dropbox.com/sh/s43vqzmi4d2bqe2/AAADdYdSu9iwcKa0Knqgurm4a?dl=0
I can't test the Linux build unfortunately but as for speed, Yea it does get slower on another slicer. This with testing with cubes. I assume more complex stuff will take longer.
Testing on the other slicer software... 100x100x100 mm cube using different infill 20% 1 to 2 seconds 40% 3 seconds 60% 4 seconds 70% 5 seconds 80% 6 seconds 90% 8 seconds 95% 9 seconds 99% 9.5 seconds 100% Gui popup... The Gyroid infill pattern is not supposed to work at 100% density Shall I switch to rectilinear fill pattern?
I bet even at 98% it is not very useful to use that infill amount. Previewing in the other software at 99% takes a long time (15 to 20 seconds maybe) to even render the object in it's Preview window which is expected I am sure. Then I get delays of about a second or so when moving the layer up and down in the preview.
I got my CentOS 7 system up and running again. I tried to run the Linux archive you provided on CentOS 7 but I get an error about libssl.
File "/home/user1/Downloads/cura/lib/python3.5/ssl.py", line 98, in
CentOS 7 has libssl.so.1.0.2k (openssl-1.0.2k-12.el7.x86_64)
Closest thing I could find which is a recent thing... https://github.com/Ultimaker/Cura/issues/4061
If I shouldn't post that info in this thread as it is unrelated to gyroid, let me know and I will remove it.
EDIT: The official appimage does run for me from the Cura download site (3.4.1) so it is only your archive that gives the error. I am running your archive by running cura.sh but the official appimage I am just executing ./Cura-3.4.1.AppImage.
Sorry, the archive didn't work for you, it was created on a Ubuntu 16.04.5 system.
With regard to the infill density could you please create a 50% infill cube using another slicer and attach the gcode so I can compare densities.
Cura does have a performance problem when the infill has many lines so some work is needed there.
Another issue at the moment is that gyroid infill doesn't work with the connect infill lines option and it would be nice to get that working.
here is the 25mm 50% infill cube from the other slicer software. cube_25x25_50%_2walls_3topbottom.zip
EDIT: If you want something bigger, let me know.
My first print. It is pretty strong. The thickness of the lines are thinner but that is likely some setting differences between slicers. I am completely new at the other slicer.
EDIT: This paragraph is about 'Connect infill lines' which was already stated doesn't work yet so this can be ignored and is known. Some things that are noticeable... In Cura it stops extruding when it moves over to the next line. With the other slicer, it just continues to extrude when it moves to the next line which gives it a little more rigidity and looks cleaner (no stringing at top speeds as it never stops extruding when doing infill) but wastes more filament of course. I actually like Cura's way because I want to print some things without top bottom and walls and the extra filament messes up the pretty structure on the sides :). It would be better to have an option though so we could decide if we should just keep extruding or stop during the movement to the next line. With the Cura version, the cube looks kind of not so perfect though because of the stringing as that is most visible when you look at it but that might be my settings and it is only visual. If you look at the inside though, It looks nice. I have never cared about infill looks until this version of infill so that just might be me :).
I am liking it. It is a very good start for this. Thanks for putting the time into it. I am going to keep using this version for Gyroid infill even though I have to go through hoops to get the files to my desktop to print them :).
Cura's version is on the right hand side of the pics.
I forgot to mention that the 10% in the other slicer is about the same as 7.6% in Cura going by the pattern size. Not that any one is right or wrong, just an observation.
EDIT: I had them reversed when I first posted this a minute ago. EDIT2: I wasn't very clear when I was mentioning that Cura's was thinner. That of course makes it weaker. I just don't know if that is settings, speed, or something else. They are both set to 60mm/s speed but something is obviously different in the overall thickness of the lines or something. I am relatively new to 3d printing (4 or 5 months) so I am no expert on 3d printing.
The other slicer seems to be overextruding which is why it is thicker and stronger. Cura is right at 0.4mm (my nozzle width) but slic3r is making the lines from 0.52 to 0.56. I think I have slic3r configured properly but I can't be 100% sure. Maybe they are overextruding on purpose with a default setting somewhere or maybe just this infill or maybe something else entirely :).
I printed triangle infill on slic3r and that was correctly 0.4mm. Gyroid on slic3r was around 0.52 to 0.56. It seems like slic3r is purposely over-extruding for the Gyroid infill. I printed a few of each and it was consistent.
EDIT: Is there another forum we can discuss this. I don't know if I am doing the right thing by giving feedback in this thread or if it should be moved somewhere else?
Increasing the Infill Line Width to 0.54mm (0.4mm nozzle) in Cura makes a 10% infill match the 10% infill pattern of slic3r looking at it through the software. That seems to indicate they are overextruding. I have never used the infill line width before so that is new to me.
EDIT: I printed a 0.54 line width cube in Cura at 10% infill and it seems like the width of the line hasn't changed much... maybe a little but measurements seem to show 0.4 to 0.44mm and I could just be off when measuring it. It does seem a little stronger. Gyroid infill is curvey so it is tricky trying to measure the width of the lines. I assume Cura has a limit on that setting or something? Strange that slic3r was able to create such a thick line for the Gyroid infill.
Regardless... the Gyroid infill is sweet even as it is now. I will be using it with this alpha version build for future prints. Thanks for putting the effort into this!
After some testing with big prints in Cura will low infill, the 'Connect infill lines' settings I think will be very helpful as it keeps the infill together on the ends. That is why it worked well on slic3r when I did that very big print (300x300x36 2% infill) without top, bottom, or walls. That of course is not the normal way of printing though. Most people have top bottom and walls :). I plan to do some normal printing too in the next day or so.
Here is a picture of a big print of infill only with Cura build using Gyroid. 300x300x36.2 2% infill 0.54 Infill Line Width (0.4mm nozzle). Assuming 0.54 does anything with a 0.4mm nozzle. The print turned out nice except it started to have some lifting issues as the line ends are not connected as mentioned above. I used some blue tape on one small section to keep it going and it recovered. It looks nice and pretty strong considering it is only 2% infill. I doubt 2% infill will be the norm though as it doesn't have enough coverage for a good top layer of course. It looks nice though :). img_1385
Thanks for your testing and comparison. This is very helpful @agibson2
Yes, I was just about to comment, thanks for the testing.
I have been busy again today and apart from a slew of bug fixes and performance improvements, have also implemented the connect lines feature for the gyroid infill as you can see here:
I found it quite challenging to implement but it appears to work OK on the few examples I have tried. Further testing and feedback would be most welcome.
In about 20mins or so, a new archive should appear on my Dropbox which contains the day's release.
@smartavionics legend man! Can't wait to see this. (Lines in layer view look pretty trippy but that's just the way it is) thanks! :)
That's what we want, trippy prints!
I think the infill line connections are not yet perfect as sometimes it connects lines that don't have to be connected but, overall, it's working pretty well as you can see...
This is working really well! I printed my first real objects today. You don't see the infill in the pic though as they have walls so you don't really see anything :). The parts are strong at 10% infill. I used the 0.54mm infill line width on them but the lines end up around 0.44mm or so.
The only thing I noticed is that slic3r worked it's way from one side to another and then started from the same side it ended on which is quicker as it didn't need to move to the other side. I assume that is an engine thing though and not an infill setting thing. I don't know if there are settings that make the behavior the same or not in Cura. Printing a gyroid infill only cube in Cura, it starts from the same side each time so it stops on one side and goes to the other to start again. This is not to say it is a problem or in any way makes me not like the infill or anything like that... just a difference in behavior I noticed.
I found out that slic3r has thicker infill by default. The default is to use an infill extrusion width 1.125 times the nozzle width which is 0.45mm. That still doesn't explain the slic3r version of the Gyroid cube is closer to 0.54mm line width when I try to measure the infill line width though. It seems something is making the lines much bigger for Gyroid infill on Slic3r. My experiments seem to indicate that slic3r is either doing that on purpose for Gyroid infill to make them stronger and reduce the line spacing pattern or or bug of some kind. The other infill on Slic3r I tested didn't have larger 0.54mm infill as I mentioned before so it seems to be on purpose for the Gyroid infill. Maybe I will figure that out eventually.
I updated to the newest build that has 'connect infill lines' working and I enabled it. It is working good and now my infill only prints have never failed me. I like it with it off and on and think I will use both settings at times.
With 'connect infill lines' enabled in Cura, I scaled the 25mm cube to 150% and printed it with 'connect infill lines' with 0.4mm and 0.54mm Infill Line Width. I still have the slic3r version that was printed with it's defaults for 0.4mm nozzle settings too. I took some pictures showing all 3.
Notice that the pattern in the pic is much smaller for Cura's 10% infill verses slic3r's. I don't know which is more accurate though :). I tried doing an experiment creating a box for the cubes to fit in and use water to find out which one was closest to 10% infill but I had trouble doing that and failed.
The 3 cubes in pics "image-2 10" and "image-1 27" are... from left to right... Slic3r 10% infill, Cura 10% infill 0.4mm infill line width, Cura 10% infill 0.54mm infill line width
Here are some pics. image-1 28 image-2 10 image-1 27
Hi Adam, thanks again for the super testing and feedback. Those pics are looking good.
With regard to the density, what I have done is adjust the pitch of the gyroid lines based on the infill line distance scaled by some factor. The infill line distance is related to density and line width. For example, if you are using simple "lines" pattern then 50% density would use a line spacing equal to the line width. 25% density would use a line spacing 3 times the line width. The gyroid pitch is calculated so that the total length of filament required for the infill is close to the length required for the lines pattern with the same infill density. The idea here is that changing the infill pattern from lines to gyroid should result in parts with similar weight.
I think that the layer start point is fixed so it won't start the next layer from where the current layer finishes. I can see the benefit of doing less travel but the downside would be that it would immediately reverse and extrude on top of the still molten layer below so it could give quality issues?
Thanks for taking the time for the explanation. It is interesting to hear the reasons for things. It sounds very logical.
For the start point, I looked at the gcode from slic3r and it does start right back over top of where it finished the last layer. Maybe that isn't always the case... I certainly don't know. I just thought it was interesting as it was faster, don't have to worry about priming, and didn't have as much stringing on my printer but stringing can be compensated for mostly. Maybe a Cura dev already investigated that at some point and determined it is bad. I am sure you Cura devs are doing what is best for Cura.
I printed another object "Save pangolins" but with outer layers you can't see anything inside so no since in showing a pic of it. It turned out to be an excellent print. https://www.thingiverse.com/thing:2064359/
I think people are going to be very happy with what you have done when this eventually gets approved. It is working well for me as it is now. I think it is going to be a popular feature when it eventually gets released.
Hi, I've been working on improving the connecting lines. I will be uploading another build today but not sure exactly when. I am still investigating a relatively minor issue but if I can't fix it in the next hour or 2 will upload a release anyway.
Please create gyroid infill that is the shape as graphene. This shape has been shown to be very strong as a 3D printed object and if used as an infill would presumably create very strong 3D prints
http://itsybitsymag.com/2017/01/11/mit-research-ten-times-strong-lightweight-graphene/
Reference: https://github.com/prusa3d/Slic3r/issues/92