KiCad StepUp: The Sketcher for Footprint generation

This one: OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.13005 (Git)
Build type: Release
Branch: master
Hash: 29533320fc514029f3ce1af6bbf53cc03fb93049
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
Locale: Portuguese/Brazil (pt_BR)

I messed around and installed PCB workbench, but I am a noob in both programs. Do not worry too much, I am very thankful for your attention. I am prone to do a lot of mistakes!

Best Regards

Dimitrios

There are two workbenches out there. There is the pcb workbench which seems to be no longer maintained and focuses mainly on eagle, and there is kicad stepup. The later only supports kicad and is the one discussed in this thread.

Found it, sorry for bothering you with my lack of attention.

I just played a bit with my tools creating a quite structured footprint:

FreeCAD 0.17 is most suited for this result :smiley:
and because of the using of round rects and poly lines pads, KiCad 5 or developing release is necessary.

8 Likes

Opened because @maui has an update to the plugin!

Hi,
I’ve found some time to prepare a mini tutorial on generating a kicad footprint from a 3D manufacturer model…
The video shows how to create a footprint using a manufacturer 3D STEP model where are also included Pad outlines.
With StepUp the process can be quite easy and the result would be less prone to errors.

Requirements: FreeCAD 0.17, which is now the new stable release! :smiley:

11 Likes

Very impressive.
Minor question - the slot handling here seems to be via Edge.Cuts, which I guess is going to cope with any shape at all, but the more conventional simple pad-slot handling is via an Oval hole shape.
That slot info goes into gerber/excellon files, and needs no FAB intervention.

Can this recognize and export an Oval hole, or does the user have to do that step manually ?

StepUp WB will export the footprint as a standard KiCad footprint, assigning the pads to ‘oval pads’ with ‘oval drills’. No Edge.Cuts involved in the footprint here.
So the footprint and the generated Gerber files will be handled as usual.
The only thing to modify in the footprint is numbering the pads accordingly to the manufacturer’s datasheet.

Oh, great - I was just going by the very thin annular ring, but maybe that came from the original data, and it just looked like a thin outline slot …

I just made my first footprint with this feature. (See https://github.com/KiCad/kicad-footprints/pull/521)

It was a lot easier then it would have been in kicad. Only problems i encountered is with the text fields (reference and value)
I can’t seem to find how i can set their value and textsizes (by the way this is not really a problem just something that i noticed.)

1 Like

@Rene_Poschl
thx for your positive feedback :smiley:

it is a bit different compared to other items
Editing Label (in Data Tab)

Editing Font Size (in View Tab)


(note: this is adapting font size only in FC, there are only two font size pushed to kicad ATM, but as you already noticed it isn’t a big deal :wink: )

PS:

Tech draw does not allow overlaying multiple sketches on top of each other. And dimension between them. (A lot of dimensions are between different kicad layers which all are different bodies when imported using stepup.)

At least i could not find a way to do it a year ago. When i dimension real drawings i use tech draw as it supports more features (like cutout drawings, …)


Should the text contend and the text size be transferred to the kicad footprint?

probably has been updated :smiley:


  • Text Content is transferred to Kicad footprint (the content transferred is the one in the above picture)
  • font size in FC is not a dimension in mm, so for the moment I just transfer 1mm or 0.3mm depending on FC font size. I could add a Dimension Size for Fonts at the end of the reference, as I do for Layers, if you consider this useful.

drawing dimensions is still faster as i can add multiple dimensions one after the other.
In tech draw i need to select both endpoints (unless i want to dimension a line) and then click on the dimension tool. And the select both endpoints step is very hard to pull off if one endpoint involves a center of a small arc.

Hm i do not seem to be able to increase the number of digits shown. For checking courtyard correctness i need at least 3 digits precision. (yes there is an input for number format but it does not seem to work.)

You might want to check the 0.3mm option. The font width might be too large in kicad. (it tells me that it reduced it automatically when i try to edit the field.)

I’m suggesting TechDraw because DrawingDimension is sort of ‘abandoned’ WB
All innovation goes to TD which is in FC main branch.

https://forum.freecadweb.org/viewtopic.php?t=23016#p193293


it should be enough to just zoom in the page


thx I will

I tried it, liked it! The video was a little hard to follow (goes really fast) so I drafted a text-and-photos document of my try at it. Feel free to use it, modify, etc.

Generating a KiCAD Model from 3D Step Data.odt (2.3 MB)

4 Likes

Thx a lot! I will include this at the main repo, so it will be in the Demo help. :smiley:
I really like this kind of support. I know I’m in lacking of documentation and this can help me and users too :smiley:

Hi @Rene_Poschl
I updated the WB adding REF and Value font size as suffix in the FC file

I should have also fixed the REF & Value text exporting to kicad fp …
ref-label-text
please have a try
M

1 Like

With 1mm text size it might be better to set the text width to 0.15 (or in general text size * 0.15 rounded to two digits)


Also it would be really helpful to have the courtyard rounded to some grid. But to be honest i have no idea how the interface for that could look like. Does freecad support custom fields in sketches somehow? (Maybe a first step could be to round to 0.01mm grid by default.)

ATM it is text size * 0.2 but I can arrange it to 0.15

The origin for sketch is placed to the anchor of the fp … So if you constrain the sketch relatively to the center (0,0) you should be fine.