I updated to kicad 5.1 from kicad 5.0, and I’m getting new DRC errors that I think I wasn’t getting before.
One of them is an incorrect courtyard error. I have some parts that are meant to be on top of others: PCB elements, like predesigned track patterns or PCB antennas, silkscreen elements, like text that I want to keep as a “footprint”, or logos, etc… I don’t want to trigger DRC errors with them, but if I define a courtyard, it will trigger a courtyard collision, and if I don’t, it will trigger a lack of courtyard error. I settled for a small circle of .1mm radius in the courtyard area (because it’s only two clicks, instead of 4 of a rectangle, and I like the circle better ). So far, that worked as long as I didn’t place that circle inside other component’s courtyards, but starting in Kicad 5.1, that is triggering the incorrect courtyard error. Changing it to a square made out of graphic lines solves the issue. Is that a bug? I don’t see anything on the changelog that references it, but I would like to ask before filling a bug report
I did a little test, Removed the rectangular courtyard from 2 components and replaced them with a circle each, and then did a DRC check. It had 0 errors.
Then I completely removed the courtyard of another component and redid the DRC check. Still no errors. (Has this changed in V5.1?)
Just to be sure DRC was working I moved yet another component, and then I had 3 DRC errors with “Track too close to pad” and one with “Courtyards overlap” and 3 with “Unconnected items”, so DRC works.
When I made a courtyard of a non closed shape of 3 polyline segments it complained with: "Footprint has incorrect courtyard (not a closed shape)
So at least My KiCad V5.1 behaves as I would expect, and I can’t help you further.
My version info currently is:
Application: kicad
Version: 5.1.0+dfsg1-1, release build
Libraries:
wxWidgets 3.0.4
libcurl/7.64.0 OpenSSL/1.1.1b zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) libssh2/1.8.0 nghttp2/1.36.0 librtmp/2.3
Platform: Linux 4.19.0-4-amd64 x86_64, 64 bit, Little endian, wxGTK
Build Info:
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
Boost: 1.67.0
OpenCASCADE Community Edition: 6.9.1
Curl: 7.64.0
Compiler: Clang 7.0.1 with C++ ABI 1002
Being able to disable courtyard checking is a plus (for hand assembly, etc) but as the DRC controll itself has some check boxes I did not expect settings to be elsewhere also, so indeed unintuitive.
I did some more research. The error only triggers if the circle is between 0.0375mm and 0.072mm in diameter. I had some parts with both 0.1mm and 0.01mm circles and they wouldn’t trigger the error, but I had others with .05 mm and they would. I tried with other values and I can consistently trigger it. @paulvdh, can you try to replicate it with a .05mm (50μm)?