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

Improve the arc expander preprocessor #2430

Open
breiler opened this issue Jan 19, 2024 · 0 comments
Open

Improve the arc expander preprocessor #2430

breiler opened this issue Jan 19, 2024 · 0 comments

Comments

@breiler
Copy link
Collaborator

breiler commented Jan 19, 2024

Description

The arc expander preprocessor is used to convert arc (G2/G3) into smaller straight line segments (G1). This can be used if the controller doesn't support arcs or if there are other operations that is to difficult or impossible to compute as arc (such as autoleveling, rotating or translating a gcode model).

The way the arc is broken up into smaller line segments is done with a fixed line segment length which is default set to 0.01 mm.

Let us assume an 45 degree arc with an radius of 500mm:

G17 G21 G90 G94 G54 M0 M5 M9
G0 Z1 F5
X-500 Y0
G1 Z0
G2 X0 Y500 I500 J0.

The length of the arc would be calculated with $L = r × θ$, which becomes $L = 500mm * π/4 = 392.5mm$

When expanded into 0.01 mm line segments this would generate around 40000 lines of gcode.

Find a new scalable way to expand arcs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant