When building a net tie, all elements in the footprint that belong to
the net tie can be arbitrarily close to one another. outside of the
footprint, connected items can be arbitrarily close to the tie element
but must respect the clearance values for elements that have nets
assigned to them
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19933
(cherry picked from commit bff819edb0)
68fa45dea0 wanted to ensure that drill
marks were visible even when plotting non-copper layers. However, this
had the effect of changing the plot order depending on whether drill
marks were shown or not. The current solution is to overplot drill
marks if both copper and non-copper layers are shown.
This remains a sub-optimal solution as buried vias will be overplotted
along with through holes. It may be a better long-term solution to gate
the plotting of covering pad layers' drill marks to the plot options
that include copper layers on the same page
--erd and --ev are cli options to prevent plotting of the reference
designator and the value. These need to be passed to plot options in
order to be obeyed
When reporting DRC, teardrops are treated as tracks but reported as
zones. This causes confusion for designers using specific keepouts.
This changes the reported name to "Teardrop" for consistency
Remove this hotkey from "toggle show cursor always" as this is a more
global option, not as needed (probably) in hotkeys.
Also re-arranged MD_SHIFT + MD_CTRL+ <key> to MD_CTRL + MD_SHIFT + <key>
in order to standardize and help searches in the future
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19903
Pads should write that they exist on all layers using the wildcard and
then not also enumerate the copper layers (in this case, enumerating the
copper layers that were not enabled on the board).
F_Cu | B_Cu is not the same as LSET( F_Cu ) | LSET( B_Cu),
so you cannot do some_lset |= F_Cu | B_Cu (or rather you can, but
it is not what you expect).
F_Cu and B_Cu are just ints, so 0 | 2 == 2. This isn't the
same as setting *bit indices* 0 and 2. OR-ing with 2 is setting
bit index 1, which is F_Mask.
You can set them one by one with lset.set( F_Cu ) or OR with
LSET::ExternalCuMask() helper. But actually, we're trying to set all 'n'
copper layers, and LSET has AllCuMask and we can save all the hassle
in this function.
Thanks to @aris-kimi for finding the problematic code lines and
providing the foundation of this fix.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19855