Skip to content
This repository has been archived by the owner on Jan 29, 2018. It is now read-only.

Rotary Support (Work in progress): Preview basics done, next CAM! #51

Closed
ghost opened this issue Jul 27, 2016 · 14 comments
Closed

Rotary Support (Work in progress): Preview basics done, next CAM! #51

ghost opened this issue Jul 27, 2016 · 14 comments

Comments

@ghost
Copy link

ghost commented Jul 27, 2016

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

@ghost
Copy link
Author

ghost commented Jul 27, 2016

@HakanBastedt (;

@wolfmanjm
Copy link

@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).

@ghost
Copy link
Author

ghost commented Jul 27, 2016

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 (;

@ghost
Copy link
Author

ghost commented Jul 27, 2016

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

@wolfmanjm
Copy link

wolfmanjm commented Jul 28, 2016

@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

@ghost
Copy link
Author

ghost commented Jul 28, 2016

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
.

@cojarbi
Copy link
Collaborator

cojarbi commented Jul 28, 2016

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)

@ghost
Copy link
Author

ghost commented Jul 28, 2016

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
.

@cojarbi
Copy link
Collaborator

cojarbi commented Jul 28, 2016

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)

@ghost
Copy link
Author

ghost commented Jul 29, 2016

@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

@ghost ghost added the PLEASE TEST label Jul 29, 2016
@ghost ghost changed the title Rotary Support (Work in progress) Rotary Support (Work in progress): Preview basics done, next CAM! Jul 29, 2016
@prcdslnc13
Copy link

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.

@ghost
Copy link
Author

ghost commented Sep 5, 2016

(; 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
.

@FearNaBoinne
Copy link

Don't want to be a party pooper, but not all ROUND items are CYLINDRICAL... ;)

What about wine glasses, beer glasses, etc?

@ghost
Copy link
Author

ghost commented Oct 23, 2016

Moved to wishlist on the readme b39c56a so I can close the issue for now

@ghost ghost closed this as completed Oct 23, 2016
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants