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

G3 Counter Clockwise Arcs #500

Closed
Veloce7 opened this issue Aug 25, 2014 · 20 comments
Closed

G3 Counter Clockwise Arcs #500

Veloce7 opened this issue Aug 25, 2014 · 20 comments

Comments

@Veloce7
Copy link

Veloce7 commented Aug 25, 2014

The G2 command works, but G3 does nothing.

@arthurwolf
Copy link
Contributor

that's super weird, I use it all the time for CNC milling, and it works
fine.
anything special about your setup ?
can you make sure by trying different parameters ?

2014-08-25 20:11 GMT+02:00 Veloce7 notifications@github.com:

The G2 command works, but G3 does nothing.


Reply to this email directly or view it on GitHub
#500.

Courage et bonne humeur.

@Veloce7
Copy link
Author

Veloce7 commented Aug 26, 2014

This is what we tried:
G1 X5 Y5
G3 X6 I1

This exact code will work when a G2 command is entered but not this G3 command.

-Mark

On Aug 25, 2014, at 11:17 AM, Arthur Wolf notifications@github.com wrote:

that's super weird, I use it all the time for CNC milling, and it works
fine.
anything special about your setup ?
can you make sure by trying different parameters ?

2014-08-25 20:11 GMT+02:00 Veloce7 notifications@github.com:

The G2 command works, but G3 does nothing.


Reply to this email directly or view it on GitHub
#500.

Courage et bonne humeur.

Reply to this email directly or view it on GitHub.

@arthurwolf
Copy link
Contributor

I just looked at the code and I don't see anything that would cause this
problem, nor recent changes that would make this not work.
I don't have a machine handy, could anyone test this on their machine ?

Thanks.

2014-08-26 7:46 GMT+02:00 Veloce7 notifications@github.com:

This is what we tried:
G1 X5 Y5
G3 X6 I1

This exact code will work when a G2 command is entered but not this G3
command.

-Mark

On Aug 25, 2014, at 11:17 AM, Arthur Wolf notifications@github.com
wrote:

that's super weird, I use it all the time for CNC milling, and it works
fine.
anything special about your setup ?
can you make sure by trying different parameters ?

2014-08-25 20:11 GMT+02:00 Veloce7 notifications@github.com:

The G2 command works, but G3 does nothing.


Reply to this email directly or view it on GitHub
#500.

Courage et bonne humeur.

Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub
#500 (comment)
.

Courage et bonne humeur.

@sorki
Copy link
Contributor

sorki commented Feb 11, 2015

G0 X0 Y0
G2 X10 Y10 I5 J5
G2 X0 Y0 I5 J5

works properly. Same g-code with G3 ends on X10 Y10 (last command is ignored).

Not sure if this makes sense but it seems there's some inconsistency between G2/G3.

@arthurwolf
Copy link
Contributor

Yeah this has been reported several times now, but I looked at the code and can't find anything that could cause this.
I tried debugging this but ended up burning my usb port and had to move to doing other stuff unfortunately ...

@GeorgeIoak
Copy link

Been doing some testing myself and I've found that some G3 commands seem to work. I'm testing with this file and it stopped at line 1165 but if you search the file you'll see that there are other G3 command sent before this line. Maybe this help debug the code.

@sorki
Copy link
Contributor

sorki commented Mar 24, 2015

@GeorgeIoak there are modal G3 arcs you have in your g-code

G3 X41.089 Y-28.164 I0.8 J0.015 F1256
Y-28.151 I-0.8 J-0.002

and these are not supported by smoothieware - you need either post process such lines so each of them is prefixed with G3 like this:

G3 X41.089 Y-28.164 I0.8 J0.015 F1256
G3 Y-28.151 I-0.8 J-0.002

or fix the output of your CAM processor.

It might be a good idea to enable modal G3 codes in smoothie if it doesn't break command parsing.

@GeorgeIoak
Copy link

Thanks @sorki for looking at that file. I used Autodesk Fusion 360 to generate that file. I think it has an option for post processing but it seems since Smoothie allows other g-codes to be modal that G3 could be "upgraded" to be modal as well?

@wolfmanjm
Copy link
Contributor

G0 and G1 are currently semi-modal, the caveat is there needs to be a preceding space on the X or Y.
G2 or G3 can also be easily made modal with the same caveat.
eg...

G3 X41.089 Y-28.164 I0.8 J0.015 F1256
   Y-28.151 I-0.8 J-0.002

@GeorgeIoak
Copy link

Is that something that is "supposed" to be done or just a requirement for Smoothie? I'm new to g-code and post processing but it seems odd that the file needs to have a certain format. Coming from PCB design, when you generate gerbers you never have to worry if the file is properly formatted.

@sorki
Copy link
Contributor

sorki commented Mar 24, 2015

Different controllers provide different features and g-code has to adapt to that. Formatting is also an issue as parsers are implemented differently. Even pcb2gcode/heekscnc won't output g-code which is valid for smoothie. We are trying to fix these so they provide output profile for smoothie but for closed source apps you can only post-process.

Always check your g-code prior feeding it to your machine - especially if it's cnc or do a dry run well above machined surface when not sure if it's correct (e.g. when using new CAM software).

@wolfmanjm
Copy link
Contributor

It is a smoothie caveat, added to be able to process code generated by pycam which preceded modal gcode with a space.

Smoothie is NOT compliant with most gcode specs. it is hacked to "work well enough" for most gcode generators that people use with smoothie.

FWIW a lot of the gcode generated by most 3D slicers is also not gcode compliant, and would be rejected by a compliant gcode parser.

@sorki
Copy link
Contributor

sorki commented Mar 24, 2015

Another odd behaviour I've found today:

using

G2 X10 Y10 I5 J5 Z15

the machine goes up nicely in helical arc. But

G3 X10 Y10 I5 J5 Z0

results in Z only movement with weird pauses.

@GeorgeIoak
Copy link

I see that Fusion360 has quite an extensive list of post processors. They have GRBL, TinyG, Mach3, as well as many of the industrial machines. I believe I had chosen GRBL when I created that test file.

The configuration files for each supported machine I believe are written in JS so with a little work I think a custom Smoothie version could be created.

Other than having a preceding space for modal G0-G3 can you think of anything else?

@arthurwolf
Copy link
Contributor

I believe the Fusion 360 team is currently making a Smoothie post-processor.

If you look at the Smoothie-support or Smoothie-dev mailing list you'll
find a message about that.

On Tue, Mar 24, 2015 at 10:16 PM, George Ioakimedes <
notifications@github.com> wrote:

I see that Fusion360 has quite an extensive list of post processors. They
have GRBL, TinyG, Mach3, as well as many of the industrial machines. I
believe I had chosen GRBL when I created that test file.

The configuration files for each supported machine I believe are written
in JS so with a little work I think a custom Smoothie version could be
created.

Other than having a preceding space for modal G0-G3 can you think of
anything else?


Reply to this email directly or view it on GitHub
#500 (comment)
.

Courage et bonne humeur.

@wolfmanjm
Copy link
Contributor

That is related to #500

@GeorgeIoak
Copy link

I found this post in the [AutoDesk forums], (http://camforum.autodesk.com/index.php?topic=5032.msg17546#msg17546) and it looks like only 1 line needed to be changed. I'll modify their GRBL configuration file and check the output file against the original I posted.

@GeorgeIoak
Copy link

I unfortunately couldn't find the original project that created that file but I made a new one and I believe that the new format should work well with Smoothie. Have a look here.

@wolfmanjm
Copy link
Contributor

I am not sure S1000 M3 will do what you expect

M3 S1000 may work better.

@GeorgeIoak
Copy link

OK, that was another easy change. That line now gets output as

M3 S1000

Here's a link to the configuration file that others can use with Fusion 360 and/or modify when needed.

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

5 participants