← Back to team overview

kicad-developers team mailing list archive

Re: gerbview: aperture macros


Dick Hollenbeck a écrit :

> about adding a flag bit or bool to class TRACK which would indicate that
> the track is to be drawn in the background color rather than in the
> layer's color.

To fully support the erasure in a multi layer display, don't we also
have to:

1) draw the tracks in the order of occurrence within the gerber file?
Our track->Insert( ) logic may be inserting these tracks backwards. This
is not hard to fix.

Yes, this is the result of the negative layer support, that is a dynamic attribute. Currently, drawings are made first for flashes and lines, and after for polygons (from D01 and D02 commands usually used for copper areas). This must be changed, and all items must be drawn according to the gerber file order, because this is incompatible with a dynamic attribute.
Of course it is not hard to change.

2) buffer each whole layer in its own separate bitmap while drawing, and
then OR the bit map into the display. Otherwise the erasure will erase
stuff from other layers.

This is the main work.
But I do not know an other way to draw black shapes and see ORed planes on screen. Using a memoryDC to draw a gerber file, and a copy (blit) in ORed mode to the Current DC seems a reasonnable way to do this.

More food for thought.


By the way, i am starting (in pcbnew) the work to consider copper zones (using filled areas by a polygon approach) in connections calculations.
Using filled areas by a polygon approach seems work rather well.

Jean-Pierre CHARRAS

Maître de conférences
Directeur d'études 2ieme année.
Génie Electrique et Informatique Industrielle 2
Institut Universitaire de Technologie 1 de Grenoble
BP 67, 38402 St Martin d'Heres Cedex

Recherche :
Rue de la Houille Blanche
38400 Saint Martin d'Heres

Follow ups