Board outline: Add clearance (keep out zone)
Description
The “Keepout Area” function in Pcbnew is not suited for round objects. Therefore I propose a new function to add “Clearance” to the “Arc Properties”.
The problem: I do mostly round PCBs with mounting holes. To allow fine adjustment the mounting holes are elongated, so the PCB can be rotated and fixed in a precise position. The board outline is drawn with a CAD program and imported as a DXF into Pcbnew. The elongated holes need some clearance without traces, vias and copper pours to allow space for the screw head and washer. The function “Keepout Area” can't be used because it doesn't follow the hole shape and copper pours would look terrible when hand-drawn. Here a screenshot:
Currently KiCAD has no good way to implement a keepout area for a shape like this. One possible workaround is to misuse the line thickness of the shape (Arc Properties → Line Thickness). Increasing the line thickness prevents copper pours and traces. But it looks awkward and although the 3D view looks okay, the manufacturer's 3D views don't handle the fat lines in the gerbers very well. And many manufacturers suggest thin lines. So this is not a good solution.
One possible solution: Add a field “Clearance” (or similar) to the “Arc Properties” dialogue so the line thickness can stay thin.
Alternatively: Implement something else to achieve the same goal.
Note: this has been mentioned in the forum, so I add it to the tracker to not forget it: forum - how-to-define-keep-out-zone
KiCad Version
Application: KiCad
Version: 5.1.6+dfsg1-1, release build
Libraries:
wxWidgets 3.0.5
libcurl/7.68.0 OpenSSL/1.1.1g zlib/1.2.11 brotli/1.0.7 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.3.0) libssh2/1.8.0 nghttp2/1.40.0 librtmp/2.3
Platform: Linux 5.6.0-1-amd64 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.67.0
OpenCASCADE Technology: 7.4.0
Curl: 7.68.0
Compiler: GCC 9.3.0 with C++ ABI 1013
Build settings:
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=ON
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=ON
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=OFF
KICAD_USE_OCC=ON
KICAD_SPICE=ON