Commit Graph

12639 Commits

Author SHA1 Message Date
Jeff Young 3c0b10b022 Don't use approximated shapes for router hulls.
We only do 45-degree routing anyway so we might as well build an
octagonal-based hull from the get-go.

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

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

Fixes https://gitlab.com/kicad/code/kicad/issues/9833
2021-12-01 19:44:30 +00:00
Jeff Young 09ed60feb3 Don't make inferences about object type based on shape. 2021-12-01 19:44:30 +00:00
Jeff Young 58189dca7a Always focus on center of small things. 2021-12-01 19:44:30 +00:00
Ian McInerney 63560ecd7b Remove RM_Smart state from router tool
It was never fully implemented and there was no way to switch into this
route mode.
2021-12-01 09:52:37 +00:00
Seth Hillbrand c4a6a61743 Don't truncate values on import
Leads to off-by-one errors when converting to internal values

Fixes https://gitlab.com/kicad/code/kicad/issues/9827
2021-11-30 16:10:56 -08:00
Mikolaj Wielgus 515aed7408 Make Clone functions for NETINFO_ITEM and PCB_MARKER 2021-12-01 00:47:22 +01:00
Seth Hillbrand 5dcd6f89d3 Don't register DRC error on internal approximation
Users can set the internal approximation of curves, which will create
small errors off of ideal locations.  This will cause DRC errors on some
items such as rounded rect pads when elements are routed at the minimum
ideal distance.  Users could already tune this value using the Advanced
Config values but we'd rather the user not depend on that.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9833
2021-11-30 15:28:20 -08:00
Jeff Young 3af65936c1 Don't consider heatsink, castellated or fiducial pads for THT vs SMD.
Also fixes a bug where the Footprint Checker's marker list wasn't cleared
correctly from the last run.

Fixes https://gitlab.com/kicad/code/kicad/issues/9821
2021-11-29 16:45:42 +00:00
Jon Evans 3218665861 Revert "Sync action plugins every time PCB frame is created"
This reverts commit 69566b25b1.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9798
2021-11-28 16:16:14 -05:00
jean-pierre charras 3886e681ae PAD Copy CTOR: fix missing copy of m_pinType member. 2021-11-28 14:34:26 +01:00
jean-pierre charras f5246acf37 PCB_PAINTER: draw PAD do not always replace netname by "x".
When a pad net is edited inside the board editor, its netname is no longer
its corresponding pin netname.
Fixes #9795
https://gitlab.com/kicad/code/kicad/issues/9795
2021-11-28 14:34:26 +01:00
Jon Evans a746d31038 PNS: Fix loop removal outside shove mode
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9680
2021-11-27 15:21:47 -05:00
Jon Evans 8a0f8c329f PNS: Fix DP gateway generation when pad distance < gap
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9306
2021-11-27 14:03:19 -05:00
Seth Hillbrand 4b226b8172 Unify our breakTracks routines
Fixes https://gitlab.com/kicad/code/kicad/issues/9793
2021-11-27 06:34:47 -08:00
Jeff Young b0d7c1a810 Don't leave orphaned nets in pads after editing in FPEditor.
Fixes https://gitlab.com/kicad/code/kicad/issues/9789
2021-11-27 12:34:41 +00:00
jean-pierre charras b8b8c0d34c dialog text properties: fix a focus issue.
Fixes #9792
https://gitlab.com/kicad/code/kicad/issues/9792
2021-11-27 10:08:30 +01:00
Jeff Young 6652e5acf4 Draw pad holes when dragging.
Most of the time they're under the pad, but the provide needed
info when the hole is larger than the pad.

Fixes https://gitlab.com/kicad/code/kicad/issues/9786
2021-11-27 00:55:09 +00:00
Jeff Young 9547c72e73 Teach router about different keepout rules.
Fixes https://gitlab.com/kicad/code/kicad/issues/9786
2021-11-27 00:55:04 +00:00
Jeff Young 6f0a4ccdee Formatting. 2021-11-26 18:14:29 +00:00
Jon Evans 69566b25b1 Sync action plugins every time PCB frame is created
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9781
2021-11-26 09:58:48 -05:00
Jeff Young 99ec2b1801 Don't hide original object when highlight is only part of it.
Fixes https://gitlab.com/kicad/code/kicad/issues/9772
2021-11-25 23:42:13 +00:00
Jon Evans da458535c4 PNS: Avoid flickering clearances on new items
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9773
2021-11-25 15:38:04 -05:00
Jon Evans 63718323bc PNS: Holes need to be moved with solids
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9773
2021-11-25 15:31:18 -05:00
Jon Evans 8026863d4c Use progress reporting in more places when loading a board
Prevents application-not-responding events while opening large designs
2021-11-25 11:19:03 -05:00
Jon Evans b4342d813b Fix SHAPE_LINE_CHAIN::Slice when end is an arc followed by a point
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9770
2021-11-25 10:05:33 -05:00
Jeff Young ade8fe4333 When dragging footprints pads with holes also need to be taken along.
Otherwise (aside from not colliding with their dragged location) we
won't update their locations and then if they happen to be the first
pad in the footprint we'll try to update the footprint's location post-
drag with the pad offset (which will be {0,0}.

This is easily reproducible with the test document in the bug in the
"fixes" statement.

Fixes https://gitlab.com/kicad/code/kicad/issues/9391
2021-11-25 14:54:12 +00:00
Jeff Young f9e1429c60 Naming conventions. 2021-11-25 14:54:12 +00:00
Jeff Young 5985a21b74 Offset internal items by drag amount.
Some tools move only preview items while keeping the real items
hidden.  Those tools must use this new offset parameter.

Other tools move the real items.  Those tools can ignore this
parameter (which will default to {0,0}).

Fixes https://gitlab.com/kicad/code/kicad/issues/9391
2021-11-25 14:54:12 +00:00
Jeff Young ba6ae4fa9b Kicad has many plugins. This one is for the pcb. 2021-11-25 12:56:46 +00:00
Jon Evans 6ecdbbb1da Remove some duplicate work when loading a board 2021-11-24 22:04:16 -05:00
Wayne Stambaugh 06f206104d Pcbnew: fix chamfered rectangular pad definitions in GenCAD exporter.
The pad comparison function was never updated when chamfered rectangular
and custom pads were added so if more that one variant of either of those
pad types existed in a design, only the first one would get generated and
assign to every pad of that type.

The custom pad primitive comparison has not be implemented so the exported
designs may be broken for custom pads.
2021-11-24 12:54:44 -05:00
jean-pierre charras c0fdac2774 DIALOG_TRACK_VIA_PROPERTIES: Do not use wxcombobox selection as temporary variable.
Fixes #9746
https://gitlab.com/kicad/code/kicad/issues/9746
2021-11-24 17:36:10 +01:00
jean-pierre charras b6ea9afb4f DIALOG_PAD_PROPERTIES: fix 2 issues: missing initial value for roundrect corner radius
and missing resize pad display panel (minor cosmetic issue).
Fixes #9755
https://gitlab.com/kicad/code/kicad/issues/9755
Fixes #9703
https://gitlab.com/kicad/code/kicad/issues/9703
2021-11-24 09:44:13 +01:00
Seth Hillbrand f97c7c78c8 Connect ruler tool with axes preferences
Adds "UpdatePreferences" action that is called when the preferences are
updated, allowing running tools to act on changes that may affect them

Fixes https://gitlab.com/kicad/code/kicad/issues/9737
2021-11-23 12:52:21 -08:00
Jeff Young 1c3e1df3ca Not all holes are round.
We currently only need this to work for vias as we're a long way
from being able to support it for pads, so just check the hole
shape.

Fixes https://gitlab.com/kicad/code/kicad/issues/9735
2021-11-23 14:36:05 +00:00
Tomasz Wlostowski e56e61ffb5 router: fix typo in the DP tuning fix patch 2021-11-23 00:21:38 +01:00
Seth Hillbrand 126563c839 Fix initilization project / ordering
We cannot resolve the Canvas type without the canvas being initialized.
But saving settings sometimes requests canvas access.  This protects the
calls against failure by checking for canvas before saving
canvas-specific settings

Fixes https://gitlab.com/kicad/code/kicad/issues/9729
2021-11-22 11:47:42 -08:00
Simon Schaak 5060c73625 Reject broken footprint files
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9721
2021-11-22 16:48:05 +01:00
Tomasz Wlostowski 89228e1ebe router: increase parallelity detection threshold for AssembleDiffPair()
Partially fixes the misrecognized diff pairs issue.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8567
2021-11-22 01:35:12 +01:00
Jeff Young 8777ce3d4e TEMP_SELECTED is in m_flags, not m_status.
Fixes https://gitlab.com/kicad/code/kicad/issues/9610
2021-11-21 23:52:45 +00:00
Tomasz Wlostowski e60386f028 router: disable 'limit corner count' optimization for via dragging
It seems to be completely preventing optimization instead of preventing over-optimization in case the head is a dragged via.
To be investigated in more details in V7.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8665
2021-11-22 00:05:17 +01:00
Tomasz Wlostowski ccf9a72078 router: fix ghost dots issue in router preview items
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8665
2021-11-22 00:05:17 +01:00
Seth Hillbrand 3f2d86adec Make OpenGL default for all apps
Fixes https://gitlab.com/kicad/code/kicad/issues/9699
2021-11-21 12:33:07 -08:00
Roberto Fernandez Bautista bbafce6ab3 PNS: Don't clip the line in the middle of an arc - just start again
In shove mode, returning an empty line results in keeping the current
head, which should be okay for now.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9023
2021-11-21 19:53:03 +00:00
Roberto Fernandez Bautista 4e0ad07eb0 PNS::Shove Add margin when generating hulls for arc segments
Partially fixes https://gitlab.com/kicad/code/kicad/-/issues/9023

There is still a case where if the shover does not find a solution,
we try clipping the arc and it still collides.
2021-11-21 17:13:21 +00:00
Tomasz Wlostowski 90157db537 PCB_PARSER: add timeout for of 100 ms for refreshing the progress window.
The previously used line number threshold was causing (on some systems) severe slowdown in loading
due to relatively long redraw time of the progress bar window.
2021-11-21 17:33:59 +01:00
Jon Evans b1878fcc54 ClipVertexRange: fix fallout of NextShape API change
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9711
2021-11-21 11:03:22 -05:00
jean-pierre charras 302c5ab537 Fix an issue created by commit 9e3362d1.
the issue was the graphic cursor was locked on the first snap point
in route mode, once a snap point is found.
2021-11-21 15:37:03 +01:00
Jeff Young cf1d5f5724 Teach selectConnectedTracks() about layers.
Fixes https://gitlab.com/kicad/code/kicad/issues/9610
2021-11-21 13:53:43 +00:00
Jeff Young 229706b48a Formatting. 2021-11-21 13:53:43 +00:00