Stop plotting pads on silkscreen

I’m using V5.99, Windows nightly build from today, 26 October 2021.

When I plot Gerbers all my SMD pads get plotted on the silkscreen layer. Is there a way I can prohibit this?

My plot settings:

My pads are NOT set up to be drawn on the Silkscreen layers.

In 5.1.10 there were an option to “Exclude pads from silkscreen”, but that seems to have moved or be removed?

Yes, it was replaced in 5.99 by “Sketch pads on fab layers” because Silk isn’t usually used as an assembly drawing anymore, Fab is meant for exact component outlines and other assembly help. I haven’t seen this happening in 5.99, and 5.1 doesn’t draw outlines, it draws filled pads on Silk and even then only if it’s defined in the pads themselves.

I’m not sure how in your gerber view it shows the layers.

If you don’t find the reason, can use zip the project and attach it here?

Thanks for your help! Your comment made me dig deeper. It turns out that I only see the pad outlines in GerbV (, not in ViewMate or KiCad Gerber Viewer. The problem probably lies with GerbV, but when I view gerbers plotted from 5.1.10 with GerbV there are no pad outlines on the silkscreen so something has changed in the gerbers which KiCad generates.

I’m just hoping that fabrication houses won’t interpret the gerbers in the same way as GerbV does…



KiCad Gerber Viewer

What libraries are you using?
I had a look at some of KiCad’s SMT Elco’s and they have a “+” on silkscreen, while yours do not.

The above is from:


Your (presumably SO-16) has a half round pin one marker, while KiCad uses a chamfered corner.

I’m only using my own libs. Built up during the past 15 years. 95% of the footprints are drawn from scratch but a few is borrowed from some other source.

I just installed gerbv with apt (Version 2.7.0 dated 2019-02-18) and it does not work very well for me.
From one project I get a lot of errors like:

file "/home/paul/projects/kicad/LED_PT4115_599/gerber/LED_PT4115-B_Cu.gbr"

With files from another project I get:

Number of parameters to aperture macro (179) are more than gerbv is able to store (102)

I’m trying to think of what is happening here, and the most logical option would be that Gerbv somehow mixes up layer information.

What does Gerbv do when you:

  1. Start with a clean slate by first deleting all gerber files.
  2. Pcbnew / Plot, but only plot the silkscreen layers.
  3. Load those gerbers in Gerbv.

I do not know if it’s possible to have “hidden graphics” in gerber files. But even if that is possible, then I still think those vectors should not be in the gerber files at all. So if you only have the gerbers for the Silkscreen layers, and Gerbv is still able to show those outlines, then I consider it a bug that KiCad puts (hidden?) vectors in those gerber files.

Thanks for the effort!

I used another (much smaller) project this time. Removed the gerber files and plotted a new silkscreen with these settings:

I loaded the newly created silkscreen gerber into Gerbv 2.7.0 (Compiled on Feb 21 2019 at 23:04:57) and Gerbv 2.6A (Compiled on Jul 13 2016 at 20:44:13).
Neither gave me any errors (empty under the messages-tab). However, I always get errors when the gerber contains slotted holes since these are not supported in Gerbv.
The result looks like this:

Here’s the gerber file and the board file
Touch2USB-Circuit-Board-A-F_Silkscreen.gto (19.8 KB)
Touch2USB-Circuit-Board-A.kicad_pcb (57.2 KB)

Opening the same board file in 5.1.10 and exporting the silkscreen does not render the same result:

Here’s the gerber from 5.1.10:
Touch2USB-Circuit-Board-A-F_SilkS.gto (27.1 KB)

I had a look at the gerbers, but this is complete gibberish for me. :slight_smile:

First, I just learned that “negative” features are used in Gerber files. For example, when you select the top line of J101, then a section on both the left and right side of the D24 flash code gets selected and highlighted.

Duh, KiCad has a checkbox in Gerbview / View / Show Negative Objects, and this clearly shows the cutouts are made by subtracting the negative flash codes from the lines.

My Gerbv has the same version number, but is one day older. It does show the Gerber file in the same way as KiCad does though:

Gerbv 2.7.0 apparently also is the latest version:

It also looks just fine in Ucamco’s online gerber viewer:

In your screendump of Gerbv your rendering is set to “Fast”. When I switch from Normal to any other rendering mode, the outlines disappears! :slight_smile:

Nice find regarding negative objects! I’m using 5.99, and in this version the setting is named View -> Ghost Negative Objects. The result clearly gives an explanation to what Gerbv is doing wrong! It’s obvious that what is shown in Gerbv is the outline of the negative objects.

Well, it seems like Gerbv is the only viewer we’ve found that has this problem. And as you said, it’s getting quite old. I guess it’s time switch to another one, possibly KiCad Gerber Viewer. The reason that I’m hesitant to use the KiCad built in is that I see it as a risk to use a gerber viewer from the same developers as the gerber exporter. There’s always a risk of misinterpretation of the format, and that this sneaks it’s way into both of these applications.

Edit: We still haven’t explained why Gerbv (normal rendering) renders gerbers from 5.99 differently than from 5.1.10 though. The gerbers from 5.1.10 also uses negative features and look the same in “ghost mode”. I’m going to leave it here and write it off as a bug in Gerbv.

KiCad has implemented “Subtract soldermask from silkscreen” using negative copies of mask layer items in the silk layer, both in 5.1 and 5.99, so the difference is in the plot options.

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