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

[FR] (feature summary) Smallest linear component of UBL mesh should generally be normal to the xy plane. #25262

Open
apulver opened this issue Jan 21, 2023 · 2 comments
Labels
T: Feature Request Features requested by users.

Comments

@apulver
Copy link
Contributor

apulver commented Jan 21, 2023

Is your feature request related to a problem? Please describe.

No response

Are you looking for hardware support?

No response

Describe the feature you want

Tramming will tend to make the physical bed align with the printer's xy plane. If I understand correctly, G29Jx computes and applies a rotation to the mesh so that its smallest linear component is normal to the bed. It approximates the bed by probing three or more points and using least squares.

My question is, would it be better if there were also the option to rotate the mesh so that its smallest linear component is normal to XY and save that transformed mesh? Then, optionally, the user could still perform a 3x3 or 4x4 G29Jx before a print to compensate for errors in tramming, but the saved mesh itself would not be overwritten.

The advantage here is that physically tramming the bed will tend to align it with the stored mesh, which seems relatively foolproof.

Additional context

No response

@apulver apulver added the T: Feature Request Features requested by users. label Jan 21, 2023
@apulver
Copy link
Contributor Author

apulver commented Jan 21, 2023

Also, I don't mind implementing the feature myself if there are no objections to merging it.

@apulver
Copy link
Contributor Author

apulver commented Feb 2, 2023

It would probably not be a bad idea to also have this as an option for bilinear leveling, if the code doesn't do this already (it doesn't seem to but I haven't looked that close). That is, an option to have "level bed" automatically remove the planar component of the set of probed points right after the bed is probed, so that the set of points is aligned with the xy axis. Any difference between the bed's planar component and the printer's XY axis can always be corrected by tramming. I think most people would understand roughly the distinction between tramming, i.e. physically aligning the bed's planar component with the xy axis and leveling, i.e. using software to correct for (non-planar) imperfections in the bed/print-surface. The documentation could use some work in this regard.

It would also be a good idea to follow up on bugs such as the one cited above, to make sure that the code for calculating and performing rotations, least squares, etc. is in good working order.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T: Feature Request Features requested by users.
Projects
None yet
Development

No branches or pull requests

1 participant