Pad with special shape in V5

I installed V5 a couple of days ago after purging 4.0.7 to avoid conflicts. The first application I tried was the special pad shape, shown in the attachment, which required hacks (overlapping trapezoids) in 4.0.7 and subsequent cleanup of the solder mask by hand. I defined the pad in question as “Custom (Rect. Anchor)” and entered the appropriate segments in “Custom Shape Primitives.” KiCAD insists on an anchor (what is that, exactly) and, although the segments are correct and form a closed polygon, only the anchor is shown as copper.

I did try to find some documentation on custom pad shapes before posting this, but I could not find any. The pad is essentially rectangular, but with a corner truncated along a straight line, but the resulting closed polygon is not a trapezoid. The dimensions, several of which are redundant but were included for convenience, are in mm. Is there any way to import the shape of the pad as, say, a DXF file?

1 Like

The anchor is just a conventional pad (round or rectangular, TH or SMD). Electrical connections are made to it. The custom pad shape basically goes a round it, of course it needs to be connected by overlapping. Both the anchor pad and the custom shape should show up in the pad editor.

FreeCAD and StepUp plugin can be used to create and export DXF to KiCad. There’s enough information about it already in the internet and in this forum, but I bet someone here will give you more soon.

In KiCad you don’t have to edit polygon corners as numbers. Create a graphic polygon to some layer. Open its Properties and change the layer to the wanted copper layer. Create a normal rectangle or round pad and move it inside the polygon. Select both and open the context menu -> Create Pad from Selected Shapes.

Basically the additional normal pad exists just to give the pad a center point, i.e. an anchor (I think).

1 Like

I haven’t tried custom pads before, so I thought I would try.

  1. Create an anchor pad
  2. Draw a polygon over the pad on the FSilk.S layer. Here I used a grid size of 0.01mm, using the keyboard arrow keys and the relative position. I made the corner chamfer 0.33 x 0.31. Set the polygon line width to 0.0 mm.
  3. Select both objects using the group select
  4. Right click and select “Create Pad from Selected Shapes”
8 Likes

Yes, you don’t have to move the polygon to a copper layer first, contrary to how I did it. I think earlier in nightly builds you had to do that, but at least in 5.0.0 it’s more simple.

1 Like

importing a dxf in kicad fp atm is giving you a non filled pad.
A workaround can be done importing the dxf in FC and then use it with StepUp to convert the dxf to a polyline sketch wich will allow you to export a corresponding kicad fp.

Some tips here

@maui, @madworm, @eelik, @bobc: Thank you all. I think I now know my problem: In the “Custom Shape Primitives,” instead of adding individual segments, I should have added a polygon (this is the last selection from the top, requiring scrolling of the pop up menu to get to it) and then manipulated the corners of the polygon.

Certainly this is a great improvement over 4.0.7!

still import from DXF will not be converted to a polygon, but to single segments;
there is a button to import primitives (i.e. polyline from points) but this is still not implemented.
The option to import from dxf to create custom filled pad shapes (i.e. for RF design) is not viable atm inside kicad.

@maui: Thanks for all this info. Will the option to create custom-filled pad shapes from DXF imports be implemented eventually in KiCAD5?

I don’t think new features will be added to k5.
It will be probably on k6.
ATM you can do it only outside Kicad through FC and StepUp.

Thank you!

I have a couple more questions:

  1. If in the ‘Custom Shape Primitives’ window only the polygon results in a pad, then what are the other options (segment, arc,…) there for?

  2. In my KiCAD5, I cannot find the Python window. Here is the information about my KiCAD5:

    Application: kicad
    Version: 5.0.0-fee4fd1~66~ubuntu16.04.1, release build
    Libraries:
    wxWidgets 3.0.2
    libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
    Platform: Linux 4.15.0-29-generic x86_64, 64 bit, Little endian, wxGTK
    Build Info:
    wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.58.0
    OpenCASCADE Community Edition: 6.8.0
    Curl: 7.47.0
    Compiler: GCC 5.4.0 with C++ ABI 1009

    Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_WXPYTHON=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

Future use maybe?

The Python console window was disabled in this release, because of dependency issues with gtk2/gtk3.

1 Like

The only use I found is for this special footprint where there is an annular pad which can be done as a custom primitive “circle” with an assigned width

1 Like

@bobc: Thank you for pointing out this very simple detail. Will the Python window be re-enabled in KiCAD5? I do remember reading in the forums that there was an issue with wxPython and its dependencies on GTK2.

@maui: Thank you for the interesting example. How did you come up with the stencil pattern on the right?

@cflin you can have a look at this thread

1 Like

All primitives are able to create pads. However, only the polygon will be a filled pad. There are different use-cases for arcs/segments/circles that are not filled. However, they must all share an intersection with the anchor pad. i.e. all items in the custom footprint must be electrically connected.

1 Like

@maui, @bobc, @eelik, @Seth_h, @madworm: Thank you for the information.

So, now it seems KiCAD5 can handle arcs in pad shapes! Can the DRC algorithms always be aware of such arcs, though?

Yes. If not then you found a bug.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.