[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: a pcb level panelizer tool
At 12:28 AM 9/17/2008, you wrote:
> I do production work and
always need multiple panels to complete a
> job. So there is no point to putting more than one board on
a
> panel.
If that's what you do, why do you need to panelize it yourself?
Just
ask the fab to make N boards and let them fit them to their panels
as
best they can. They know how much space to leave between them
for
V-scoring or tab routing.
You are mistaken about that. The fab house does *not* know what the
assembly house needs. The assembly house has equipment that puts
limitations on the panels. I specify the panels to suit the fab
houses I use, so I pick the panel size and the spacing.
However, panelizing at the pcb
level gives you access to all the
standard tools for your panel, though, like BOM and X/Y output for
pick and place, panel-level drill reports, panel prints, fab
drawings,
etc. It also lets you add alignment holes, margin notes,
margins,
etc.
That is what I am talking about. This should be supported in PCB
for panelized designs without requiring that you copy and paste the
circuit N times.
The BOM and XYRS output should *not* be panelized. The Fab drawing
should be at the board level with notes about the panel. Global
fiducials can be useful and that is one of the things missing in
FreePCB. But I don't see how using a script is required to add
support for these things.
My point is that whatever is provided for panelized designs should make
use of the panelization commands in the Gerber files. Gerber files
are large enough without increasing their size by a factor of N.
Drill files are different and do require specific entries for each copy
of the board.
Step and repeat panelizing means
that EVERY tool and report needs to
know what the step and repeat factors are, and need to implement a
step and repeat feature within them. That's a waste of effort
and
prone to errors.
What tools are we talking about? I am not at all familiar with PCB,
but if it is not an integrated layout tool, then I don't understand the
process.
> Other than the width of the
rout around the board,
Which is exactly what I'm talking about.
The width of the rout and the board spacing are two different
things. In addition to the routs, you need to allow for the web
between the boards. This has to be wide enough to provide
support. That is something that has to be specified uniquely for
each design since the board size and shapes are different.
> My goal is to automate as
much as possible and to eliminate any sort
> of manual work, including running script files.
If it's scriptable, you can automate it. You can't reliably
automate
pointing and clicking, and with our type of panelization, you can
store the whole panel in source control as-is and not need to
re-panelize it (or remember your panelization settings)
later.
Maybe I'm not following. I'm suggesting that the panelization be
integrated into PCB rather than use a separate tool. If this
scripting tool is editing the PCB design file, then it has to
"know" about the PCB file format and be kept up to date with
any changes. Editing the Gerber files makes it an independent tool,
but it is still a separate, extra step that has to be done and
verified.
How is the panelization info stored in source control? Are you
editing the script specifically for each design and so have to store
it? Why not just make it a part of PCB and have the info
stored in the source file in the first place?
> That's great. But for
straight forward work of building a panel of
> the same board repeated, there is no point to using scripts when the
> layout tool should produce the Gerber files for you.
Should? For someone who wants to take the risk of errors away
from
humans, you're relying on them too much. A script can be
automated
*outside* the scope of the layout engineer's access. The group
responsible for panelizing and fabbing should do that
post-processing
by a smart script which knows the panelizing rules, not by one of
many
layout engineers.
I don't understand what you are saying. The engineer has to spec
the entire design. That includes the panelization. Why can't
that be part of the PWB layout process rather than a script that has to
be run post layout? I certainly don't see how using a script is
less error prone. If the engineer is specifying the panel, how does
that get into the script?
> For the work I do, I need
tools that facilitate productivity and
> minimize the risk of errors. I prefer to use tools that do the
job
> simply and effectively without unnecessary manual steps. I
think a
> step and repeat option should be in any good layout tool.
If you feel that strongly about it, go ahead and add it. I wrote
a
panelizer. You can panelize using a pcb script. There's at
least one
other panelizer. No reason not to have more. You can even
store the
panelizing parameters in the pcb file as board-level attributes if
you
want. Heck, write a plug-in for managing those parameters, and add
a
hook in the gerber exporter to read them and add the line you want.
That's where the power of open source comes in - if you don't like
it,
you can change it, and everyone benefits.
That is exactly why I am looking at departing from FreePCB.
Although it is "open source", there seems to be one developer
and no reasonable way to share code modified/created by others.
When I wrap up my work on this project I will be taking a good look at
other tools including PCB. If I decide that I need to use it and it
does not support panelization, I may just do the work. But right
now I am trying to understand what has been done and the reasons for
it.
If I were a layout engineer at
your company, I'd want to keep my board
in a source control system, and use some internal web server to
submit
it for panelizing (the server reads the board from source control,
avoiding the risk that the layout guy submits an uncontrolled file),
rather than even consider doing it myself.
Submit it to what??? The layout person (me) has to specify the
layout parameters. I don't understand what you are trying to
protect the process from? I think that there are parts of this that
I don't understand and you have not explained.
Rick
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user