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.
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.)
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...
@@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.
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!
@@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
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.
@@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!
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.
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
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.
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.
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.
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
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 : 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.
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.
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.
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
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 😅
@Stefan @CNC Kitchen THANK YOU. I am finally printing in the 3rd dimension and your research has been invaluable. It is fantastic to find such detail and insight right in my pocket. Our youngest generation will have to be taught how this was not the case in our very recent past. Perhaps you might do a video on the history of 3d printing alone and how much RUclips and similar media has exponentially advanced the technology in a relatively brief period of time.
You should patent this, this type of implementation would save billions in industrial projects. I can see it's nice for you to share this with hobbyists, but a good idea is a good idea, just as you pay for each USB port in the PC's you use, you deserve to be credited and rewarded with this type of advancement in technology.
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.
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.
@@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 😁
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!
Nice to see someone beat me to an idea. One variation of this I'd really like to see is a "thick skin" mode. Large prints could be completely hollow if you have a gradient infill skin a couple millimeters thick.
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 RUclips. 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.
As an Engineer, thanks :) Your video's have saved me a lot of prototyping time and physical tests myself. Now if I have questions I go to CNC Kitchen first for the Recipe then add salt where required. A little bit disappointed about the gradient infill, seems shell on the outside makes the most difference, Cura does have a really good setting where you can "thicken" print in the area required ONLY so say 15-20% infill everywhere except say in the high load areas where you can vary the specification. Perhaps a few engineers need to get together to build our our own slicing software!
Ok a lightbulb went off today with this video. I have been testing your recommendation of setting width to higher then nozzle size and for the most part it works great for about 1kg then you get a super jam in the hotend that only tear down can clear So here is the light bulb you said you only have direct drive printers I only have boden tube printers so to get it to not underexcruding I have to crank the temp up too high for pla and there is the delema it ends up cooking the pla in the tube and makes a plug not even nylon can remove Thanks for all that you share it really improves what I make.
Excellent ideas Stefan. I've thought about this concept but for perimeters on narrow sections. If you have a section of a model which is 1.7mm wide, when printing with 2qty perimeters at 0.4mm each then the slicer will construct 2 pairs of walls (1.6mm) with a 0.1mm gap between If "Fill gaps between walls" is set, Cura would nominally fill that gap with an additional thin extrusion With a technique similar to what you describe, it could slightly increase the inner 2 walls to 0.45mm (or all 4 walls to 0.425mm) just for that narrow section and remove the requirement for the fill gaps (which increases the print time a sizeable amount). This "Modulated line width" concept has mileage I'm sure.
Funny, I did similar approach for the gcode modification recently (except that my goal was to embed data in the object by locally modifying the layer thickness). Absolute extrusion can be supported very easily by keeping the applied offset in memory and changing each E value in the gcode. Keeping the absolute value and offset in memory is useful anyway to prevent error after every filament retraction.
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!
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.
I hardly comment on stuff so when I do I feel it really good or really bad. This one is really good. Very good information, show visual results, shows textual results, very well thought out and laid out. A lot of good information in a relative short time, no "jibber jabber". What would be nice to see is a comparison on infill compression strength (and other related tests). Take for example you need to created a special part for something that is not longer available, too long to get, or expensive. What would one have as options with 3D prints. For example, maybe a busing / spacer or heavy equipment floor foot or a dampener made of ABS vs. PLA. vs. PETG vs. TPU. Any what happens at different fill patterns and fill percentage. What about lower fill percentage but different pattern and/or different infill line multipliers. What about general line width and height. And document (print) time and cost (material + power). As a hobbyist, I'm usually more concerned with lower time and cost. However, sometimes quality is more important. This probably could be split up in two (or more) parts. A) Infill compression strength B) General compression strength (ie. same infill parameters but different wall counts, layer height, etc.
I've inquired about horizontal gradual infill in CURA for a while now. There is an implementation for vertically gradual infill which kinda-sorta works. Add this with the long overdue non-planar printing (and 500 other tweaks that should be there already, such as typing an exact angle of rotation instead of simply using the mouse) and CURA will be the best slicer out there.
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.
CNC Kitchen - I think the reason it did not work as effectively on the tensile hook is that at the failure location you have a pure Tensile Stress superimposed over the Bending Stress in that member. So, effectively, you would need the material deposition to be much more dense near the inside of the hook, and more sparse near the outer edge. In other words, the sparse region needs to be shifted toward that outside edge, not at mid-line as it is on the simply supported beam loaded mid-span. Great work! Regards.
The hook test is subject to both tension and bending, but mostly governed by tensile forces as the lever arm is very small. Which would explain why the infill settings doesn't make a great deal of difference. I don't think changing the setting in this will help as the tensile strength will mostly be a function of area.
I looked at your code. The layout and style is good. I will be updating the code for this following items: 1)refactor process_gcode into smaller parts. For example, if infill_type == InfillType.LINEAR: section would be in its own function call.This will allow for better reading and added new features. 2) In Simplify3D gcode file, I see "; feature infill" the next comment is "; layer" , also the first line has " G-Code generated by Simplify3D(R) Version 4.1.2". I will check the first line and set the def is* calls for the correct string.
That is really interesting. I've had a look at your code and I can see several ways to improve it, and it looks fascinating. One improvement I would really like to make is to try to change the feed rate (F parameter) instead of the extrusion rate to vary infill line width. NB: Changing the feed rate is what the "velocity painting" tool does for the vase-mode perimeters.
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! :)
How German of you, wish we had more people like you in 3D printing. I may just have to brush up on C++ and try to make some weird shit like this myself.
Stefan - congratulations on staying true to your engineering background as you ramp up subscribers. It will forever distinguish you as a channel of value, unlike one of your countrymen's who went from engineer to roving reporter as his subscriber count blossomed. This infill experiment and implementation is brilliant.
Whoa! My thought is to use a standard 'Y = A*X^B + C' curve (with user-defined A, B, & C) for the edges to give complete leeway in how the gradient is defined.
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.)
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?
Dude.. this should be a scientific paper, not a simple RUclips 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.
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
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!
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!
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.
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.
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.
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.
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.
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.
Wow man, this is truely innovation! Congrats for dreaming this up AND plowing through executing it!
I'm proud to be a patreon supporter! This is an awesome idea. I can't wait for this to take off and evolve.
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?
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.
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
This may be one of the more important developments in 3d printing for functional prototypes. Real badass work here stefan
Definitely the most informative 3D printing channel on RUclips. Thanks!
This is so cool! It's like bones, they have thick walls, then some spongey material that gets less dense as you move inward.
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.
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
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.
All right, thats it! I'm a Patreon now! Let the content flow!
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 😅
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
I’m a mechanical engineer too. You are really a nerd, intended as a compliment! Great work, very inspiring indeed
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...
@Stefan @CNC Kitchen THANK YOU. I am finally printing in the 3rd dimension and your research has been invaluable. It is fantastic to find such detail and insight right in my pocket. Our youngest generation will have to be taught how this was not the case in our very recent past.
Perhaps you might do a video on the history of 3d printing alone and how much RUclips and similar media has exponentially advanced the technology in a relatively brief period of time.
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.
That looks so natural and how 3d prints are supposed to look. I am blown away
You're doing some of the most interesting work here. Thank you.
You should patent this, this type of implementation would save billions in industrial projects. I can see it's nice for you to share this with hobbyists, but a good idea is a good idea, just as you pay for each USB port in the PC's you use, you deserve to be credited and rewarded with this type of advancement in technology.
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 is the reason open source RULES! Thank you Stephan!! You are going to be part of the future.
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
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!
Nice to see someone beat me to an idea. One variation of this I'd really like to see is a "thick skin" mode. Large prints could be completely hollow if you have a gradient infill skin a couple millimeters thick.
So sweet. That's an amazing amount of work you've done.
Very impressive work. Learning to code is the new literacy.
This will be perfect for making dielectric lenses for radio/microwave.
*Cool idea! Me personally I just increase shell thickness and reduce infill density, much easier, just doesn't give you the smooth transition.*
I would have additional wall parameters and less infill for more strength on the outer shell
This pure commitment is what drives the whole community forward
What I think about this infill? I chose Paypal to appreciate it!
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 RUclips. 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.
My god! Optimizing infill usage has beeb long overdue!
I hope that you get rewarded in some way for your great work!
Thank you!
Dankeschön!
looking forward to the stress mapped infill testing!
As an Engineer, thanks :) Your video's have saved me a lot of prototyping time and physical tests myself. Now if I have questions I go to CNC Kitchen first for the Recipe then add salt where required. A little bit disappointed about the gradient infill, seems shell on the outside makes the most difference, Cura does have a really good setting where you can "thicken" print in the area required ONLY so say 15-20% infill everywhere except say in the high load areas where you can vary the specification. Perhaps a few engineers need to get together to build our our own slicing software!
Great job, this is a super interesting approach and I hope it can get implemented. Thanks for the hard work
This is what sets apart innovators from followers, thanks for sharing and contributing! You're the best!
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
Ok a lightbulb went off today with this video. I have been testing your recommendation of setting width to higher then nozzle size and for the most part it works great for about 1kg then you get a super jam in the hotend that only tear down can clear So here is the light bulb you said you only have direct drive printers I only have boden tube printers so to get it to not underexcruding I have to crank the temp up too high for pla and there is the delema it ends up cooking the pla in the tube and makes a plug not even nylon can remove Thanks for all that you share it really improves what I make.
That's really impressive. Great job!
Excellent ideas Stefan.
I've thought about this concept but for perimeters on narrow sections.
If you have a section of a model which is 1.7mm wide, when printing with 2qty perimeters at 0.4mm each then the slicer will construct 2 pairs of walls (1.6mm) with a 0.1mm gap between
If "Fill gaps between walls" is set, Cura would nominally fill that gap with an additional thin extrusion
With a technique similar to what you describe, it could slightly increase the inner 2 walls to 0.45mm (or all 4 walls to 0.425mm) just for that narrow section and remove the requirement for the fill gaps (which increases the print time a sizeable amount).
This "Modulated line width" concept has mileage I'm sure.
Just like bone. Damn good thought and implementation!
This is so simple but genius. This is why I love tech.
THIS... is EPIC!
Funny, I did similar approach for the gcode modification recently (except that my goal was to embed data in the object by locally modifying the layer thickness).
Absolute extrusion can be supported very easily by keeping the applied offset in memory and changing each E value in the gcode. Keeping the absolute value and offset in memory is useful anyway to prevent error after every filament retraction.
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*.
this is honestly my favorite video you have made so far
Nice BD quick draw, it seems like an old model, how long have you been climbing for?
20 years I guess but RUclips is taking it's toll on my climbing performance.
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!
awesome, even before seeing the whole video!
True! The idea is simple and efective.
Agree
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.
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.
I hardly comment on stuff so when I do I feel it really good or really bad. This one is really good. Very good information, show visual results, shows textual results, very well thought out and laid out. A lot of good information in a relative short time, no "jibber jabber". What would be nice to see is a comparison on infill compression strength (and other related tests). Take for example you need to created a special part for something that is not longer available, too long to get, or expensive. What would one have as options with 3D prints. For example, maybe a busing / spacer or heavy equipment floor foot or a dampener made of ABS vs. PLA. vs. PETG vs. TPU. Any what happens at different fill patterns and fill percentage. What about lower fill percentage but different pattern and/or different infill line multipliers. What about general line width and height. And document (print) time and cost (material + power). As a hobbyist, I'm usually more concerned with lower time and cost. However, sometimes quality is more important. This probably could be split up in two (or more) parts. A) Infill compression strength B) General compression strength (ie. same infill parameters but different wall counts, layer height, etc.
Höchst interessant! 👍
That is nice breakthrough development. Printer manufacturers and slicers should pick this up.
Einfach geil!
this is one of the best channel on youtube. thank you for your time
ok, having a sponsor: not a problem. Adding advertisments through google: not a problem. Having 5 advertisments and a sponsor in a
I've inquired about horizontal gradual infill in CURA for a while now. There is an implementation for vertically gradual infill which kinda-sorta works. Add this with the long overdue non-planar printing (and 500 other tweaks that should be there already, such as typing an exact angle of rotation instead of simply using the mouse) and CURA will be the best slicer out there.
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!
Simply genius. Right infront of us we couldnt see it. Great work
stop using paid slicers
dont even buy them
support open source slicers
For me slic3r is the best slicer ive ever used
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.
I will be waiting impatiently for the Cura devs to implement this infill pattern. Very nice work!
Smart! Nice example of combining machining and programming knowledge.
CNC Kitchen - I think the reason it did not work as effectively on the tensile hook is that at the failure location you have a pure Tensile Stress superimposed over the Bending Stress in that member. So, effectively, you would need the material deposition to be much more dense near the inside of the hook, and more sparse near the outer edge. In other words, the sparse region needs to be shifted toward that outside edge, not at mid-line as it is on the simply supported beam loaded mid-span.
Great work!
Regards.
Crazy Discovery. Just Crazy. Wow. Hope Slicers implement this tonight!
The hook test is subject to both tension and bending, but mostly governed by tensile forces as the lever arm is very small. Which would explain why the infill settings doesn't make a great deal of difference. I don't think changing the setting in this will help as the tensile strength will mostly be a function of area.
I looked at your code. The layout and style is good. I will be updating the code for this following items: 1)refactor process_gcode into smaller parts. For example, if infill_type == InfillType.LINEAR: section would be in its own function call.This will allow for better reading and added new features. 2) In Simplify3D gcode file, I see "; feature infill" the next comment is "; layer" , also the first line has " G-Code generated by Simplify3D(R) Version 4.1.2". I will check the first line and set the def is* calls for the correct string.
That is really interesting. I've had a look at your code and I can see several ways to improve it, and it looks fascinating. One improvement I would really like to make is to try to change the feed rate (F parameter) instead of the extrusion rate to vary infill line width.
NB: Changing the feed rate is what the "velocity painting" tool does for the vase-mode perimeters.
Great idea for bowden printers.
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! :)
How German of you, wish we had more people like you in 3D printing. I may just have to brush up on C++ and try to make some weird shit like this myself.
Wow what a great idea. What if you changed speed as well? Could you get more variant? You a super smart and every video you do blows my little mind.
you are the treasure box for all 3d printer owners all around de world.
hitting the subscribe button, and god bless you, man
I think that slicer developers should implement this ASAP!
You've done such a good job, Stefan!
Beautiful solution hope they will follow your lead with Prusa Slicer
The king of 3d printed strength! You are amazing keep up the good work!
Stefan - congratulations on staying true to your engineering background as you ramp up subscribers. It will forever distinguish you as a channel of value, unlike one of your countrymen's who went from engineer to roving reporter as his subscriber count blossomed. This infill experiment and implementation is brilliant.
This is so great it hurts. Thank you so much for these awesome contents. Hope this will be implemented in all slicers asap!
Whoa! My thought is to use a standard 'Y = A*X^B + C' curve (with user-defined A, B, & C) for the edges to give complete leeway in how the gradient is defined.
Excellent idea, this needs to be developed and implemented in Cura. I don't program, but I do have a need for this feature.