← Back to team overview

kicad-developers team mailing list archive

Re: A few extra component footprins


On Thu, 12 Aug 2010, Vesa Solonen wrote:

On Thu, 12 Aug 2010, Alex G wrote:

I'm attaching the Sharp SSR library complete with symbol, footprints
(vertical and horizontal, and 3D packages (I left the color at its
defaults, as I have no idea how to efficiently change it in Wings3D). I
think the symbol is a good candidate for the opto lib. Please let me
know if there's anything I need to correct.

Footprint and 3D are very good. Small addition to both would be reverse horizontal orientation (heatsink pad upwards from the seating plane). Wire bending radius may need some checking. The radius seems to be a bit low. In isolated packages the mounting hole shoud be left without pin number as it's not connected to any net. Oydvinds transistor example boards shoud be of help. Pin numbering is a bit weird too as it seems "the missing pins" are counted too. Could you offer some explanation?

We should also agree on coherent (and possibly pleasant) symbol drawing style to get a consistent look for the whole schematic. http://users.tkk.fi/~vsolonen/kicad/ has some example libraries and symbol guideline document for starters. Please comment on the gudelines if they seem unreasonable or flawed. Guideline sizes at least need some work.

I still haven't gotten a reply from Oydvind, so there's not much yet I
can do about the other components, if they are to be integrated into his

He may be busy elsewhere, but I'd guess he'll answer asap. He possibly knows the solution to the colouring problem also. Your hand drawn footprints and 3D was so good that I'll add them to the library any day. Scripting suggestion was just to spare your efforts to some really exotic components :)

Yes, sorry for the delay, but I've had an awful lot of
little and not-so-little things to do (*), and as I can
only concentrate on at most seven things at once, I've
been putting kicad a little on hold for a while :-)

(*): Various revived projects, and changes at work,
so knowledge to hand over, and new stuff to learn.
Nothing actually complicated, but Things Take Time ...

As noted in another posting, colors (in the broadest sense, including
properties like transparency and shininess) in VRML is handled by defining
(and naming) a "material" the first time it's used in a VRML file, e.g.:

        material DEF body Material {
          diffuseColor 0.2 0.2 0.2
          emissiveColor 0.2 0.2 0.2
          specularColor 0.2 0.2 0.2
          ambientIntensity 1.0
          transparency 0.0
          shininess 1.0

Subsequent references can refer to the name,
saving some space: "material USE pins".

As Alex G noted, defining 3D shapes using "art" programs
is a pain, which is why I've scripted _everything_ :-)

The footprint, silkscreen and 3D shape is all generated by
perl code, using only the package dimensions and attributes
(such as unit (mm or mil) and pin count) as input.

The code includes general routines for adding pins in various
patterns, or making e.g. boxes or rotational or extrusion surfaces
for the 3D view - I'm going for as much code reuse as possible :-)

Classes of packages of similar shape, e.g. resistors, or DIP or QFN chips
are defined using dimension tables, so apart from any special code
for that class, each part is usually only a single line of specs, which
means that I've been able to keep it at ~7 lines per part on average :-)

Other component classes, like the TO transistor houses, requires
quite a few lines of code and tables (~600) - the routine for
generating the five (!) variants of the TO Plastic Package
is especially ugly (all 106 dense lines of it) ...