I'm currently thinking of what would be needed to make gerbv 
a full-featured panelization tool.

I think we've already got much:

. a good Gerber and Excellon parser (better than many other parsers)
. the option to translate, mirror or rotate layers
. the option to write the output file back
. a GUI giving the user an idea about what's going on

I think the next feature that would be needed for panelization is 
an option to merge two layers.  I'm trying to find my way through 
gerbv_image_t.  Is there a bit more of explanation beyond the few 
comments in gerbv.h?

My current guess, after digging through an image read from a RS274X 
file is about that:

. obviously, make sure both images have the same layertype

. apertures need to be merged
Well, for a start, I guess it's ok to not optimize, and just 
start at APERTURE_MAX/2 for the merged-in image, but later on, 
apertures should be optimized; a temporary translation table will 

. layers
What about multiple layers, just append them?  Where are they 

. states, amacro
I have no idea about these.  Just concatenate the lists?

. info
Calculate new max bounds?

. netlist
Concatenate the lists, rewriting the aperture number according to 
the translation table from above.

. gerbv_stats, drill_stats
Just add both.

Well, I see there is already a function merge_images() in callbacks.c. 
I don't think it follows the idea I have in mind though, but maybe 
both ideas could be combined?

Would appreciate any feedback.
cheers, Joerg               .-.-.   --... ...--   -.. .  DL8DTL

Never trust an operating system you don't have sources for. ;-)

Gerbv-devel mailing list

Reply via email to