Stefan Schuermans commited on 2015-03-15 11:40:56
Showing 1 changed files, with 22 additions and 7 deletions.
... | ... |
@@ -4,23 +4,38 @@ use strict; |
4 | 4 |
use warnings; |
5 | 5 |
|
6 | 6 |
if (@ARGV < 1) { |
7 |
- print ("usage: pcb_move.pl <new minium drill diameter>\n"); |
|
7 |
+ print ("usage: pcb_move.pl <new min drill> [<new min copper>]\n"); |
|
8 | 8 |
exit (1); |
9 | 9 |
} |
10 | 10 |
|
11 |
-my $mindia = int($ARGV[0]); |
|
11 |
+my $mindrill = int($ARGV[0]); |
|
12 |
+my $mincopper = 0; |
|
13 |
+if (@ARGV >= 2) { |
|
14 |
+ $mincopper = int($ARGV[1]); |
|
15 |
+} |
|
12 | 16 |
|
13 | 17 |
my $line; |
14 | 18 |
while ($line = <STDIN>) { |
15 | 19 |
chomp ($line); |
16 | 20 |
chomp ($line); |
17 | 21 |
|
18 |
- if ($line =~ /^([ \t]*(?:Via|Pin)[ \t]*\[)((?:-?[0-9]+[ \t]+){5})([0-9]+)(.*)$/) { |
|
19 |
- my $dia = int ($3); |
|
20 |
- if ($dia < $mindia) { |
|
21 |
- $dia = $mindia; |
|
22 |
+ if ($line =~ /^([ \t]*(?:Via|Pin)[ \t]*\[(?:-?[0-9]+[ \t]+){2})([0-9]+)[ \t]+([0-9]+)[ \t]+([0-9]+)[ \t]+([0-9]+)(.*)$/) { |
|
23 |
+ my $begin = $1; |
|
24 |
+ my $copper = int ($2); |
|
25 |
+ my $clearance = int ($3); |
|
26 |
+ my $solderstop = int ($4); |
|
27 |
+ my $drill = int ($5); |
|
28 |
+ my $end = $6; |
|
29 |
+ if ($copper < $mincopper) { |
|
30 |
+ if ($solderstop > $copper) { |
|
31 |
+ $solderstop += $mincopper - $copper; |
|
32 |
+ } |
|
33 |
+ $copper = $mincopper; |
|
34 |
+ } |
|
35 |
+ if ($drill < $mindrill) { |
|
36 |
+ $drill = $mindrill; |
|
22 | 37 |
} |
23 |
- $line = $1 . $2 . $dia . $4; |
|
38 |
+ $line = "$begin$copper $clearance $solderstop $drill$end"; |
|
24 | 39 |
} |
25 | 40 |
|
26 | 41 |
print ($line . "\n"); |
27 | 42 |