Roundrect missing from Kicad stable 4.0.4

Running Kicad 4.0.4 on Fedora 25 with a version 4 layout file, I receive the parse error…

Error loading board.
PARSE_ERROR: Expecting ‘circle, rectangle, oval, or trapezoid’ in input/source
‘/home/jnavratil/Projects/cyltex/rpi-pmon/rpi-pmon.kicad_pcb’
line 4739
offset 22

From the commentary, roundrect pads have been missing since 4.0.2. They are still missing from 4.0.4 - the latest in the Fedora 25 repository. I’ve read the notes for the new 4.0.5 release and see no mention of this being reinstalled. I’ve tried the work-around of editing the pad definition in the layout file, changing…

(pad 6 thru_hole roundrect (at 0 2.15 270) (size 1.6 0.75) (drill oval 1.1 0.25) (layers *.Cu *.Mask F.SilkS)(roundrect_rratio 0.5)

to…

(pad 6 thru_hole rectangle (at 0 2.15 270) (size 1.6 0.75) (drill oval 1.1 0.25) (layers *.Cu *.Mask F.SilkS)

with not effect. Even shutting Kicad complete down, I still get the parse error.

This leaves me with several questions…

(1) Is there a work around? I really don’t want to get into patching code.

(2) Are there plans to restore this pad type?

(3) Am I better off building a part with other thru-hole pad. The part affected is a uUSB connector which really wants a slotted thru-hole for a tab.

I thought rounded pads were only planned for v4.5 (mid term update) or v5 and available in the nightlies only, while the v4 versions get bugfixes only (no new features)?

No version of 4.0.x has supported rounded rectangles.
This must be a board made with a Nightly build.
5.0 will presumably include this feature, but I’m not sure of any tentative date for that version. There is nothing about a “4.5” in the roadmap

1 Like

The version was 4.0.2-1.fc23-product installed from the F-23 repos. I suppose there is nothing to have prevented that from having been a nightly build. I don’t know how I received the uUSB_Molex_105133 part which makes use of same, but that is what I have. I seem to have incorporated a part which relied on a test release into a test release which i didn’t know I was using.

So I’ll take any suggestions as to where to go from here.I can’t revert as I need a later version of python matplotlib for some assembly drawings.

I suppose I can download a “nightly”. Do you have a reference on how to do that? Laziness and upgrade simplicity makes me prefer a distro package.

I could modify the part, of I could hack the .kicad_pcb file, knowing I could regenerate it if needed. That last options seems attractive, and I tried it unsuccessfully.

I’m looking for pearls of wisdom to help me out of this fix.

Thanks.

From the name [quote=“jnavratil, post:4, topic:4718”]
version was 4.0.2-1.fc23-product
[/quote]
Should not have been a Nightly build
I cannot find “uUSB_Molex_10513” using Google, so don’t know where that came from

Unfortunately there is no version number in the footprint, so it is easy to import parts which are not compatible. Compatibility is an ongoing problem with KiCad, but I don’t think it will ever be fixed.

Using nightlies will not solve compatibility problems, it will just create more!
I strongly suggest to edit your part and reload the schematic.

2 Likes

I had built a Kicad from source on my laptop which, it seems, must have been a nightly. The FC23 version exhibits the same behavior.

I’ll take that advice.

That is a serious omission. There are going to be a lot of problems when 5.0 is released and people start creating parts with rounded rectangular pads. There are good reasons for using them, it often allows the routing of an extra track between pads without DRC errors. The only support answer is going to be “upgrade to 5.0.x”

As a duffer Kicad user, I strongly agree. At the very least, 4.X should reject a PCB file with an explanation instead of an error.

[EDIT: As an aside, this error message would be more informative if the offending text were also printed. Specifically, I was mislead by Expecting 'circle, rectangle, oval, or trapezoid’ into replacing “roundrect” with “rectangle” and was confused by seeing the same error message. May I suggest the text of the error message contain the exact spelling of the expected strings?]

1 Like

Without using the development branch, one of the few options you have is to edit the files which use rounded rectangles and change them to normal rectangular pads. Due to the parameters in the rounded rect, ‘awk’ or similar would probably be the most convenient scripting language to make the changes. (Maybe a sed master out there could do it with sed.)

The PCB file downgrade is very simple:

  1. Remove any (diff_pair_gap xxx) and (diff_pair_width xxx) from all (net_class sections. (The xxx replace numeric values).
  2. Replace any roundrect occurrences with rect (for rectangular pad) or circle (for circular pad).
  3. Remove any (roundrect_rratio xxx) from all (pad sections.
  4. Open PCB in stable Pcbnew and refill all zones and perform DRC.

If the rounded rectangle pads are used in footprints in your libraries, to protect yourself apply points 2 and 3 in these footprint files too.

4 Likes

This needs to be a FAQ

1 Like