Commit Graph

12799 Commits

Author SHA1 Message Date
Roberto Fernandez Bautista 8caf62803d Avoid unnecessary newlines and extra spaces when saving polygon shapes
Also minor formatting / code style fixes.
2021-12-03 22:04:55 +00:00
jean-pierre charras c186d1f319 Force refresh AUI manager after reloading python scripts.
Because the tools in the Htoolbar can have changed, the AUI manager need refresh.
2021-12-03 09:30:24 +01:00
jean-pierre charras 01eebd0b9d Do not call callLoadPlugins() every time a SCRIPTING_TOOL is created.
(i.e. from board editor and from fp editor)
Once is enough.
Once plugins are loaded, calling LoadPlugins() from fpeditor disable plugins
in board editor
Fixes #9846
https://gitlab.com/kicad/code/kicad/issues/9846
2021-12-03 08:12:06 +01:00
Ian McInerney 65c0e0cd18 resolveCanvasType saves the settings, so it must come after they are loaded
Fixes https://gitlab.com/kicad/code/kicad/issues/9799
2021-12-03 01:43:53 +00:00
Franck Bourdonnec d877f04198 fixe paths 2021-12-02 20:23:00 +00:00
Jeff Young f8d61d689b Fix annoying wxWidgets assert. 2021-12-02 16:56:47 +00:00
Mikolaj Wielgus 46a8d23378 Remove narrowing implicit cast 2021-12-02 16:35:35 +01:00
Jeff Young 5cb2641142 Fix nullptr dereference in router.
Fixes https://gitlab.com/kicad/code/kicad/issues/9844
2021-12-02 13:20:44 +00:00
Jeff Young 0e65fe5d8d Coding standards and commenting. 2021-12-01 23:15:37 +00:00
Jeff Young a596a1f2e2 ROUTER_TOOL needs to handle pads not handled by router itself.
Fixes https://gitlab.com/kicad/code/kicad/issues/9839
2021-12-01 22:25:02 +00:00
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
Tomasz Wlostowski c40e921cb3 router: remeber to make a shove lockpoint when placing a lone via
Note to self: works around a possible bug in CommitPlacement()/RewindToLastLockedNode()

fixes: https://gitlab.com/kicad/code/kicad/-/issues/9695
2021-11-21 00:18:20 +01:00
Jeff Young c1703212dc "Document" properties go in File menu; Edit menu is for item props. 2021-11-20 22:44:43 +00:00
Jeff Young 9e3362d14c Snap mouse point before picking startItem.
Fixes https://gitlab.com/kicad/code/kicad/issues/9700
2021-11-20 13:44:16 +00:00
Jeff Young 1f4858c314 Show holes in router preview items for vias.
Fixes https://gitlab.com/kicad/code/kicad/issues/9658
2021-11-20 12:21:24 +00:00
Seth Hillbrand 766a09c338 Remove autocomplete when we lose focus
Prevents the excess dropdown from persisting over windows

Fixes https://gitlab.com/kicad/code/kicad/issues/9651
2021-11-19 17:24:16 -08:00
Seth Hillbrand 7529eb1812 SWIG out connected item vector for use
Fixes https://gitlab.com/kicad/code/kicad/issues/8566
2021-11-19 13:39:06 -08:00
Jeff Young c01649fc6e Make it easier to open legacy files. 2021-11-19 13:36:14 +00:00
Jon Evans d76c6bc884 Add NewBoard API to allow standalone BOARD creation
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9687
2021-11-18 21:43:05 -05:00
Jon Evans c5ddb8de26 Hide confusing lowercase version of GetCenter from SWIG 2021-11-18 21:21:22 -05:00
Seth Hillbrand 1d2fd6d271 Change persistent 45° state to only drawing
Move/edit points have a lossy state that holds only for the time in
which the tool is active.  It reverts back to non-constrained after
completion of the move/point edit

Fixes https://gitlab.com/kicad/code/kicad/issues/9574
2021-11-17 15:38:28 -08:00
Wayne Stambaugh e57ef66971 Fix build error with wxWidgets 3.0. 2021-11-17 12:28:23 -05:00
Jeff Young ffae6c8f56 Fix hole table grow issue.
Fixes https://gitlab.com/kicad/code/kicad/issues/9666
2021-11-17 12:49:53 +00:00
Seth Hillbrand a699cccaaf Fix two string issues
Comp -> Compatible
Update string reference to changed string
2021-11-16 10:38:56 -08:00
Jon Evans ed478f5ec0 Revert to ERROR_INSIDE for complex pad shape hulls in PNS
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9544
2021-11-15 19:15:05 -05:00
Wayne Stambaugh a4e9beeeac Coverity issue fix. 2021-11-15 14:02:28 -05:00
Jeff Young ab2eae6f48 Implement a more nuanced firstFocus for Track & Via Properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/9645
2021-11-15 13:02:41 +00:00
Jeff Young 9d587e3e6e Import Eagle rects, polys and circles with 0 width as filled.
Fixes https://gitlab.com/kicad/code/kicad/issues/9639
2021-11-14 23:50:05 +00:00
Jeff Young 66d9e7073f More discrete borders for Kicad mgr, PCM and appearances panels.
Fixes https://gitlab.com/kicad/code/kicad/issues/9616
2021-11-14 15:01:44 +00:00
Thomas Pointhuber 591fbf6383 altium: use arc angle to determine winding direction 2021-11-14 14:45:07 +01:00
Wayne Stambaugh 80c5b1efb1 File formatting improvements and fixes.
Symbol library IDs included the library nickname which is incorrect
and meaningless since it will be overwritten by the symbol library
table code.  This is not a file format change as there are no behavioral
differences.
2021-11-13 12:57:18 -05:00
Wayne Stambaugh 53f5d616aa Coverity issue fixes. 2021-11-13 11:38:31 -05:00
jean-pierre charras eb3d8dbcc8 DIALOG_FOOTPRINT_PROPERTIES: fix an issue when a layer selector widget is selected.
When resisting the dialog, the widget was not moved.
Fixes #9617
https://gitlab.com/kicad/code/kicad/issues/9617
2021-11-13 11:12:08 +01:00
Jeff Young 2c870acaac Fix arc exporting to GenCAD.
Fixes https://gitlab.com/kicad/code/kicad/issues/9597
2021-11-12 18:07:31 +00:00
Jeff Young 381da21609 Don't inc/dec to netclass track width value.
Fixes https://gitlab.com/kicad/code/kicad/issues/9622
2021-11-12 17:50:34 +00:00
Jeff Young 879254abff Remove track min width from the status bar.
It presents an over-simplified picture.  Better to use Inspect >
Constraints Resolution....

Fixes https://gitlab.com/kicad/code/kicad/issues/9623
2021-11-12 17:31:50 +00:00
david-beinder fd6a75b779 Do not call TransformToPoly for negative sized PADs 2021-11-12 15:40:08 +00:00
david-beinder b46b27fe8c Altium import: Avoid illegal filenames when writing embedded 3D models 2021-11-12 14:49:22 +00:00
david-beinder a9b4465703 Altium import: Use UTF16 string table for PCB texts
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7948
2021-11-12 14:49:22 +00:00
Wayne Stambaugh 992fc83870 Pcbnew: fix GenCAD exporter bug.
The chamfered rectangle pad coordinate export was in the absolute board
position instead of relative to the footprint origin which GenCAD expects.

This fixes KSC ticket #413.
2021-11-11 17:31:52 -05:00
Jon Evans 8ec3ce99ae PNS: Update shover when autocompleting on item
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9598
2021-11-10 18:17:56 -05:00
Roberto Fernandez Bautista 13f081549c CADSTAR PCB: Use all User layers when mapping documentation layers
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9577
2021-11-10 21:47:22 +00:00
Roberto Fernandez Bautista ad2e780a2c CADSTAR PCB: Correctly load pads with holes
If the THROUGH_HOLE attribute isn't set, it just means that the pads
are only present on one side of the board, but there can still be a
plated / non-plated hole.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9579
2021-11-10 21:21:32 +00:00
Jeff Young f6c160eb50 Apply a big hammer for python script refreshing.
While not ideal, this should tide us over until we have a commit
architecture for python scripts.

Fixes https://gitlab.com/kicad/code/kicad/issues/7065
2021-11-09 18:47:47 -05:00
Jeff Young 0dcbfa2b69 Always use UUIDs for implicit keepout rules.
Fixes https://gitlab.com/kicad/code/kicad/issues/9580
2021-11-09 17:57:47 +00:00
Jeff Young c0a6014114 Save actual control values; GetOriginalText is only for eval.
Fixes https://gitlab.com/kicad/code/kicad/issues/9575
2021-11-09 13:53:03 +00:00
Jeff Young 0631c8fc74 Fix logic bug when updating circular pad points.
Fixes https://gitlab.com/kicad/code/kicad/issues/9576
2021-11-09 13:14:24 +00:00
Jeff Young 18d9f6e323 Reduce auto. 2021-11-09 13:14:24 +00:00
Jon Evans 59807d8d26 A better solution to discarding pending shove operations
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9553
2021-11-09 00:00:54 -05:00
Jon Evans 0234ae3003 Add CloneFrom API for BOARD_DESIGN_SETTINGS in SWIG
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6885
2021-11-08 23:01:24 -05:00
Jon Evans 75d75799f7 Move to getters/setters for aux and grid origin
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8836
2021-11-08 22:36:40 -05:00
Seth Hillbrand 6cc6f06a9a Millimetres -> Millimeters 2021-11-08 15:56:51 -08:00
Seth Hillbrand 6569337d27 Haching -> Hatching 2021-11-08 15:56:51 -08:00
Seth Hillbrand 2f1a3827cf Solder paster -> Solder paste 2021-11-08 15:56:51 -08:00
Jeff Young 6af031be05 Use double-quotes for rule expressions.
The Mac double-quote bug is now fixed and strings inside expressions
are single quoted making single-quoting the entire expression pretty
hard to visually parse.
2021-11-08 20:53:59 +00:00
Jeff Young b1e8241ebe Update pin type as well as function from existing when updating fp. 2021-11-08 20:53:59 +00:00
Jeff Young d0014a307d Reduce the artificial gravity for selecting vias by a bit.
Fixes https://gitlab.com/kicad/code/kicad/issues/9563
2021-11-08 20:53:59 +00:00
Seth Hillbrand 81fc7c71d1 Handle blind/buried vias in Eagle import
Don't sanitize layers before setting type

Fixes https://gitlab.com/kicad/code/kicad/issues/9557
2021-11-08 12:46:54 -08:00
Roberto Fernandez Bautista 7fd669b6a8 Use green soldermask and white silkcreen when unspecified
Also - unspecify colour of soldermask by default

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9538
2021-11-07 15:35:14 +00:00
Jeff Young dbad85d405 Remove instances of "auto". 2021-11-07 14:12:44 +00:00
Mark Hämmerling 97e9348ee1 Fix typo "verical" -> "vertical" 2021-11-06 20:39:19 +00:00
Mark Hämmerling 8f0b61715b Fix tooltip about Edge.Cuts (not) being plotted on all layers, remove period 2021-11-05 23:38:14 +00:00
Roberto Fernandez Bautista 6aa7602c32 CADSTAR PCB: Reverse anticlockwise arcs before adding to the chain
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9533
2021-11-05 17:13:02 +00:00
Roberto Fernandez Bautista 8314251fa1 CADSTAR PCB: Force white silkscreen and green soldermask
We don't know the actual colour from the design, but this is the most
common used in the industry.
2021-11-05 17:13:02 +00:00
jean-pierre charras 93e163b98d Do not replace delimiter " by ' inside a command string.
Fixes #9528
https://gitlab.com/kicad/code/kicad/issues/9528
2021-11-05 13:24:38 +01:00
Marek Roszko 792a8dca9d Fix errant wxassert about expand and center align 2021-11-04 22:55:40 -04:00
Jeff Young 393c84e67a Fix sketch mode rendering of beziers.
Fixes https://gitlab.com/kicad/code/kicad/issues/9522
2021-11-04 12:57:16 +00:00
Seth Hillbrand cf6b18ec7e Remove escaped double-quotes
For some reason, escaped double quotes in wxString::Format cause issues
on Mac.  We can replace them with single quotes in most places without
loss of clarity
2021-11-03 17:03:14 -07:00
Seth Hillbrand b022b314a4 Account for pad hole is BBox
The bounding box is used for hit testing.  If the hole is arbitrarily
larger than the pad, we need to allow the user to properly select it
2021-11-03 14:33:44 -07:00
Jeff Young ffd1139cfe Make sure a pad is at least as big as its hole in the RTree.
Fixes https://gitlab.com/kicad/code/kicad/issues/9516
2021-11-03 18:53:26 +00:00
Asuki Kono 762cd5a32f Add PLACE_FILE_EXPORTER to swig to call in python 2021-11-03 16:32:05 +00:00
jean-pierre charras 6b432e895a DIALOG_COPPER_ZONE_BASE: fix incorrect max value of zone priority. 2021-11-03 11:49:38 +01:00
Johannes Pfister 64f77b3596 PNS: Add support for 90-degree corner modes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6902
2021-11-03 02:14:23 +00:00
Jeff Young 522359ccbf Improve comments. 2021-11-02 20:07:34 +00:00
Jeff Young 3c78bf4ef8 One active point at a time. 2021-11-01 16:17:33 +00:00
Seth Hillbrand f4cd57f815 Reserve production strings 2021-11-01 07:14:38 -07:00
Jon Evans 153594b9ea PNS: Actually implement the AbortRouting API
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9425
2021-10-31 16:06:57 -04:00
Jeff Young 22ba640c2b Remove locking from footprint editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/9496
2021-10-31 16:33:03 +00:00
Jeff Young e3ef101ec9 Add missing view controls for FP Editor Appearance Manager. 2021-10-31 16:33:03 +00:00
Roberto Fernandez Bautista b2db24f275 CADSTAR PCB: Don't invert Text Angle for mirrored text
It matches the original cadstar when we don't invert
2021-10-30 18:14:23 +01:00
Wayne Stambaugh d4537b6f53 Coverity issue fix.
Remove uninitialized member variable as it was unused rather than
initialize it which would have made Coverity happy.
2021-10-30 11:52:06 -04:00
Jeff Young 5f8e0ef1e0 Patch up arc hit-testing and printing for 6.0
This could use another look when we're not so near release.  We
really shouldn't need to special case eeWinding vs. not eeWinding.

Fixes https://gitlab.com/kicad/code/kicad/issues/9491
2021-10-30 15:10:07 +01:00
Jon Evans 08700e3522 Router: show corner style in message panel 2021-10-30 09:08:52 -04:00
Jon Evans 08bf28b95d Fix disabling free-angle mode 2021-10-30 09:08:35 -04:00
Jon Evans e6c3027531 Action string typo fixes 2021-10-30 08:47:36 -04:00
jean-pierre charras 48be569a29 DIALOG_PAD_PROPERTIES: use our UNIT_BINDER to manage pad rotation and remove
the wxFloatingPointValidator (that has also issues with fp separator).
Try to fix a bug related to pad rotation in some locales (see bug 9331).
2021-10-30 12:39:33 +02:00
Jeff Young 08938463f1 Fix off-by-one error in via sizes.
Fixes https://gitlab.com/kicad/code/kicad/issues/9486
2021-10-29 20:45:42 +01:00
Wayne Stambaugh ffddefc532 Minor dialog layout improvements. 2021-10-29 15:29:49 -04:00
jean-pierre charras 63d4d84aaa pcbnew, router: fix a crash and some other issues related to microvias and blind/buried vias
- fix crash when trying to create a microvia from a internal layer (boards with > 4 layers)
- fix a bug that allowed to create a non through hole via on only one layer
- fix a bug that allowed to create a microvia on non adjacent layer pair
- when placing a via and selecting the target layer from dialog, show only allowed layers.
Fixes #9477
https://gitlab.com/kicad/code/kicad/issues/9477
2021-10-29 17:54:04 +02:00
Peter Montgomery 71b07b59c5 Pcbnew: Added "All Items" clear/set to "Filter Selection" dialog 2021-10-29 09:56:14 +00:00
Jeff Young c47e5ce577 Improve clearance outline tooltip. 2021-10-29 00:17:06 +01:00
Jeff Young 1abd45ac15 Report nets on pads. 2021-10-29 00:17:06 +01:00
Electro707 4afb59fda0 Added feature to switch between router modes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9414
2021-10-28 22:46:05 +00:00
jean-pierre charras 1dbe8442b1 fp editor: fix crash (null pointer) when trying to drag an item.
(there is no roter tool in fp editor)
Fixes #9476
https://gitlab.com/kicad/code/kicad/issues/9476
2021-10-28 11:51:04 +02:00
Jon Evans 4a9b3d9673 PNS: clear leftover vias from previous trace in DP placer
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9283
2021-10-27 21:58:42 -04:00
Jeff Young e9661161d2 Fix missing member variable in swap().
Fixes https://gitlab.com/kicad/code/kicad/issues/9470
2021-10-27 21:57:20 +01:00
Wayne Stambaugh 54be0da33d Pcbnew: minor plot dialog improvements. 2021-10-27 11:36:43 -04:00
Jeff Young 4fe025909d Fix centered rotated text in Pcbnew Eagle importer.
Fixes https://gitlab.com/kicad/code/kicad/issues/9466
2021-10-27 14:38:42 +01:00
Jeff Young e12f9a194d Fix Eagle arc importing.
Fixes https://gitlab.com/kicad/code/kicad/issues/9466
2021-10-27 02:36:43 +01:00
Seth Hillbrand 0c99c99e12 Do not assign priorities to rule areas
As noted by @jeffyoung, we shouldn't set priorities to rule areas as
this can expose unexpected issues

Related to https://gitlab.com/kicad/code/kicad/-/issues/7776
2021-10-26 11:16:04 -07:00
Jeff Young 5b9519da6c Fix arc formatting in Fabmaster import. 2021-10-26 17:52:10 +01:00
Jeff Young 341b0a5652 Don't depend on a keepout zone having no priority.
Fixes https://gitlab.com/kicad/code/kicad/issues/7776
2021-10-26 17:20:09 +01:00
Jeff Young c13ff9cec9 Formatting. 2021-10-26 17:19:30 +01:00
Jeff Young f724fe7eff Move bbox padding to RTrees so it doesn't interfere with hittesting.
Fixes https://gitlab.com/kicad/code/kicad/issues/9361
2021-10-26 13:46:30 +01:00
Wayne Stambaugh 1f7fd436a2 Move board object polygon code into the object source files.
Having the board object polygon code all defined in a separate file made
finding the polygon code for an object difficult to find.
2021-10-25 17:42:11 -04:00
Roberto Fernandez Bautista a79a221257 Array creator tool: Add option to assign unique reference designators
ADDED: Option to assign unique reference designators to footprints
created with the array tool [pcbnew]

CHANGED: Array creator dialog no longer displays pad numbering properties
when in the board editor. [pcbnew]

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2354
2021-10-25 22:38:49 +01:00
Jeff Young 36d11f745e Update ratsnest while dragging footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/9391
2021-10-25 21:45:30 +01:00
Seth Hillbrand 7812dc1a67 Fix hard-coded limit to dp choice
Fixes https://gitlab.com/kicad/code/kicad/issues/9459
2021-10-25 10:45:59 -07:00
Seth Hillbrand ea4e06124e Edit library footprint command
Provides missing PCB_ACTION for the edit library footprint command.  This is
needed for python control of the command

Fixes https://gitlab.com/kicad/code/kicad/issues/9454
2021-10-25 09:25:37 -07:00
Tomasz Wlostowski bba742b804 pcbnew: support vertex line start/end width to correctly import certain DXF files 2021-10-25 17:39:09 +02:00
Tomasz Wlostowski df47c1c4e9 pcbnew: use doubles to pass line widths in the DXF importer as they are expressed in DXF's units and can case severe rounding errors when passed as ints 2021-10-25 17:36:04 +02:00
Seth Hillbrand 8a3bc3fe4d Don't translate empty strings
The _( "" ) msgid is reserved in gettext, so we need to avoid it in code
2021-10-25 06:24:06 -07:00
Jon Evans 5475303ec2 Allow loading secondary boards from Python
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9271
2021-10-24 14:06:38 -04:00
Seth Hillbrand d202b78dc4 Fix disable warnings to be compatible
GCC and Clang both support the short mnemonic `-w` to disable warnings,
so use that to be compatible

Fixes https://gitlab.com/kicad/code/kicad/issues/9446
2021-10-24 07:30:39 -07:00
Jeff Young c9d858eaf5 Add status bar message for constraint mode.
Fixes https://gitlab.com/kicad/code/kicad/issues/9282
2021-10-24 14:04:12 +01:00
Jon Evans 328d3d0d77 PNS: Fix rule resolution when starting from PTH
Have to use the routing start layer, not the first
layer of the PTH, to get the appropriate sizes
2021-10-23 22:46:31 -04:00
Jon Evans 3b18dce911 Remove vestigal setting
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9444
2021-10-23 22:12:25 -04:00
Roberto Fernandez Bautista e950278637 Don't initiate a drag if the router is already active
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9277
2021-10-23 19:01:25 +01:00
jean-pierre charras 25c8b58e68 DIALOG_COPPER_ZONE_BASE: fix bug that prevents entering a value in Smoothing amount. 2021-10-23 15:16:37 +02:00
Jeff Young e30d867439 Use consistent terminology for various constraint modes. 2021-10-23 12:18:08 +01:00
Jeff Young 90eff6c6a2 Prevent assert when sorting non-existant layer. 2021-10-23 11:53:03 +01:00
Roberto Fernandez Bautista 987d64c88e pcbnew graphics import: Fix arc winding direction 2021-10-23 11:02:00 +01:00
Jeff Young fecb53b64f Clean up removal of separate front & back footprint text visibility.
Fixes https://gitlab.com/kicad/code/kicad/issues/9441
2021-10-22 21:14:15 +01:00
Seth Hillbrand d44e0ab765 Limit use of non-copper layers
When importing, we should not use Eco1 for other purposes as the
importer uses it to place unknown layer objects.  We also need to avoid
placing objects on the courtyard layers that do not relate to the layer
purpose in DRC

Fixes https://gitlab.com/kicad/code/kicad/issues/9442
2021-10-22 12:31:11 -07:00
Jeff Young 8cbdf5ba12 Keep default pad number up-to-date (in both directions).
Also hides the net selector when in the footprint editor as it has
no meaning there.  (We still only grey it out for the board editor
when the pad type has no net to keep things from coming and going too
much.)

Fixes https://gitlab.com/kicad/code/kicad/issues/9317
2021-10-22 19:58:36 +01:00
Floris Lambrechts 06b9d774c0 Expose PCB_TRACK vector as a SWIG proxy object
Allows to use Connectivity `GetConnectedTracks()` in Python.

This is in line with `GetConnectedPads()`, and with pcbnew v5.1 where
GetConnectedTracks was also usable from Python.

Fixes https://gitlab.com/kicad/code/kicad/issues/9435
2021-10-22 16:00:18 +00:00
jean-pierre charras 0bdb424215 FootprintWizardBase.py: fix Arc building due to recent code changes.
Add a arc_test wizard (only to test arcs in fp).
2021-10-22 10:07:31 +02:00
Jeff Young 6c0110ecd3 Naming conventions.
There's nothing "legacy" about the OpenGL 3D renderer.
2021-10-21 14:30:03 +01:00
Jeff Young 0fd762dc25 Make 3D dialogs easier to find. 2021-10-21 14:30:03 +01:00
Wayne Stambaugh 0795fcb810 Minor dialog layout fixes. 2021-10-21 08:59:55 -04:00
Jeff Young b1f17dc927 Don't let the polygon routines collapse on a zero line width.
Fixes https://gitlab.com/kicad/code/kicad/issues/9418
2021-10-20 12:29:07 +01:00
qu1ck 09a2701136 Fix arc angle calculation and python API for it
1. It's impossible to use methods that modify parameters in swig so
I extend it in wrapper
2. Simplify GetArcAngle() and fix the bug where it lies about 360
degree arc to be 0 degrees.
2021-10-20 10:38:42 +00:00
Jeff Young 463b82cf46 Be very careful when "doing what I mean".
Just wanting a SMD pad isn't enough -- the user may have already
set SMD settings into the master pad and changing the SizeX is
then very unexpected.  Make sure the settings directly conflict
before making any "do what I mean" adjustments.

Also fixes the parent-footprint info when no parent exists.

Also gives a better title to the dialog when used to edit the masterPad
properties.

Fixes https://gitlab.com/kicad/code/kicad/issues/9427
2021-10-20 08:59:25 +01:00
jean-pierre charras b37664092d DIALOG_GLOBAL_DELETION: enable graphic items filters when board outlines is enabled. 2021-10-20 09:16:40 +02:00
Seth Hillbrand 2a6c73b8df Check for hole before highlighting
Fixes https://gitlab.com/kicad/code/kicad/issues/9423
2021-10-19 11:25:00 -07:00
Jeff Young 57f907f6e7 Make sure PCB_PARSER is fully initialized between footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/9424
2021-10-19 17:14:04 +01:00
jean-pierre charras 40e6a9a926 Fp editor: add DRC test for through hole pads without hole. 2021-10-19 14:47:29 +02:00
Seth Hillbrand fb5fef9f5f Remove extraneous Raise() from DRC cross-probe
Scroll-to-show on GTK relies on the idle handler but this is interrupted
by a Raise and not revisited.  Since the Dialog is always on top of the
editor, Raise is not needed to view the referenced error

Fixes https://gitlab.com/kicad/code/kicad/issues/7246
2021-10-18 17:16:36 -07:00
Seth Hillbrand 5af813c69f Remove extra handler
The extra handler intercepted the action before it could be handled
properly changing the board design settings

Fixes https://gitlab.com/kicad/code/kicad/issues/9410
2021-10-18 15:08:22 -07:00
Seth Hillbrand 29b851dce1 Tighten up ecea2e4279 2021-10-18 13:44:19 -07:00
Mark Hämmerling ecea2e4279 pcbnew: Add window title to "Find" dialog 2021-10-18 20:39:37 +00:00
Seth Hillbrand e9205a0740 Fix mistaken comparison in highlighting
Need to compare between elements colliding

Fixes https://gitlab.com/kicad/code/kicad/issues/9413
2021-10-18 13:38:27 -07:00
Jeff Young 856cc26d4c Allow vias the same same-net waiver that pads have for hole clearance
Note that in 7.0 we have physical_hole_clearance rules to give a bit
more expressivity here.

Fixes https://gitlab.com/kicad/code/kicad/issues/9420
2021-10-18 18:09:40 +01:00
Jeff Young 0826c26a18 Fix a few minor dialog issues. 2021-10-18 18:09:40 +01:00
Seth Hillbrand 10ac675905 Fix shadowing 2021-10-18 09:00:24 -07:00
jean-pierre charras cee9e417ec Fix mirroring arcs in footprints
Fixes #9417
https://gitlab.com/kicad/code/kicad/issues/9417
2021-10-18 17:10:39 +02:00
Ian McInerney 5817a8b5f4 Remove unused m_host variable
This variable isn't needed anymore after 5f53019290
pushed dark mode handling into the HTML window itself.
2021-10-18 00:29:40 +01:00
Roberto Fernandez Bautista 99442350a4 CADSTAR PCB: Fix loading of arc tracks following recent PCB_ARC changes
We no longer have any knowledge of the original start/end of the arc,
since SetArcAngleAndEnd swaps the start and end to ensure the arc is
always clockwise at the end.

Adds a method EDA_SHAPE::EndsSwapped() to notify whether the start/end
point of the shape were swapped.
2021-10-17 17:57:51 +01:00
qu1ck 6db0216dd4 Bring back python compatibility constants for SHAPE_T
They were removed in a41944020d
and that broke a lot of stuff.
2021-10-17 03:21:47 -07:00
jean-pierre charras b44a14a472 Plot custom pads with pad anchor size = 0.
A pad anchor size = 0 is allowed in 5.99 version (not in 5.1 versions)
Fixes #9408
https://gitlab.com/kicad/code/kicad/issues/9408
2021-10-17 11:01:38 +02:00
Roberto Fernandez Bautista e867a4fd27 CADSTAR PCB: Fix Zone fill priorities
The algorithm now correctly determines fill priorities when the zone
outlines are close together and within the minimum clearance between
zones.
2021-10-16 21:50:56 +01:00