Show HN: 3D print Z reinforcement via injected loops
Comments
Aurornis
slabity
So I'm pretty skeptical about this as well (see my other comment on this), but the particular failure mode you're discussing is not what's happening in reality.
> Anyone who has ever cleaned blobs of filament off of a nozzle after a print failure can tell you what happens when you try to pump hot filament into empty space. Filament cools below the melt temperature quickly, especially when it comes into contact with your print.
That's completely irrelevant because this isn't printing into empty space at all. This is injecting molten plastic into confined channels, with no active cooling, made from material that doesn't conduct heat well. You're saying that the plastic will cool too quickly, but I believe the opposite will be true.
The problem that the author is describing is that the plastic is actually far too hot when injected and causes wall collapse. This is because the author isn't taking into account that FDM walls don't handle the required pressure near/above glass-transition points.
The failure mode you're describing is the complete opposite. If you were correct, it would result in cold plugs or extruder jams. It wouldn't result in wall collapse or layer delamination.
Aurornis
> That's completely irrelevant because this isn't printing into empty space at all. This is injecting molten plastic into confined channels, with no active cooling, made from material that doesn't conduct heat well. You're saying that the plastic will cool too quickly, but I believe the opposite will be true.
The filament will cool on contact with the part. Think about it: How are you expecting this filament to stay as hot as the inside of your nozzle while it’s flowing through the part and touching all of those walls? How are you expecting the walls to not melt, but the melted filament to flow through them?
Even filament extruded into free space cools enough to become a solid string barely inches out of the extruder. It will cool even faster if it’s touching something.
The only way this works is by heating the entire part up to a temperature where the filament stays hot enough to flow. So you’d need to heat the chamber and the part to 210C to get PLA to flow through it.
mgunlogson
The injection probably happens faster than you think. With a high flow hot-end and 5mm deep channels its reasonable for the injection to complete in less than a second.
> How are you expecting this filament to stay as hot as the inside of your nozzle while it’s flowing through the part and touching all of those walls? How are you expecting the walls to not melt, but the melted filament to flow through them?
Specially formulated injection materials with viscosity near water at injection temps. Dual nozzle setups where PLA is injected near its breakdown temperature into a heat resistant shell like CF-Nylon or Ultem. I need people with more time and hardware to test this. This was a side project for me, out of a dozen I'm working on. And I already spent a bunch of time on it.
For a years there's been talk about doing some kind of 3D injection on the GCODE level, like Z-pinning https://github.com/OrcaSlicer/OrcaSlicer/discussions/4815 . But it was hard to experiment because slicers don't support it. Now there's a codebase with dozens of different knobs to play with.
I added support for dual nozzle printers and using a different material for the injection stage. I just don't have the hardware to test it
mgunlogson
> The problem that the author is describing is that the plastic is actually far too hot when injected and causes wall collapse. This is because the author isn't taking into account that FDM walls don't handle the required pressure near/above glass-transition points.
Yes exactly. And it may be a solved problem.
I need someone with a dual nozzle printer to try injecting something like PLA in a CF-Nylon part. I anticipated this and added support for dual nozzle and multi-material with a different material selectible for the injected channels. But be warned, it hasn't been tested it at all.
mgunlogson
The filament is injected into tiny triangular U shaped channels, about twice as wide as the filament diameter. The depth of the channels is configurable and you can go as shallow as ~4mm. If you inject at a high rate that's not nearly enough time for the filament to cool off.
I actually had the opposite problem in testing. Plastic has bad thermal conductivity and the large volume of plastic in the channel was melting the top of the cell. That's why I asked for testers with dual nozzle printers. So they could try injecting a low melting point material into the channel while printing the rest of the part with something like Polycarbonate or CF-Nylon.
Some of the docs were written by LLM because writing docs is boring. Did you look at the code or try the binaries?
> Reading any of the research on that should make it obvious that you can't "inject" molten plastic into larger cavities, though.
There is quite a bit of research on injection molding. The pressure at the tip of a regular 3DP nozzle is around 200psi. That's actually high enough to inject a reasonably large cavity.
smrq
Everything about that readme quote screams LLM. All it's missing is the user responding, "that doesn't make any sense, this won't work at all", and Claude responding back, "you're absolutely right".
mgunlogson
The post was from a week ago. Must have been refreshed by the algo (or admins) for more visibility. Originally never got any comments.
Have you looked at the code or tried the binaries? I can assure you it very much exists as described.
Maybe I should have spent more time on the docs. I had LLM write some of the settings pages and other boring stuff.
Toutouxc
It doesn’t have to be a large cavity in order to be useful. Imagine being able to reliably fill a hole that’s 5mm deep. Not amazing, but that could mean 25 layers. That’s 24 layers more than what we can fuse together now.
mgunlogson
It's more than that.
I added a SAT solver to refine the tube endpoints so that nearby tubes don't start or end on the same layers. Even the default greedy solver (CP-SAT is SLOW) does a pretty good job at "staggering" the tube ends.
The part is "knitted" together in 3D at different Z layers.
Try the binaries. They've only been tested in Linux but they build fine for all platforms.
Slice something with MAGMA infill turned on and flip off the visibility of everything but injection lines. You'll see how the U shaped tubes knit the part together
Aurornis
> Imagine being able to reliably fill a hole that’s 5mm deep
You can’t inject filament into a hole without it cooling and solidifying at the top. That’s the problem with this whole idea.
mgunlogson
I did some basic calculations on isotropic heat loss in a circular tube. I don't have the knowledge to model it in detail but I don't think this is correct.
You can set tube height to something tiny like 5mm. It takes a fraction of a second to fill that.
As someone who's printed a lot, on fast printers you have to set a minimum layer time because it takes up to 20 seconds for the layer below to solidify, cool to below the glass transition. Plastic is a bad conductor so heat loss through the walls probably isn't as bad as you'd think
Toutouxc
I own a 3D pen and I use it to repair and tweak prints. Sometimes I use it to fill small cavities with material. The surrounding area usually doesn’t enjoy the heat, but PLA definitely can be injected to a degree. Maybe not to fill thin channels in the infill, but to fill a few strategically placed and shaped voids, yes.
warumdarum
Secondary epoxxy nuzzle?
mgunlogson
Resin would be very interesting. The tube design seals them everywhere below the top layer. And the two ends of the tube tops are always at the same Z.
You could technically inject anything liquid enough into the tubes. Grout, resin, glue, silicone.
xnyan
It's always a balance of tradeoffs and benefit. That might work, but there are already alternatives. If possible, change the design so that the anticipated load is acting on the x and y axis of the print. If that's not possible, another common tactic is to do something like partial print > insert metal rod in printed channel along y axis > resume print.
stirfish
There's a YouTube video out there of someone doing this with a long (airbrush?) nozzle that is inserted into those empty spaces.
slabity
I've seen this technique a lot, but mostly as a post-processing technique where resin, fiber, or some other type of plastic is injected into the channels after printing is completed. It would be interesting to see this done during the normal printing process.
I am a little skeptical on the technique though. FDM printed walls are known to not handle pressure well, especially during printing when its past its glass-transition temperature. This process essentially uses the pressure from the extruder to inject a channel with molten plastic. Will this pressure could cause the walls to delaminate from each other or deform?
And how does this affect plastic that tends to warp significantly during printing? The molten plastic is injected into insulated channels that will not receive any active cooling. You're also parking the nozzle at the injection points, which will cause a lot of uneven cooling at the surface as well. For high-warping plastics like ABS, that could cause a lot of issues.
So I guess the underlying question should be, does this actually work? What is the measured difference in tension strength between parts printed normally vs with MAGMA infills? Specifically when using the same amount of plastic. There's no data or even pictures that indicate this is working.
mgunlogson
> Will this pressure could cause the walls to delaminate from each other or deform?
Nobody knows :) . Give it a try!
> You're also parking the nozzle at the injection points, which will cause a lot of uneven cooling at the surface as well.
There's an "injection fan speed" setting that should probably be kept at 100%.
I'm not sure the "not have any cooling" will be a problem in practice. Because unlike normal printing you're not concentrating all the heat on one layer. It's going down Z dozens-hundreds of layers to already cooled areas of the part printed minutes ago. And the design tries to avoid having nearby tubes end on the same Z. So the area directly adjacent to the tube has probably been cooling for a while.
> So I guess the underlying question should be, does this actually work? What is the measured difference in tension strength between parts printed normally vs with MAGMA infills? Specifically when using the same amount of plastic. There's no data or even pictures that indicate this is working.
No one knows. And I can't test it anymore. The code is done and I have other projects to work on. I've done probably a hundred test prints on my POS Ender 3. I need testers with better hardware. No matter what I try the top of the cell gets melty. This could be the low flow rate of my hotend (limits injection speed), the fairly bad cooling, or maybe something fancier like dual material is needed. Or maybe I just haven't landed on a good combination of settings since there's dozens of them.
I particularly want someone with dual nozzle to test so they can try injecting a low melting plastic like PLA into a heat resistant shell like CF-Nylon or more exotic materials. There's printer plastics that aren't even at glass transition temp when PLA is at printing temperature.
I added dual nozzle and multi material support. Obviously hasn't been tested though
joshvm
The simplest option is to print the part raised at an angle so the layer lines aren't parallel to faces. Clough42 has some good videos on support/rib design in Fusion: https://www.youtube.com/watch?v=XXaLxSmtnbQ, based on https://www.youtube.com/watch?v=8NKVNwVaZU0.
But you can definitely get printers to dump a blob of filament out without worrying about cooling problems, if the extruder speed is high enough. I was debugging some issues in P2PP (a post processor for the Mosaic Palette. One problem was that the printer would extrude all the filament at the start of some travels instead of along the path.
slabity
> But you can definitely get printers to dump a blob of filament out without worrying about cooling problems
Yes, but we're not talking about dumping a blob of filament. We're talking about injecting filament into a well-insulated channel where it's physically impossible for it to receive any active cooling whatsoever.
That's not a situation where you can just ignore cooling.
Aurornis
> We're talking about injecting filament into a well-insulated channel where it's physically impossible for it to receive any active cooling whatsoever.
Look up the thermal conductivity of air.
Then look up the thermal conductivity of 3D printing filaments which form those channels that are being injected into.
The filament will be cooling faster in the channel than in free air.
This cannot work unless the part is heated to a temperature where the filament flows.
slabity
You cannot compare the raw thermal conductivity of a fluid like air (that pulls heat via convection) to a solid material like plastic (that pulls heat via conduction). Especially when the fluid is being actively moved with the intention of cooling down the plastic.
On top of that, the lattice structure of the infill will mean that heat will not conduct away from the channels well regardless of the material used.
amluto
I can imagine it working with a needle shaped nozzle that inserts into a hole and extrudes filament as it withdraws back out. This is probably much more than a software change, though.
rao-v
I think the way this works is with an internal structure, that houses the plastic and is expected to deform, printed first (so it cools), then outer walls with perhaps some air gaping for insulation, then injection into the inner structure at the lowest temp possible, then the next level starts.
Would print slow but might be genuinely strong vs normal infill + many walls (weight for weight).
Multi head printers like the U1 or H2D could do even better with high heat deflection temp plastics like carbon ASA or nylon for the inner structure and outer walls and strong low temp PLA for the injection.
protocolture
Yeah I was thinking multi head for this, wider nozzle for dropping material in the gaps. Especially if you could find something lower temp than the other walls.
That said, maybe an acetone drip or something in a strength channel to try and bond it.
Actually what I do (and I think is pretty common) is just stopping the print from time to time and filling the outer infill channels with wood glue and sand. Sometimes wooden sticks.
dwallin
Instead of one large channel throughout the whole print, why not multiple small 2-4 layer bridges?
mgunlogson
You can set the tube height to like 4mm and that's pretty much what you'll get.
The tubes only need to be tall enough for a "window" at the bottom and a splitter in the middle so that plastic will flow up one side and down the other.
The window height calculations are automatic right now. To make sure the window area is as large as the tubes so it doesn't create a bottleneck that stops flow.
But if you print tiny tubes with a tiny nozzle you could probably get the tube height down to ~3mm.
There's binaries if you want to play with the settings and see it for yourself
boothby
I had the same thought -- with a checkerboard pattern of 1:1:2 "brick" voids where each brick would be surrounded by bricks of a differing offset, one could conceivably calibrate the injection step and the print might have less propensity to cleave along xy planes. But, given the complexity of that calibration (and need for a high-flow head) I'd rather use the brick infill available today.
zargon
I came across a method of printing that attempts to make the extrusion of two adjacent layers overlap each other by 50%, with the goal of creating stronger layer adhesion. They called it HexWAM and it seemed more likely to work than this one. There were also some test prints available. The website with the full description seems to be down and archive.org unfortunately didn't get the images. Incidentally the person doing this also had an Ender 3, so OP may be able to try out their gcode example directly.
https://www.printables.com/model/438863-supper-strong-layers...
https://www.printables.com/model/437584-qualitative-layer-ad...
https://web.archive.org/web/20251008223152/https://bcarvercr...
LordHeini
I doubt that filling a long thin channel will ever work. The heat + pressure will always collapse the thin infill walls.
In general infills does not provide much strength to a part, it is way better to have stronger walls.
And z-direction does not need to be more stable than the other directions so there is no need for long continuous strands anyway.
Maybe it would work better with smaller, less tall, slots at the inside of the walls.
Lets say 2-3 layer heights tall, continuously filled slots, which are then interleaved with each other. More like bricks less like columns. The outer wall layers would provide stability to prevent collapse. And over spill or bulging would occur towards the inside of the part.
Toutouxc
> z-direction does not need to be more stable than the other directions so there is no need for long continuous strands anyway
I’m not sure I understand. In FDM printing, Z is the only direction where you currently CANNOT have long continuous strands, even if you need them. You always need to sacrifice one direction in which the part is going to suck.
For example, you can easily print an airplane wing with a beautiful, perfectly smooth and continuous airfoil, but you have to include a channel for something like a carbon fiber rod. Without it, the slightest bending force would instantly split the layers apart. Any other orientation will give you a rough surface with steps and a disgusting amount of supports. Being able to add a few strategically placed “columns” (i.e. members in the spanwise direction) could really help this particular usecase.
LordHeini
Adding a long strand of Filament in z direction is what the Author of this article tried. By injecting molten filament into a long channel in the infill.
What i meant that the z-direction does not need to be MORE stable than the other directions.
Adding a long strand of filament in the z-direction in the infill (close to the geometric center of the print) might make the print more resistant to stretching but not necessarily bending.
Carbon rods don't bend but filament does. The wing would break apart at the seams event if it had channels of filament along side its z-axis. It would still be more stable, but not as much as one might think.
Walls give a print most of its strength by a huge margin. And interlocking the walls in z-direction would have a proprietorially larger impact.
kamranjon
I do quite a bit of 3d printing of functional parts and am trying to understand how this would fundamentally differ from printing at 100% infill? What type of part requirements are causing failures when something is just solid? Just curious what problem space this is targeting?
mgunlogson
Z layer weakness is the main reason that 3d printed parts are brittle and much weaker than injected molded ones.
This is meant to knit together the part in the Z axis
notduncansmith
> What’s NOT yet working:
Oh Claude~
coryrc
Why do you think this is better than the old practice of filling straight holes a few layers deep?
mgunlogson
because the plastic has to displace air.
This method seals the nozzle against the tube and injects under pressure (theoretically). And leaves a path for air to escape. Pretty much a micro version of injection molding
ricardobeat
Is that available in any of the standard slicers?
stirfish
I think that's called z-pinning, and it might not be because of patents. I'm not sure though.
blacksmith_tb
Hmm, I wonder if a simpler room-temp alternative would be to fill a low-infill print with 2-part resin. In a way that would be a bit like casting, except you wouldn't ever remove "the mold".
gus_massa
Do you have a photos of objects you build with this? A video?
mgunlogson
No, unfortunately. I've printed a ton of objects but nothing clean enough to be interesting.
The top of cells always melt as I'm using the same material for injection and the rest of the print. Someone with a dual nozzle printer could try something like PLA injection in a polycarbonate part. I added support but don't have a printer capable of that.
It's also possible that different print settings would work. I'm releasing the features to the community as I've run out of patience with doing a hundred hours of test prints.
We need to crowd test the best settings and nozzles, materials, etc to make this work well
smallpipe
I’m surprised you bothered writing software instead of writing some G code by hand for testing
mgunlogson
Because that's not accessible.
IMO the reason other efforts to achieve similar Z reinforcement have gone nowhere is because it was one guy fiddling with G-Code. All the big innovations in 3DP have been community projects. Now anyone can download my binaries and try it.
I'm personally very convinced this will work. That's why I did it. We just need to figure out the right settings. Maybe use a different material for injection or coat the nozzle in something.
We'll see. There's a long history of crazy ideas and cold receptions. We even have famous examples from this site https://news.ycombinator.com/item?id=9224
Either I'll end up wrong, and this will fade into obscurity. Or it will turn out I was right and a lot of people will read this comment someday.
q3k
when you have claude everything looks like a software problem :)
deckar01
When you say continuous interlocking U shape, are you saying it fills one channel from the top until the connected channel fills from the bottom?
mgunlogson
Yes. It's a modified triangle infill pattern.
A solver pairs the triangle with one of its neighbors. Then cuts a window at the bottom during the slice. So plastic gets injected into the top of a triangle tube and flows through the window at the bottom of the U to its neighbor cell.
Download the binaries and try slicing with magma infill type. Turn off visibility of all the other line types and you'll see how it works
mgunlogson
Here for any questions about how it all works :).
lambdaone
This re-thinks the entire 3D printing paradigm. Whether this specific idea works or not, I'm sure that this will lead 3D printing research in interesting directions - and the defensive publication is a massive help.
mgunlogson
Thank you!
A lot of people here took issue with the crappy docs. My mistake, I barely spent any time on them.
The reason this "came out of nowhere" is because I was working on it in secret for a long time. So that patent trolls couldn't screw the 3DP community yet again.
alterom
>What’s NOT yet working: the physical print
So, nothing to show.
Next.
bartvk
From the Guidelines (link at bottom of each page): "Please don't post shallow dismissals, especially of other people's work".
Personally, I think it's an interesting experiment. If my prints break, it's at the layer lines. This work may be a stepping stone, an easy way to reinforce prints.
ricardobeat
This is how science works. Share your failed experiments, someone else picks it up. Eventually it may work, or not.
stirfish
There are pictures of a similar technique in this paper: https://www.osti.gov/servlets/purl/1808415
It was done with manually-written gcode though.
Interlocking layers is an interesting idea, but I don't see how this is supposed to work.
You can't use the nozzle to inject that much filament into a large cavity because it will cool and solidify right out of the nozzle. Anyone who has ever cleaned blobs of filament off of a nozzle after a print failure can tell you what happens when you try to pump hot filament into empty space. Filament cools below the melt temperature quickly, especially when it comes into contact with your print.
At least the README admits that it doesn't work:
> What’s NOT yet working: the physical print. On my Ender, same-material plastic injected into freshly-printed cells melts the cell walls before they can seal. The math says this should work; the materials science is the open question.
I like seeing experimentation, but this is a lot of software work dedicated to something that couldn't possibly work. I'm curious about "the math says this should work" combined with the large number of em-dashes and other LLM tells. Was this experiment largely driven by an LLM?
There is some interesting work on the topic of staggered interlocking layers: https://github.com/OrcaSlicer/OrcaSlicer/pull/8181
Reading any of the research on that should make it obvious that you can't "inject" molten plastic into larger cavities, though.