www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2015/07/27/15:54:21

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-Injected-Via-Gmane: http://gmane.org/
To: geda-user AT delorie DOT com
From: Kai-Martin Knaak <knaak AT iqo DOT uni-hannover DOT de>
Subject: Re: [geda-user] bug? in Gerber Export in PCB
Date: Mon, 27 Jul 2015 21:53:24 +0200
Organization: Institut =?UTF-8?B?ZsO8cg==?= Quantenoptik
Lines: 118
Message-ID: <mp627k$1ud$1@ger.gmane.org>
References: <55B6674B DOT 9080108 AT buffalo DOT edu>
Mime-Version: 1.0
X-Complaints-To: usenet AT ger DOT gmane DOT org
X-Gmane-NNTP-Posting-Host: 130.75.103.107
User-Agent: KNode/4.14.1
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id t6RJrduL005686
Reply-To: geda-user AT delorie DOT com

Stephen Besch wrote:

> For some time now I have struggled with the rather inscrutable and
> somewhat arcane User interface for Gerber exports from PCB.

I circumvent the GUI by using a little bash script to produce gerbers.
The script also adds a readme for the fab and wraps it all into a 
single zip file. In the end it starts gerbv to let me check the
result. 

The script is automatically installed by my new_geda_project.sh. Here
is an example for the project Keopsys-IO:

/---------------------------------------------
#!/bin/sh
# produce gerber files, packages them in a zip file and open gerbv

NAME=keopsys-io
VERSION=v1
LAYOUT=../keopsys-io.pcb

pcb -x gerber --metric --gerberfile $NAME"_"$VERSION --name-style first $LAYOUT

echo "Add a README for the fab"
echo \
"These are the gerber files for the project:
	"$NAME", "$VERSION"

Mapping of files:
"$NAME"_"$VERSION".bottom               -- bottom copper
"$NAME"_"$VERSION".bottommask.gbr	-- bottom mask
"$NAME"_"$VERSION".bottompaste.gbr	-- bottom solder paste
"$NAME"_"$VERSION".fab.gbr		-- position and diameter of holes
"$NAME"_"$VERSION".top.gbr		-- top copper
"$NAME"_"$VERSION".topmask.gbr	-- top mask
"$NAME"_"$VERSION".toppaste.gbr	-- top solder paste
"$NAME"_"$VERSION".topsilk.gbr	-- top silk
"$NAME"_"$VERSION".comment.gbr	-- comments
"$NAME"_"$VERSION".outline.gbr	-- outline of the pcb. 
"$NAME"_"$VERSION".plated-drill.cnc	-- position of plated holes in excellon format 
"$NAME"_"$VERSION".unplated-drill.cnc	-- position of non-plates holes in excellon format
" > gerberdata_"$NAME"_"$VERSION".README

# compress the gerbers into a zip file
zip "gerberdaten_"$NAME"_"$VERSION.zip \
gerberdaten_$NAME"_"$VERSION".README" \
$NAME"_"$VERSION*.gbr \
$NAME"_"$VERSION*.cnc

# open the gerbers with gerbv
gerbv $NAME"_"$VERSION*.gbr
\--------------------------------------------------

> The first
> is simply figuring out how to specify the base directory for the gerber
> files. It is almost completely inscrutable, but patience and about a
> half hour of trial and error resolves it. This bit of the GUI really
> needs a standard Folder Chooser.

+1
And the path should be remembered across sessions. It should be possible
to set the path relative to the project dir.


> The second issue is the weirdness of the the output file names. Standard
> layers (Top, bottom, etc) come out named after their respective layers.
> However all the other layers - specifically "Spare" in the current case,
> come out named something like Group3.gbr - and it matters not how you
> might rename them.

IIRC, my script uses the option "--name-style first" to this end.  


> The third issue is more serious and irritating. If I draw some stuff on
> the "Spare" layer and then generate the gerbers, the spare layer
> contains a large amount of stuff from other layers - pads and pins

Only pins and vias should show up in the spare layer. Pads are only
on layers that are part of the "top" or "bottom" group. If you see
pads on "spare", this layer is probably accidentally part of either 
the top or bottom group.


> mostly - that are neither supposed to be there nor do they show up in
> PCB's display - only in the gerber viewer.

Pins and vias have spanned all non-special layers ever since I started
to seriously use geda. It is a consequence of the way layers and pins
are represented in pcb. In particular, the file format offers no way
to define which layers a via or pin is supposed to live on. This is
one of the seemingly smallish issues of pcb that would need a serious 
bit of effort to fix. In this case: Re-factor and refine the way pcb 
handles layers.

---<)kaimartin(>---
-- 
Kai-Martin Knaak                                  tel: +49-511-762-2895
Universität Hannover, Inst. für Quantenoptik      fax: +49-511-762-2211	
Welfengarten 1, 30167 Hannover           http://www.iqo.uni-hannover.de
GPG key:    http://pgp.mit.edu:11371/pks/lookup?search=Knaak+kmk&op=get



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019