KiCad StepUp: The Sketcher for Footprint generation

Hi @maui I’ve got another one that fails :slight_smile: Just as I was gaining confidence in my process, it didnt work :frowning:

My process:
Import step file
push 2 so that you look straight at it
KiCad StepUp WB
Delete duplicate part SOLID007 (this comes from me being lazy and mirroring the whole filter structure in the EM tool instead of designing each one individually)
Do a union on the parts
part workbench -> Part -> Create a copy -> Refine Shape
KiCadStepUp WB
Click 3D object to 2D projection
Click 2D object or DXF to sketch
Click RF Polyline Sketch (here I get the error)

21:21:59  Running the Python command 'ksuToolsEdges2Poly' failed:
Traceback (most recent call last):
  File "C:\Users\Dominik\AppData\Roaming\FreeCAD\Mod\kicadStepUpMod\kicadStepUpCMD.py", line 566, in Activated
    w = Part.Wire(selEdge.Object.Shape.Edges)

Hairpin-1-1.stp (146.1 KB)

Any idea what I am doing wrong?

I don’t have issues…
but why don’t you simply select from solid to solid006 and click on RF Poly Sketch?
This should just give you the Pads_Poly sketch…
Have you updated the WB recently?


hairpin-1-1-sketch.FCStd (29.8 KB)

How does the polyline tool know which projection to use when you use 3d shapes? I thought I had updated the WB but it gave me a notification this time when I opened freecad saying that I was out of date. Both my tedious method as well as your much better one work with the latest version. My apologies! Thanks for your support :slight_smile:

1 Like

you are welcome

If you want to post or send the file with a pm, I’ll check it with the ksu wb.

If you still have the will to create a tutorial, I would be happy to help.

PS in the KSU WB ‘Demo’ Menu there are some of the RF files used here for testing…
There is the Notch filter with a Net Tie pad and the Transition Antenna with the fielding ‘vias’
In the sample files are specified also the assigned pin numbers

I will definitely make a nice write up. Though right now I’m still struggling to get my own files to work so I feel I do not understand the process well enough yet. I’m trying the net tie now but I can’t even get the main footprint to generate with only 1 pad. Maybe it is failing because of the arcs? How do you troubleshoot these issues?
Lowpass-2-2.FCStd (81.3 KB)
Lowpass-2-2.stp (248.3 KB)

You must check there is NOT a double shape overlapping in your 3d model…
I’m attaching the ‘cleaned’ model, in which I have deleted the double shapes…
(in your step file ‘SOLID011’ and ‘SOLID025’, ‘SOLID012’ and ‘SOLID026’)
(to check it just simply hide a shape and check if there is an other visible on the same place)
Applying the tool to that ‘cleaned’ model, it works flawlessly.
Here the reduced file and the resulting Sketch (I simply added a circle to the sketch to finalize a pad poly structure):
Lowpass-2-2-cleaned.FCStd (49.3 KB)
lowpass-2-2-cleaned.kicad_mod (4.5 KB)


Hey @maui, Thanks, I had checked this, though after I clicked the polyline tool and created the sketch. Looking at the sketch, there were no duplicate lines so I thought it was OK. Shouldnt it have caused an issue with the sketch it generated? Or I guess more simply, what is wrong with the Pads_Poly sketch that is in the file I posted? To me these two seem identical except that one works and the other doesnt.

I tried to reproduce what @maui explained and tested your design, I got also an empty footprint, but then I realize that the instructions are:

and looking at your sketch I saw that your circle is not “inside” of the pad poly structure.

So I changed this:

to this:

And it seems to be working, as I could connect a track to the pad:

> 14:36:12  PoM not present
> 14:36:12  using 'Part' container and 'Links'
> 14:36:12  FC Version 019-24276
> 14:36:12  kicad StepUp version 9.7.6.2
1 Like

Yes! I just noticed this too. The circle is tangentially inside so perhaps the algo doesnt like this. I’ve been making the circles like this on all my footprints without any issue to ensure the pad is centered. Of course there are other ways but this seemed the quickest. Maybe I just got lucky and on this particular footprint it didn’t work as intended. In the future I’ll do little ones instead. Good find!

1 Like

in your sketch there is a circle tangent to the external polyline… this may lead to some issue in the code generating the footprint… (in some occasion it may work as for the NetTie sketch)…
In general the circle should be, as pointed out by @der.ule, fully inside the polyline
I tried to avoid this limitation, but ATM I cannot in some user case…

Would you mind to check the new update?
I should have solved the circle pad when the circle is tangent to the polyline.
You could also test the option to specify padNumbers (and Bottom or Internal layers) for footprint generation.


Lowpass-2-3.FCStd (81.2 KB)
lowpass-2-3.kicad_mod (5.0 KB)

I will check it when I get home tonight. Could I recommend using “Num” instead of “Nbr”? I think it is the more standard abbreviation.

now both padNbr and padNum are allowed

Just tested it and it all seems to work perfectly! Thanks for all your work! Pad numbers are automatically assigned and the tangent circle pads work as well. One thing I noticed, the keywords “NetTie” are camelcase whereas the keyword padNum and padNbr are not. Would it make sense to make them PadNum and PadNbr just so the syntax is easier to remember?

On a separate note, how do you recommend splitting step files where there is “extra” stuff. I’ve been using Part->Compound->Explode Compound from the file menu and then deleting the extra stuff before using the StepUp WB Union button. I suppose the union step is not needed and I can go straight to the Polyline sketch button, right?

nice!

you don’t need to union the shapes, you can just go straight to the polyline sketch button to get the final sketch… all the job is done internally

Hello @maui, first I would like to thank you for the creation of this plugin.

I designed a PCB with KiCad and want to import it in FreeCAD. Everything but the import of the filled zones work out of the box. After a little investigation it seems to me that there is a problem if a copper zone fill is active on more than one layer (in my example top and bottom). I have attached a minimal example.
To reproduce, open in KiCad and make sure the copper zone fill is active on only one layer. Import in FreeCAD including the copper works as expected.
Change the zone to be active on Top and Bottom layer, import again in FreeCAD and the copper zone is not included.

FreeCAD_zone_example.kicad_pcb (16.6 KB)

Is this a know limitation of your plugin?

Version Numbers

FreeCAD Version: 0.19.24291 (Git)
KiCad Version: (5.99.0-11550-g369d813a32), release build
kicad StepUp version 9.7.8.2

@fox
ATM this is an issue in track loading and it seems to be also in fcad_pcb which is the library I use for parsing and generating the tracks.

Thanks for the feedback.

1 Like

it should now be fine with latest update

I have another question concerning the mask layers. Is it possible to see them in FreeCAD? I’m making an aluminum housing for the filters in the previous posts and I would like to be able to see the exposed areas of the pcb to ensure there are no mistakes. You can imagine it like this:

image

The exposed ground areas will have metal walls contact them from the housing.

Hi @dom11990, have you started to write a little tutorial?
I would be very happy to add it to ksu WB.

I’m going to see if I can add the option to load a Mask area inside FreeCAD.
Do you have a demo board to test it? (you can send it in PM if you prefer).