Seth Hillbrand
72b7f9fe10
Check for older tags in pcad import
...
The pourOutline/planeOutline do not include support for fillets
Fixes https://gitlab.com/kicad/code/kicad/issues/11749
2022-06-08 16:17:40 -07:00
Tomasz Wlostowski
4d5b5d3791
router: fix SegmentHull() corner case when it 'chamfers' more than the clearance permits (corner case for 0-length segments, which we use
...
for representing holes)
(cherry picked from commit 56df462474
)
2022-06-08 22:39:22 +00:00
Tomasz Wlostowski
4694a2622e
router: use either copper or hole clearance, whichever is larger, when checking track -> hole collisions
...
(cherry picked from commit 990281a897
)
2022-06-08 22:39:08 +00:00
Tomasz Wlostowski
92ba60628e
router: improvements in robustness of SegmentHull()
...
- 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
)
2022-06-08 16:14:03 +00:00
Jeff Young
275afdc1d5
Expose footprint ID, description and keywords to property system.
...
(cherry picked from commit dee22a31d9
)
2022-06-08 15:58:53 +01:00
Jeff Young
3a8ad7165b
Clear point editor before recombining pad.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11731
(cherry picked from commit bd51b33f65
)
2022-06-08 15:58:52 +01:00
Jeff Young
4a5f74422c
Take pad angle into account when generating spokes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11765
2022-06-08 15:46:56 +01:00
Jon Evans
7053981835
Don't wipe out visibility state when changing layer count
2022-06-07 23:00:32 -04:00
Jon Evans
895314b639
PNS: Fixup hole clearance to use exact hulls for walkaround
...
(partially cherry picked from commit 30fb298ed3
)
2022-06-07 22:34:16 -04:00
Jon Evans
6253b878a0
PNS: Implement HoleHull for VIA
...
(cherry picked from commit 23596812b6
)
2022-06-08 02:05:25 +00:00
Jon Evans
5d4e2aa595
PNS: Remove offsets from hull generation
...
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
2022-06-03 17:39:22 -04:00
Jon Evans
2a91ba35c1
PNS: Use exact hulls for walkaround path generation
...
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
2022-06-03 17:39:22 -04:00
Jon Evans
8d8f96b094
PNS: Fix off-by-one in dragCornerInternal
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10919
2022-06-01 17:11:03 -04:00
Jon Evans
a4aa447b95
[PNS] Fix invalid assumption in IsLineCorner
2022-05-31 20:19:20 -04:00
Jon Evans
53dbd3bb02
PNS: Fix skew calculation with pad-to-die specified
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11710
2022-05-31 20:19:19 -04:00
Jeff Young
781e98acbc
Eagle octagonal pads are regular (~29% chamfered).
...
Also cleans up setting of KeepTopBottom (which is ignored unless
we're doing optional flahing -- which we're not for Eagle imports).
Fixes https://gitlab.com/kicad/code/kicad/issues/11664
(cherry picked from commit 4afca58ce7
)
2022-05-31 23:21:43 +01:00
Jeff Young
ab70124b68
Make use of board stackup data when exporting VRML.
...
Specifically layer colors and board thickness.
Fixes https://gitlab.com/kicad/code/kicad/issues/11627
(cherry picked from commit deeb7d4d6d
)
2022-05-31 23:21:43 +01:00
Jeff Young
aac4f30b7d
Fix zone merge intersection algorithm.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11492
(cherry picked from commit 5f10c15a87
)
2022-05-31 23:21:43 +01:00
Seth Hillbrand
a2e9c0ea73
Text BB is already rotated, don't re-do
...
EDA_TEXT::TransformBoundingBoxWithClearanceToPolygon already accounts
for text rotation, so we don't need to apply that twice
Fixes https://gitlab.com/kicad/code/kicad/issues/11714
2022-05-31 13:46:16 -07:00
Seth Hillbrand
0f4eefc9fc
Fix PCAD silk layer for solder-side fp
...
The layer should be flipped based on the footprint mirror value rather
than the text mirror value (which is independent)
Fixes https://gitlab.com/kicad/code/kicad/issues/11652
(cherry picked from commit 6c0856c384
)
2022-05-31 13:03:53 -07:00
Seth Hillbrand
2d092437f4
Make PCAD import case-insensitive
...
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
)
2022-05-27 10:10:47 -07:00
Alex
6b2bb4d808
Allow sheet recursion, fix sheet paths in "Highlight on PCB".
...
"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
2022-05-25 23:38:52 +00:00
Seth Hillbrand
0d93be0af2
Make sure that we have a visible layer
...
Before setting the active layer to our visible sequence, make sure that
the sequence is not empty (leads to invalid layer id->crash)
Fixes https://gitlab.com/kicad/code/kicad/issues/11629
2022-05-16 15:24:22 -07:00
jean-pierre charras
bda1f684fc
gerber_placefile_writer: fix angle rotation for flipped footprints.
...
According to latest Gerber documents (rev 2022.02), the previous angle was
missing a +180 rotation
Fixes #11621
https://gitlab.com/kicad/code/kicad/issues/11621
2022-05-16 10:27:17 +02:00
Jeff Young
71ea56dea4
Remove special-case processing of ${REFERENCE} and ${VALUE}.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11476
(cherry picked from commit 6b557d8631
)
2022-05-09 12:05:51 +01:00
Jeff Young
058f6e0a9b
All via pad layers need checking for copper.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11429
(cherry picked from commit e7f5deedb8
)
2022-05-09 00:36:27 +01:00
Jeff Young
e3eaa50600
Add on-the-fly i18n update for m_inactiveLayersLabel.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11435
(cherry picked from commit 3304ad75ca
)
2022-05-09 00:36:27 +01:00
Jeff Young
c04a183141
Hand cherry-pick of fix from master.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11261
2022-05-09 00:36:27 +01:00
Jeff Young
2dcff109df
Update Selection Filter title bar with language changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11421
(cherry picked from commit 4ab2c93070
)
2022-05-09 00:36:27 +01:00
Jeff Young
936040fe8b
Remove extra test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10364
Fixes https://gitlab.com/kicad/code/kicad/issues/10364
(cherry picked from commit c78a47c3fb
)
2022-05-09 00:36:27 +01:00
Seth Hillbrand
485e89f7a5
Finally found the intermittant QA crash
...
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
)
2022-05-06 11:53:49 -07:00
Seth Hillbrand
611311697e
Revert "Fix another static variable instance"
...
This reverts commit 5bd3a9cca8
.
Reverted in favor of cherry-picking the more complete fix
from 8218f9ab44
2022-05-06 11:53:21 -07:00
Seth Hillbrand
5bd3a9cca8
Fix another static variable instance
...
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
2022-05-06 11:49:57 -07:00
jean-pierre charras
6971e409bf
Pcbnew: fix lost of focus after clicking on a wxChoice in toolbar.
...
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 #11103
https://gitlab.com/kicad/code/kicad/issues/11103
2022-05-05 11:54:47 +02:00
jean-pierre charras
fbc6c8f8f4
pcad importer: fix a truncation when converting mils to IU.
...
The value in mils is a double, but the function to convert in IU uses int.
From master branch.
Fixes #11380 https://gitlab.com/kicad/code/kicad/issues/11380
2022-05-04 17:37:11 +02:00
Seth Hillbrand
bfa1661edf
Sync via/pad flashing for null boards
...
Pads return true by default and so should vias
2022-04-15 11:39:18 -07:00
Jeff Young
110663d214
Fix crash bug when selecting marker.
2022-04-15 13:40:19 +01:00
jean-pierre charras
2de1bd7a4a
Ensure "Open Recent" and "Clear files" menu titles are updated after language change.
...
From Master branch.
2022-04-14 15:06:17 +02:00
Jeff Young
6818eff90e
Improvements to Eagle dimension importing.
...
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
2022-04-12 13:24:34 +01:00
Jeff Young
a60e7e27b6
A better blob vs web detector.
...
Since we're in a deflated state, a long web *could* still have a very
small area. So check max extents instead.
(cherry picked from commit 1dae5eb7c4
)
2022-04-12 13:24:34 +01:00
Jeff Young
601995c759
Apply the min-width-by-min-width test to islands after pruning.
...
We're looking for minimum *web* width. A blob does not a web make.
Fixes https://gitlab.com/kicad/code/kicad/issues/6907
(cherry picked from commit 1a2e0d8226
)
2022-04-12 13:24:14 +01:00
Marek Roszko
fe11bc8330
Change the behavior of ACTION_MENU::Add to require clones if required outside the function
2022-04-11 20:39:08 -04:00
Seth Hillbrand
d0796399a2
DP tolerance needs to be 1IU on each axis
...
ApproximatelyParallel will only check for parallel within 1 IU, so a 1x1
SEG will always be parallel and the projection is invalid
2022-04-11 16:55:54 -07:00
Seth Hillbrand
c2d72180f8
Revert "Change the behavior of ACTION_MENU::Add to require clones if required outside the function"
...
This reverts commit 651f50a26d
.
2022-04-11 11:03:19 -07:00
Marek Roszko
651f50a26d
Change the behavior of ACTION_MENU::Add to require clones if required outside the function
...
Fix https://gitlab.com/kicad/code/kicad/-/issues/10994
2022-04-10 22:40:58 -04:00
Jeff Young
529048dac1
Better error reporting for DP uncoupled length.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10087
(cherry picked from commit 722b2588f4
)
2022-04-09 23:09:10 +01:00
Jeff Young
43929781a2
On-the-fly translations for pin electrical types.
...
Also add on-the-fly translation for editor title bars.
Fixes https://gitlab.com/kicad/code/kicad/issues/11324
(cherry picked from commit 68ca385e07
)
2022-04-09 21:22:50 +01:00
Seth Hillbrand
821fe6ea42
Don't set the dirty bit when running DRC
...
Dirty bit is set in the zone filler separately, there is no action in
the DRC that needs to be saved
Fixes https://gitlab.com/kicad/code/kicad/issues/11344
2022-04-06 17:03:01 -07:00
Jeff Young
f8c92e355b
Plating thickness appears on both sides of hole wall.
2022-04-04 21:51:30 +01:00
dsa-t
fdfe5a813e
Clamp cursor to limits of coordinates representation
...
Also improves large distance handling.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8846
(cherry picked from commit 68655540eb
)
2022-04-04 13:38:50 -07:00