KiCad StepUp: The Sketcher for Footprint generation

@dom11990
I’ve updated the tool to push-pull from/to kicad_pcb a FillZone, KeepOutZone and Mask Zone.

1 Like

@maui
Thanks for the quick work around, I’m glad it wasn’t me that was doing something wrong. Hopefully you will resolve the issue quickly and can then restore the features lost by the reverting the code back to before the issue.

@dom11990:

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.

Perhaps you can use the power of FreeCAD? Import the finished pcb into FreeCAD with the KiCADstepUP tool, then import STEP model(s) of your aluminum parts, and then use one of FreeCAD’s assembly workbenches to assemble the whole thing. You can make the aluminum parts a bit transparent, so you can observe if there are any problems.

Hey! I’m trying to design a EMI/RFI shield for RF board, SatNOGS-COMMS and i’m stacking in footprint export from FreeCAD to KiCad. The FreeCAD model is placed here.


The problem is, when i create a sketch with RF_PolyLined Sketch the conversion to footprint, it has a result of unified plane and not the shape of sketch.

I would like to create a guide how to go from KiCad to FreeCAD and back to KiCad in order to create the EMI/RFI shield.

1 Like

Have you tried @maui StepUp plugin for FreeCad?

2 Likes

Hi @Agis

to get a Pad Poly in KiCAD you need to create a shape that does not a create a ‘closed’ ring
this is not fine:
image

this is fine:

Then in your user case, you need to break the shape, even with a small gap, and then create the poly line shape to be converted to kicad footprint.
Then you need to add a small circle inside the sketch to create the reference pad

emi_shield-v2.FCStd (657.1 KB)
emi_shield-v2.kicad_mod (46.6 KB)


btw nice board :smiley:

3 Likes

Hi @Agis
I see from your latest board commit that you have solved your fp issue and you have created it using StepUp.

Please feel free to contact me even in PM here to help you in creating the howto guide.

1 Like

Thanks for help! Also i couldn’t understand that i can create multiple Pad_Poly-“name”, with different names.

The howto guide will contain steps on how we use KiCadStepUp in order to create the EMI/RFI shield.

4 Likes

This should be posted publicly, so that everybody learns.

@maui: So, how could the not-OK “closed-ring” case be handled?

Kicad ATM for poly pads can handle only the external contour of a selected shape / polyline(s)…

Hi there,

First off, thank you for creating this tool! it has been very helpful in visualizing my designs.

I am currently running into a small issue and I was hoping you could help me. I use Fmask zones in kicad a lot for graphics and exposing copper in selected areas. In 3d boardviewer and exported vrml files it all looks as it should, and gives the drillholes priority over the soldermask cutouts. But when I use stepup it seems to paste it as a layer on top of everything. Is there a way to exclude the holes from the soldermask cutout zones?


kicad 3d viewer

freecad without soldermask cutouts

freecad with soldermask cutouts

Perhaps it would be possible to add soldermask cutouts to the pads layer and have them treated the same way?

Once again, thank you for creating this wonderfull tool and I hope you can help me.

You are missing a couple of facts in your post to make it easier for Maui to check your problem:

  • KiCad Version (Help->About KiCad->Copy version information
  • FreeCAD version
  • StepUp version (shown at the top when first opening the Workbench)

Thank you, I am currently on all the latest versions but forgot to mention that.

kicad:
Application: KiCad x64 on x64

Version: 7.0.5, release build

Libraries:
wxWidgets 3.2.2
FreeType 2.12.1
HarfBuzz 6.0.0
FontConfig 2.14.1
libcurl/7.88.1-DEV Schannel zlib/1.2.13

Platform: Windows 10 (build 19045), 64-bit edition, 64 bit, Little endian, wxMSW

Build Info:
Date: May 27 2023 02:48:13
wxWidgets: 3.2.2 (wchar_t,wx containers)
Boost: 1.81.0
OCC: 7.6.3
Curl: 7.88.1-DEV
ngspice: 40
Compiler: Visual C++ 1936 without C++ ABI

Build settings:
KICAD_SPICE=ON

Freecad:
v. 0.20.2

stepup:
v 10.19.4

1 Like

@Yoesem
I think it should work if you are going to export F_Mask and B_Mask as for F_Silkscreen and B.Silkscreen
(have a look at kSU cheatsheet)
Eventually you may need to remove some items in the dxf kicad exported file

Hi,

I get “missing reference pad for polyline pad” Error In FreeCAD 0.21.1 for some of the shapes exported in DXF from Keysight Genesys, even though I have inserted the circles, when generating kiCad footprints.

Changing DXF import scale from 1.0 to 2.0 or higher seems to resolve the issue, for some of the shapes, but it’s not a solution.

All segments seem to be closed polylines, and the shapes with issues look very similar to shapes without footprint generation issues.

I am not sure what is causing the issues with some of the shapes.

Some of the shapes with issues I can redraw in FreeCad, but for large RF circuit import it is not a solution.

Are there any special options I should use when exporting DXF file from Keysight Genesys to avoid these errors? Any suggestions? TIA.

Below is the error message.

11:57:22 normalized Poly
11:57:22 circle drill
11:57:22 circle drill
11:57:22 collected poly pads centers and positions
11:57:22 poly closed
11:57:22 pad in poly found! 29.694414138793945,20.999361038208008
11:57:22 Poly_F_Cu
11:57:22 poly closed
11:57:22 missing reference pad for polyline pad
11:57:22 Running the Python command ‘ksuToolsFootprintGen’ failed:
I am new to FreeCad and Kicad StepUp.
DXF_export_0
DXF_export_1

test2_x1_scale_issues.FCStd (41.4 KB)
test1_x2_scale_ok.FCStd (40.3 KB)

that is strange…
I just tried to copy an rotate the shape on sx and it is working… there should be something wrong I’m missing in the dx shape or kSU code…


test2_x1_scale_issues-mirrored.FCStd (54.6 KB)

Hi, yes, one option is to use the shape on the left side, which is not causing the error when converting to footprint, copy and mirror it to create the other shape on the left side, and then create a footprint. That is in fact I had to do, to fix some of the shapes with issues, other shapes with similar issues (same error) I had to redraw.

As this could be a lot of manual work, when dxf file I am importing has many different shapes, I was hoping to understand what is the cause of the error message for those particular shapes.

Like “Polyline076_issue_x1_scale” shape (on the right side) imported from dxf file, which is causing the error when trying to use “footprint generator”.

For simplicity, I removed other shapes from the imported design.

Any ideas?

BTW, I just tried your test, to mirror “Polyline076_issue_x1_scale” shape, followed by '2D to sketch" and “footprint generator”, and as you said, it is strange but it works, no error.

But, just rotating or moving the shape closer to global 0,0 reference does not work and still produces the same error message.

Mystery of non mirrored “Polyline076_issue_x1_scale” shape and some others, continues.

probably we would need to improve the algo which is generating the polyline path to be converted to the fp.

@robertem2k
do you have the original dxf to test?