From 5bef06e557c7f24d489bf9cebd10a5ebb40f7250 Mon Sep 17 00:00:00 2001 From: ian Date: Fri, 3 Sep 2004 23:19:18 +0000 Subject: [PATCH] hole reports --- .cvsignore | 1 + pcb/Makefile | 6 +++++- pcb/hole-report.pl | 29 +++++++++++++++++++++++++++++ pic.make | 6 +++++- spice/Makefile | 6 +++++- 5 files changed, 45 insertions(+), 3 deletions(-) create mode 100755 pcb/hole-report.pl diff --git a/.cvsignore b/.cvsignore index 0334ec4..69f9316 100644 --- a/.cvsignore +++ b/.cvsignore @@ -39,3 +39,4 @@ detectors.net-spec *.pcb.output_*.txt ours-*.ps parts.ps +*.hole-rep diff --git a/pcb/Makefile b/pcb/Makefile index 4a66576..3990e4f 100644 --- a/pcb/Makefile +++ b/pcb/Makefile @@ -29,7 +29,8 @@ BULKRESPARTS= bulkres-select.partlist bulkres-items.partlist picprogs: flasher.hex flash-all.hex -netlists: reversers.net detectors.net +netlists: reversers.net detectors.net \ + reversers.hole-rep detectors.hole-rep # print from pcb(1) as follows: # File / Print Layout / ... @@ -48,6 +49,9 @@ OPRINTS= %.oprint-copper.ps \ %.pcb.output_frontsilk.ps \ %.oprint-assembly.ps +%.hole-rep: %.pcb hole-report.pl + ./hole-report.pl <$< $o + %.oprints: $(OPRINTS) echo $^ >$@-l-tmp diff --git a/pcb/hole-report.pl b/pcb/hole-report.pl new file mode 100755 index 0000000..5cee6d6 --- /dev/null +++ b/pcb/hole-report.pl @@ -0,0 +1,29 @@ +#!/usr/bin/perl +while (<>) { + if (m/^\s*(Pin|Via)\[\-?\d+ \-?\d+ (\d+) (\d+) (\d+) (\d+) .*\]$/) { + $have{ sprintf "%05d %05d %05d %05d %s", + $5,$2,$4,$3,$1 }++; + } elsif (m/^ \s* (?: + PCB | Grid | Cursor | Thermal | DRC | + Flags | Groups | Styles | + Layer | Line | Text | Arc | Polygon | + Symbol | SymbolLine | + Element | ElementLine | ElementArc | + NetList | Net | Connect ) \s* (?: \( | \[ ) /x || + m/^ \s* [()\#] /x || + !m/\S/ || + m/^ (?: \s* \[ \d+ \s \d+ \] )+ \s* $/x) { + } else { + die "$_ ?"; + } +} + +printf "%5s %5s %5s %5s %-3s %5s\n", + qw(drill pad rsist poclr pv count) + or die $!; + +foreach $k (sort keys %have) { + printf("%5d %5d %5d %5d %-3s %5d\n", + split(/ /, $k), $have{$k}) + or die $!; +} diff --git a/pic.make b/pic.make index 4a66576..3990e4f 100644 --- a/pic.make +++ b/pic.make @@ -29,7 +29,8 @@ BULKRESPARTS= bulkres-select.partlist bulkres-items.partlist picprogs: flasher.hex flash-all.hex -netlists: reversers.net detectors.net +netlists: reversers.net detectors.net \ + reversers.hole-rep detectors.hole-rep # print from pcb(1) as follows: # File / Print Layout / ... @@ -48,6 +49,9 @@ OPRINTS= %.oprint-copper.ps \ %.pcb.output_frontsilk.ps \ %.oprint-assembly.ps +%.hole-rep: %.pcb hole-report.pl + ./hole-report.pl <$< $o + %.oprints: $(OPRINTS) echo $^ >$@-l-tmp diff --git a/spice/Makefile b/spice/Makefile index 4a66576..3990e4f 100644 --- a/spice/Makefile +++ b/spice/Makefile @@ -29,7 +29,8 @@ BULKRESPARTS= bulkres-select.partlist bulkres-items.partlist picprogs: flasher.hex flash-all.hex -netlists: reversers.net detectors.net +netlists: reversers.net detectors.net \ + reversers.hole-rep detectors.hole-rep # print from pcb(1) as follows: # File / Print Layout / ... @@ -48,6 +49,9 @@ OPRINTS= %.oprint-copper.ps \ %.pcb.output_frontsilk.ps \ %.oprint-assembly.ps +%.hole-rep: %.pcb hole-report.pl + ./hole-report.pl <$< $o + %.oprints: $(OPRINTS) echo $^ >$@-l-tmp -- 2.30.2