← Back to team overview

kicad-developers team mailing list archive

Re: Kicad libraries for pcbnew


On Tue, 20 Apr 2010, Vesa Solonen wrote:

On Tue, 20 Apr 2010, Øyvind Aabling wrote:

I have added some more components and some improvements to my
pcbnew libraries at http://www.uni-c.dtu.dk/~univind/kicad/

It was just minutes ago I downloaded your latest archive. In awe :)

* Improved silkscreen on the horiz mount TO-PPs - now, it includes
the vert mount silkscreen, making the mounting orientation clearer.

This is very good IMO.

Yes, I noticed that the only way to identify the horiz mount
orientation was the square pad on pin#1, so it needed improvement ...

* Horiz mounted versions of the TO-92 and TO-237,

I have no idea where to use them, but someone else probably will...

Yep, I've seen horiz TO-92s on boards, I've taken out of
old equipment (for cannibalism), so they _are_ used :-)
The smaller radial (electrolytic) capacitors are also
often horiz mounted, so I'll better add those as well ...

Now at 847 parts and 5880 lines of code (incl.
dimension tables), so still about 7 lines/part.


This shows your approach to be a success. No other way could get so professional footprint/3D library with tuning possibilities. What i'd like to ask is whether those oblong holes on TO3 packages are intentional for tolerances or not? Otherwise the rotated pads are just what I requested some months ago :) For TO220-FP just solder mask cutout as a thermal pad would be nice, as "no net" pad is not going to work with DRC.

Yes, some parts needs an awful amount of code - the two fuses, I've just
added, requires 125 lines of code (the body shape (3D) of the mounting
clips is a nightmare), but for others, there's a _lot_ of code reuse :-)

I've improved on the extrusion routine (alternative ways of
specifying corners), otherwise those two damn fuses would have
required even more code (trigonometry calculations, mainly) ...

I've also considered a GUI interface (would be perl+Gtk2), enabling
you to select a part class, and enter the part dimensions (or
modify the dims of an existing part), to create new custom parts.

One use of this could be e.g. to modify the horiz mounting position
of a TO-PP, for use with a heatsink, w/o having to manually modify
the footprint and silkscreen (not to mention the 3D shape :-).

This will, however, require some more code, and changes to
the toplevel housekeeping code (which will require some
beautification anyway when I get "a round tuit" ...).

The TO3 oval pads was per your request, but I wasn't
sure whether to add oval holes as well or not.
So, should I keep them, or use round holes ?

Re. TO220-FP (and the other isolated packages):
You mean a solder mask cutout without a pad ?

I tried it in the module editor, and I think that
what you want is a $PAD with "At SMD N 00880000" ?

Although I've added the mounting hole on all the "HS up"
versions as well, many of the TO packages can't really be
screwed down tight with HS up, so AFAICS, the solder mask cutout
would only be useful for the heatsink down version, right ?
Also, with HS up, a thermal pad won't be very efficient anyway ...

Did you get your OpenGL driver issues sorted? I hope to see you as productive as possible ;) My ¤job has been taxing me abit too much and the symbols update needs more (up)scaling work to make it fit for printing.

Nope, haven't had time to dig deep enough :-(

I _have_ gotten a bit further, though.

I thought that the 3D stuff was also done via wxWidgets,
but it turns out that it isn't, that stuff's in libGL.

So, I don't think the problem has anything to do with wxWidgets,
and I tried replacing /usr/lib/libGL.so.1 with the old
version (yes, with a kicad compiled against the new
libGL headers ;-), and then it (sort of) worked again.
The libs are: OpenGL, Debian versions 7.0.3-7 and 7.7.1-1.

With "sort of" worked, I mean _really_ slow rendering (close to a second),
and surface hiding didn't work (appeared like _everything_ got drawn),
so useless really, but _no_ BadMatch X11 (or other) crashes !-)

I can also avoid the BadMatch crash if I disable all 3D rendering
in Pcb3D_GLCanvas::CreateDrawGL_List in 3d-viewer/3d_draw.cpp,
but then of course, I just have a black 3D window :-(
If I enable _anything_, it crashes ...

Since all other 3D apps that I've tried (glxgears, whitedune,
varkon) works just fine (and pretty fast), it must have
something to do with the way, kicad uses libGL, me thinks,
probably some missing initialization or something ...



Follow ups