Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix print in the air #9486

Closed
dsovsyannikov opened this issue Feb 1, 2023 · 12 comments
Closed

fix print in the air #9486

dsovsyannikov opened this issue Feb 1, 2023 · 12 comments

Comments

@dsovsyannikov
Copy link

on some models, the beginning or end of the line is not correct.
line starts or ends in the air.

I propose a solution to this problem.

on overhangs
change the order of the lines. first the lines that have the maximum contact with the already printed lines.
the beginning and end of the line must touch the already printed line

@murk-sy
Copy link

murk-sy commented Feb 1, 2023

Can you provide example screenshots and project?

@dsovsyannikov
Copy link
Author

изображение

@dsovsyannikov
Copy link
Author

изображение

@dsovsyannikov
Copy link
Author

disk.zip

@murk-sy
Copy link

murk-sy commented Feb 1, 2023

Try the new 2.6.0-alpha2 with "Extra perimeters on overhangs" setting.
It is not a 100% solution, but it is an improvement in some cases. Providing examples of where it doesn't work (but seems like it should) will also be useful for developers.

image
image

@dsovsyannikov
Copy link
Author

the conditions I wrote will greatly improve the printing of overhangs and bridges

I hope the developers will accept this.

@Hyperspeed1313
Copy link

Hyperspeed1313 commented Feb 1, 2023

Managed to find another edge case where Extra Perimeters for Overhangs doesn't work using this Pokémon figurine on a stand turned upside down. I know it's a more ambitious print than the one above but considering Extra Perimeters on Overhangs looks like it could be an Arc Overhangs type solution, figured I'd try it out.

This image is of the first layer of the figurine's base:
image

The algorithm is attempting to draw using the target perimeter of the current layer, which works when the expansion isn't that much, but the algorithm should utilize the previous layer's geometry until it can draw an entire perimeter that's touching adjacent lines using the current layer's perimeter shape. In this model's case, that would be expanding out from the feet and moving inwards, then drawing out from the center in the new layer's perimeter shape.

Upside-down Lucario Test.zip

A part-way solution to implement this could be to have an option whether to generate the extra perimeters from the current layer or the previous layer.

@kubispe1
Copy link
Collaborator

kubispe1 commented Feb 24, 2023

there is a comment on this issue. #9480 (comment)

@dsovsyannikov
Copy link
Author

изображение

@dsovsyannikov
Copy link
Author

kp5l v1.zip

@dsovsyannikov
Copy link
Author

First of all, print something that has 100% contact with what has already been printed.
then in descending order of percentages of contact with what has already been printed.

overhanging should begin from the side where there is lateral contact with the already printed. so it will not sag on a good airflow.

Bridges should be pulled along the short side first, and then the long side can be pulled to the bridge along the short side.

a straight line should start and end touching what has already been typed.

@Godrak
Copy link
Contributor

Godrak commented Mar 10, 2023

It will be fixed in the next release. The algorithm will choose to print anchored extrusions first. Note that this on its own does not ensure printability, as on complex overhangs the extrusion may be too long or turn extensively, and two anchored endpoints will make little difference there. However, the new version will try to make the path ordering much more sensible.

@Godrak Godrak closed this as completed Mar 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants