]> git.gag.com Git - hw/altusmetrum/blob - bin/select-elements-by-value
push-push microSD connector chosen for quantimotor
[hw/altusmetrum] / bin / select-elements-by-value
1 #!/usr/bin/perl
2 # -*- perl -*-
3
4 # In pcb-menu.res, add somewhere:
5 #
6 #    {"grep" a={"G" "<Key>g"} ExecuteFile(/tmp/pcb.grep)}
7
8 # board.bom must be created using the bom2 backend
9
10 $reg = shift;
11 open(B, "board.bom");
12
13 $first = 1;
14
15 open(G, ">/tmp/pcb.grep");
16 print G "Unselect(All)\n";
17
18 while (<B>) {
19     chomp;
20     ($refdes, $value, $footprint, $device, $voltage, $manufacturer, $manufacturer_part_number, $vendor, $vendor_part_number, $qty) = split(':', $_);
21     
22     if ($first || /$reg/i) {
23         print "\033[34m" if $first;
24         printf("%-7s %-24s %-18s %s\n", $value, $manufacturer_part_number, $vendor_part_number, $refdes);
25         print "\033[0m" if $first;
26         if (!$first) {
27             for $r (split(',', $refdes)) {
28                 print G "Select(ElementByName,$r)\n";
29                 $count ++;
30             }
31         }
32     $first = 0;
33     }
34 }
35
36 print "\n\033[32m$count parts\033[0m\n";
37
38 close G;