PCB silkscreen text printed behind copper (footprint fields are OK)

Bug #1785958 reported by Todor Todorov on 2018-08-08
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Jeff Young

Bug Description

I have custom text on Fsilk and Bsilk layers. When I printed out the PCB layout via the print dialog (to PDF file), my selection was to include top copper, edge, and top silk layers. The printout included only the component references, my custom text was not added. The same text was included without issue in the corresponding gerber file.

I will include the gerber files for the top copper, top silk, and edge layers, as well as the resulting PDF file to this bug report.

Using KiCad nightly 64bit on Windows 10.

Application: kicad
Version: (6.0.0-rc1-dev-271-g539ca5aa3), release build
    wxWidgets 3.0.3
    libcurl/7.54.1 OpenSSL/1.0.2l zlib/1.2.11 libssh2/1.8.0 nghttp2/1.23.1 librtmp/2.3
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
    wxWidgets: 3.0.3 (wchar_t,wx containers,compatible with 2.8)
    Boost: 1.60.0
    OpenCASCADE Community Edition: 6.8.0
    Curl: 7.54.1
    Compiler: GCC 7.1.0 with C++ ABI 1011

Build settings:

Todor Todorov (ttodorov) wrote :
Todor Todorov (ttodorov) wrote :
Todor Todorov (ttodorov) wrote :
Todor Todorov (ttodorov) wrote :
Todor Todorov (ttodorov) wrote :
Jeff Young (jeyjey) wrote :

I can't reproduce this. (I'm on OSX, but it seems unlikely this would be platform-specific.)

@Todor, by "custom text" do you mean a user-defined text item in a footprint, or text added directly to the board (with the text tool)?

Also, a screenshot of the Items tab in your Layers Manager might provide some clues.

Jeff Young (jeyjey) wrote :

Never mind; I didn't see that you had posted your board.

It appears that for whatever reason we're printing the copper in front of the silkscreen. Note in the attachment that you can see the board text where the copper has gaps.

summary: - pcbnew: printing does not include custom text on Fsilk
+ PCB silkscreen text printed behind copper (footprint fields are OK)
Changed in kicad:
status: New → Confirmed
importance: Undecided → Medium
milestone: none → 5.1.0
Jeff Young (jeyjey) wrote :

Hmmm.... legacy canvas doesn't really do layers at all, it just relies on the commutative nature of OR (which doesn't help for printing).

It was drawing objects in the order:

PCB objects

Since PCB objects are going to be predominantly human-readable stuff, and it seems like the copper should go together, I'd propose changing it to:

PCB objects

for 5.1. Hopefully it's all gone in 6.0, but I wouldn't want to count on that.

Todor Todorov (ttodorov) wrote :

@Jeff, when you say "...legacy canvas...", do you mean that the printing uses legacy canvas to draw before sending to the spooler, or do you think that I am using legacy canvas? If the latter, I can assure you, I am not.

Also, when you say "it's gone in 6.0", do you mean it's fixed on the master branch (not the case as of commit gc91e51f68), or that it's just planned to be changed while 6.0 is being developed?


Jeff Young (jeyjey) wrote :

@Todor, sadly it's the former. We never re-wrote printing to live on the new architecture (since most of our energy goes into Plot rather than Print).

The master branch, while it says 6.0, is actually 5.1. In 5.1 we're moving eeschema to the modern canvas -- but that's mostly so it will work on GTK3 and so printing probably won't be addressed.

Later on in 6.0 we hope to remove the legacy canvas entirely -- but it's possible even then that we'll still be using the old printing code (with a compatibility mapping to the new canvas underneath it).

KiCad Janitor (kicad-janitor) wrote :

Fixed in revision 8fe5ff612dde91b8759a57ee5a58da9ba2d455ab

Changed in kicad:
status: Confirmed → Fix Committed
assignee: nobody → Jeff Young (jeyjey)
Maciej Suminski (orsonmmz) wrote :

Slightly related: the printing related code is being refactored to take advantage of GAL too.

Jeff Young (jeyjey) wrote :


Changed in kicad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers