Werner Almesberger
453f64e4fe
cameo/fped2d2z.pl: hack: maintain decimal point across flipping
2014-02-02 02:33:42 -03:00
Werner Almesberger
0fc785d3a1
cameo/fped2stl.pl: hack: maintain decimal point across flipping
...
Since our regexps expect numbers to contain a decimal point, any result
that was an integer tripped the re-match after flipping. This hack works
around the problem by formatting the result such that it also has a decimal
point.
2013-12-06 19:07:30 -03:00
Werner Almesberger
ff5b4a1ae8
cameo/zstack.pl: use the entire number for (x, y, z0)
2013-11-07 04:55:57 -03:00
Werner Almesberger
033d55c8ad
cameo/zstack.pl: output one point at (x, y, z0) to set reference level
...
Otherwise, gp2rml will eliminate any offset. (x, y) is an arbitrary point
from the toolpaths.
2013-11-06 23:15:24 -03:00
Werner Almesberger
e82667e680
cameo/fped2d2z.pl: new options -x and -y to flip on X and Y axis
2013-11-03 23:21:43 -03:00
Werner Almesberger
30676651ec
cameo/fped2stl.pl: use "eq" for string equality, not "=="
2013-11-03 19:05:56 -03:00
Werner Almesberger
5b70e92254
cameo/fped2stl.pl: new options -x and -y to flip on X and Y axis
2013-11-02 18:03:49 -03:00
Werner Almesberger
4fa9e129ee
cameo/fped2stl.pl: sort layers by Z position
...
This way, the ordering of the layer stack doesn't matter.
2013-11-02 13:26:04 -03:00
Werner Almesberger
e62da4e2bb
cae-tools/cameo/fped2stl.pl (flush): substitute coordinates only once
...
If a layer was at exactly z = 1 mm, we would set it to $z1 (after temporarily
setting it to $z) even in cases where it should be at $z.
2013-11-01 21:15:43 -03:00
Werner Almesberger
96063ccff9
cameo/fped2stl.pl: fped 2D stack to STL mesh converter (experimental)
2013-10-14 13:31:42 -03:00
Werner Almesberger
c5f54df4a0
cameo/stl.c: generate real STL (WIP)
...
Some facets look funny in Meshlab although it shows all the normals pointing
in the right direction.
2013-10-14 12:32:27 -03:00
Werner Almesberger
ae9ad0348c
cameo/stl.c (stl): update for poly2d API change
2013-10-14 11:12:32 -03:00
Werner Almesberger
8b6e4168d3
cameo/: add "stl" command to generate STL slices (WIP)
2013-10-13 22:10:43 -03:00
Werner Almesberger
7aaaf8671f
cameo/gerber.c: crudely support some cases of G03
2013-09-20 18:47:39 -03:00
Werner Almesberger
44d58a54fa
cameo/ops.c (tool_comp_paths): don't crash if path list is empty
2013-09-20 17:36:16 -03:00
Werner Almesberger
b8c927831f
cameo/templates/mkmk-simple: support new edge file names
...
KiCad recently changes file names. Edges used to be named *-PCB_Edges.gbr
but can now be named *-Edge_Cuts.gbr or *-Edge_Cuts.pho
2013-08-06 19:15:48 -03:00
Werner Almesberger
9a6772f79d
cameo/templates/mkmk-simple: use "set size ratio -1", not "set size ratio square"
...
"ratio -1" produces a 1:1 ratio of the units (which is what we want) while
"ratio square" makes the xrange and yrange the same size, whatever that's
supposed to be good for.
2012-12-27 19:52:16 -03:00
Werner Almesberger
c34a154e25
cameo/templates/mkmk-simple: use aspect ratio 1:1 with gnuplot (plot, dplot)
2012-11-21 23:18:52 -03:00
Werner Almesberger
e246127c6c
cameo/templates/mkmk-simple: also look for new <name>-NPTH.drl
...
Recent versions if KiCad save non-plated through holes in a separate
drill file, called <name>-NPTH.drl
2012-08-23 23:01:49 -03:00
Werner Almesberger
a030eff963
cameo/: new command "flip" to flip paths on the X or Y axis
2012-08-23 09:04:44 -03:00
Werner Almesberger
c73509dacc
cameo/fped2d2z.pl: new option -t Zmax to set the height of the workpiece
...
This is similar to -r, except that we don't swap X and Y, and we use
the specified value instead of searching for the maximum in the input
data.
2012-08-22 13:51:16 -03:00
Werner Almesberger
072b7804ee
cameo/: experimental command "outside" to detect real outer borders
...
Should be merged into tool_comp_paths later.
2012-06-12 15:23:01 -03:00
Werner Almesberger
378aab025f
cameo/path.c: new function path_is_inside which calls p2d_contains_poly
2012-06-12 15:04:59 -03:00
Werner Almesberger
7b54293bff
cameo/: move conversion between poly2d and "struct path" from area-poly2d.c to poly2d.c
...
Untested.
2012-06-12 15:04:40 -03:00
Werner Almesberger
f48754e067
cameo/path.c: make path_is_closed global
2012-06-12 14:24:50 -03:00
Werner Almesberger
382d14dcbb
cameo/path.c: move assert(path_is_closed) into function and improve diagnostic
...
It's often hard to find an offending path. To help with this, we
now print the start and end coordinates.
2012-06-12 14:01:55 -03:00
Werner Almesberger
e69fa24133
cameo/: new commands "remove" and "keep" for path filtering (untested)
2012-06-12 12:32:08 -03:00
Werner Almesberger
1c11f4d201
cameo/: use libpoly2d for area fills
2012-05-08 01:06:45 -03:00
Werner Almesberger
c2bfbd5a5e
cameo: add two test cases (exhibiting brokenness)
2012-05-01 23:48:32 -03:00
Werner Almesberger
fcb508f1ef
cameo/test/: move to cameo/test/1/
2012-05-01 23:28:49 -03:00
Werner Almesberger
8ce420b10b
cameo/excellon.c: recognize G90 code (absolute mode)
...
Recent KiCad emits this. We're in absolute mode anyway, so we simply
ignore it.
2012-04-01 19:26:46 -03:00
Werner Almesberger
479ae41070
cameo/README: added warning that "area" still has bugs
2012-03-29 18:44:14 -03:00
Werner Almesberger
c59e39356b
cameo: new command "reverse" to reverse all paths
...
Experimentally used to reverse tool direction in the smoothing pass.
2012-03-21 20:31:29 -03:00
Werner Almesberger
3e7fca45b3
cameo/fped2d2z.pl: outpout a dummy point at Z=0 (experimental)
...
This is signal for genpiece.pl to generate the top layer.
2012-03-21 01:02:43 -03:00
Werner Almesberger
6d70656ab2
cameo/path.c (path_offset): handle also degenerate polygons of only one point
...
To do: use a square, not a circle. Also, extend this to degenerate
polygons consisting of two points.
2012-03-21 01:00:12 -03:00
Werner Almesberger
079608ba6c
cameo/zstack.pl: don't output lower layers at higher Z
...
We leave this to the designer :-)
2012-03-20 23:13:35 -03:00
Werner Almesberger
340fb2cf8b
cameo: consider inside/outside also when checking corner points
2012-03-20 23:05:42 -03:00
Werner Almesberger
7a61482a04
cameo/area.c: move handling of left/right from hit_path to hit_segment
...
For future extensions.
2012-03-20 19:30:03 -03:00
Werner Almesberger
ebcdfd52ca
cameo/area.c (hit_segment): clean up entry/exit handling
2012-03-20 19:18:08 -03:00
Werner Almesberger
d79424d9ae
cameo/area.c: move equation solving from "intersect", for future sharing
2012-03-20 19:02:50 -03:00
Werner Almesberger
19bc92aa79
cameo/area.c (do_line): shorten segments to avoid duplicating outline cuts
...
We considered the outlines for dropping entire segments but not for
calculating their start and end points.
2012-03-19 19:46:40 -03:00
Werner Almesberger
4ea94e72dc
cameo/fped2d2z.pl: added Z position substitution
...
We need this to add overshoot for milling through a piece.
2012-03-19 15:59:24 -03:00
Werner Almesberger
9f5751aaa9
cameo/fped2d2z.pl: added option -r, like in zstack.pl
2012-03-19 15:29:57 -03:00
Werner Almesberger
ce243b6a79
cameo/zstack.pl (usage): describe option -r
...
Also show usage on unknown option.
2012-03-19 15:29:57 -03:00
Werner Almesberger
fb117b20e5
cameo/area.c (subordinates): fix trimming of list of subordinates
2012-03-19 01:02:19 -03:00
Werner Almesberger
18c9477137
cameo: "area" now works on Z layers individually (untested)
2012-03-19 00:26:41 -03:00
Werner Almesberger
5ecce7de9e
cameo/zstack.pl: option -r to reverse the stack
2012-03-18 23:20:27 -03:00
Werner Almesberger
219e0a5c2d
cameo/fped2d2z.pl: convert fped 2D stacks into 2.5D paths with Z information
2012-03-18 23:05:40 -03:00
Werner Almesberger
085754f931
cameo/zstack.pl: convert 2.5D paths into a stack with limited Z steps
2012-03-18 21:45:56 -03:00
Werner Almesberger
489ca9c24d
cameo: documented "area"; miscellaneous cleanup
...
Also removed the tool diameter argument. We use the diameter from the
path, like "offset" does. In the long run, this convention probably
doesn't make sense, though.
2012-03-18 21:00:08 -03:00