Gradient Infill - NEW efficient infill for 3D prints!
Vložit
- čas přidán 2. 06. 2024
- Click here to explore your creativity and get 2 free months of Premium Membership: skl.sh/cnckitchen6
I came up with a new type of infill that uses the variability in extrusion width to dynamically change the density of the infill structure of 3D prints. I'll explain the idea and the implementation in Python. Furthermore I've tested the efficiency of this gradient infill using a 3-point-bending test and strength tests using my trusty hook. Watch, learn and get inspired!
💚 Support me 💚
Patreon: / cnckitchen
Join as a CZcams member!
Original CNC Kitchen Threaded Inserts: geni.us/CNCKInsertsChoice
Merch: teespring.com/stores/cnckitchen
Buy an Original Prusa i3 printer: geni.us/CNCKPrusa
PayPal: www.paypal.me/CNCKitchen
Shop at Matterhackers(US): www.matterhackers.com/?aff=7479
Shop at 3DJake(EU): geni.us/zHvnB
🎙Check out my PODCAST with Tom Sanladerer
/ @themeltzone
📚Further information:
Gradient Infill on Github: github.com/CNCKitchen/Gradien...
Sample files: www.thingiverse.com/thing:409...
Detailed instructions: cnckitchen.com/blog/gradient-i...
CURA gradual infill: ultimaker.com/en/resources/52...
Kisslicer dynamic infill: www.sublimelayers.com/2019/05...
🎥 Related videos:
Infill patterns: • INFILL pattern and SHE...
Smart Infill: • Load dependent Infill ...
Extrusion Width: • Extrusion Width - The ...
Stiffness Testing different materials: • Which is the MOST RIGI...
⚙ My gear (Affiliate Links):
🎥 CAMERAS & LENSES
Panasonic GH5 - Professional 4k60 camera: geni.us/LMN0CmS
Panasonic GX80/GX85 - Great value system camera: geni.us/M2Sm
30mm f2.8 macro - Great Macro Lense (80% of my videos): geni.us/vEwqD
10-25mm f1.7 - Awesome Lense: geni.us/ZTBH
12-35mm f2.6 - Great Allround Lense: geni.us/S9GOsr
14-140mm f3.5-5.6 - My go-to travel lense: geni.us/fSAyKo
25mm f1.4 - Nice prime for photoraphy: geni.us/mqWM
🎙AUDIO
Rode Video Mic Pro - Shotgun mic: geni.us/6JFRdJ
Rode Film Maker Kit - Wireless mic: geni.us/XMD2N
Rode NT-USB - Studio Mic: geni.us/YVONvy
🔴 LIVE STREAMING
Elgatoo Stream Deck: geni.us/ppIiAL
Elgatoo HDMI USB Capture Card: geni.us/imhD
Logitech C920 - Overhead camera: geni.us/ViVgB
🏆 Do you want to help me cover my running costs? Send me a dollar or two over PayPal, it helps me a lot!
www.paypal.me/CNCKitchen
🌼 Even watching the ads before my videos helps me a lot!
Follow me on Twitter: / cnc_kitchen
Follow me on Instagram: / cnckitchenyt
DISCLAIMER: This video was sponsored by Skillshare. - Věda a technologie
Don't forget to share this video on Facebook, Reddit, Twitter and other social media!
Great Video
Now let's hope this gets implemented as a toggle on most slicers!! I'm definitely interested in this seeing as a lot of my prints are structural in nature.
+1 sub here 😙
Great idea! I've shared it with my FB group facebook.com/groups/monetize-3d-print
I want to take gyroid and criss cross it...
This make so much sense I'm surprised this has not been done before. Nice find.
Ultimaker printers have had it for 2 years now.
As explained, they unfortunately don't. Their gradual infill is aimed at top layers primarily.
As an academic myself, this might be worth a publication. Really interesting stuff here! Definitely going to take a look at it, might be useful for my research.
I remember complaining about the lack of this when I got into 3d printing a few years ago. It seems so obvious. The lack of this and the lack of a printer that can print out in honey combs and then inject filler before closing off the honeycombs for increased structural integrity or weight.
@@CNCKitchen check out cubic subdivision infill in Cura. It increases the density near the shell in a 3d manner. You can typically switch from cubic to cubic subdivision and save weight while preserving strength. (I love your work here. I think it could be layered on top of any number of other infill. Cubic subdivision just does it with a constant line width.)
Dude.. this should be a scientific paper, not a simple CZcams video. This is great stuff!
Might be doing that at some point.
@@CNCKitchen no-trick-pony_lockpicking is totally right. When I saw what you did I subscribed immediately. This shows your engineering potential is far ahead. Very impressed.
What's the difference. It's reaching the public, it's educating the public, and it's got the background to back it up.
@@andylewis4695 It's hard to cite a youtube video in good conscience.
@@sulpherstaer this is the first thing I thought off too.
I'm over here trying to print a usable benchy and this dude is like "yeah I learned python and invented a new type of infill in 4 hours." Impressive...
Right??? Jesus Christ
He technically doubled how many types of infill there are, because there is a normal and gradient version of every different infill now. Jeez
But did you manage to get a good benchy?
@@Larsvvv nah I just bought a resin printer instead
@@Flumphinator ah oke! how is that working out? is a resin printer easy to use? and do you use it often?
Now talk to Joe so he can implement it in PrusaSlicer
Anyone can implement this into Slic3r/PrusaSlicer (or even Cura) since they're all open source projects. Just need to do it and ask the maintainers to merge it.
Like he is the only one working on slicers......🙄
Imo Simplify3D is the best. Ive probably Been switching over to Cura 10 Times but always found something that made me go back. Cura is slow and has worse slicing. Its also bad and troublesome if you want to change settings per layer and object. Supports are also bad. Sometimes it Not wccepting Bad models while Simplify3D does repair and accept them better. Meh
PrusaSlicer is getting smart variable infill in 2.2 I believe. Which is the upcoming release, but I don't know if it works like this.
cura allows printing over USB. which is an enormous time-saver. sd cards and exporting to octoprint is for chumps. you cant print/refine/print/refine rapidly if you gotta do all these extra steps. unfortunately cura also kills my extruder gears. and you cant change acceleration on the first layer which is how you mitigate 95% of adhesion problems.
Instead of changing the extrusion rate, you could change the travel speed instead. this may work better for Bowden printers.
Potential printing speed improvement, moving fast in the middle of a part but slowing to change direction near the perimeter.
Changing travel speed in gcode is much more cumbersome than changing the extrusion rate. One would have to modify the slicer altogether to incorporate speed as a variable for every extrusion, from the current extrusion type(infill, wall, etc)
@@ishanmamadapur6307 it's actually not, you just have to change the feed rate. Each G-code travel move is just a set of coordinates with an optional travel speed. I.e. "G1 X5 Y7 Z0 F3000.0 E0.02" is move to X=5mm, Y=7mm, Z=0mm at a speed of 3000mm/minute while extruding 0.02mm of filament. A lot of the time, you would actually leave the F part off, because it defaults to the last value you gave it. You would still want to change the E value as well, but the F value is just as easy to tweak as the E value.
Great idea!
@@tedrolleiii1725 Yeah, matches with what I had in mind. What I trying to establish is that perhaps cura defaults to a code with preset feed rates, so having to add a feed rate per extrusion move would require a code modifier of some sort.
Coming to think of it, it shouldn't be that much more difficult than what Steffan accomplished with varying the extrusion rates. Thanks for the insight!
Hi Stefan; as someone with extensive experience in signal processing, I suggest you further improve the anisotropy of your pattern by introducing Poisson noise to your infill geometry. The whole idea with Poisson noise is that it will jitter the position of your vertices in a random way that is also uniform. For the anisotropy to be good, you should jitter in all three dimensions. All you need is a short programming loop that takes in input a small array of 3D coordinates, and applies the jittering function. Because of the nature of the noise function, you can apply the jitter to relatively small 3D clusters and your jittering should remain uniform overall. There are plenty of Poisson noise distribution algorithms available online, due to how prevalent the technique is in image and 3D processing. You would modulate the amount of jittering according to your gradient, so the closer you are to the object boundaries, the less jittering you have; this, combined with the increased density of your point arrays as you get close to the boundaries. If you look at human bones, the "infill" has a similar gradient + jitter property. One thing missing in your gradient function, is that it should also be modulated by the degree of local curvature at the boundary : More curvature should be equal to more density.
Phil Pan okay that sounds like an awesome idea! Especially orienting the design closer to human bones with the noise property is really cool.
I hope that someone will implement this!
This is an amazing idea! Should probably also combine this with stress optimization and topology optimization.
Wouldn't that lead to lots of jerky movements during printing?
@@felix-dk9tr, no. As far as I can tell, it would just be slight direction changes, not like printing, say, 3d honeycomb, which does have a lot of shaking apart of a printer
Ridiculously cool. And here I am still using S3D, stuck with the most boring infill patterns :P
We're probably both waiting to see if S3D 5 satisfies this desire!
@@CNCKitchen still wondering whats going on there. Maybe they miscalculated the features they needed to add, because other slicer develop really fast
and here i am. using the default prusaslicer..
@@CNCKitchen It's been two years and we are still waiting.
Brilliant! Genius infull!! Should be implemented in all slicer and called Stefanfill! Respect.
😎
agreed this is genius and needs to be implemented on Cura, Simplify and all other slicers
@@enochroot9438 Simplify3D will perhaps take forever to get that. Weren't version 5 announced a year ago?
@@Nor1MAL Someday perhaps we'll have something like VST audio plugins for slicers... I wish slicers were as advanced as lets say Cubase DAW software!
You are a highly intelligent young man.
I enjoy your incisive and analytical methods.
Well done!!
Do you, by any chance, know, work or even have heard of Jun Wu from the "Delft University of Technology"?
Your work in this video made me think about his work on 3D printing bone-like structures.
Damn, that didn't come up during my research. I need to read those papers.
I'm proud to be a patreon supporter! This is an awesome idea. I can't wait for this to take off and evolve.
Wow man, this is truely innovation! Congrats for dreaming this up AND plowing through executing it!
So sweet. That's an amazing amount of work you've done.
Definitely the most informative 3D printing channel on CZcams. Thanks!
THIS is the reason open source RULES! Thank you Stephan!! You are going to be part of the future.
You're doing some of the most interesting work here. Thank you.
Wow, very clever! Actually, I think we can see similar system in nature such as in the structure of bones and pithy plant stems.
I like how you are using your previous experiments to innovate. Excited to see where this goes.
Rouverius that’s the point though isn’t it. All are mechanical parts
C W golden ratio
@Rouverius
: I think the structure exists in bones because they are made thicker where the stress is. It just so happens the outside is more stressed and gets thicker.
Hydraulic Shenanigans possibly, who knows. Did the brain shape the body or is the brain just along for the ride and shaped by what the body can do?
@C W Bone density can still increase due to micro stress fractures and/or change in diet.
Great job, this is a super interesting approach and I hope it can get implemented. Thanks for the hard work
I always love the ideas you cook up in your CNC kitchen.
I knew about 3D printing for years - always interested, but could never think of practical uses in what I do. Watching your vids have me contemplating taking the plunge. Also, this vid is a great example of why you stand out from the rest on CZcams. Great work!
In addition to decreasing the material flow in the middle of the part it might also make sense to increase the feedrate in those areas which could be beneficial to printing time.
Would then work for bowden printers as well. Great idea.
you are amazing! i consider myself a tinkerer, and i wrote a couple of scripts for post-processing, and i even was trying to figure out a way to stiffen up prints! I didnt have any succes tho. The elegance with which this is implemented in your design is phenomenal, i envy you, smartboi)
When I look at your videos, all I can do is take off my hat. Here you are doing real academic research at university level. I was in the plastics technology laboratory at the previous university ("Fachhochschule Hamburg"), today's HAW, long enough employed to recognize this.
This may be one of the more important developments in 3d printing for functional prototypes. Real badass work here stefan
That's really impressive. Great job!
Wow every time you upload, I know you’re going to shatter what we thought possible but this video really blew my mind. Stefan is the GOAT
This is what sets apart innovators from followers, thanks for sharing and contributing! You're the best!
That is absolute GENIUS! I love your thought process and your extensive explanations. As a engineer myself (computer, not mechanical), I can absolutely appreciate your methodology. Keep up the great work!
Definitely an interesting idea... I'd love to see it being implemented into one of the slicer softwares, that'd make things a lot easier for people who don't know much about g-code and / or programming
I suspect that porting his code to become an Octoprint Plugin would be relatively straight-forward.
Please someone add this to cura or octoprint
Since it was post processing, he could simply release his code for Cura, which supports post processing functions as add-ons.
This is amazing, I can't believe nobody thought of this before
Stefan - Please convince Josef he needs this in his next update. Super valuable to us thanks!!!
It's already in PrusaSlicer. Settings/Advanced, though I think what you do adjust there is the maximum deviation and PrusaSlicer will automatically merge small segments if under that criterion.
I don't even have a 3d printer and I still subscribe and watch all these videos. The testing and graphs are what I'm here for, maybe leave them up on the screen for longer 😅
All right, thats it! I'm a Patreon now! Let the content flow!
awesome, even before seeing the whole video! Gradient infill and non planar top layers being integrated in mainnstream setups is the best combination that we need
"non planar top layers being integrated in mainstream setups" that's far from being simple, as each model of 3d printer have a different attack angle on the nozzle... that's a lot difficult than the gradient infill... But integrating these values in the slicers, of the most used printers (Ender 3 for example), sure it would be perfect. Looking forward for this to happen.
André Solis i fully agree, it is not easy, not as easy as gradient infill, linear advance or variable layer hight or many other things, if someone gets it consumer friendly for one standard setup like prusa or creality or E3D, i am sure the community will help out, at least to get it ported to Windows without having to go through linux, there are already nozzles with long pointy tips that would be perfect for it
Very impressive work. Learning to code is the new literacy.
The king of 3d printed strength! You are amazing keep up the good work!
looking forward to the stress mapped infill testing!
This is great work as usual. I was actually surprised that you open-sourced this. Turning this into a standalone GUI app or slicer plugin would be trivial, but it should also be possible to implement this directly into Cura or Slic3r and submit a pull request. You'd get a lot more control too as it would no longer be just a post-process step.
This pure commitment is what drives the whole community forward
As always, your videos analysis and developments are simply Awesome, thanks Stefan!
THIS... is EPIC!
Just like bone. Damn good thought and implementation!
This is so great it hurts. Thank you so much for these awesome contents. Hope this will be implemented in all slicers asap!
amazing! i have been waiting for this EXACT infill pattern to show up in slicers, good job bro
This should just straight up be implemented into every slicer. I could see this as an option in PrusaSlicer because of all the infill settings
This will be perfect for making dielectric lenses for radio/microwave.
I've been thinking about suggesting this feature for months, as it makes so much sence in a structural perspective. Glad to see it existing :)
I really love your videos, particularly the scientific approach you take to answering questions I have about printing. Thank you for making these videos :)
we need this in cura
we need this in Simplify3D.
Isn't it in the experimental settings?
we need this EVERYWHERE ...
@_ David _ so that's why I prefer it over all the others. lol
@@REDxFROG We need ALOT in Simplify :( They seem to have ... just stopped in 2015 or something.
So cool. Love this idea. Didn't realize I wasn't subscribed. Fixed that! lol
It’s so surreal seeing you here, it’s been years since I’ve cubed and watched you videos...
That looks so natural and how 3d prints are supposed to look. I am blown away
I have been looking for this for months, thanks for sharing the info
10:10 We are almost 60% stiffer!
Still thinking with the wrong head.. time to grow up.
It had to be said
The best part is that the infill mimics bone marrow in nature
Höchst interessant! 👍
So cool! You never fail to surprise me. Love the videos and the approach.
Another great vid. Thanks Stefan. You're punching up, and we're all grateful for your work.
Here is a suggesiton for what to name this type of infill: Bone Marrow
Glad I read the comments before posting, because I was thinking the same thing. Even did a quick Google image search to make sure I wasn't mistaken:
www.pinterest.com/pin/336292297168511429/?lp=true
Looks very similar to what he's doing here. Yet another example of nature getting it right first.
i am for: KitchenGradient . give the guys some credit!
@@andi030 How about Hermann-Marrow fill? Sounds like something you'd find in a Blender drop-down menu, like Voronoi or Perlin (and I'm pretty sure his name is Stefan Hermann). I think it could catch on 😁
*Y E S.*
@@stupidgenius107, that is an amazing name for it. It can also be applied to all infill, so it is more like Hermanm-Marrow modified
Einfach geil!
I hadn't seen your topology infill video! That's fantastic
This is so simple but genius. This is why I love tech.
What I think about this infill? I chose Paypal to appreciate it!
I would have additional wall parameters and less infill for more strength on the outer shell
Man you're revolucionazing the 3d printing industry, thanks!!
Simply genius. Right infront of us we couldnt see it. Great work
Really great video once again. I've built a tensile tester myself now, and I built it around a raspberry pi and Python. I'm still planning on doing a video about it, but the code may be interesting to you in the meantime. It features a GUI, and takes full advantage of the 80Hz sample rate of the HX711, allowing very high temporal resolution, which already proved useful in my creep testing. It doesn't support extensometers at the moment though, something I must still work on.
Do you have it documented somewhere?
@@wesc23 Not yet, but planning on doing a video on it. Probably in 2 weeks I'd say. First going for another video on gears.
@_ David _ Thanks, I will try my best to get the gears video up tomorrow or the day after.
Awesome! Please let me know when you publish something.
Today in, "this is so obvious, one wonders why it isn't already in common use:"
Literally all Linux users, scientists and engineers when checking papers and expired patents.
patent currently owned by...
uh, *insert big name corp*.
Dude, this is some major stuff right there. Excellent work!
and a pretty neat implementation! Totally great work you did there!
Nice BD quick draw, it seems like an old model, how long have you been climbing for?
20 years I guess but CZcams is taking it's toll on my climbing performance.
awesome, even before seeing the whole video!
True! The idea is simple and efective.
Agree
Stefan, i have to say that your videos are excellent. easy to follow and very informative!
Top job!
A truly genius approach. And all the detailed tests in a great presentation in a well composed video. Amazing work!
Just tested on my ender 3 (Bowden):
imgur.com/a/C0Uytaz
Doesn't look much different compared to my regular prints.
Thanks! I'll play around with the parameters and see if I can get it running. Just organized myself an Ender 3 as well.
BRAVO! we need this in S3D... and all other slicers!
I definitely liked and have been subscribed! Your test design, presentation, and explanations are excellent. The 3d printing hobbyist's out there are lucky to have you!
ok, having a sponsor: not a problem. Adding advertisments through google: not a problem. Having 5 advertisments and a sponsor in a
Please partner with a programmer to create your own slicer!
There are very good slicers out there already. We only need to show them what we'd like to see!
I have been wondering why this hasn't been implemented for years, glad to see someone taking the initiative to combine engineering knowledge of stress distribution with infill. And leveraging flow rate is a smart solution as well. I've been following for a bit, now I'm a subscriber! :)
I’m a mechanical engineer too. You are really a nerd, intended as a compliment! Great work, very inspiring indeed
stop using paid slicers
dont even buy them
support open source slicers
For me slic3r is the best slicer ive ever used
Fantastic video. I’m a structural engineer with 20 years of experience, and I’m glad to see that still interest in the area. Congratulations.
This is a really good idea! Thank you!
you are the treasure box for all 3d printer owners all around de world.
hitting the subscribe button, and god bless you, man
Nice! I had this idea 4 years ago when I was in AP physics - pretty cool that people are doing it now!
Excellent idea and nice implementation! Great video Stafan!
I guess this is the best and most advanced project on 3D Printing I've seen. Except the actual slicer "engine". Awesome work Stefan!!! I wish to see this feature in a Slice3r or Cura any time soon.
this is honestly my favorite video you have made so far
this is one of the best channel on youtube. thank you for your time
Such a great idea. I imagine this would greatly improve impact resistance.
Very interesting video. I got a charge out of you saying you got up-to-speed programming Python in 4 hours. For me I was thinking more like 4 weeks! Great job. Thank you.
This is very clever! I just want to let your know that OpenCV has a function called distanceTransform() which takes B/W image(white=part, black=empty space) and returns an image whose white pixels are put into grayscale representing the distance to the nearest empty space. This then can be used as a multiplier for the extruder.
Nice but how do you want to implement that in the gcode?
Very impressive! This was an idea I had shortly after I began 3D printing and never could figure out why the slicers never implement this into their programs. It's a great way to ensure strength and yet still conserve filament, especially on huge print jobs!
Love where you're going!
Learning should NEVER end!
I'm learning so much from your videos!!
Keep it up!
This is straight up amazing work, adding FEA to infill profile would be the end-all of infill choices, wow
This is genius! I hope popular slicers will implement this soon!
You found a valuable piece of technology. Amazing !
absolutely cool! can't wait to try it out! Thank you very much!
All of the work and time you put into this is appreciated. I'm a senior at uni for mech engineering and this stuff is amazingly interesting. Plus my Ender 5 is chugging away 2m from me.
Lovely job Stephan! This is a superb innovation! Cheers