Ultimaker / Cura

3D printer / slicing GUI built on top of the Uranium framework
GNU Lesser General Public License v3.0
5.97k stars 2.05k forks source link

Feature Request: Z Hop Always On (or Z Hop when crossing infills) #911

Open adamrumjahn opened 7 years ago

adamrumjahn commented 7 years ago
screen shot 2016-08-06 at 5 25 10 pm

I'm trying to use Cura + my printer as a plotter (blade to cut vinyl or pen to draw) and this could work perfectly with Z hops, no bottom infill and printing perimeters only except that when you have to gap inside of an object (for example tracing an O), Cura does not perform the Z hop between the outside perimeter and the inside perimeter because it assumes that it's an infill and Z hops don't matter here

With 3D printing this is perfectly fine since any plastic extruded or scars created in between would be filled over by subsequent layers but for plotter applications this means big unwanted lines across the artwork.

I would like to request to check Z hop Always On for these kinds of applications.

This could alternatively be a check for Enable Z hops when crossing infills.
This would be particularly helpful for the 'Z hops on Top Layer Only' feature request also because it can help avoid the nozzle from dragging across infills and scarring prints.

Ghostkeeper commented 7 years ago

Enable Z hops when crossing infills or something like that would be better, I think.

As a workaround, for now, you could make your meshes hollow. If you use a wall thickness between one line width and two line widths, it'll only draw one line.

By the way, you can turn off the skirt by selecting brim and a brim width of 0. Perhaps that's something you would like to do in your case :wink:

adamrumjahn commented 7 years ago

Thanks.

By meshes you mean infill, correct? That is what I did; single perimeter, no bottom infill, 0% infill. The problem is that Cura still thinks that there is an infill when there exists another perimeter inside of an object.

For example, imagine tracing the letter "O". First it traces the outside perimeter of the O, then it traces the inside perimeter of the O. When it crosses from outside to inside it still assumes that this region is an infill so it will not perform Z hops. Sadly even choosing 0% infill does not make Cura realize that there is no infill there.

On Aug 8, 2016 03:17, "Ghostkeeper" notifications@github.com wrote:

Enable Z hops when crossing infills or something like that would be better, I think.

As a workaround, for now, you could make your meshes hollow. If you use a wall thickness between one line width and two line widths, it'll only draw one line.

By the way, you can turn off the skirt by selecting brim and a brim width of 0. Perhaps that's something you would like to do in your case 😉

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Ultimaker/Cura/issues/911#issuecomment-238170463, or mute the thread https://github.com/notifications/unsubscribe-auth/AHIXay8GRdO6pzLPmP1ZdDSzS0NMGq3Aks5qduYMgaJpZM4JeYY5 .

Ghostkeeper commented 7 years ago

No, what I meant is to make the actual meshes hollow, so it doesn't think that space is infill any more :stuck_out_tongue: Not really a workaround, I know...

DDDirk commented 7 years ago

Clarification: the mesh is the collection of vertices and lines that connect them, which define the shape of the model.

To make Cura accept that it is a hollow model, you may have to disable Mesh Fixes > Union Overlapping Volumes.

crozone commented 4 years ago

Why was this closed?

Ghostkeeper commented 4 years ago

It shouldn't have been. It's a valid issue, though be aware that it has no priority for us to implement so I don't expect we'll be able to implement this any time soon. For most prints it'll be detrimental for both quality and productivity, is my guess.

crozone commented 4 years ago

be aware that it has no priority for us to implement so I don't expect we'll be able to implement this any time soon

Understood. I ask because for whatever reason, CURA doesn't always perform retractions on some large moves, and the lack of Z-hop over large surfaces causes scraping and scars on the top layers of prints.

On machines with an extremely fast Z axis (like Deltabots which can hit ~300mm/s or faster), the quality is not degraded significantly because any oozing plastic is "snapped" instead of drawn out of the nozzle by the hop. The print time is also unaffected because the z-hop is so fast that it only makes up a fraction of the move duration.

To reduce implementation complexity, even the ability to "z-hop on moves longer than X distance" without any infill detection would still be a great feature. I will try to implement a proof of concept as a g-code post processing script to gauge print quality deltas (however, combing and travel moves that aren't in a straight line make this complicated).