Rotary Support (Work in progress): Preview basics done, next CAM!
Closed this issue ยท 14 comments
The math is easy, https://github.com/openhardwarecoza/LaserWeb3/blob/9dd4ea2291941f97e8bd07261df150ce9b0cb877/public/js/viewer.js#L849-L850 - simple cos and tan theta calculations to find the point on a circle, where an angle is defined.
The first step is for us to be able to parse four axis gcode (for example 2D gcode converted by http://www.chestnutpens.co.uk/misc/gcodewrapper.html) - to show the A axis (in degrees) using the math above, into our 3D viewer. The reason I do this first is having a reliable preview available while working on the CAM side really helps move that fast. I did the same for raster. View first, then generate gcode that looks good in the view.
That needs to be coded in gcode-parser.js
Once we have reliable preview, we can extend the existing CAM code: This is actually easier, since we simply convert Y coordinates to degrees for the A axis.
Lastly (and this may take a few more weeks) we are waiting for the Smoothieware developers (@arthurwolf and @wolfmanjm ) to finish the Step generation Rewrite to support A axis on the machines; Grbl is a purely 3 axis firmware, and I dont plan on doing a "y-as-A-axis" hack support at all. If we add 4th axis, we do it by the BOOK! As an A Axis!
@HakanBastedt (;
@openhardwarecoza The new step generation is done and merged in. Although the E is now treated as a real axis, I did not have any plans to add an A axis per se, as I do not have a 4 axis machine and I have no way to test such a thing. Someone else may have to figure out how to do that, although making the system handle an A instead of E is pretty easy, and I suppose I could be persuaded to do that at least.
My plans were to do the s curve acceleration next, not n-axis. (although the code base is a lot closer to being able to do n-axis than it used to be).
No rush @wolfmanjm, building the viewer and cam will take a lot longer - so keep on working on S-Curve so we can rub it into TinyGs wounds (;
Maybe by then we can get the community to buy you a rotary axis laser (;
Quote from http://smoothieware.org/todo#toc6
6-axis support
Once the step generation improvements and s-curve support have been implemented, it will be much easier to add proper 6-axis ( XYZABC ) support into Smoothie. This is currently done by using the Extruder module, which has some limitations, doing it properly would be a good improvement.
This issue keeps track of that feature : Smoothieware/Smoothieware#120
@openhardwarecoza FWIW I have created a Pull request that adds A B C, the A is raw but I think will do what you want, if you set steps_per_mm to steps per degree and pass in the raw degrees it should work. I have no way to test it though.
Smoothieware/Smoothieware#989
I'll get the test team to start making plans! @cojarbi
awesomeness!
On 28 Jul 2016 22:52, "Jim Morris" notifications@github.com wrote:
@openhardwarecoza https://github.com/openhardwarecoza FWIW I have
created a Pull request that adds A B C, the A is raw but I think will do
what you want, if you set steps_per_mm to steps_per_degree and pass in the
raw degrees it should work. I have no way to test it though.
Smoothieware/Smoothieware#989
Smoothieware/Smoothieware#989โ
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#51 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHVr2_6CooXQzG_QIYM3vSsbC3ToGq8Uks5qaRadgaJpZM4JV1NU
.
Why o why this developments happens when I'm away
AY
On Jul 28, 2016, 13:55, at 13:55, Peter van der Walt notifications@github.com wrote:
I'll get the test team to start making plans! @funinthefalls @cojarbi
awesomeness!
On 28 Jul 2016 22:52, "Jim Morris" notifications@github.com wrote:@openhardwarecoza https://github.com/openhardwarecoza FWIW I have
created a Pull request that adds A B C, the A is raw but I think will
do
what you want, if you set steps_per_mm to steps_per_degree and pass
in the
raw degrees it should work. I have no way to test it though.
Smoothieware/Smoothieware#989
Smoothieware/Smoothieware#989โ
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub#51 (comment),
or mute the thread
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#51 (comment)
Hahaha. You should go away more often (;
On 28 Jul 2016 22:56, "Ariel Yahni" notifications@github.com wrote:
Why o why this developments happens when I'm away
AY
On Jul 28, 2016, 13:55, at 13:55, Peter van der Walt <
notifications@github.com> wrote:I'll get the test team to start making plans! @funinthefalls @cojarbi
awesomeness!
On 28 Jul 2016 22:52, "Jim Morris" notifications@github.com wrote:@openhardwarecoza https://github.com/openhardwarecoza FWIW I have
created a Pull request that adds A B C, the A is raw but I think will
do
what you want, if you set steps_per_mm to steps_per_degree and pass
in the
raw degrees it should work. I have no way to test it though.
Smoothieware/Smoothieware#989
Smoothieware/Smoothieware#989โ
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<
#51 (comment)
,
or mute the thread.
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:โ
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#51 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHVr2zO6yWBiZp-1OHB5DTYCap6hQ6m6ks5qaRePgaJpZM4JV1NU
.
I will never be back
AY
On Jul 28, 2016, 13:58, at 13:58, Peter van der Walt notifications@github.com wrote:
Hahaha. You should go away more often (;
On 28 Jul 2016 22:56, "Ariel Yahni" notifications@github.com wrote:Why o why this developments happens when I'm away
AY
On Jul 28, 2016, 13:55, at 13:55, Peter van der Walt <
notifications@github.com> wrote:I'll get the test team to start making plans! @funinthefalls
@cojarbi
awesomeness!
On 28 Jul 2016 22:52, "Jim Morris" notifications@github.com wrote:@openhardwarecoza https://github.com/openhardwarecoza FWIW I
have
created a Pull request that adds A B C, the A is raw but I think
will
do
what you want, if you set steps_per_mm to steps_per_degree and
pass
in the
raw degrees it should work. I have no way to test it though.
Smoothieware/Smoothieware#989
Smoothieware/Smoothieware#989โ
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<
,
or mute the thread
<
.
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:โ
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub#51 (comment),
or mute the thread
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#51 (comment)
@HakanBastedt coded up the preview! Awesomeness. Uses Z as a Radius selector, and then loads the degrees into YZ coordinates in three.js
Sample file:
https://github.com/openhardwarecoza/LaserWeb3/blob/master/sample_files/Rotary%20Axis%20GCode.gcode
Is there any reason we have to run it as an A axis? Of we are generating the code internally and then driving from LW it seems a moot point. If your wanting to input code generated in CNC wrapper or something similar it should just be as simple as a find and replace post process code (or preprocess in the import )
You have to do something similar when 3D printing with MachineKit as they do not recognize E axis. So you have to do a pp script to replace E with A from a slicer.
(; because Wolfmanjm went through all the trouble to make us a proper abc
firmware (;
On Sep 5, 2016 6:51 PM, "prcdslnc13" notifications@github.com wrote:
Is there any reason we have to run it as an A axis? Of we are generating
the code internally and then driving from LW it seems a moot point. If your
wanting to input code generated in CNC wrapper or something similar it
should just be as simple as a find and replace post process code (or
preprocess in the import )You have to do something similar when 3D printing with MachineKit as they
do not recognize E axis. So you have to do a pp script to replace E with A
from a slicer.โ
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#51 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHVr210BpMLtqt7t5EjkxeYFRnWFSTruks5qnEiPgaJpZM4JV1NU
.
Don't want to be a party pooper, but not all ROUND items are CYLINDRICAL... ;)
What about wine glasses, beer glasses, etc?
Moved to wishlist on the readme b39c56a so I can close the issue for now