prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.63k stars 1.92k forks source link

Alternating perimeter layers (hexagonal walls) #1823

Open espr14 opened 5 years ago

espr14 commented 5 years ago

Left side of image is standard layering (cut in x-z plane). Right one is newly proposed one. Outside wall/shell/perimeter (first column from the right) keeps the same layers but even columns are shifted by half of layer in z dimension. Each string is touching others in 6 spots (hexagon) instead of 4 in the standard one. This will provide higher strength of the printed piece. Can you add this to the slic3r? Thanks. alternating layers

mdealer commented 5 years ago

I would suggest to to move the alternating perimeter inwards by one to improve external appearance.

espr14 commented 5 years ago

Only even columns will be modified.

Mirarkitty commented 3 years ago

I had basically the same idea (#5767, doh). This should work very well for z-axis adhesion.

mvadu commented 3 years ago

to be frank in a well leveled, well working printer, the extruded filament should get little squished (so cross section will be more elliptical than circular) thus touching more than 4 small points like your left image. But I agree having an interleaving on z should at least in theory have a better layer adhesion. More of CNCKitchen's Stephan to test it out once Prusa slicer implements it.

Edit Feb 2024 - Stephan did test this and found it to be 10-14% stronger layer adhesion.

Mirarkitty commented 3 years ago

Just had a layer separate, looking forward to this...

Plutoaurus commented 6 months ago

Here after watching cnc kitchen. Thus looks to improve layer adhesion quite a bit. +1 request

dicksondickson commented 6 months ago

Also here after watching CNC Kitchen.

Ascendzor commented 6 months ago

I have tried to research this to make my prints more watertight. +1 this request. Would help me greatly

Comprehensive-Jason commented 6 months ago

Here's the relevant CNC Kitchen video: https://youtu.be/5hGm6cubFVs

This technique seems to improve print strength quite significantly with no serious downsides, so would be a great addition!

SaltyPaws commented 6 months ago

+1. To this request after seeing Stefan's test results!

Mirarkitty commented 6 months ago

Nice Stefan. Hopefully this will get some traction now!

migueldiaslima commented 6 months ago

Hoping this gets implemented on prusaslicer!

petrubecheru commented 6 months ago

someone patented the idea on 26.11.2019 (provisional application), after this issue was submited on github... https://patents.google.com/patent/US11813789B2/en?oq=11813789

Comprehensive-Jason commented 6 months ago

@petrubecheru Possible parasitic patent? The patent is currently assigned to Addman Holdings, which advertises it as one of their core "innovations" to increase 3D print strength: https://www.addmangroup.com/wp-content/uploads/2023/09/ADDMAN_CAAM_Flyer-8.5x11.pdf

crabdancing commented 6 months ago

If the patent was submitted after, we should be good to implement this, yes?

Comprehensive-Jason commented 6 months ago

If the patent was submitted after, we should be good to implement this, yes?

@alxpettit It depends on whether this issue, or earlier proposals like it, can count as "prior art" made before this patent. Either way, I still think implementing is worth a shot. Patenting something this simple is retarded and a scourge on human progress, and the feature can always be "removed" if Addman Holdings gets ban-happy (someone else will just fork it once the cat's out of the bag).

kevinmorrison commented 6 months ago

Would love to see this implemented!

https://youtu.be/5hGm6cubFVs?si=SALNuTnXxMOwcJ7f

astraiophos commented 6 months ago

+1 for adding this feature to the slicer.

The patent issue is an important concern, but the feature request was made before the patent filing, so the idea existed before the patent. They'd have a hard time justifying the ban based on the patent alone since there's history of wanting this feature before the patent was filed. I'm no lawyer though, so that's just my opinion.

SaltyPaws commented 6 months ago

Hi. I posted this issue on the Hang printer discord, as Torbjørn Ludvigsen went through something similar when someone tried to patent his excellent hang printer idea. This was his response: Hi, thanks for the clear presentation of the case. If you want to invalidate the patent before implementing into PrusaSlicer, I recommend ordering a re-examination at the USPTO. This looks like a crystal clear case to me and I believe you'll be able to invalidate the patent. If you're classified as a small entity by the USPTO, then your fee for the ex-partes version of the procedure is 3150 USD. Other options exist, such as im-partes re-exam or full blown litigation, but those are much more expensive options. It's helpful to find a lawyer if you can afford it, but it's possible to file the request for ex-partes re-exam yourself, if you put lots of effort into it.

Another avenue for you is to just implement the feature and wait to maybe get sued by the patent holder. This is even cheaper (free) but carries more risk since you never know if you'll win a court case (although my opinion is that your case is very very strong).

I've been through an ex-partes re-exam and it was alright, details here: https://torbjornludvigsen.com/blog/2023/index.html#hangprinter_project_80

Harvie commented 6 months ago

turn the pattern by 90 degrees (half width on sides, instead of half height at bottom and top). i think it might seem counterintuitive, but stronger. because it would allow plastic to be squeezed harder in those cracks to increase bonding area, heat exchange and keying effect...

image

arachne allows for variable width. Unlike original proposal void gets filled like this, improving adhesion in all axes (including Z, which is counterintuitive at first, but it embeds this root shaped wedges into the previous layer to improve Z strength):

image

This does not happen when layers are shifted in Z, because that way it's not possible for the pressure buildup to happen in between beads.

Comprehensive-Jason commented 6 months ago

@Harvie This is definitely another approach that could be fruitful and easier to implement. I am concerned this will have a more significant effect on part appearance though, as we run the risk of introducing vertical striping.

Why not both, I guess? The vertical stagger approach might result in better vertical strength, while the horizontal stagger approach may produce better horizontal strength.

Harvie commented 6 months ago

I am concerned this will have a more significant effect on part appearance though, as we run the risk of introducing vertical striping.

Actualy i think this is concern for both approaches. And for both it can probably be fixed by lowering layer height. Also that's why we have slicer options. To give user choice between looks and durability. I mostly do practical/functional prints. Some people do purely visual trinkets and action figures. Therefore we need to tune our slicer settings differently for these use cases.

dewi-ny-je commented 6 months ago

@Harvie This is definitely another approach that could be fruitful and easier to implement. I am concerned this will have a more significant effect on part appearance though, as we run the risk of introducing vertical striping.

Why not both, I guess? The vertical stagger approach might result in better vertical strength, while the horizontal stagger approach may produce better horizontal strength.

In my opinion the idea of staggering horizontally was wrongly drawn: you should not use thinner extrusion in the odd layers of the proposed image, but rather 1 1/2 wide extrusions. It will also be easier to avoid striping, since controlling 50% larger extrusions is more accurate than trying to extrude half as much.

Harvie commented 6 months ago

you should not use thinner extrusion in the odd layers of the proposed image, but rather 1 1/2 wide extrusions

That is quite genious! As long as the nozzle allows for that. I have some chinese 0.6mm nozzle, which does not have very wide face. It really sucks for ironing, so i should probably upgrade anyway. Might be an issue tho. Also i think your idea might be applied to layer height as well (as long as it's not already maxed out).

dewi-ny-je commented 6 months ago

That is quite genious! As long as the nozzle allows for that. I have some chinese 0.6mm nozzle, which does not have very wide face.

If your nozzle doesn't allow it, then use normal stacking. It's not a mandatory feature, whenever it will be available.

Using half-wide extrusion is NOT the way to do it to get any reasonably good result (extruding 0.25 mm with a 0.4 mm nozzle??) and it should not even be offered as option.

The software can take over weaknesses of the hardware, but when that's the only way. Changing nozzle is so simple that the software should not be made more complex just to save 2 euro/dollars, and for an optional feature anyway.

It's a matter of principle, future maintenance costs for the slicer developers, ...

Harvie commented 6 months ago

Anyway. I've updated the mockup as per your suggestion:

image

DarwinAnim8or commented 5 months ago

If the patent was submitted after, we should be good to implement this, yes?

@alxpettit It depends on whether this issue, or earlier proposals like it, can count as "prior art" made before this patent. Either way, I still think implementing is worth a shot. Patenting something this simple is retarded and a scourge on human progress, and the feature can always be "removed" if Addman Holdings gets ban-happy (someone else will just fork it once the cat's out of the bag).

Fully agreed with you here-- I don't think a patent for what is effectively a primitive building technique we've been using for thousands of years should ever be considered valid.

dewi-ny-je commented 5 months ago

Fully agreed with you here-- I don't think a patent for what is effectively a primitive building technique we've been using for thousands of years should ever be considered valid.

That's not how patent work. Applying something known even for a ping time from a field (building construction) to a different and not similar field (plastic and 3D fabrication) may very well be considered as an inventive contribution and therefore deserve a patent. Of course if the patent was broad and is valid also for concrete 3D printing, then the field of application becomes close enough that the technique known for centuries can be applied without needing the innovative combination.

Anyway they didn't apply for it in Europe and PrusaSlicer is Europe based. Case closed, implement it.

Louis2747 commented 4 months ago

Fully agreed with you here-- I don't think a patent for what is effectively a primitive building technique we've been using for thousands of years should ever be considered valid.

That's not how patent work.

i don't think they were talking about how patents work, i think they were talking about how they should work. The former is what lawyers are for, the second is a matter of opinion.

AbitNutzT00 commented 4 months ago

I don't understand why this isn't being implemented. To those of us who print 3D airplanes every bit of increased strength can be used to lighten the airplane. This makes this more important than just a minor increase in strength.

Sakura-sx commented 4 months ago

I don't understand why this isn't being implemented. To those of us who print 3D airplanes every bit of increased strength can be used to lighten the airplane. This makes this more important than just a minor increase in strength.

@AbitNutzT00 Then check SuperSlicer, they are usually the first at implementing these kinds of things.

dahappychappy commented 3 months ago

I would love to see this implemented please. Great work everyone involved. Makes total sense.

weekendkoder commented 2 months ago

This is why patent-scouts exist :-) . Anyways. Somehow its like someone make a patent on "how you stack" building-bricks together.

Workaround: If you have specific tools inside a slicer (lets say an "offset feature"), the user can use it like he wants. F.e. shift every n-layers with 0.5 to direction x-y-z and so on. This way it does not collide with the patent. It means the slicer-software hands out additional abilities to users that have new ideas for new methods. The user could implement such offset functions / or macros by himself, which goes to a similar direction of "alternating layers".

Just my thoughts ;-)

dewi-ny-je commented 2 months ago

Workaround: If you have specific tools inside a slicer (lets say an "offset feature"), the user can use it like he wants. F.e. shift every n-layers with 0.5 to direction x-y-z and so on. This way it does not collide with the patent. It means the slicer-software hands out additional abilities to users that have new ideas for new methods. The user could implement such offset functions / or macros by himself, which goes to a similar direction of "alternating layers".

I'm not sure it works this way, since the "method" of stacking would be protected as well and if you have such a setting you are performing the patented method.

But it doesn't matter, as I mentioned the patent exists only in US and it's likely not even valid. The software (assuming the main development takes place outside Europe) could be distributed anyway and the feature (if there is a complaint) could be disabled in US. Like, the user has to pick their country upon installing it (wink wink...).

But anyway, the patent is generic enough to cover concrete 3D printing and stacking bricks with an offset is known for ages, so the patent is likely invalid. Assuming they even try to enforce it.

In US it's possible to provide documents and ask the US patent office to re-evaluate a patent, even without having to start a lawsuit. Just provide all documents and a complete reasoning, pay the fee, done.

Again, PrusaSlicer is based in Europe. Just implement it.

weekendkoder commented 2 months ago

What i meant with my comment: prusaslicer dont need to implement anything what goes into this direction. They just give the users more control about gcode generation. So there is no 1x click button / solution. Nothing. But the user will be able to modify his gcode like he wants. As he is already able to do it via notepad f.e. But its too much work to do it by hand. This is what i meant by adding more features like macros / gcode algorithm.

Anyways ... like you said, maybe its a different situation if the company is based in EU.