Pads dropped with gerbview export to pcbnew

I have a design in kicad v6. I’m working with a pcb mill that unfortunately has trouble with gerbers exported from v6, but is fine with gerbers exported from v5. I know kicad is not forward compatible, but I’m still trying to somehow make the gerbers come out in a v5-compatible format.

What I’ve done is to open the v6 gerbers in gerbview v5 and then re-export them as a kicad pcb file. From there I can open in pcbnew v5 and plot gerbers. This almost works, but the pads are dropped. The pads look ok in gerbview v5 but are not visible in pcbnew, so either they’re dropped on export to the kicad pcb file or ignored in pcbnew.

Any thoughts on how to resolve this? Or, maybe other ways to achieve something similar? Thanks!

If possible, i suggest to attach the design files here, so that the eventual issue can be replicated by others. This can speed up a lot the identification and eradication of bugs.
I’ts also a good idea to add some info about you system, simply do:
help->about->Version->copy version info

it is also possible to open a issue on GitLab marked as ‘confidential’ so that the design data reaches only the design team.

Thanks for the reply Claudio. I’ve attached the relevant files. I’ve also attached screenshots of the gerbers in gerbview with pads present and the pcb file in pcbnew without pads present (I just showed bottom layer to make issue clear).

The 5.x version I’m using is:

Application: Pcbnew
Version: 5.1.10, release build
wxWidgets 3.0.5
libcurl/7.76.1 OpenSSL/1.1.1k zlib/1.2.11 brotli/1.0.9 libssh2/1.9.0 nghttp2/1.43.0
Platform: Linux 5.12.4 x86_64, 64 bit, Little endian, wxGTK
Build Info:
wxWidgets: 3.0.5 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
Boost: 1.69.0
OpenCASCADE Technology: 7.5.1
Curl: 7.76.1
Compiler: GCC 10.3.0 with C++ ABI 1014

Build settings:

The 6.x version I’m using is:

Application: KiCad

Version: 6.0.5, release build

wxWidgets 3.1.5
libcurl/7.83.1 OpenSSL/1.1.1o zlib/1.2.12 brotli/1.0.9 zstd/1.5.2 libidn2/2.3.2 libssh2/1.10.0 nghttp2/1.47.0

Platform: Linux 5.12.4 x86_64, 64 bit, Little endian, wxGTK, , tty

Build Info:
Date: Jan 1 1980 00:00:00
wxWidgets: 3.1.5 (wchar_t,wx containers) GTK+ 3.24
Boost: 1.77.0
OCC: 7.5.1
Curl: 7.83.1
ngspice: 37
Compiler: GCC 11.3.0 with C++ ABI 1016

Build settings:

5.x.kicad_pcb (188.9 KB)
hp_10811a_test_fixture-B_Cu.gbr (13.5 KB)
hp_10811a_test_fixture-Edge_Cuts.gbr (737 Bytes)
hp_10811a_test_fixture-F_Cu.gbr (152.1 KB)

i think that the bottom pads are already missing from your kicad design file,
this is what i see with kicad 7.0:

Thanks for checking that Claudio.

Yes, I agree they’re missing in the design file (that’s what I see too), but they’re present in the gerber. The issue I’m experiencing is when I open the gerbers in gerbview and export to a pcb file (which creates the 5.x.kicad_pcb file I posted), they’re no longer there.

if i import the gerbers and save them in 7.0 i can see the pads in the project:

7x.kicad_pcb (216.4 KB)

and in 6.10 the pads are missing
6.10.kicad_pcb (191.2 KB)

so the problem is related to the import of gerbers conversion of gerbers-> pcb in releases <= 6.10

Can you clarify what you mean by importing gerbers? Are you opening the gerbers in gerbview 7.0 and then exporting to a pcb file, then opening with pcbnew?

yes I’ve opened the gerbers with gerbview and export them as pcb with kicad 7.0 and 6.10 (see attached pcb).
the import with V7 works ok, the 6.10 shows missing pads.

7x-B_Cu.gbr (33.1 KB)
7x-Edge_Cuts.gbr (757 Bytes)
7x-F_Cu.gbr (164.3 KB)

you could try to see if your pcb mill is able do digest 7.x gerbers (attached)

Thanks for clarifying that. I think I’d seen posts about gerbview having trouble with footprints for gerber to pcb conversion. Do you know if theres a way to just convert all copper to polygons or something for pcbnew?

you could try to see if your pcb mill is able do digest 7.x gerbers (attached)

No luck unfortunately.

Have you already tried this plot setup from v6 (and feeding it to the mill)?


Just tried, no luck unfortunately. Thanks for the suggestion.

There are no real pads nor via’s in Gerber files, it is all D codes and such, and this can never be more then an ugly workaround.

I wonder what milling software you use, and where it goes wrong. Maybe (also a hack) you can write a relatively simple script to modify the gerber files themselves a bit.

The best solution is of course to contact the makers of that software and explain your problem to them. Maybe also make a few test files for them.

Yeah I’m in contact with the person who wrote the software. Unfortunately it’s new and just not very robust. They’re revamping it with tracespace, which should work well, but it’s not done yet. I can try to get some info from them about where it’s tripping up - we’ll see.

Quick guess: could it be related to the use of rounded rectangular pads?

Maybe, I’m not sure. But even if it were, I’d prefer the rounded pads.