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

66 Commits

Author SHA1 Message Date
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
Werner Almesberger
6811df57b6 cameo/area.c: removed debugging and obsolete code 2012-03-18 20:25:16 -03:00
Werner Almesberger
6fbdfd7120 cameo/area.c (touch): also consider whether we're looking for entry/exit 2012-03-18 20:15:50 -03:00
Werner Almesberger
b607816f95 cameo/area (hit_segment): only consider vectors pointing in the right direction
This way we avoid false positives, such as exit points while looking
for an entry.
2012-03-18 19:47:02 -03:00
Werner Almesberger
5a599e14f6 cameo: don't duplicate paths already cleared by the outline
Also pass information on whether we're about to enter or leave a
polygon.
2012-03-18 17:57:04 -03:00
Werner Almesberger
35c0624dc5 cameo: "area" now also adds the outline cuts
"offset" wasn't suitable for alternating inside and outside anyway.
2012-03-18 17:02:43 -03:00
Werner Almesberger
8c4dfc55b6 cameo/test/: test scenario for area fill 2012-03-18 13:19:13 -03:00
Werner Almesberger
2530a11c80 cameo: an attempt at area fill (WIP) 2012-03-18 13:16:26 -03:00
Werner Almesberger
90254ef0bc cameo: also connect paths from gnuplot files
We only did this for Gerber.
2011-12-16 04:36:17 -03:00
Werner Almesberger
639b0fa2d6 cameo/: make tool_comp_paths output paths in the order processed 2011-09-05 07:54:29 -03:00
Werner Almesberger
828763b747 cameo/path.c (path_replace): free the old ID 2011-09-05 06:20:12 -03:00
Werner Almesberger
a67d0b447e cameo/shape.c: removed global "path" variable (where did that madness come from ?) 2011-09-05 05:49:23 -03:00
Werner Almesberger
a42a18fef3 cameo/: new gnuplot tag #%id= with generator-assigned identifier
Excellon and Gerber store the file name there.
2011-09-05 05:46:25 -03:00
Werner Almesberger
41bffa8f79 cameo/excellon.c: increased MAX_TOOL from 10 to 20 2011-09-01 12:03:32 -03:00
Werner Almesberger
98b0e961ae mkmk-simple: exit with an error code if "gp2rml" fails 2011-09-01 12:02:37 -03:00
Werner Almesberger
5651a40230 mkmk-simple: new option CLEARANCE (default: 2mm) 2011-09-01 12:00:58 -03:00
Werner Almesberger
50918a26fd mkmk-simple: changed path to gp2rml from ...openmoko... to ...qi/cae-tools... 2011-09-01 03:38:27 -03:00
Werner Almesberger
afa7460b45 mkmk-simple: added variable ANY (usage: ANY=any) to set "mill any" 2011-08-31 21:32:29 -03:00
Werner Almesberger
75c3a7d1d2 cameo/: added option "any" to "mill", to accept paths irrespective of tool size 2011-08-31 21:32:29 -03:00
Werner Almesberger
54101eaaf4 mkmk-simple: exit with an error code if "cameo" fails 2011-08-31 21:32:29 -03:00
Werner Almesberger
6795057567 cameo/templates/mkmk-simple: added optional BOARD_Z parameter for board thickness 2011-08-31 14:53:56 -03:00
Werner Almesberger
4ae218c6dc mkmk-simple: oops, should be executable 2011-02-15 02:10:44 -03:00
Werner Almesberger
b0eb0178ee cameo/templates/mkmk-simple: template for milling simple boards 2011-02-15 02:06:26 -03:00
Werner Almesberger
0826d5b35e cameo: allow comma between parameters of "drill" (makes use in scripts easier)
- lang.y: allow an optional comma between the parameters of "drill"
- README: explain the new syntax of "drill"
2011-02-15 02:06:10 -03:00
Werner Almesberger
dfc53c781a cameo: new command "stats" to print path statistics
- README: documented the "stats" command
- lang.l, lang.y: added "stats" command
- path.h (path_stats), path.c (path_stats): calculate and print path
  statistics
2011-02-13 02:25:32 -03:00
Werner Almesberger
6947b3a5d1 cameo: allow for rounding errors KiCad produces with a metric grid
- cameo/path.c (path_is_closed): use points_eq instead of open-coding the
  comparison
- cameo//path.c (EPSILON_MM, points_eq): consider two points as equal if
  their projections on the xy plane are less than EPSILON_MM apart and
  their z positions don't differ by more than the same distance
2011-01-31 19:36:59 -03:00
Werner Almesberger
4b717cadc6 cameo/path.c (path_connect): corrected logic when merging B->A 2011-01-05 23:07:34 -03:00
Werner Almesberger
ee3a3e6162 cameo: array steps can now be specifed as item size plus border
- lang.y (align, bbox): moved bounding box calculation to separate
  function (for sharing)
- lang.y: array sizes can specified as the size of the respective
  dimension of the bounding box plus a border
- README: documented use of border size with "array"
2011-01-05 22:34:39 -03:00
Werner Almesberger
6f30bab648 cameo: added "rotate" command
- lang.l, lang.y (rotate): added command "rotate", with cumulative
  rotation
- README: documented "rotate"
- README: corrected typo in description of the translation commands
2011-01-03 01:25:42 -03:00
Werner Almesberger
57b4e276e5 cameo: added optimization of movements between tool paths
- ops.h, ops.c (optimize_paths): reorder toolpaths to reduce the distance
  between them
- lang.l, lang.y: added command "optimize"
- README: documented "optimize"
2010-12-16 14:19:46 -03:00
Werner Almesberger
ed6bbff7f8 cameo/ops.c (tool_comp_paths): inside/outside logic was reversed for outer path 2010-12-16 02:38:11 -03:00
Werner Almesberger
99592248d9 cameo/gerber.c (gerber_read): store coordinates as floats after conversion
They all were truncated.
2010-12-15 12:26:44 -03:00
Werner Almesberger
7cb25c5a3f cameo: apply translation after loading a file only to the new file
- lang.y (translate): list of paths is now an argument (instead of always
  using the global path list)
- lang.y: on "gerber", "gnuplot", and "excellon", only translate the new
  paths
2010-12-15 06:37:17 -03:00
Werner Almesberger
b76d17fea0 cameo: "array" did not affect subsequently loaded files
- lang.y: increment "xo" and "yo" also on "array"
2010-12-15 06:37:17 -03:00
Werner Almesberger
b8f6545821 cameo: added command "append", improved file output error checking
- README: added description of "append"
- lang.l, lang.y: added command "append"
- gnuplot.h, gnuplot.c (gnuplot_append): append gnuplot paths to an
  existing file
- gnuplot.c (gnuplot_do_write): if writing to standard output, at least
  check that fflush() works at the end
2010-12-15 06:27:15 -03:00
Werner Almesberger
7a64e425da 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
2010-12-15 06:13:40 -03:00
Werner Almesberger
b1652fc50a cameo: adding support for dril/mill substitutions (in progress)
- Makefile (OBJS): added shape.o
- README: added section for drill/mill substitutions
- lang.l, lang.y: added commands "drill", "empty", "mill", "remainder", and
  "reset"
- lang.y (clear_paths): moved freeing of all paths from "clean" to shared
  function clear_paths
- ops.h, ops.c (try_drill, try_mill): helper functions for "drill" and
  "mill" commands
- shape.h. shape.c (slot, circle): functions to generate toolpaths for
  basic shapes
2010-12-15 04:56:58 -03:00
Werner Almesberger
848eb2a209 cameo: migrated Excellon reader from drl2gp
- Makefile (OBJS): added excellon.o
- README: added brief description of Excellon input
- excellon.h, excellon.c: adaptation of KiCad drill file reader from
  ../drl2gp/drl2gp.c
- lang.l, lang.y: added command "excellon" to read KiCad drill files
- gerber.h: removed stray newline
2010-12-15 03:27:55 -03:00
Werner Almesberger
26dc02ea57 cameo: fixed processing of omitted file names, documented file name usage
- README: document that file names can contain almost anything
- lang.l: reset the scanner state on \n, so that we stop looking for a
  file name if the file name has simply been omitted
2010-12-15 00:45:49 -03:00
Werner Almesberger
3ae3d6cdd3 cameo: cleaned up and documented the tool compensation
- README, lang.l, lang.y: renamed the "tool" command to "offset"
- README: documented "offset"
- ops.h, ops.c (tool_comp_paths), cameo.c (main), lang.y: added
  parameter to tool_comp_paths to treat all paths as internal
- lang.l, lang.y: added option "inside" to the "offset" command
- lang.y: "offset" can now take multiple options in any order
2010-12-14 23:37:31 -03:00
Werner Almesberger
68d5eff7cd cameo: split numbers into dimensions and "bare" numbers
- lang.l, lang.y (MIL2MM): moved unit conversion from lang.l to lang.y
- lang.l, lang.y: instead of returning dimensions and numbers as NUMBER,
  return as NUM_EXP_<unit> for numbers with an explicit unit, and as
  NUM_IMP_<unit> if the unit is implied
- lang.y (dimen): perform unit conversion as needed
- lang.y (number): never convert and only accept implicit dimensions
- lang.y: change all uses of NUMBER to "dimen", except for the
  multipliers in "array", where we can now use "number"
- lang.y: removed comment about "array" only working in metric mode
2010-12-14 19:50:53 -03:00
Werner Almesberger
f36f7048e6 cameo: documented X/Y translation commands, some small improvements
- README: described the X/Y translation commands
- lang.y: print an error if the lower bound if larger than the upper bount
  in an "align" command
- lang.y: mention that "array" doesn't work as expected if in imperial mode
2010-12-14 19:17:34 -03:00
Werner Almesberger
ddcf5191db cameo: various scanner and parser fixes
- README, lang.y: changed depth parameter of "z" command to position
  (sign changes)
- lang.l: defer FILENAME after "gerber" and "gnuplot", so that we don't
  mis-read the number
- lang.l, lang.y: return the reference point after "align" as new token
  REF, not as NUMEBER, so that we can catch syntax errors that would
  cause scanner and parser to become unsynchronized
- lang.l: accept negative numbers
- lang.l: added support for comments beginning with #
2010-12-14 16:49:26 -03:00