10 ms·
Show HN: 3D print Z reinforcement via injected loops
Commodity 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.
- dwallin 3mo agoInstead of one large channel throughout the whole print, why not multiple small 2-4 layer bridges?
- boothby 3mo agoI 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.
- mgunlogson 3mo agoYou 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
- coryrc 3mo agoWhy do you think this is better than the old practice of filling straight holes a few layers deep?
- ricardobeat 3mo agoIs that available in any of the standard slicers?
- stirfish 3mo agoI think that's called z-pinning, and it might not be because of patents. I'm not sure though.
- mgunlogson 3mo agobecause 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
- slabity 3mo agoI'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.
- rao-v 3mo agoI 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 3mo agoYeah 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.
- deckar01 3mo agoWhen 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 3mo agoYes. 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
- Aurornis 3mo agoInterlocking 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 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.
- warumdarum 3mo agoSecondary epoxxy nuzzle?
- xnyan 3mo agoIt'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.
- mgunlogson 3mo agoResin 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.
- deleted 3mo ago[deleted]
- alterom 3mo ago>What’s NOT yet working: the physical print So, nothing to show. Next.
- ricardobeat 3mo agoThis is how science works. Share your failed experiments, someone else picks it up. Eventually it may work, or not.
- bartvk 3mo agoFrom 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.
- alterom 3mo ago>Please don't post shallow dismissals, especially of other people's work". That's the thing about this idea. It doesn't work. The title is misleading too. No actual 3D prints have been reinforced. If the title said "an idea", making it clear that is not anything that has ever worked for anyone yet, it'd be a different matter. >If my prints break, it's at the layer lines Then print with 100% infill. >This work may be a stepping stone, an easy way to reinforce prints Printing with more infill is an easy way to reinforce prints. Orienting your piece well on the build plate to take advantage of the anisotropy goes a long way too. This problem already has an easy solution, and that's before you get into the more complicated ones (like nonplanar extrusion). This is idea isn't solving the problem of prints being weak in general. It's an idea about (potentially, maybe, if someone else makes it work, if it's even possible ) saving material and printing time. It wouldn't give you prints that are stronger than those printed with 100% infill even if worked.
- mgunlogson 3mo agoIt does work. Just not very well. Not enough to be widely usable. If it was an idea it wouldn't have thousands of lines of code and working binaries. 100% infill doesn't remotely solve the problem I'm referring to. I'd ask you not jump to conclusions if you aren't experienced with 3D printing. Printing 100% infill also wastes a ton of time and material on the interior of the part for nothing. I added a "dual infill shell" feature where you can use a light, fast infill for the interior of the part. > It wouldn't give you prints that are stronger than those printed with 100% infill even if worked. This is very speculative and I doubt accurate. Even 100% infill parts are 10X more brittle than injection molded ones and around half the strength. All because of z layer bonding weakness
- notduncansmith 3mo ago> What’s NOT yet working: Oh Claude~
- blacksmith_tb 3mo agoHmm, 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".
- zargon 3mo agoI 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-with-hexwam-method https://www.printables.com/model/438863-supper-strong-layers... https://www.printables.com/model/437584-qualitative-layer-adhesion-test/comments https://www.printables.com/model/437584-qualitative-layer-ad... https://web.archive.org/web/20251008223152/https://bcarvercreatives.com/portfolio%2Fproject-blog/f/stronger-solid-prints-faster-hexwam https://web.archive.org/web/20251008223152/https://bcarvercr...
- LordHeini 3mo agoI 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 3mo ago> 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 3mo agoAdding 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.
- lambdaone 3mo agoThis 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 3mo agoThank 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.
- kamranjon 3mo agoI 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 3mo agoZ 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
- mgunlogson 3mo agoHere for any questions about how it all works :).
- gus_massa 3mo agoDo you have a photos of objects you build with this? A video?
- mgunlogson 3mo agoNo, 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 3mo agoI’m surprised you bothered writing software instead of writing some G code by hand for testing
- q3k 3mo agowhen you have claude everything looks like a software problem :)
- mgunlogson 3mo agoBecause 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 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.