I've got pycam working as part of a commandline toolchain to turn 2d dxf's into gcode for my custom implementation of a Magelangelo drawbot ( A 2d polargraph drawing robot). But the gcode that it's outputting is different than the gcode that the Makelangelo software outputs. I'm using the 'engrave' process which gets it very close mostly a list of 2d coordinates with a 'pen up and down' z change. Below is an example of what the Makelangelo software outputs. I read about a post-processing machine specific system in another forum post, is it possible to make custom versions? Or is there generally any way to process the gcode so that it matches without have to do dirty text based post processing?
Did you already try to use pycam's GCode with your device?
GCode is just like most other imperative descriptions: you can choose different paths while still reaching the same goal.
If it does not work: could you post pycam's gcode for comparison?
Last edit: Lars 2016-06-10
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks so much for your response! It wasn't working but I was able to figure out why by talking to the guy who wrote the gcode interpreter I'm using.
Looks like two issues:
"Pycam has many lines with no G command at the start. They are using a feature I only just learned about, which is to use the last-seen g command. Pycam is also expecting a rotating cutting tool (M3)."
Is it possible to specify that g commands are explicitly expressed on each line? (If not this seems like it would be easy to fix with a post-processing script.)
Also, is it possible to leave out rotating cutting tool commands? (Though I think this might also not be an issue, because the interpreter would just ignore these commands. And I could also remove these with a simple post processing script.)
Thank you again for taking the time to respond to my last question.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I used the GCode implementation of LinuxCNC (http://linuxcnc.org/docs/html/gcode/overview.html) as a reference for pycam's output format.
Both of your issues seem to be indeed good candidates for a small postprocessing script with sed, awk or something similar. Since pycam is not under active development for quite some time, this will probably be the best approach for you.
Have fun!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Lars!
I've got pycam working as part of a commandline toolchain to turn 2d dxf's into gcode for my custom implementation of a Magelangelo drawbot ( A 2d polargraph drawing robot). But the gcode that it's outputting is different than the gcode that the Makelangelo software outputs. I'm using the 'engrave' process which gets it very close mostly a list of 2d coordinates with a 'pen up and down' z change. Below is an example of what the Makelangelo software outputs. I read about a post-processing machine specific system in another forum post, is it possible to make custom versions? Or is there generally any way to process the gcode so that it matches without have to do dirty text based post processing?
Thank you for any guidance you could offer!
Did you already try to use pycam's GCode with your device?
GCode is just like most other imperative descriptions: you can choose different paths while still reaching the same goal.
If it does not work: could you post pycam's gcode for comparison?
Last edit: Lars 2016-06-10
Thanks so much for your response! It wasn't working but I was able to figure out why by talking to the guy who wrote the gcode interpreter I'm using.
Looks like two issues:
Is it possible to specify that g commands are explicitly expressed on each line? (If not this seems like it would be easy to fix with a post-processing script.)
Also, is it possible to leave out rotating cutting tool commands? (Though I think this might also not be an issue, because the interpreter would just ignore these commands. And I could also remove these with a simple post processing script.)
Thank you again for taking the time to respond to my last question.
I used the GCode implementation of LinuxCNC (http://linuxcnc.org/docs/html/gcode/overview.html) as a reference for pycam's output format.
Both of your issues seem to be indeed good candidates for a small postprocessing script with sed, awk or something similar. Since pycam is not under active development for quite some time, this will probably be the best approach for you.
Have fun!
That makes good sense and thanks for the reference standard!
I'll take your advice and create a quick post-processing script. Thanks again for your time!