3D new library for Mechanical CAD exporting and enclosure design

I made some progress using the FreeCAD / CadQuery scripts to generate a TSOP2 54-pin package for the Micron SDRAM IC.

Basically, I was able to copy & paste a new parameter block in the file “cq_parameters_tssop.py” and update it with some values from the data sheet.

'TSOP2-54': Params( #
    the = 12.0,      # body angle in degrees
    tb_s = 0.15,    # top part of body is that much smaller
    c = 0.15,        # pin thickness, body center part height
    R1 = 0.2,       # pin upper corner, inner radius
    R2 = 0.2,       # pin lower corner, inner radius
    S = 0.15,       # pin top flat part length (excluding corner arc)
    fp_s = True,     # True for circular pinmark, False for square pinmark (useful for diodes)
    fp_r = 1.2,     # first pin indicator radius
    fp_d = 0.3,     # first pin indicator distance from edge
    fp_z = 0.15,     # first pin indicator depth
    ef = 0, # 0.05,      # fillet of edges  Note: bigger bytes model with fillet
    cc1 = 0.25, #0.45 chamfer of the 1st pin corner
    D1 = 22.22,       # body length
    E1 = 10.16,       # body width
    E = 11.76,        # body overall width  E=E1+2*(S+L+c)
    A1 = 0.1,  # body-board separation
    A2 = 1.0,  # body height
    b = 0.375,  # pin width
    e = 0.8,  # pin (center-to-center) distance
    npx = 27,   # number of pins along X axis (width)
    npy = 0,   # number of pins along y axis (length)
    epad = None, # e Pad
    excluded_pins = None, #no pin excluded
    modelName = 'TSOP2-54-MT48LCxxMxA2-P', #modelName
    rotation = -90, # rotation if required
    dest_dir_prefix = 'TSSOP'
    ),

However, I didn’t see any .kicad_mod file produced with the 3D model. How can I also generate the footprint?

Thanks very much.

2 Likes

@punch_it_twice
for the FP the simplest way is to use the kicad footprint wizard

2 Likes

Or use the scripts by @pointhi:

Sadly there is no script (yet) generating SOIC footprints. But there is one for DIP style packages. It might be possible to modify this to generate the desired footprint(s) (Yes this would be a lot of work for only one footprint but it would still be nice if the SOIC footprints are script generated.)

2 Likes

Script generated footprints are also available for many patterns using QEDA. This will generate IPC Compliant footprints (and a library component too) from some simple parameters

e.g. for a typical 8 pin SOIC you define it in the following terms:

housing:
  pattern: SOIC
  suffix: -S
  bodyWidth: 5.13-5.33
  bodyLength: 5.13-5.33
  height: 2.03
  leadWidth: 0.36-0.48
  leadLength: 0.51-0.76
  leadSpan: 7.75-8.26
  leadCount: 8

Currently supported footprints are as follows http://doc.qeda.org/patterns/

The SOIC footprints details are described here - http://doc.qeda.org/patterns/soic/

2 Likes

@maui
Thanks for the tip. I will try that.

@maui
I downloaded the Footprint Wizard plugin from https://github.com/xesscorp/xess_fp_wizard. To install it, I coped the .py file to C:\Program Files\KiCad\share\kicad\scripting\plugins, per the instructions in the README file.

I was expecting to see something appear under the Tools menu in PcbNew (according to HOWTO: Register a python plugin inside pcbnew Tools menu) but nothing showed up there.

Also, I tried copying the .py file to C:\Program Files\KiCad\bin\scripting\plugins, but again, nothing appeared under the Tools menu in PcbNew.

What am I doing wrong?

I am using KiCad 4.0.7 on Windows 10 64-bit.

Thanks & best regards.

This feature is only available on daily build for the moment (dev version). Will not be on 4.0 stable branch but on next stable version (5.0 ?)

2 Likes

Thanks @jsreynaud. I will try the nightly build.

Hey People im looking for suggestions for a small “math problem” :slight_smile: Im working on adding auto options in the parameters for specific packages.
For the pin1 indicator on QFN and QFP I believe a decent looking radius and distance to edge could be found from the package width and length :slight_smile: any proposals?

To clarify… no extra point, line, etc.?
Just the outline with a round corner for #1 instead of a sharp one (like the other 3)?

A simple 45 degree chamfer on pin 1 would be adequate to be visible and might model more easily

Hi guys
sorry for the incomplete question. Ill try to clarify now :slight_smile:
in the image below you can see a screenshot of a scripted QFN model.
the Red line is the “Distance to edge” and the Green line is the “Pin 1 Radius”.
These parameters are (often) not in the datasheet of a package, therefore these are guestimated.
I would like to make an option to have the script gestimate these parameters, so they should simply be decent looking.
does this make sense?
I know alot of people think im overcomplicating things but I do prefer to have the script handle as much unknown as possible

2 Likes

I am happy with a guess, even if the real value is actually known. This is just a cosmetic feature and has no consequence on “Will it fit?”

I know it’s a cosmetic feature, but a bad guess can easily look really bad. For this reason it can easily mean I have to regenerate the specific model multiple times to get it right. And with currently like 200 QFN/QFP models there is time to save

i don’t know if it works and looks good - you could try to use the distance from the first pin to the edge.
and check/implement some minimal values. (my guess as minimal is: distance to edge = radius of circle; circle radius >= 0,2mm so it is visible enough)

Looks interesting but how do you use all that work? and how many fund will it take t get the software to something that is something like altium?

You use it in the 3D viewer and for export step and Wrl boards?
Atm Altium has around 400 employees, that’s pretty many money. Kicad has 2 (I believe)

1 Like

BTW, thanks to a fix by @SchrodingersGat, the KiCad nightly (from Nov. 7 on at least) is now also able to export a step model of a board that only references the .wrl models (provided that the step models with the same names are present alongside the .wrl model), just like StepUp is able to do it from FreeCad. Before this fix, it was required to reference the step models. I keep being amazed how responsive the KiCad developers are to bug reports.

2 Likes

No I mean how do you assign them to the footprint automatically…

Also it’s about quality not quantity for that kind though how much would it take to make development of kicad a full time job for it’s developers?

Just a side question here:

when I use the stepup tool in free cad to import a PCB there some of the models I actually assigned are always missing as well as the models for the DF13C connector(Also missing in the kicad 3d viewer for the DF13C) no idea how to assign them back to be able to see them in FreeCad,

Also when I try to export the same pcb from kicad it show me this error:

Running the lates nightly versino of kicad.

Thanks for answering,

By defining it in the footprint settings and by setting the environment variables for both kicad and stepup to look up the right places.

120 Swiss francs per two man hours according to cern: