Most cam software and slicers expect the machine to move on a straight path from the current point to the given point. Due to the rotary axis, polar machines follow an arc path. To fix this we need to split straight paths into smaller paths. The "tolerance" means the maximum path length. If a straight path is longer than this, it is divided into smaller paths until it is smaller than the "tolerance". G0 means travel. Since travel precision is not as important as G1 (which is work move) You can check the "1/2 resolution for G0". This creates less g-code for the controller. Also you can consider to do not interpolate G0. In this case, machine will follow an arc path while traveling. It is more efficient for a polar machine. However, the cam software (or slicer) may create a travel movement based on "not hitting a part" or "avoid printed parts" etc. Always keep this in mind: If you don't interpolate G0, It will follow a different path than what cam/slicer designed.

-------------------------------------------------

Because we generate g-codes based on cartesian machines, any given feedrate is the outer diameter feedrate for a polar axis.

Because of the polar movement, achieved distance greatly reduces towards the center and movements near the center becomes too slow

To compensate this, we increase feedrate proportionally towards the center



Enter the maximum radius of your worktable in g-code's units. It is mostly in mm. But if you use inch based g-codes, enter the inch equivalent of the radius.
It's radius, not diameter!



This multiplier helps us to define maximum feedrate at the center point and proportionally calculates effective feedrate based on a given radius


-------------------------------------------------

Ideally, the tooltip should be perfectly aligned to the center of the polar axis. This is not always possible. If the tooltip has an offset, it will never be in the expected position.The final work will be warped, like looking through a magnifying glass. So, if you have an offset in your tooltip, enter the offset distance here. The polar angle and X axis distance will be realigned with respect to the offset line.

We can fix the tooltip offset, but please note that it leaves an inaccessible circle in the center of the polar axis.

--------------------------------------------------

Reassign Axis labels

Important note: This post processor doesn't perform any calculations on axes A, B and C in the original G-code file. Therefore these values are transferred to the final g-code file directly.

--------------------------------------------------

Polar movement requires different feedrates than a linear movement. This converter currently ignores the feedrate calculations. It doesn't affect the toolpath conversion. But it reduces the speed efficiency of the machine.

See the source on Github: https://github.com/kadirilkimen/polarToolsJS

@license GPLv3

Copyright (c) 2021 kadir ilkimen