mirror of
git://projects.qi-hardware.com/cae-tools.git
synced 2024-12-23 10:41:45 +02:00
cameo: completed support for dril/mill conversions
- README: changed the term "drill/mill substitution" to "drill/mill conversion" - README: described the drill/mill conversion commands - lang.y: "drill" and "mill" worked on the wrong (empty) list - ops.c (half_circle): fixed transcription error
This commit is contained in:
parent
b1652fc50a
commit
7a64e425da
34
cameo/README
34
cameo/README
@ -138,9 +138,41 @@ changes this to cutting a "dogbone" hole such that material is also
|
|||||||
removed up to the corner point.
|
removed up to the corner point.
|
||||||
|
|
||||||
|
|
||||||
Drill/mill substitution:
|
Drill/mill conversion:
|
||||||
|
|
||||||
drill <min-diameter> <max-diameter>
|
drill <min-diameter> <max-diameter>
|
||||||
mill <diameter> <step>
|
mill <diameter> <step>
|
||||||
remainder
|
remainder
|
||||||
empty
|
empty
|
||||||
|
|
||||||
|
"drill" and "mill" search for paths that can be processed with the
|
||||||
|
specified tool and generate the corresponding toolpaths. After "drill"
|
||||||
|
or "mill", only the toolpaths for this tool remain. The paths that
|
||||||
|
have been converted are removed and the paths for which the tool is
|
||||||
|
unsuitable are moved to a separate list, the remainder list.
|
||||||
|
|
||||||
|
"remainder" clears the list of paths and sets the list of paths to
|
||||||
|
the remainder list. Note that "clear" does not affect the remainder
|
||||||
|
list.
|
||||||
|
|
||||||
|
"empty" does nothing if the list of paths is empty and makes cameo
|
||||||
|
exit with an error if there are paths in the list. This can be used
|
||||||
|
to ensure that all paths in a file have been converted.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
excellon example.drl
|
||||||
|
drill 7mil 13mil
|
||||||
|
write drill.gp
|
||||||
|
remainder
|
||||||
|
mill 0.8mm 0.01mm
|
||||||
|
write mill.gp
|
||||||
|
remainder
|
||||||
|
empty
|
||||||
|
|
||||||
|
In this example, we first load a drill file. Then we generate drill
|
||||||
|
commands for all simple holes with a diameter between 7 mil and 13 mil
|
||||||
|
and write the toolpaths to the file "drill.gp". Next, we retrieve the
|
||||||
|
remaining paths, generate toolpaths for a 0.8 mm endmill, and write
|
||||||
|
them to the file "mill.gp". Finally, we check that all paths have been
|
||||||
|
processed.
|
||||||
|
@ -247,7 +247,7 @@ command:
|
|||||||
|
|
||||||
remain = paths;
|
remain = paths;
|
||||||
paths = NULL;
|
paths = NULL;
|
||||||
walk = &paths;
|
walk = &remain;
|
||||||
while (*walk)
|
while (*walk)
|
||||||
walk =
|
walk =
|
||||||
classify(walk, try_drill(*walk, $2, $3));
|
classify(walk, try_drill(*walk, $2, $3));
|
||||||
@ -258,7 +258,7 @@ command:
|
|||||||
|
|
||||||
remain = paths;
|
remain = paths;
|
||||||
paths = NULL;
|
paths = NULL;
|
||||||
walk = &paths;
|
walk = &remain;
|
||||||
while (*walk)
|
while (*walk)
|
||||||
walk = classify(walk, try_mill(*walk, $2, $3));
|
walk = classify(walk, try_mill(*walk, $2, $3));
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@ static void half_circle(double cx, double cy, double rx, double ry, double z,
|
|||||||
m[3] = m[0];
|
m[3] = m[0];
|
||||||
|
|
||||||
for (a = 0; a < M_PI; a += s) {
|
for (a = 0; a < M_PI; a += s) {
|
||||||
path_add(path, cx+x, cy+x, z);
|
path_add(path, cx+x, cy+y, z);
|
||||||
tmp = x*m[0]+y*m[1];
|
tmp = x*m[0]+y*m[1];
|
||||||
y = x*m[2]+y*m[3];
|
y = x*m[2]+y*m[3];
|
||||||
x = tmp;
|
x = tmp;
|
||||||
|
Loading…
Reference in New Issue
Block a user