← Back to team overview

kicad-developers team mailing list archive

Re: Gerbview wishlist and development


On Sun, Mar 11, 2012 at 12:36 PM, jean-pierre charras <jp.charras@xxxxxxxxxx
> wrote:

> Le 11/03/2012 18:37, Element Green a écrit :
>  On Sat, Mar 10, 2012 at 10:00 PM, Dick Hollenbeck <dick@xxxxxxxxxxx<mailto:
>> dick@xxxxxxxxxxx>> wrote:
>>    On 03/10/2012 12:29 PM, Element Green wrote:
>>     > It seems like the current state of gerbview leaves a lot to be
>> desired.  From what I can
>>     > see though, its pretty close.  Here are some of the lacking
>> features which cause me to
>>     > resort to using gerbv (which also has its own set of limitations
>> and issues).
>>     >
>>     > I've added these to the Wiki here:
>>     > http://wiki.xtronics.com/**index.php/Kicad#Gerb_View<http://wiki.xtronics.com/index.php/Kicad#Gerb_View>
>>     >
>>     > Wishlist:
>>     > 1. Location and size information for selected geometry.
>>     > 2. Layer names (based on file name by default).
>>     > 3. Re-ordering of layers.
>>     > 4. Easy toggling of layer visibility (select ranges of layers to
>> toggle, etc).
>>     > 5. Interactive layer offset, rotation and flip.
>>     > 6. Show drill holes as geometry (circles at the drill hole sizes).
>>     >
>>     > I've started adding code for #1.  So far it shows basic location
>> and size information
>>     > for circles, rectangles and ovals in the status bar when an item is
>> clicked on.
>>     >
>>     > For items 2-4, it seems like the layer selection panel needs to be
>> changed to a list
>>     > control of some sort, which allows for re-ordering, SHIFT/CTRL
>> multi selection, right
>>     > click menu, etc.
>>     >
>>     > Before I delve into it too much, I'd like to know if anyone else
>> has been
>>     > planning/currently working on gerbview or if there is some sort of
>> vision for it.
>>     >
>>     > I've been using Kicad for a few months now to make schematics and
>> PCB layouts.  Its
>>     > great software and its nice to see how active the development is.
>>     >
>>     > Best regards,
>>     >
>>     > Element Green
>>    Do you go by Element or Mr. Green?
> Thanks for your interest about Gerbview.
> Guys who want to work on Gerbview are very rare.
> (In fact, only Dick and me worked on Gerbview)
> First of all, you *should* take in account the complexity of Gerber files.
> So please, read and reread the Gerber RS-274X Format Specification.
> Take a particular care to some exotic features like
> - negative objects (not very exotic, and frequently found)
> - complex aperture macros (having many positive and negative basic shapes)
> - Gerber layers inside the Gerber image.
> - The best: knockout areas (not supported by Gerbview), just for the fun.
> the item 1 is certainly not trivial, and perhaps the most complicated
> feature to code.
> For basic shapes, this is easy, at least when they are visible...
> For complex aperture macros and polygons, location and size information
> could be meaningless.
> And Gerber items can be negative (i.e. not visible)
> This mean you should be able to show these negative items to select them.
> Please also consider the fact negative objects are often at the same
> location as negative objects (or very near)

Thanks for highlighting the complexity of Gerber files.  It leads me to
explain that I don't really have the resources to delve so deeply into
gerbview at this time.  I do however, have time to put into implementing
simpler features to help me with real world tasks.  I'm simply looking for
a way to make these programming efforts something which the community at
large can benefit from.

It became apparent to me pretty quickly as I was implementing basic
postion/size info display (wish list item #1) that each type of Gerber
object type needed special treatment.  For my own purposes I'm not seeking
to support every Gerber object though.  Already it has been extremely
helpful to be able to view location and size information on circles, ovals,
rectangles and lines.  This has allowed me to identify the exact location
of pads on existing PCB layouts really quickly.

Adding such display information to the basic shapes is very useful, without
the necessity to make sure such support is added to every object type.
 Support for more complex/obscure features can be added as someone sees the
usefulness in doing so.

How does that sound?

> Item 2 : what do you mean by layer ? In Gerber format layers exist and
> have nothing to do with filenames.
> I guess you are talking about Gerber images (or Gerber files)

I was not aware that individual Gerber files could have layers.  When
loading up a PCB design, usually each layer is a separate file (that is
what I have seen at least).  Typically I load up these from the command
line ("gerbview *.gbr" for example).  gerbv (by comparison, that other open
source Gerber viewer) creates a layer for each file and assigns the file
names to them.  gerbview, however, just shows a bunch of layers, without
any names and no way (that I can see) to re-order them.

> Item 5: is by far the most easy to code and very useful.
> These options are found inside the Gerber files, so the code exists inside
> Gerbview to do that.

That sounds great.  This would be very helpful to compare portions of
different Gerber files to one another, etc.

> Item 6: What do you mean by Show drill holes as geometry?
> Gerbview already is able to read and display Excellon files (in fact a
> subset of Excellon format)

Yes, I was aware that it loaded drill files, but it seemed like it just
showed unique shapes for each drill hole size.  Now that I loaded a drill
file again though, I see it shows the actual geometric shape for the drill
hole.  So that was a false observation on my part.  I removed it from the
WIki wishlist page.

> By the way holes are no always circles.

Yes, I was aware of that.  Though have not yet made use of anything but
circles myself.

> Also:
>        "For items 2-4, it seems like the layer selection panel needs to be
> changed to a list
>        control of some sort, which allows for re-ordering..."
> Previous versions of Gerbview were using only a list control.
> The current layer manager (also used in Pcbnew) is *by far* better.
> It can be enhanced (Some enhancements will be also useful in Pcbnew) but
> certainly not replaced by the "old" layer control.
> Note, like in Pcbnew, we still have this list control in the main toolbar
> for this kind of enhancements.

I suppose rather than suggesting to replace it, it would be better to look
at it from the standpoint of how it could be improved.  The ability to
toggle display of multiple layers using SHIFT/CTRL list style selection and
re-ordering layers would be nice.  Otherwise one has to make sure to load
several Gerber files in the exact order they want them in.  This could
potentially be accomplished with a dialog or some other mechanism though.

> --
> Jean-Pierre CHARRAS

Best regards,
Element Green