EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

Gerbv rant

Started by Johann Klammer December 30, 2021
The Idea was to bypass the lame gui using 
the cmdline opts but it can't combine on export.

So the second try was just translating 
then doing the 1hour-clicky-dance 
to combine everyhing.

But as it turns out it's also unable to rotate
on cmdline.
(gerbv version 2.6.0)

Avoid gerbv for panelizong. 
it is utterly hosed software.
Here's my notes:

combining boards
dimensions:
16-dip* 800x900
20-dip* 800x1100
24-dip* 800x1300
28-dip* 900x1500
32_q    1100x1100
44_q    1400x1400
8-dip   500x500
sot-143  300x500
sot-23   400x300
ctr     2100x1500
trk1x2   630x1162
minimum 2700x1575
fir     1300x850

overall board size:
100x100mm
3937x3937mil

arrangement:
         2700
          v
 --------- ---------
| minimum | trk1x2  |(@90deg)
|         |--------- < 3074
|         |20-dip1  |(@90deg)
|         |         |
 ---------|         |<2362
|        |------- -- <2274
| ctr    | 44_q  |  |
|        |       |  |(sots)
 ------------------- <862
| fir  |24/20dip  | |
 ------------------- <12
                  ^3700
          ^2537  ^3500
         ^2100
       ^1300


1237x712=20-dip2 (90deg)
         
1837x1412=44_q
437x1412=sot-23/143
2637x862=24dip1+20dip2=2400x800

sots
 |23 |
  ---
 | 23|
  ---
  23
  ---<900
  143
  ---<1400


  meh gervb origin is bottom left
  pcb is top left..

sots:
     <1400
 |23 |
  ---<1100
 | 23|
  ---<800
  23
  ---<500
  143
  ---<0


argh.. gerbv can't merge on export(only GUI not cmdline)
rotation does work a bit differently:
sscanf(optarg, "%f;%fr%f", &transX, &transY, &rotate);
  
to set the unit to mil
-umil

can't batch merge but can translate...

the sots are at 3500;862r0

../xlat.sh sot-143.pcb "3.500,0.862" sots1
../xlat.sh sot-23.pcb "3.500,1.362" sots2
../xlat.sh sot-23.pcb "3.500,1.662" sots3
../xlat.sh sot-23.pcb "3.500,1.962" sots4

y stays unaffected... what's wrong?
commata? yez


----------------xlat.sh-----------------
#!/bin/bash
#./xlat.sh in coord out
#generates out with.
#in translated to coord

gbrlist=".bottom.gbr .bottommask.gbr .bottompaste.gbr .bottomsilk.gbr .top.gbr .topmask.gbr .toppaste.gbr .topsilk.gbr"
cnclist=".plated-drill.cnc .unplated-drill.cnc"
for i in $gbrlist; do echo "xlat $1$i to $3$i"; gerbv -x rs274x -o$3$i -T$2 $1$i; done
for i in $cnclist; do echo "xlat $1$i to $3$i"; gerbv -x drill -o$3$i -T$2 $1$i; done


nevermind. I had an old version. 2.8.2 can batch rotate.
Still no batch merge, but that's less of a problem.


The 2024 Embedded Online Conference