[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