Better fix for 11750. Instead of figeting with layer values, we sort
our map based on the layer numbers in the PCAD file. F_Cu is always
layer 1 and B_Cu is always layer 2.
Fixes https://gitlab.com/kicad/code/kicad/issues/11750
(cherry picked from commit ac0f95683f)
- ensure the 'chamfer' radius and clearance is rounded before computing the actual hull vertices
- for small, non-45 degree line segments (present in many boards), generate a slightly larger but still axis-aligned 45 degree hull instead of following exactly the segment direction
(cherry picked from commit bcfe12ce47)
This is likely an old workaround to numerical precision issues
in the DRC system that no longer exist. Removing this is necessary
for "exact" hull generation to produce walkaround results that
look nice (paths falling exactly on the grid lines)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10710
When we generate hulls, by default we subtract the clearance epsilon
to prevent false collisions in the router that wouldn't be flagged
by DRC. However, we need to use the actual hull with no epsilon
when generating hulls for pathfinding in the walkaround system.
Without this change, it is possible for the walkaround to generate
a valid-seeming path that results in a DRC violation, for example
when dragging a drag against a board edge.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10536
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11365
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10710
According to the PCAD specification, all tags are case insensitive.
Most exporters honor the defaults but there is always an outlier or two
Fixes https://gitlab.com/kicad/code/kicad/issues/11652
(cherry picked from commit 35b79c2ec9)
"Highlight on PCB" and "Select" - "Items in Same Hierarchical Sheet"
actions were extended to select items on subsheets too.
"Highlight on PCB" now uses a proper full sheet path, allowing it to
work in subsheets.
Fixes https://gitlab.com/kicad/code/kicad/issues/11493
When loading footprints/zones in parallel, we cannot reference a static
vector that gets cleared by other threads.
It is unclear why this element was ever static to begin with (premature
optimization?) but it has been this way for a long time. We never
noticed until we threaded load cycles, which gave the hatch a chance to
override itself and cause crashes
Fixes https://gitlab.com/kicad/code/kicad/issues/9888
(cherry picked from commit 8218f9ab44)
Premature optimization appears to be the issue. When we threaded zone
handling and added multiple layers, we started overwriting the
pointbuffer variable, which was declared static for unknown reasons
Fixes https://gitlab.com/kicad/code/kicad/issues/9888
After changing track width, via size, grid or zoom from the toolbar, the
canvas has no longer the focus on Windows. So we force the focus after clicking
on these widgets.
From Master branch
Fixes#11103https://gitlab.com/kicad/code/kicad/issues/11103
1) Import leaders
2) Drop radius and angle dimensions
3) Import dimension text sizes
4) Correctly interpret which side dimension offset is on
5) Correclty handle offsets for non-cardinal dimensions
Fixes https://gitlab.com/kicad/code/kicad/issues/10763