Articles, Blog

Gradient Infill – NEW efficient infill for 3D prints!

January 15, 2020


What you can see right here is gradient infill
which means that you have a soft transition between the perimeters and the internal structure
of a 3D print. As far as I know, this hasn’t been done by anyone in that form before. The
method places material way more efficiently at the locations where it’s really needed.
Let me show you how I implemented it, how it performs and even how you can use it as
well! Let’s find out more. Guten Tag everybody, I’m Stefan and welcome to CNC Kitchen.
This video is supported by Skillshare. More on them later! Infill structure is the lattice
material that is placed inside of your 3D prints so that you don’t have to print them
100% dense and therefore using a lot of material and time, where it’s often not needed. Infill
comes in lots different varieties and I’ve tested many of them in the past already. There
hasn’t been a lot of things going on over the recent years besides the current hype
of gyroid infill which is a good choice for some applications but also not always.
If you’ve ever had a course in mechanics or just use a bit of common sense you know,
that most mechanical parts are loaded the highest on their outside and way less in the
middle. Look at a simple beam under bending. You have tensile stresses on one side of the
part and compressive stresses on the other. In-between there is a gradient with even one
location where the stresses are zero. If we 3D print our part it will usually have a closed
outer shell and then a sparse infill structure in the middle. For our bending beam this means,
that the infill is not loaded equally. The parts closer to the shell are more loaded
than the center. Ideally, we’d need more material around the perimeter than in the
center but conventional infill doesn’t give us this possibility. This is a simple example
but besides some very specific cases like pure tension, pure compression or herzian
pressure it’s almost always the case that the core of parts is less loaded than the
outside. In the past I’ve already tried to tackle
this problem by my Smart Infill method where I simulated a part using finite elements and
applied mesh modifiers to increase infill at the location where it’s needed the most.
This method works, but is kind of complex and not implemented yet in any slicer. Wouldn’t
it be great to have an infill that gradually gets more sparse the further into the part
it gets. CURA has its gradual infill but that’s more for getting better top layers with less
infill in general. Kisslicer now has dynamic infill, that allows you to change the infill
ratio using a greyscale image. Pretty cool, but not 100% what I had in mind and unfortunately
only available in the currently $82 premium version. I’ve been doing a couple of videos
about extrusion width in the recent past which basically is the parameter of how wide the
line of extruded material is, after it leaves the nozzle. During these investigations I
noticed that it’s possible to extrude lines of material way wider than the diameter of
the orifice. Values of 300% and more are quite doable and even values below the nozzle size
are possible. Now, the idea that I had was, if it’s possible
to use the variability in extrusion width to dynamically modify the amount of material
that is coming out of the nozzle while printing the infill. This way I could put more plastic
next to the walls and reduce flow in the center with existing patterns and only minor flow
modifications. In order to implement that I didn’t write or modify any slicer but
since CURA for example puts comments in the GCODE where infill, perimeters and similar
start I thought it might be possible to just write a simple parser and post-process existing
code. Therefore, I coded a small script in Python. The idea was to first read out the
perimeter lines in a layer and then calculate the distance of each infill segment to the
closest perimeter. I first started with the gyroid infill because this type of structure
consists of many individual line segments. Each line segment is represented very simply
in GCODE. G1 means linear move from the current position, X and Y define the next position
and E tells the printer how much filament will be fed during that move. So each line
segment is built up from the previous and next position. For each I calculate the center
and then search for the closest distance to the outline. I defined a maximum and minimum
extrusion multiplier as well as a gradient thickness. If the distance is within the gradient
thickness, I just interpolate between the min and max value, if it’s bigger, I use
the minimum value. In my tests I mostly used a range from 300 to 50 or even 0% and a gradient
thickness of 3 to 10mm. With this method I basically ended up with the same GCODE file
in the end, only the extrusion amounts are slightly adjusted for the infill.
Oh, by the way, if you like this and my other videos, make sure to hit like and subscribe!
Almost ¾ watching videos on the channel still don’t follow it properly.
Unfortunately, most other infill types like rectilinear or triangle are not composed of
these small line segments so the algorithm doesn’t properly work because I can’t
resolve a gradient with just one point. For this reason, I implemented a second variant,
that chops the line infills in around 1mm segments and calculates distance and extrusion
amount for these individual ones. For those infills the gcode files become bigger but
I didn’t notice any performance differences due to the small segments. And damn, the results
do look really nice, just as I intended. Even though I did a bit of programming in
Java and C++ before, this was my first experience with Python. Learning the syntax and implementing
the first idea for the gradient infill took me around 4 hours with lots of tutorials I
checked during that time. If you also have interesting ideas that you’d like to implement
and automate with Python or any other programming language but don’t know where to start then
definitely check out todays sponsor Skillshare. Skillshare is an online learning community
and offers thousands of inspiring classes for creative and curious people, on topics
including design, photography, video, making, and more! Members get unlimited access to
thousands of inspiring classes, with hands-on projects and feedback from a community of
millions. With less than $10 a month for an annual subscription, it’s super affordable.
Use my link in the description and get 2 months of free premium membership. If your new year’s
resolution is to learn coding, stop procrastinating and go check out Max Schallwigs 90 minutes
introduction into Python and learn all the basics that I also used in my implementation
of gradient infill. Try it out risk-free and join millions of creators who are already
learning with Skillshare! Thank you Skillshare, for supporting my work.
Before I started with the material tests I played a lot around with individual settings
and printed samples on my Original Prusa i3. The adjustments of flow during printing require
quite a fast-reacting extrusion system where a direct extruder is definitely an advantage.
And for this one it works really well. You sometimes notice slight slipping of the filament
but that can be tacked by slightly higher temperatures or slowing the prints down a
little. Even though it might be hard to imagine, but I currently don’t have a single Bowden
extruder printer at home so I couldn’t test if it also works for those. I’ve put a couple
of sample files in the description so it would be great if you give one a try and let me
know how the results turn out. For testing if this gradient infill is really
more efficient, I printed two different sample types: my usual test hook and also a simple
bending bar with which I’ll perform a 3-point bending test to analyze the stiffness. I varied
settings a bit so that we can later compare how the results are at similar printing time
and at similar weight of the parts, because for thin structures, gradient infill usually
results in heavier samples. For the bending bar I started with a part
that had 30% rectilinear infill and post-processed it with a flow range of 25-300% and 4mm gradient
thickness. I also tested 45° and 90° infill orientation. The parts nicely show that the
infill is denser on the outside and sparser on the inside. The gradient infill parts weight
30% more in the end. I also printed out a 30% infill part without post-processing and
a 46% part that had the same weight as the gradient infill parts. For the 3 point bending
test I loaded them successively in the middle with, uhh, “calibrated” soda cans and
marked the displacement so that I can calculate the bending stiffness in the end. The results
are really nice and show that stiffness at the same weight is almost 30% higher with
the gradient infill. For this I compared the beams that had the same weight. If we take
a look at the stiffness that we can achieve during the same amount of printing time, we
are almost 60% stiffer! Here I compared the 30% normal infill beam to the gradient infill
parts, because with this method we don’t add any additional printing time. Take this
with a grain of salt because depending on the shape of your part and the settings, your
results may vary! For the hook I also printed a couple with
different infill ratios and then applied gradient infill to the one with 25% infill. I then
tested all of them on my DIY universal test machine where unfortunately I didn’t find
a significant improvement over just increasing infill ratios. The reason here is that I add
lots of material in areas where I wouldn’t actually need it. I will play around a little
more with settings and see if I can improve something, but for such small parts it might
not be a great benefit, at least in the current form. What I want to implement though is something
similar as with my smart infill. I want to take the results of a Finite Element Analysis,
be it Stress or Topology and map those results on the infill density by adjusting flow and
not using modifier meshes, and this, in all 3 coordinate directions. I’m quite interested
how that will perform! I think these results show that this gradient
infill method might not be the new perfect infill method but it would definitely be beneficial
for a lot of our parts to improve the material use, strength and stiffness. Just a step forward
in the right direction and maybe someone of you has an even better idea how to use or
improve it! I’m just the guy that spreads ideas. You’re the ones that can be inspired
by those ideas and take them to the next level. If you also want to try out on your own than
you can find the Python script fully Open Source on my GitHub. I invite anyone to contribute
and improve on it because I’m a mechanical engineer and not programmer. Oh, and did I
tell you that I also lack the time to focus strictly on one project? If you’re new to
Python, you could start learning this programing language using this videos sponsor Skillshare
or just download and install Anaconda, copy the script file and your Gcode in the same
folder, open the script using Spyder IDE, adjust the settings and hit run. This shouldn’t
require anything else. A more detailed description is also available on my website. Currently
the script only works with CURA due to the section comments it puts into the gcode and
also make sure that you print the perimeters before the infill and activate relative extrusions,
otherwise you might run into problems. Let me know what you think of this new infill
type down in the comments and make sure to contribute on the Github if you can improve
my work! What I’d really like to see, is this being implemented in a real Slicers because
then it would be as easy to use for everyone as any other infill and since the slicer itself
has more information about the model being processed you could also add a gradient in
z-direction and not only in the XY-plane as I’m currently doing it.
Thank you so much for watching. I hope you’ve learned something new today and were maybe
a bit inspired. If so, then leave a like, share the video with the rest of the community
and make sure that you’re subscribed to the channel! If you want to support me in
spending that much time on projects and videos like this, please take a look at the video
description. Also take a check out the rest of my videos, if you liked this one then I’m
sure you’ll also like the others. I’ll see you in the next one, auf wiedersehen and
good bye!

You Might Also Like

100 Comments

  • Reply CNC Kitchen January 11, 2020 at 4:38 pm

    Don't forget to share this video on Facebook, Reddit, Twitter and other social media!

  • Reply The Real Macgyver White January 12, 2020 at 5:49 pm

    How can this be implemented with the snap Maker 1 and 2 3d printers ? thank you .

  • Reply Leonardo Santos January 12, 2020 at 6:02 pm

    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.

  • Reply Appa Talks January 12, 2020 at 6:09 pm

    When he said, "you want to learn this, check out …" I thought he was going to say, "my github page", but then he said Skillshare lol

  • Reply Abdelrahman Yasser January 12, 2020 at 6:15 pm

    amazing! i have been waiting for this EXACT infill pattern to show up in slicers, good job bro

  • Reply Simon Cleret January 12, 2020 at 6:15 pm

    If you can combine this with non planar slicing, that would be pretty amazing.

  • Reply Leo Fortey January 12, 2020 at 6:28 pm

    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.

  • Reply Robert Pirlot January 12, 2020 at 6:30 pm

    Are you saying pieton? Instead of PieTHON.

  • Reply Cyan Ogilvie January 12, 2020 at 6:31 pm

    Awesome idea!

  • Reply cncua January 12, 2020 at 6:45 pm

    This is used in paper printing since offset printing exists. There are all sorts of software available. Search for postprint processors. A tons of different patterns.

  • Reply Björn Persson January 12, 2020 at 6:46 pm

    As the gradient infill adds more material to the outer walls, it would be fair to compare with a print with additional outer walls an 0% infill at equivalent weight.

  • Reply Liderc January 12, 2020 at 6:51 pm

    I think there's more opportunity to save plastic on more block-like objects (like a baby yoda print for example) If you hollow the middle of a model like that out and add denser infill near the edges I think you can see better results than on the stick-like prints you tested.

  • Reply serenityextremity January 12, 2020 at 6:53 pm

    If it hasn't already been said: this has a broader applicability to discontinuous fiber reinforcement in additive manufacturing. You could tailor the gradient into specific areas that require the most reinforcement. This is an issue that I encounter with the Markforged Eiger slicer

  • Reply citadelik January 12, 2020 at 6:59 pm

    Have you read this research article from last month? "Human bones hold clue to stronger 3D-printed, lightweight structures" I read it and wondered if that technique would be the way to do infills on 3D printers. The link is here: https://www.designnews.com/materials-assembly/human-bones-hold-clue-stronger-3d-printed-lightweight-structures/12412429062083

    and the research article itself: https://www.pnas.org/content/116/49/24457?_ga=2.140709302.502931060.1575894594-1393237596.1575894594

  • Reply Samuel Schwarz January 12, 2020 at 7:13 pm

    Ich habe herausgehört das du dich wie ein Deutscher anhört und gesagt hast "guten Tag every body"

  • Reply R Dyer January 12, 2020 at 7:15 pm

    Really cool! Seems like this is something that could be patented. Of course "patent" is a 4-letter word in the open source world.

  • Reply Jul MS January 12, 2020 at 7:18 pm

    ok, having a sponsor: not a problem. Adding advertisments through google: not a problem. Having 5 advertisments and a sponsor in a <15 min video? Really?!

  • Reply Manuel Coenen January 12, 2020 at 7:20 pm

    I took the liberty to point one of the Cura contributors to this video. Now let's see what happens. 😉
    Also I am thinking about implementing the script as a plug-in for DuetSoftwareFramework (used with Duet 3) to apply these changes live while printing.

  • Reply Giin January 12, 2020 at 7:26 pm

    Today in, "this is so obvious, one wonders why it isn't already in common use:"

  • Reply Lukas Thumfart January 12, 2020 at 7:30 pm

    And now combine it with the "none planar surface printing"-script which ist around for slic3r ^^

  • Reply Brian January 12, 2020 at 7:34 pm

    Makes more sense to be denser in open areas….. the walls already provide support, it is backwards

  • Reply Julius Grassmé January 12, 2020 at 7:53 pm

    please do the inverted gradient. thank you <3

  • Reply KX36 January 12, 2020 at 8:08 pm

    I've been waiting for years for this. A lot closer to trabecular bone than standard infill.

  • Reply Tim Solinski January 12, 2020 at 8:10 pm

    Well that was interesting and such a easy solution.
    You could combine that quite easy with your FEM meshes, all you need is a extra check if its inside or outside the FEM mesh.
    (granted requires to have and load a FEM mesh, but it's not that bad)

  • Reply Matthew Poole January 12, 2020 at 8:21 pm

    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.

  • Reply Mr. Baskins January 12, 2020 at 8:35 pm

    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

  • Reply Andrew Liakh January 12, 2020 at 8:39 pm

    nice

  • Reply Alvaro Gil January 12, 2020 at 8:50 pm

    Great job!

  • Reply Gino B January 12, 2020 at 8:59 pm

    Love the 8-bit music in the background! The project Is excelent too, hope some slicer add this like an extra option in the configuration.

  • Reply oeko76 January 12, 2020 at 9:06 pm

    Maybe it is a benefit to make the connection lines more like inside bones. The connection lines more by random directions and thickness. If possible it can be able to choose a direction of more strength, so more „random“ lines by percentage to give strengthness

  • Reply Mattias Fagerlund January 12, 2020 at 9:09 pm

    That's very clever indeed! Do you take "3d distance" into account, or only in the xy plane distance?

  • Reply Mac White January 12, 2020 at 9:20 pm

    very neat different way of doing it, but AutoDesk's Netfabb has this capability: https://www.youtube.com/watch?v=cprHw_dBrz4 (typically used for DMLS rather than FDM though)

  • Reply kocakushh January 12, 2020 at 9:26 pm

    Thank you man. You are the best.

  • Reply Magicmunkynuts January 12, 2020 at 9:36 pm

    I finally subscribed haha, sorry mate.

  • Reply Allon Messenberg January 12, 2020 at 9:37 pm

    IdeAh, not Ide-er.

  • Reply SaltyBrains January 12, 2020 at 10:02 pm

    Wow this is really clever! and not only more functional but looks fantastic! 🙂

  • Reply Simon Luginbühl January 12, 2020 at 10:15 pm

    Does this actually improve stiffness over adding the same amount of extra material in the form of perimeters? I don't think so. Would be nice to see a comparison betwen two parts of the same weight. One with minimal infill density and more perimeters vs one with gradient infill.

  • Reply Benjamin jason Christianson January 12, 2020 at 10:27 pm

    I cant believe that no one had the Idea before, it is simple but a genius idea. It is much more natural this way

  • Reply derschmittlock January 12, 2020 at 10:30 pm

    Hey, did you ever try to print, other than the first perimeter, all perimeters in a truss form?

  • Reply Jason C January 12, 2020 at 10:37 pm

    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!

  • Reply Brady Bell January 12, 2020 at 10:45 pm

    Does the gradient change on the vertical axis also?

  • Reply Flynn banynn January 12, 2020 at 10:45 pm

    8:58 you said rectal, lmao

  • Reply John Swanwick January 13, 2020 at 1:02 am

    Kinda reminds me of bones

  • Reply TJP projects January 13, 2020 at 1:07 am

    Can it also work in the Y-axis? It might be interesting.

  • Reply Jim Shealy January 13, 2020 at 1:14 am

    This is really neat! Now for the real trick… is there a way to search out in the Z direction as well? It would be really cool to add the Z dimension in to make sure that you're getting good properties in all axes.

    This is a really clever technique, and I'm curious to see where this goes!

  • Reply adamfilip January 13, 2020 at 1:30 am

    Fusion 360 is getting FDM Slicing soon, hope they implement this

  • Reply Beskamir January 13, 2020 at 2:13 am

    Maybe infill can be adaptively subdivided so the lines are all still the same thickness but there's more of them near the edges than in the center? This would have been a cool project for the modeling course I took last semester.

  • Reply Matthias Ackermann January 13, 2020 at 3:20 am

    Brilliant idea! I think though that your second idea, correlating the thickness of the infill with the stress found in the FEA, is even more promising. And if the direction of the infill lines could additionally coincide with the direction of the stress … ?! That however will need more than a post processor, that will need a completely new kind of slicer.

  • Reply Superkuh January 13, 2020 at 3:23 am

    This will be perfect for making dielectric lenses for radio/microwave.

  • Reply Roger Garrett January 13, 2020 at 3:37 am

    I am incredibly impressed. You are definitely a fantastic thinker and engineer.

    The only question that comes to mind is how do you go to actual three-dimensional gradient fills? your approach deals well for the stresses in the flat plane corresponding to each layer, but what if your model needs to take stresses in all dimensions? Maybe that can be your next challenge. 🙂

  • Reply Scott Whittaker January 13, 2020 at 4:26 am

    Brilliant, would like to see this implemented as a standard infill option in slicers. I already use Cura's "Gradual infill steps" which progressively increases infill density before top layers, allowing for a lower infill in the body of a shape and increasing it before top layers to ensure a smoother top layer and better wall joins. But that's just a change on the z-axis, while your modification allows density changes on the x & y axis. Combined these could be very efficient.

  • Reply Jason Jase January 13, 2020 at 5:35 am

    Couldn't you just print the the outside of an object leaving it hollow take it off the printer and fill the center like in an injection mold.
    Heck you could technically fill the center with what ever you like from plastic to cement

  • Reply Brian Rafferty January 13, 2020 at 6:34 am

    Can you write a post-processing script that purges the nozzel of dual color prints into the infill of the part, rather than into a purge block or purge bucket? This would save a huge amount of material. I don't believe anyone is currently doing this

  • Reply Garolin January 13, 2020 at 6:43 am

    I was thinking of a volumetric fractal infill algorithm… this is much simpler with very similar results. Brilliant!

  • Reply Beauregard Slim January 13, 2020 at 7:27 am

    VERY nice work! I'm all about printing functional objects with minimum print time and material. This will be very useful.

  • Reply максим зубко January 13, 2020 at 7:58 am

    great idea. little programming and improvements for any application

  • Reply Davy Landman January 13, 2020 at 11:06 am

    Cool, did you check IceSL? It has a lot of build on programmability for the slicing and models. Might be a nice place to do more of these experiments.

  • Reply Dennis Lubert January 13, 2020 at 11:09 am

    How well does this play with linear advance?

  • Reply Create For Curiosity January 13, 2020 at 11:47 am

    Wtf … You are a god for small creator like me.
    Brilliant, genius.

  • Reply John Zoidberg January 13, 2020 at 12:04 pm

    How much filament do you need in a month? 🙂

  • Reply Herman der German January 13, 2020 at 12:18 pm

    Stefan, have you considered adding a hollow internal shell to the hook model and dense infill at known high areas stress areas. While this would not work for the beam model the hook model would be a hollow tubular form made up of curves that transmit stresses more efficiently. The internal shell need not have the same number of layers as the outer. As a printing time/material saver this method would work better with larger bulker forms

  • Reply Steven Leatherbarrow January 13, 2020 at 12:48 pm

    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.

  • Reply Arron Bates January 13, 2020 at 2:00 pm

    genius, great idea.

  • Reply Devilman 666 January 13, 2020 at 2:56 pm

    This could be in SLA Printing pretty intessting. 🤔

  • Reply Nanci January 13, 2020 at 3:10 pm

    Does any one know the first background music?

  • Reply Bpositive January 13, 2020 at 4:00 pm

    Nice work Stefan.
    I was thinking of using a variable extrusion rate for vase mode…. For instance making a lamp shade with variable thickness, so light shines through in various degrees! 🙂 – It would be awesome if this would work, even though I'm using an UM2 and 1,2nozzle….

  • Reply Jonathan Mayer January 13, 2020 at 4:03 pm

    This would be great for screw holes.

  • Reply Nic von Fancy Stuff January 13, 2020 at 4:06 pm

    That ist so awesome! great idea!!!!!!!

  • Reply Nic von Fancy Stuff January 13, 2020 at 4:06 pm

    and a pretty neat implementation! Totally great work you did there!

  • Reply Uwe Garbe January 13, 2020 at 4:22 pm

    Very cool idea, thought this is already industrial standart as you're trying to implement Finite Element Analysis (FEA) . Check with this gentleman and his work on trees. http://www.mattheck.de/index_htm_files/Bauteile.pdf. Hope this comes available for everybody, go for it!

  • Reply Matthew McKellar January 13, 2020 at 4:38 pm

    Believe it or not, this has actually been a fully supported feature in IceSL for the last three months. It also supports the generation of user defined anisotropic cellular foam, allowing for engineered compression and structure depending on the axis of load.

    Amazing slicer, built around an entirely scriptable front end and GPU accelerated 3D shaders.

  • Reply Philip Hart January 13, 2020 at 8:33 pm

    Absolutely superb!

  • Reply Daboss January 13, 2020 at 8:51 pm

    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!

  • Reply Jason Watkins January 13, 2020 at 10:33 pm

    I was just thinking about that last night.Printing a large bust and all infill options were so inefficient. It could be almost hollow in the middle and it would be fine for strength. Hopefully we'll start seeing this type of thing more.

  • Reply Lucas Hartmann January 13, 2020 at 11:29 pm

    Wow! That is awesome!

  • Reply Abeille Magique Dans Coquelicot January 13, 2020 at 11:43 pm

    This is so intelligent

  • Reply jorgemarmo January 14, 2020 at 12:09 am

    Hi Stefan, this is great (as usual) but I would guess that at iso-weight adding more perimeters will be more beneficial (more inertia)…. ?

  • Reply Yaroslav Bunyak January 14, 2020 at 3:12 am

    Brilliant idea!

  • Reply 3d guy247 January 14, 2020 at 5:46 am

    That is nice breakthrough development. Printer manufacturers and slicers should pick this up.

  • Reply Richard Zabries January 14, 2020 at 7:30 am

    It's a cool Idea and great execution, but I am not convinced, that it is better than just increasing the number of perimeters. That would have been a better test, than just comparing to normal Infill.
    When I think about it, I have never seen a test, if it makes an difference where you put additional perimeters/material. Many materials are more resilient to tension, than to compression and vice versa. Maybe its enough to strengthen only on side of a part.

  • Reply cubbucca January 14, 2020 at 8:38 am

    Gotta be your best work yet.

  • Reply Eddy Vanderhellen January 14, 2020 at 8:57 am

    Vielleicht kommt man mit einer Voronoi-Struktur weiter, wenn man vorher im Slicer am Objekt Stressbereiche anmalen kann. Bei manchen Teilen weiß man ja schon instinktiv, wo der mögliche Schwachpunkt sein wird.

  • Reply Amaroq Starwind January 14, 2020 at 12:58 pm

    You should combine this with non-linear slicing.

  • Reply Romain Durand January 14, 2020 at 1:28 pm

    This could be a great plugin for octoprint !

  • Reply Gareth Martin January 14, 2020 at 6:02 pm

    This reminds me of Cura's cubic subdivision infill type

  • Reply ChimeraPrecision January 14, 2020 at 6:08 pm

    This may be one of the more important developments in 3d printing for functional prototypes. Real badass work here stefan

  • Reply delfare January 14, 2020 at 6:51 pm

    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.

  • Reply dot dump January 14, 2020 at 6:58 pm

    Nice idea for the infill! The next step could be usage of generative design software for smart infill creation that will form smart inner structure of the printed parts and not just simple correlation of the material quantity to the loads as in your previous method based on simulation results. And also generative design parts should be easier to export from the CAD software for printing comparing to the simulation results. Thanks for your work it is really inspiring!

  • Reply Gabor Lukacs January 14, 2020 at 6:59 pm

    Wunderschön. Actually there is an at least 15 years history of this kind of microstructure modeling in the scientific literature. There are implementations already where the even orientation and the cell size of the microstructure changes depend on the distance from the boundary. (See for example https://www.sciencedirect.com/science/article/pii/S1524070311000087). The key is that for performance reasons one has to push these operations to the lowest level of the processing, presumably down to the slicer. If possible it should not be done on the modeling level. Anyway it's great that by simply modifying the material emission in the G-code you were able to achieve such a significant effect. Congrats.

  • Reply Dan Henton January 14, 2020 at 7:28 pm

    I'm a software engineer keen to help with fusing topology Optimization into parts. I've got some print ideas I would like to improve with this method.

  • Reply Chris Bowring January 14, 2020 at 7:30 pm

    Very interesting idea. I'd be interested to see what the strength would be for a hollow object with sufficient shells to match the weight.

  • Reply Cosmic Crunch January 14, 2020 at 7:48 pm

    Excellent as always, thanks for sharing! Do you own a Tevo Little Monster Stefan? I'm having a very hard time getting retraction working properly again after I replaced the included heat break with an all metal one. I replaced it because the original had a small PTFE insert that became deformed from the heat when swapping nozzles and I didn't have any 3 mm ID 2 mm OD tube to replace it.

    After retracting there is sometimes a delay before the filament extrudes on the next segment. I've tried all known good retraction distances and speeds but nothing has helped. I also tried lower and higher temps and different nozzles and sizes with no improvement. I think the main problem is that the slightly expanded filament in the nozzle encounters resistance when pulling back into the heat break, which doesn't seem to be adequately cooled. I'm going to try a titanium heat break from Triangle Lab and attempt to design a shroud to concentrate the air flow directly through the heat sink. It will be tough with that BL Touch right in the air flow path though.

  • Reply RedFathom January 14, 2020 at 10:41 pm

    pft, i always print my infill first!

  • Reply AbeFM January 14, 2020 at 11:54 pm

    Hasn't "cubic infill" been an attempt to do the same thing – in CURA?

  • Reply James Laine January 15, 2020 at 12:21 am

    Very nice hypothesis and testing implementation. But… It's "idea" not "idear". (sorry, but that was bugging me even though your english is far better than my german)

  • Reply James Laine January 15, 2020 at 12:28 am

    Here is a suggesiton for what to name this type of infill: Bone Marrow

  • Reply Nicholas Seward January 15, 2020 at 12:30 am

    Cubic subdivision in Cura was designed to solve this problem.

  • Reply misomalu January 15, 2020 at 4:31 am

    It’s funny, I’ve been thinking about doing something exactly like this for the past couple of weeks. I’ll start working on a .NET Core implementation.

  • Reply ezshua January 15, 2020 at 8:57 am

    Like! Like! Like!

  • Reply Kevin Walker January 15, 2020 at 9:56 am

    That is amazing! You are an impressive person.

  • Leave a Reply