CNC611 - Kit CNC a 3 assi
Proxxon MF70 CNC
ULP drill-aid per Eagle
Telecomando per PC
Scacchi e scacchiera
Lampeggiatore 2 led
NiMh Fast Charger
Molex w/Blue Led
GCodeRotator - Offsets, Rotates and Scales GCode programs.
Copyright (C) 2005 Paolo Sancono
Check for updated versions on the WebSite http://www.ideegeniali.it/
Contact the author via email. Find my Email address on my Website
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
You should always preserve the above note, expecially the indication
of Paolo Sancono as the script's author and the web site
http://www.ideegeniali.it as the place where to find updated
version of this script if you redistribute copies of this script.
The easyest way is to redistribute this file WITHOUT ANY MODIFICATIONS
I would suggest to link to this instead of copying, so that everyone uses the most up-to-date version.
Remember: CNC Machines are not toys. They can harm you with unexpected movements.
I give no warranties this script will work for you. Use at your own risk.
To use the script, just experiment a little bit by yourself or read detailed info below.
I apologise for my poor English. Please report to me any mistakes. Email found on WebSite.
I apologise for the long intro. Here is the script:
CNC Machines and GCodeA CNC Machine is a machine whose movements are controlled by numbers sent via a cable usually connected to a PC on which a program runs specifically designed to control the machine. CNC machines are usually used for auto-drilling or engraving purposes.
If you don't own a CNC machine, this script is useless to you. If you own a CNC machine, probably you already know GCode, wich is a simple language to describe machine movements.
I'll just describe some basic commands here, to give you an idea:
% Indicates the beginning of program
M03 Turns on machine's spindle
M05 Turns off machine's spindle
G00 Followed by coordinates indicates a fast movement toward that position
G00 X0.000 Y0.000 An example of G00
G01 Same as G00, but movements are slower (e.g. to allow engraving tool to do its job)
G01 Z-0.5 An example of G01
M30 Program end
T01 Choose Tool #1
... and much more, most of what depending on particular hardware/software!
Usually machines have three axis: X, Y, Z. X and Y are usually on the main plane of the machine, and X and Y axes are the only ones this script deals with. Z is usually the vertical axis, positive values means "ascending".
What will this script doThis script will Translate (offset), Rotate, and Resize GCode. It can do the three things at the same time by specifing coordinates for two reference points, (both old and new values) or by explicitily declaring offset, rotation and scaling factor. You can even choose to specify a mix of the different things. You can specify angles both in radiants and degrees. And you can specify resizing factor as a multiplying or dividing-by one.
Just experiment with Check Boxes (Check the one on side of the option you want to specify) and see values in the other text fields auto-calculated by the script. The button text will also dinamically change to reflect what operations (offset, rotate, resize) will be done with the set of options chosen.
What is this script useful forIt happens often that you want to engrave your object, but it's misaligned with CNC Machine's axes, or it'is a little smaller or bigger than the engraving program you wrote. This is not a concern any more! The easyest way to proceed is this:
Known issues (Will be fixed in next versions)I will try to fix known issues in next versions. They are related to parsing and interpreting GCode (i'm not so good at programming parsing algorythms, and don't know all the different fashions GCode can be presented in), rather than actual coordinates conversion (i'm quite sure coordinates conversion is done 100% right by my script).
Here is the list of known issues, with suggested workarounds. Please report to me other bugs I didn't discover yet, or feature request, and I'll try to fix or add them too.
Learn more about the way the script worksThe name and usage of the parameters should be obvious, but here there are some things you may not grasp at first sight.
GreetingsHave fun with this script. And if you find this useful, please seek the time to visit my website www.ideegeniali.it, look for my email address and drop me a few lines. If you had the time to read throughout until now, I'm sure you'll seek the time.