2010-11-01 19:58:29 +02:00
|
|
|
CAM Engineering and Operation
|
|
|
|
=============================
|
|
|
|
|
|
|
|
Cameo is a collection of CAM tools that convert between various file
|
|
|
|
formats and adapt the toolpath.
|
|
|
|
|
|
|
|
This is a work in progress. The plan is to integrate all the utilities
|
|
|
|
currently floating around in
|
|
|
|
http://svn.openmoko.org/developers/werner/cncmap/
|
|
|
|
into a single program and to better share common functionality.
|
|
|
|
|
|
|
|
This work is distributed under the terms of the GNU GENERAL PUBLIC
|
|
|
|
LICENSE, Version 2:
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
For your convenience, a copy of the complete license has been included
|
|
|
|
in the file COPYING.GPLv2.
|
2010-12-14 18:41:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
Toolpath adaptation language
|
|
|
|
----------------------------
|
|
|
|
|
|
|
|
Loading paths:
|
|
|
|
|
|
|
|
gerber <diameter> [<filename>]
|
|
|
|
gnuplot <diameter> [<filename>]
|
2010-12-15 08:27:55 +02:00
|
|
|
excellon [<filename>]
|
2010-12-14 18:41:37 +02:00
|
|
|
clear
|
|
|
|
|
2010-12-15 08:27:55 +02:00
|
|
|
"gerber", "gnuplot", and "excellon" each add paths from a file to the
|
|
|
|
list of paths already loaded. "clear" removes all paths.
|
2010-12-14 18:41:37 +02:00
|
|
|
|
|
|
|
If the a file name is omitted, standard input is read. The diameter is
|
|
|
|
the default tool diameter.
|
|
|
|
|
|
|
|
Note that "clear" preserves the translation set with "align", "array",
|
|
|
|
and "translate". This way, multiple files can be processed with the same
|
|
|
|
translation.
|
|
|
|
|
2010-12-15 00:17:34 +02:00
|
|
|
|
2010-12-14 18:41:37 +02:00
|
|
|
File output:
|
|
|
|
|
|
|
|
write [<filename>]
|
|
|
|
|
|
|
|
Writes all loaded paths in gnuplot format to the specified file. If the
|
|
|
|
file name is omitted, "write" writes to standard output.
|
|
|
|
|
2010-12-15 05:45:49 +02:00
|
|
|
File names can contain spaces and any printable characters, but no leading
|
|
|
|
or trailing spaces. It is not possible to place a comment after a file
|
|
|
|
name or at a place where a file name could be.
|
|
|
|
|
|
|
|
E.g.,
|
|
|
|
|
|
|
|
write foo.gp # wrong
|
|
|
|
|
|
|
|
but
|
|
|
|
|
|
|
|
write foo.gp
|
|
|
|
# right
|
|
|
|
|
2010-12-15 00:17:34 +02:00
|
|
|
|
2010-12-14 18:41:37 +02:00
|
|
|
Units:
|
|
|
|
|
|
|
|
mm
|
|
|
|
mil
|
|
|
|
<number>mm
|
|
|
|
<number>mil
|
|
|
|
|
|
|
|
The words "mm" and "mil" set the input to the specified unit. The
|
|
|
|
default unit is millimeter. If a number is followed by "mm" or "mil"
|
|
|
|
without intervening space, the unit is overridden for this number,
|
|
|
|
without affecting the default input unit.
|
|
|
|
|
|
|
|
Note that "mm" and "mil" only affect dimensions in the command file
|
|
|
|
and have no effect on the interpretation of toolpath files.
|
|
|
|
|
|
|
|
|
|
|
|
Horizontal adjustments:
|
|
|
|
|
|
|
|
align <ref> <x> <y>
|
|
|
|
align <ref> <x0> <y0> <x1> <y1>
|
|
|
|
array <x-step> <y-step> <x-index> <y-index>
|
2010-12-15 00:17:34 +02:00
|
|
|
translate <x> <y>
|
2010-12-14 18:41:37 +02:00
|
|
|
reset
|
|
|
|
|
2010-12-15 00:17:34 +02:00
|
|
|
"translate" shifts the currently loaded paths by the specified distance.
|
|
|
|
"align" is a more sophisticated form of "translate", which moves a
|
|
|
|
reference point in the bounding box of the currently loaded paths either
|
|
|
|
to a specified location (if used with three arguments) or to the
|
|
|
|
respective point in a rectangle (if used with five arguments).
|
|
|
|
|
|
|
|
The reference point is specified with a number as follows:
|
|
|
|
|
|
|
|
7-----8-----9
|
|
|
|
| |
|
|
|
|
4 5 6
|
|
|
|
| |
|
|
|
|
1-----2-----3
|
|
|
|
|
|
|
|
"1" is the lower left corner, "5" is the center, and so on.
|
|
|
|
|
|
|
|
"array" is used when cutting several copies of the same piece. The first
|
|
|
|
two arguments define the step between pieces while the second two
|
|
|
|
arguments define how many steps in each direction are taken.
|
|
|
|
|
|
|
|
"align" sets moves the toolpath to an absolute position while "array" and
|
|
|
|
"translate" move relative to the current position. The total translation
|
|
|
|
is remembered also across "clean", so that an alignment can be applied to
|
|
|
|
multiple toolpaths.
|
|
|
|
|
|
|
|
"reset" sets the translation to zero. The way "reset" is currently
|
|
|
|
implemented, it does not affect the currently loaded toolpath. (But it's
|
|
|
|
better to use it only with "clean".)
|
|
|
|
|
|
|
|
|
2010-12-14 18:41:37 +02:00
|
|
|
Vertical adjustment:
|
|
|
|
|
2010-12-14 21:49:26 +02:00
|
|
|
z [<z0>] <z0-pos>
|
2010-12-14 18:41:37 +02:00
|
|
|
|
2010-12-15 00:17:34 +02:00
|
|
|
|
2010-12-14 18:41:37 +02:00
|
|
|
Tool compensation:
|
|
|
|
|
2010-12-15 04:37:31 +02:00
|
|
|
offset [dog] [inside]
|
|
|
|
|
|
|
|
"offset" offsets the toolpaths by the tool radius. By default, it offsets
|
|
|
|
the outermost toolpath to the outside and all other toolpaths to the
|
|
|
|
inside. This can be overridden with the #%outside directive in a gnuplot
|
|
|
|
file or the "inside" option to "offset". "inside" has precedence over
|
|
|
|
"#%outside".
|
|
|
|
|
|
|
|
Concave corners on an outside path are normally cut such that the corner
|
|
|
|
is round, leaving material at and near the corner point. The option "dog"
|
|
|
|
changes this to cutting a "dogbone" hole such that material is also
|
|
|
|
removed up to the corner point.
|