Commit Graph

13106 Commits

Author SHA1 Message Date
Seth Hillbrand c45aa734b0 Fix missing DRC via/track check
Depending on pointer ordering, the via/track clearance check might not
run as we were only checking when the first element was a track not via.

Re-written version of 0150655ed3 for v6
2022-09-20 15:32:55 -07:00
Seth Hillbrand 73d00cc5d7 Remove extra new string 2022-09-07 14:36:34 -07:00
Roberto Fernandez Bautista 2393165ada CADSTAR PCB: Fix regression when loading pads in footprints
Zero sized pads can be valid - e.g. a through hole pad

(cherry picked from commit fa5dc23797)
2022-09-06 20:29:49 +02:00
Tomasz Wlostowski e593e0b014 router: somewhat improved stop-if-walk-path-is-too-long heuristic in the walkaround algorithm 2022-09-06 11:06:38 -07:00
Tomasz Wlostowski 42dae1504a router: fix negative chamfer value for hulls generated for 0-length segments 2022-09-06 11:06:31 -07:00
Seth Hillbrand 440d324c9e Don't prevent immediate actions while router active
Immediate actions that can take place are useful.  We should only be
preventing immediate actions while actively routing or dragging

Fixes https://gitlab.com/kicad/code/kicad/issues/12311

(cherry picked from commit 91fbb5c957)
2022-09-06 11:04:33 -07:00
Seth Hillbrand 29cadaf54e Force removal of zero-sized pads on load.
Pads with zero width or height cause issues when rendering and
selecting.  KiCad has never allowed these elements but hasn't prevented
importing systems where they exist.  This prevents their import and
cleans existing designs where the pads are placed

Fixes https://gitlab.com/kicad/code/kicad/issues/12200

(cherry picked from commit 2ee65b2d83)
2022-09-06 11:03:41 -07:00
Seth Hillbrand b72675ba92 Allow board saves without modifying project files
Without the project files, certain settings will not be saved by this
python call.  This defaults to false (current behavior) but setting the
`aSkipSettings` to true will revert to v5 behavior

Fixes https://gitlab.com/kicad/code/kicad/issues/11323

(cherry picked from commit 8418fe12d8)
2022-09-06 10:18:24 -07:00
jean-pierre charras 83f135315c 3D models list in footprint properties: fix issue when a lot of 3D models is added
From master branch
2022-09-06 17:33:09 +02:00
Roberto Fernandez Bautista 07481cd4ca CADSTAR PCB: Invert logic for guessing which layer is top / bottom
Ensures correct automatic layer mapping is applied to the design in
https://gitlab.com/kicad/code/kicad/-/issues/12349

(cherry picked from commit 9abf3438b8)
2022-09-04 01:03:55 +02:00
Roberto Fernandez Bautista 8a9ee0f9e1 CADSTAR PCB: Load 2-point polygons as line segments
Fixes asserts when loading design from https://gitlab.com/kicad/code/kicad/-/issues/12349

(cherry picked from commit c961624d43)
2022-09-04 01:03:55 +02:00
Roberto Fernandez Bautista 9a823ca61b CADSTAR PCB: Parse Teardrops
Todo: We need to figure out how we will load teardrops. For now
just drop them on import.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12349

(cherry picked from commit 21b3753e9b)
Edited to remove string changes
2022-09-04 01:03:51 +02:00
Jeff Young e25d937fd8 Null-ptr safety for diff-pair-coupling test.
Fixes https://gitlab.com/kicad/code/kicad/issues/12329

(cherry picked from commit 854acd4c77)
2022-09-02 01:18:18 +01:00
Jeff Young ea3f6c8406 Make sure dirty flag gets set, and leave save enabled regardless.
Fixes https://gitlab.com/kicad/code/kicad/issues/11824

(cherry picked from commit 09773e3e2e)
2022-09-02 01:11:20 +01:00
Jeff Young bf272e379f Run hole-to-hole checks on Edge_Cuts layer.
Also makes the flashing logic inside PAD::GetEffectiveShape() easier
to understand.

Fixes https://gitlab.com/kicad/code/kicad/issues/12296

(cherry picked from commit e0f6a6e475)
2022-09-02 01:11:20 +01:00
Jeff Young 0acea2e386 Make sure via-gap-same-as-trace-gap gets turned off for board settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/12236

(cherry picked from commit 7baa56528a)
2022-09-02 00:55:53 +01:00
Roberto Fernandez Bautista 83305dd407 Re-route m_last_head after routing fails
This should ensure the shove state gets reverted

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9023
2022-09-01 22:06:06 +00:00
Seth Hillbrand 1d5db513a1 Ensure arcs are handled in topology
Use the connection-independent `Anchor()` function to get connection
points for either arcs or segments in topology.  This allows the
ratsnest to be correctly drawn between nets with arcs

Fixes https://gitlab.com/kicad/code/kicad/issues/12205
2022-09-01 22:06:06 +00:00
Jeff Young 9d0d45450b Account for groups in undo of Position Relative To.
Also fixes a bug were pads weren't correctly being found for anchoring
the selection before the Position Relative To.

Fixes https://gitlab.com/kicad/code/kicad/issues/11793

(cherry picked from commit 1e68c353f1)
2022-09-01 16:25:41 +01:00
Seth Hillbrand c3496d61eb Set locale in python save routine
Fixes https://gitlab.com/kicad/code/kicad/issues/11006
2022-08-23 09:41:55 -07:00
Wayne Stambaugh 1e09f0e8b0 Fix Eagle plugin footprint QA test issue.
Apparently mapping Eagle footprint layers to the KiCad Dwg_User
that were previously mapped to UNDEFINED_LAYER breaks the QA test
and causes the footprint editor to crash when opening Eagle
footprints.  This means that the potential data loss issue when
loading Eagle footprints is still in play.

(cherry picked from commit c72457482c)
2022-08-22 11:40:15 -04:00
Wayne Stambaugh c2c4609272 Fix Eagle plugin board layer mapping issue.
The Eagle plugin layers have to be mapped differently depending on
whether a board is being imported or a footprint library is being
cached.  Footprint libraries can bypass the manual layer remapping
step that happens when importing a board.

Please note that when loading footprints in the footprint editor
and viewer, all layers that do not directly map to KiCad layers are
put on the Dwg_User layer so that there is data loss.  Users will
have to manually remap objects to the correct layer as required.
This is less than ideal but until the footprint library table parser
supports prompting users to remap unknown layers, it will have to do.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11839
(cherry picked from commit 0bc1188897)
2022-08-22 11:40:15 -04:00
Seth Hillbrand 9e9b38ef6a Revert "cadstar: Report warning that imported text may be different"
This reverts commit f637a820b6.

New strings are not allowed in v6
2022-08-20 20:09:40 -07:00
Seth Hillbrand 5e409f0f6c Remove string change and associated new feature
String changes are not allowed in v6 branch
2022-08-20 20:06:26 -07:00
jean-pierre charras 962df45b65 Fix some issues in PCB_SELECTION_TOOL::selectAllItemsOnSheet():
especially a typo that prevent working on root sheet.
Clearly, commit 6b2bb4d8 was very poorly designed and (or not even) tested.
2022-08-20 13:04:06 +02:00
Marek Roszko ca4da4706a Fix reserve call with the wrong source for size 2022-08-16 23:53:42 -04:00
Roberto Fernandez Bautista 1005f75cdb CADSTAR PCB: Allow remapping all non-electrical layers
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12196


(cherry picked from commit 6b349fdb0a)
2022-08-14 21:26:37 +00:00
Roberto Fernandez Bautista f637a820b6 cadstar: Report warning that imported text may be different
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12195


(cherry picked from commit 69d696660b)
2022-08-14 21:25:46 +00:00
Jeff Young 36a0c2a9cc Fix issue with caches not being initialized when printing msg bar.
(cherry picked from commit 43df863df2)
2022-08-04 13:04:21 +01:00
Jeff Young 4ac48ad829 Cherry-pick of 2bf33321d1. 2022-08-04 09:29:45 +01:00
Jeff Young afc491c5a5 58f553a9ca requires that cache be layer-sensitive.
Fixes https://gitlab.com/kicad/code/kicad/issues/11814

(cherry picked from commit 5e80e2a421)
2022-08-04 00:48:18 +01:00
Jeff Young 7b5e3feb19 By-hand cherry-pick of 004abcd370. 2022-08-04 00:05:48 +01:00
Seth Hillbrand a12ae5050a Cleanup unused code
(cherry picked from commit 76b9e25143)
2022-08-02 08:51:04 -07:00
Seth Hillbrand 82e8e38054 PNS: Handle via-in-pad distances when tuning
Tuning with a via in pad, the via isn't a part of the full line.  But we
still need to account for the line length distance of the
starting/ending vias.  To do this, we simply measure the height from
the ending track to the ending pad and starting track to starting pad
2022-08-01 20:23:07 -07:00
Seth Hillbrand 57de5a6b65 Net Inspector: Handle via layers
Rather than measuring the total via height, measure from the entry to
exit track height to get a more accurate distance
2022-08-01 20:22:13 -07:00
Seth Hillbrand 6c617d84ca Prevent drag index from exceeding full line count
Simplification removes segments, so we might lose our valid index.
Ideally, we would simplify during the assembly or pass the input index
to the simplify routine to maintain the proper value.

Fixes https://gitlab.com/kicad/code/kicad/issues/12137
2022-08-01 08:57:45 -07:00
jean-pierre charras 06e612661c Kicad2step: fix STEP export from Pcbnew, broken by changes in commit 8456d6c
also: DIALOG_EXPORT_STEP: remember tolerance option during a session.
From Master branch.
Fixes #12119
https://gitlab.com/kicad/code/kicad/issues/12119
2022-07-29 19:46:34 +02:00
Jeff Young 3f448a7eaa Clear dimension pointer after committing.
Fixes https://gitlab.com/kicad/code/kicad/issues/11864

(cherry picked from commit b80fd5329d)
2022-07-28 10:46:02 +01:00
Jeff Young 5214290000 Get rid of error-prone reverse logic.
Fixes https://gitlab.com/kicad/code/kicad/issues/12049

(cherry picked from commit 012d861aab)
2022-07-28 10:45:56 +01:00
Jeff Young fcd7e827e6 Hook up ID_GRID_SETTINGS for footprint viewers.
Fixes https://gitlab.com/kicad/code/kicad/issues/12030

(cherry picked from commit 6a9c6e8599)
2022-07-28 10:44:03 +01:00
Jeff Young 466f1283c1 DXF parameters are for DXF (only).
Fixes https://gitlab.com/kicad/code/kicad/issues/12021

(cherry picked from commit 763c77eab8)
2022-07-28 10:43:56 +01:00
Jeff Young 7bd073b5cb Make sure there are no translation changes for 6.0.x. 2022-07-28 01:08:42 +01:00
Jeff Young af40ddd0e1 Make sure strings are either 6.0.7 values or 5.1 values. 2022-07-28 00:25:45 +01:00
Jeff Young e59d8b0a2d Fix up merge errors. 2022-07-28 00:12:25 +01:00
Seth Hillbrand 7113f1f879 Fix through via drawing width
Related to fix for https://gitlab.com/kicad/code/kicad/-/issues/11851
2022-07-27 12:09:35 -07:00
jean-pierre charras a5b676fa0e Avoid crashes when, for some reason, a dll cannot be loaded.
In this case a null pointer was returned by the internal code.
This pointer is now tested against nullptr to avoid the application crashing.
Fixes #12080
https://gitlab.com/kicad/code/kicad/issues/12080
2022-07-26 16:04:27 +02:00
Jeff Young 38b75db12c Fix merge breakage.
Fixes https://gitlab.com/kicad/code/kicad/issues/12088
2022-07-26 14:42:36 +01:00
Jeff Young ac28ed9888 Cherry-pick fix for pad clearances from master. 2022-07-25 21:50:23 +01:00
Jeff Young d9fef3da72 Don't allow 0 line-width for unfilled shapes.
Fixes https://gitlab.com/kicad/code/kicad/issues/12010

(cherry picked from commit d0547cbde7)
2022-07-25 21:46:27 +01:00
Jeff Young 61bb793324 Save fp browser list widths and apply known hack to work around wxWidgets bug.
Fixes https://gitlab.com/kicad/code/kicad/issues/11744

Fixes https://gitlab.com/kicad/code/kicad/issues/11745

(cherry picked from commit 0a623bff9f)
2022-07-25 21:21:23 +01:00
Jeff Young e06e65cdde Add newly-drawn objects to any entered group.
Fixes https://gitlab.com/kicad/code/kicad/issues/11912

(cherry picked from commit 654740b90d)
2022-07-25 21:02:26 +01:00
Jeff Young 0f882d91e5 Add proper collision test to via placer.
Also moves DISALLOW constraint processing outside the loop as it
performs it's own loop over any objects referenced by the rules.

Fixes https://gitlab.com/kicad/code/kicad/issues/11832

(cherry picked from commit 73836b50fc)
2022-07-25 20:16:01 +01:00
Jeff Young 2fdddb970f Bug fixes for printing vias.
Blind/buried and microvias didn't get their layers trimmed properly,
nor did through vias with dropped pads.

Fixes https://gitlab.com/kicad/code/kicad/issues/11851

(cherry picked from commit 231ac567b8)
2022-07-25 20:05:40 +01:00
Jeff Young 0321d96b1e Fill in missing bits of LAYER variable for printing/plotting.
Fixes https://gitlab.com/kicad/code/kicad/issues/11788

(cherry picked from commit f22cf1cc3a)
2022-07-25 19:49:09 +01:00
Jeff Young 06baaa33fa Rely on DRC rules when items might overlap.
Fixes https://gitlab.com/kicad/code/kicad/issues/1790

(cherry picked from commit f48ed79039)
2022-07-25 19:31:05 +01:00
Jeff Young cd5b4ec8f2 Add edge-exclusions to router (for castellated pads).
Fixes https://gitlab.com/kicad/code/kicad/issues/1790

(cherry picked from commit 833dc70bff)
2022-07-25 19:30:49 +01:00
Jeff Young 58451335cb Apply DRC fixes to ERC.
Fixes https://gitlab.com/kicad/code/kicad/issues/11844

(cherry picked from commit 83a2f43661)
2022-07-25 19:23:57 +01:00
Jeff Young e7dd9f9337 Don't reset Footprint Tests Run if the board didn't change.
Fixes https://gitlab.com/kicad/code/kicad/issues/11844

(cherry picked from commit 048f277b1e)
2022-07-25 18:41:48 +01:00
Jeff Young 7bf66be2ac Don't clear marker counts when closing DRC dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/11844

(cherry picked from commit 801a98a302)
2022-07-25 18:41:21 +01:00
Jeff Young 0bc97b7952 Handle double-click in dimension drawing tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/11815

(cherry picked from commit d40664d171)
2022-07-25 18:35:29 +01:00
Seth Hillbrand c1ec63d4f9 Protect the Kiway dereference
Also find a few more places where we are reaching into a new frame to
perform actions that need to have dialogs closed.

Running actions should also wait for the next cycle rather than being
immediately executed when we are calling into a new frame.  This allow
for the cleanup actions onClose() to happen prior to the next action
starting

Fixes https://gitlab.com/kicad/code/kicad/issues/11891

(cherry picked from commit 93fb00d815)
2022-07-18 09:48:50 -07:00
Seth Hillbrand a8c0bc0430 Keep track of blocking windows
Allows the calling KiWAY player to send messages to the blocking window
before signaling a separate call

Fixes https://gitlab.com/kicad/code/kicad/issues/11891

Fixes https://gitlab.com/kicad/code/kicad/issues/11772

(cherry picked from commit b5bf1da251)
2022-07-18 09:47:32 -07:00
Seth Hillbrand 63e638cfab Enforce group selection to abide by L/R behavior
When selecting greedy (right to left), selecting any part of the group
will get the whole group.  When selecting left to right, we must select
all items in the group to get the grouped items unless we are in the
group itself

Fixes https://gitlab.com/kicad/code/kicad/issues/11902

(cherry picked from commit e87ba10a5a)
2022-07-18 09:45:10 -07:00
jean-pierre charras 9c50a9fa4a FP_SHAPE in pads: always specify fill mode for shapes that can be filled or not.
From Master branch
2022-07-15 17:42:31 +02:00
jean-pierre charras 926818097b Fix compatibility issues with wxWidgets 3.2 and gcc 12.1:
hastable.h: remove deprecated binary/unary base class not actually needed.
Fix  compil warnings.
From master branch.
2022-07-12 18:24:12 +02:00
Jon Evans 2512375988 PNS: Fix IsLineCorner logic
Handle segment width test in the case of locked segs
Fix logic failure where vias on path cause crash

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11990
2022-07-11 22:47:28 -04:00
Wayne Stambaugh 4b4d082fa4 Pcbnew: fix minor white space issue in board file.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11669

(cherry picked from commit 6a74ecbffd)
2022-07-11 11:25:02 -04:00
Jeff Young 042b49ee7b Update message panel from PCB point editor and SCH drawing tools.
Fixes https://gitlab.com/kicad/code/kicad/issues/11961

(cherry picked from commit 4f62960334)
2022-07-06 19:48:09 -07:00
Seth Hillbrand 55de16e874 Remove extraneous files added in 69858ab4c0
Files were master-only
2022-06-30 11:09:03 -07:00
Seth Hillbrand ef2bb0b621 Avoid documentation in dialogs
If the nomenclature is unclear, we should rework the dialog rather than
adding documentation strings to a crowded dialog.

This also prevents new strings from appearing in v6

(cherry picked from commit 0c796697b4)
2022-06-30 10:58:13 -07:00
Seth Hillbrand 7a3a7d1af6 Python add param to change UUIDs on fp load
By default, we load all footprints with a new UUID set to allow them to
be added to the board as unique objects.  But when editing footprints,
we want to maintain the same UUID.

Fixes https://gitlab.com/kicad/code/kicad/issues/11870

(cherry picked from commit 802745398a)
2022-06-29 12:10:51 -07:00
Seth Hillbrand 9cebea5f11 Correct SWIG call for board design settings
Use the backend call rather than rely on the naming of internal
variables

Fixes https://gitlab.com/kicad/code/kicad/issues/11924
2022-06-28 14:02:56 -07:00
jean-pierre charras 20bebeb543 Gen Drill map: Re-add Gerber option but only using X2 format.
Only the X2 format allows the TF.FileFunction option, mandatory to
avoid mistakes about this file that is not a standard Gerber file.
2022-06-23 14:20:32 +02:00
jean-pierre charras 1f4b288664 gen drill maps: remove unusable format (HPGL and GERBER) for map files.
Especially, on a regular basis, map files in gerber format create problems
for board house.
From Master branch.
2022-06-22 11:29:27 +02:00
Seth Hillbrand 45329ceafa Push wxString allocation to smaller context
Prevents creation of new wxString on stack for each clearance check

(cherry picked from commit 4043dca613)
2022-06-21 10:30:42 -07:00
Seth Hillbrand 69858ab4c0 Remove shared wxString instance in DRC
Threaded DRC access will write to this string, re-allocating the memory
without any synchronization between threads using the string.  Comment
adding this listed performance as a reason for using shared strings.
Measured performance does not seem noticeably different in either case,
even with high-error count boards.  If there is a case where the
performance is limiting, we can replace these wxStrings with
std::wstring and utilize fmt

Fixes https://gitlab.com/kicad/code/kicad/issues/9888

(cherry picked from commit 5327b10064)
2022-06-21 10:27:21 -07:00
Jeff Young 00226cb0f2 Make sure Type regex doesn't match before Pad_Type or Pin_Type.
Fixes https://gitlab.com/kicad/code/kicad/issues/11423

(cherry picked from commit 7cb7a68b0e)
2022-06-13 10:59:33 -07:00
Jeff Young 38a7cb9731 Write out partial pad-stacks for blind/buried/microvias.
Fixes https://gitlab.com/kicad/code/kicad/issues/11692

(cherry picked from commit 80124d2463)
2022-06-13 10:11:58 -07:00
Seth Hillbrand b6e7bf4768 Handle updated document description format
parentheses are rarely if ever used independently, so trim the unmatched
ones regardless of whether we find the starting parenthesis in the
description

Fixes https://gitlab.com/kicad/code/kicad/issues/11403

(cherry picked from commit be7e9d300e)
2022-06-13 10:02:26 -07:00
jean-pierre charras 24d049c017 Fix bounding box of text in footprint not properly rotated in 6.0.5 stable version
It is fixed in Master branch, so apply a fix similar to b6e8beb3 from master
Fixes #8728
https://gitlab.com/kicad/code/kicad/issues/8728
2022-06-13 16:46:40 +02:00
Jeff Young 54c68080f5 Nullptr defensive code.
Fixes https://gitlab.com/kicad/code/kicad/issues/11690

(cherry picked from commit 9b70308f5c)
2022-06-12 10:43:30 +01:00
Tomasz Wlostowski b59c334edb router: another attempt at improving 'kink' robustness of the hull generator
(cherry picked from commit f5fe1d5462)
2022-06-10 09:17:07 -04:00
Seth Hillbrand 817c4645eb Sort PCAD layers
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)
2022-06-09 11:11:15 -07:00
Seth Hillbrand 32aabaf010 Handle B_Cu ordering
Stopgap until we introduce multi-layer mapping widget

Fixes https://gitlab.com/kicad/code/kicad/issues/11750
2022-06-08 17:17:26 -07:00
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