kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #01999
Re: Arc support in zones etc
-
To:
kicad-devel@xxxxxxxxxxxxxxx
-
From:
Vesa Solonen <vsolonen@...>
-
Date:
Mon, 15 Dec 2008 19:35:29 +0200 (EET)
-
In-reply-to:
<494642DA.4040002@...>
-
User-agent:
Alpine 1.99 (SOC 1136 2008-08-12)
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