1
0
mirror of git://projects.qi-hardware.com/cae-tools.git synced 2024-12-23 13:46:47 +02:00
Commit Graph

112 Commits

Author SHA1 Message Date
Werner Almesberger
f94fb2f74a cameo/path.c (path_connect, et al.): move to new file connect.c
Preparation for optimizing the O(n^3) algorithm.
2015-01-16 10:16:06 -03:00
Werner Almesberger
c9c0e887e7 cameo/poly2d.c (paths_to_polys_z): correctly ignore empty paths 2015-01-16 08:38:30 -03:00
Werner Almesberger
4d15951807 cameo/area-poly2d.c (area): fail if any paths are open 2015-01-16 08:35:37 -03:00
Werner Almesberger
671b74d81c cameo/templates/mkmk-simple: make $NAME.drl optional
pcbnew will not generate a drill file if the board that has neither
vias nor through-hole pads, so we shouldn't insist on it existing
either.
2014-04-27 10:45:54 -03:00
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