Ultimaker / CuraEngine

Powerful, fast and robust engine for converting 3D models into g-code instructions for 3D printers. It is part of the larger open source project Cura.
https://ultimaker.com/en/products/cura-software
GNU Affero General Public License v3.0
1.69k stars 885 forks source link

Feature Request: Z pinning #1034

Open bobbyfiend opened 5 years ago

bobbyfiend commented 5 years ago

Application Version [3.6.0]

Platform Any

Expected results Feature request: an infill pattern that bonds multiple layers together vertically. I don't know if this is feasible, but maybe a 100% infill option where the filled area would actually look like swiss cheese, with a matrix of vertical holes, aligned 2, 3, or more layers deep, same diameter (roughly) as the nozzle diameter (e.g., 0.4mm). After, for example, 3 layers of solid fill were printed with these 3-layer-deep holes in them, aligned, the print head would go to each hole and squish a hot burst of PLA down into the holes, vertically bonding the three layers together, potentially more strongly than some layer bonds.

As suggested by /u/jediminer543 (see here), holes could be staggered across layers, so one set of holes bonded layers 1, 2, and 3 together, while another set bonded 2, 3, and 4, and another 3, 4, and 5, etc.

Is this feasible? It might make very strong parts.

Additional Information Here is an ASCII diagram of what I'm imagining: a cross-section in which hyphens represent regular solid layers and pipes (|) represent the vertical squished-in "plugs" that might bond layers together:

 -- -----|-- -----|-- -----|-- -----
 -----|--|-----|--|-----|--|-----|--
 --|--|--|--|--|--|--|--|--|--|--|--
 --|--|-----|--|-----|--|-----|--|--
 --|-----|--|-----|--|-----|--|-----
 -----|--|-----|--|-----|--|-----|--
 --|--|--|--|--|--|--|--|--|--|--|--
 --|--|-----|--|-----|--|-----|--|--
 --|--------|--------|--------|-----

Edit: I don't know how to add labels, or I'd add a "feature request" label.

Ghostkeeper commented 5 years ago

You can achieve this effect by setting the Infill Line Multiplier to 3 (or so) and selecting an infill pattern that staggers, such as Quarter Cubic, Gyroid or even just Lines. Try that, perhaps with Quarter Cubic first, and see if you like that effect.

It doesn't overextrude though in areas where there is no line beneath it. That could be done but might intersect with the Infill Layer Thickness feature.

bobbyfiend commented 5 years ago

I'm definitely going to try this. Thanks.

AbeFM commented 5 years ago

What is that doing beyond making each 2D layer of support wider? It doesn't sound like it's doing what he asked (regardless of what he asked being reasonable. :-) I do like the idea, I'm not sure how well it would work in practice. Perhaps draw a part that is what you want and manually put in the lines to do the fills?

Perhaps the OP just needs to turn down infill speeds or turn up infill line widths to improve adhesion? What are you trying to accomplish?

Ghostkeeper commented 5 years ago

In the spirit of OP's post, I understood that he intended to have an infill pattern where the lines would be moved closer together horizontally in order to allow the lines on the next layer (that are shifted slightly according to the pattern) to stick better. Multiplying infill lines doesn't shift lines, but only places new lines. But it has the same effect.

AbeFM commented 5 years ago

I was assuming he meant something like this: image

Leaving vertical holes and then squirting plastic multiple layers down to bond it all together. I believe his diagram is an unlabeled side view.

bobbyfiend commented 5 years ago

Thanks, AbeFM, that's pretty much exactly what I had in mind, except that my imaginings filled in the gaps between the vertical red sections in each layer, though I don't know how important that would be. That diagram is much better than my bad ASCII art, and gets the idea across beautifully.

As for my goal... IDK? I just thought I might have hit on a novel way of bonding layers together more strongly, which could be applied to a huge number of projects. It seems incredibly unlikely that I would be the first person to think of this, so I wanted to put it out there so whoever really thought of it first might see it, and so that smarter people could suggest reasons it wouldn't work, ways to make it better, things that are already doing the same thing, etc. In this thread at least some of that is already happening.

AbeFM commented 5 years ago

Yeah, sorry, I got pretty lazy and left those lines off, it's how I pictured it too.

I like the idea, I've thought of driving in thin metal spikes, but it seems like with the extruder right there over the print, why not use that? :-)

One could imagine small circles printed at each intersection of a normal fill pattern (i.e. GRID), and those spikes being inserted there.

Similarly, staggered supports could be printed with a layer height ~2-3 times normal, and intersperse them such that they would lock:

image

BagelOrb commented 5 years ago

It's called 'Z pinning'. Here's a paper about it: https://www.sciencedirect.com/science/article/pii/S2214860418310492 "Z-Pinning approach for 3D printing mechanically isotropic materials"

BagelOrb commented 5 years ago

image

AbeFM commented 5 years ago

It's called 'Z pinning'. Here's a paper about it: https://www.sciencedirect.com/science/article/pii/S2214860418310492

Unfortunately, no, there's a link to a page ABOUT where you can buy it or lease it or rent it but certainly not to read it. And the form to pay for it doesn't even have "I just want to see it" as an option.

Just as soon as CURA's perfect, we should all go down there and tell them that you're not distributing information by renting it out.

Looks like a worthwhile paper. If you have a suggestion on where one might read it, let me know. If I track it down I'll share it here.

BagelOrb commented 5 years ago

www.sci-hub.tw

Kind regards, Tim Kuipers PhD researcher at Delft university of technology Software engineer at Ultimaker


From: AbeFM notifications@github.com Sent: Monday, November 4, 2019 2:04:15 AM To: Ultimaker/CuraEngine CuraEngine@noreply.github.com Cc: Tim Kuipers t.kuipers@ultimaker.com; Comment comment@noreply.github.com Subject: Re: [Ultimaker/CuraEngine] Feature Request: Z pinning (#1034)

It's called 'Z pinning'. Here's a paper about it: https://www.sciencedirect.com/science/article/pii/S2214860418310492

Unfortunately, no, there's a link to a page ABOUT where you can buy it or lease it or rent it but certainly not to read it. And the form to pay for it doesn't even have "I just want to see it" as an option.

Just as soon as CURA's perfect, we should all go down there and tell them that you're not distributing information by renting it out.

Looks like a worthwhile paper. If you have a suggestion on where one might read it, let me know. If I track it down I'll share it here.

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/Ultimaker/CuraEngine/issues/1034?email_source=notifications&email_token=ACD32EJQLPXBY67QJJRLRJTQR5RH7A5CNFSM4HFK4632YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEC6BZ3Y#issuecomment-549199087, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACD32EILJV472JNQGUMR6KDQR5RH7ANCNFSM4HFK463Q.

AbeFM commented 5 years ago

OMG awesome thanks http://sci-hub.tw/https://www.sciencedirect.com/science/article/pii/S2214860418310492