Show HN: 3D print Z reinforcement via injected loops
mgunlogson.github.ioCommodity FDM print strength is limited by poor Z-axis layer bonding. Parts crack along Z under stress. MAGMA tries to fix this in software that works on any FDM 3D printer.
It's a fork of OrcaSlicer with a new infill type that creates paired U-shaped vertical channels inside the print, plus G-code that injects molten plastic into those channels to bridge Z layer interfaces with continuous plastic.
Big caveat: I have a junky Ender 3 and haven't gotten a clean physical print yet. Don't expect this to work out of the box! After months of tinkering, I'm releasing the software so the 3DP community can experiment with nozzles, multi-material, weird hardware, and other print parameters I can't. There's around 40 MAGMA-specific settings to fiddle with, plus some general quality-of-life features (e.g. printing thin infill sections as solid, and a "dual infill shell" feature that applies MAGMA only to the outer shell to save print time).
THIS CODE IS ALPHA. Around 50 prints old. The injection G-code is novel. Some printer firmware won't like extruding without movement. In extreme cases it could damage your printer or start a fire. DON'T WALK AWAY WHILE PRINTING.
Why MAGMA? "Lava tubes" is a misnomer. Molten rock is magma underground, lava only after it surfaces. The injected tubes are buried inside the print, so "magma tubes" is the correct term.
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.
Secondary epoxxy nuzzle?
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.
There's a YouTube video out there of someone doing this with a long (airbrush?) nozzle that is inserted into those empty spaces.
I found the video: https://www.youtube.com/watch?v=H7nrJRBAMOA
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.
> 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.
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.
> 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.
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".
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.
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.
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.
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.
> 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.
> 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.
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.
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?
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.
> 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.
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.
Instead of one large channel throughout the whole print, why not multiple small 2-4 layer bridges?
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.
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...
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.
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".
Why do you think this is better than the old practice of filling straight holes a few layers deep?
Is that available in any of the standard slicers?
I think that's called z-pinning, and it might not be because of patents. I'm not sure though.
> What’s NOT yet working:
Oh Claude~
Do you have a photos of objects you build with this? A video?
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
I’m surprised you bothered writing software instead of writing some G code by hand for testing
when you have claude everything looks like a software problem :)
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?
Here for any questions about how it all works :).
>What’s NOT yet working: the physical print
So, nothing to show.
Next.
This is how science works. Share your failed experiments, someone else picks it up. Eventually it may work, or not.
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.
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.