LaserWeb/deprecated-LaserWeb3

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!

rotary

@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

https://github.com/notifications/unsubscribe-auth/AHVr2_6CooXQzG_QIYM3vSsbC3ToGq8Uks5qaRadgaJpZM4JV1NU
.


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

<
https://github.com/notifications/unsubscribe-auth/AHVr2_6CooXQzG_QIYM3vSsbC3ToGq8Uks5qaRadgaJpZM4JV1NU

.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:

#51 (comment)

โ€”
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

<

#51 (comment)

,

or mute the thread

<

https://github.com/notifications/unsubscribe-auth/AHVr2_6CooXQzG_QIYM3vSsbC3ToGq8Uks5qaRadgaJpZM4JV1NU

.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:

#51 (comment)

โ€”
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
.


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

Render of preview
rotary

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