← Back to team overview

kicad-developers team mailing list archive

Re: Arc support in zones etc

 

On Mon, 15 Dec 2008, jean-pierre charras - INPG wrote:

I am thinking computation time (for drawings) is not at pcbnew level,
but at graphic layer level (wxWidgets ? or Windows/Xwindows)
drawing time grows faster than segments count:
On my computer: less than 1 second for 12000 segments, 5 seconds for
24000 segments)
How about decoupling drawing/ui code from PCB structure engine? I thonl 
gEDA did such work some years ago. Anyway it is really difficult to get 
anything conclusive without real code profiling. My guess is that some of 
the progressive slowdown results from cpu cache size limits. Also, is it 
sure that using lookup tables for sin/cos is faster than cpu hw math if 
the table is out of cache? Drawing code is in the need of some 
modernisation too, is it? I need to study wx quite a bit more to be of any 
help in realising that.
Peter Clifton has made some really nice advances on gEDA tools by using 
cairo and opengl. I built his git head some time ago just to see whatwas 
going on. My understanding is that wxGC uses cairo on gtk.
http://pcjc2.blogspot.com/2008/05/cairo-support-for-gschem.html

Yes i believe trace the outline with arcs and then coarse polygons with
peak-to-peak error inside that outline line is an interesting (the best
?) approach.
I think that's the best way too :) Crosshatched fills and anything fancy 
like defined corner roundeness woud work just fine. Arcs for defining zone 
outlines would be nice too.
Arcs support has some advantages only when creating/editing complex
zones outlines, not to draw them.
Yes, that's because of Gerber limitations. Just for future there is nice 
piece of documentation there:
http://webstds.ipc.org/2581/documents/IPC-2581witham1pub.pdf

Filling areas can be handle by polygons (therefore without any arc
outlines, not supported by GERBER or graphic polygon primitives),
or by segments (these 2 ways are now supported by pcbnew)
FreePCB uses also zones outline to define the entire board shape (with
holes, restricted areas ...)
this is an interesting idea.

> I played with FreePCB on Wine and weren't able to view those gerbers on
> Gerbview as they seem to use negative aperture data or then I messed
> something up.
>
Yes, negative layers are used.
But most PCB manufacturers do not like this, because they cannot use DRC
at gerber level.
So i do not want to use negative layers in pcbnew.
It's a pity that manufacturers are a problem. It would make things so much 
easier for us to use neg layers for thermals and all. I'd also like to 
know why it's so difficult to do DRC on gerbers with aperture data. First 
hand it seems easy...
-Vesa






References