Jeff Young
04fec5016b
Add keepout zones set to keepout footprints to footprint courtyard checker.
...
(This is for the move tool, not DRC. DRC uses more sophisticated keepout
processing which is too slow for the move tool, and doesn't let us know which
keepout area collided for collision highlighting.)
Fixes https://gitlab.com/kicad/code/kicad/issues/12594
2022-10-07 22:23:37 +01:00
Jeff Young
d6f1d5da76
Start-routing list needs to be a white list, not a black list.
...
We check the collisions later in the same routine, which is where all
the black-listed objects come in.
Fixes https://gitlab.com/kicad/code/kicad/issues/12595
2022-10-07 18:18:02 +01:00
jean-pierre charras
b8dfbe02ad
Fix some issues in STEP exporter
2022-10-07 18:53:31 +02:00
Jeff Young
bc58480e24
Missed some other uses of m_startItem in previous commit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12592
2022-10-07 14:01:46 +01:00
Jeff Young
cbb997a3b5
Use GetCurrentNets(), not m_startItem for message panel updates.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12592
2022-10-07 10:34:11 +01:00
jean-pierre charras
01a1d148e6
Make a sentence understandable and translatable.
...
Fix a minor compil warning
2022-10-07 10:11:02 +02:00
Alex
165654f114
Expose Switch Arc Posture in context menu.
2022-10-07 08:28:13 +03:00
Alex
d26b59a0bf
Improve arc construction using angles from arc geometry manager.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11713
2022-10-07 06:51:00 +03:00
Alex
2741d0eb4b
Fix crash on Specctra import.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12583
2022-10-07 03:03:34 +03:00
Alex
22917860ef
Move Enter Group for easier access.
2022-10-07 03:03:33 +03:00
Jeff Young
098e96f1c7
Use more precise formatting in DRC messages when less precise values are identical.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12587
2022-10-06 22:18:53 +01:00
Jeff Young
9119b5072a
Respect DRCEpsilon in diff-pair coupling test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12587
2022-10-06 22:18:53 +01:00
Jeff Young
d6c7f46842
Formatting.
2022-10-06 22:18:53 +01:00
Alex
0fea6f5ac3
Fix selection and entering in nested groups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12586
2022-10-06 21:02:36 +03:00
aris-kimi
f818f3a445
Fix footprint rule and zone area anchors
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12575
2022-10-06 15:29:18 +00:00
Jeff Young
40ad5b6de3
Broaden reset-sizes-after-layer-switch algorithm.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12576
2022-10-06 15:50:22 +01:00
Jeff Young
6927e75eae
Handle keepout areas with holes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12581
2022-10-06 15:08:56 +01:00
Jeff Young
19d270fe74
Text size sanity checking for TEXT_ITEMS_GRID.
...
Oh dear, there was a bunch going on here. Firstly the move from int
to long long int for ValueFromString() means that we were no longer
catching overflows (as we were C-style casting it back to int in many
places). But even when the overflow is caught, it would run in to
wxWidgets' empty string bug while trying to log it.
Fixes https://gitlab.com/kicad/code/kicad/issues/12577
2022-10-06 13:19:08 +01:00
Jeff Young
d8a3ba7917
Update router sizes when switching layers.
...
We may have layer-specific rules involved. Note that at some point
we also need to do something similar on every "fix route" step to
handle area-specific rules.
Fixes https://gitlab.com/kicad/code/kicad/issues/12576
2022-10-05 16:45:42 +01:00
Mark Roszko
6ddc5c1a6e
Fix run from build dir for step
2022-10-05 03:53:56 +00:00
Marek Roszko
3fe004fd1b
New kicad-cli will now be the cli interface
2022-10-04 22:24:13 -04:00
Seth Hillbrand
87171f53c7
Speedup dynamic ratsnest
...
Removes some unneeded calculations and threads the remaining.
Threading was previously removed to avoid overhead issues with small
boards. This is no longer needed with the thread pool implementation
Fixes https://gitlab.com/kicad/code/kicad/issues/12131
2022-10-04 17:06:45 -07:00
Seth Hillbrand
a0865082fb
Fix compile warnings
2022-10-04 17:06:45 -07:00
jean-pierre charras
0c7b6c3cbc
fix minor compil warnings
2022-10-04 19:51:51 +02:00
Seth Hillbrand
b4f3390626
Drill size is absolute
...
Use hole plating size for visibility only, not zone filling, routing or
DRC
2022-10-04 09:52:40 -07:00
Jeff Young
436d75e7f9
Try to reconcile SELECTION and BRIGHTENED use of overlay.
...
For some reason the overlay doesn't get redrawn during the PCBNew
selection disambiguation menu, so we need to not hide BRIGHTENED
items.
Fixes https://gitlab.com/kicad/code/kicad/issues/12547
2022-10-04 17:01:56 +01:00
Jeff Young
524a43f95e
Don't select footprints on the wrong side if not visible.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12483
2022-10-04 13:22:06 +01:00
Mark Roszko
fb8a4c10f7
Shove kicad2step into pcbnew itself with a new cli
2022-10-04 01:53:37 +00:00
Seth Hillbrand
b716afd6f1
Clarify various uses of "Center"
...
Distinguish between the english verb "Center" and the noun "Center",
which may be translated differently
Fixes https://gitlab.com/kicad/code/kicad/issues/11109
2022-10-03 12:48:57 -07:00
Seth Hillbrand
15d52c91e4
Clear ratsnest when removing nets
...
While we can keep the vector for nets, we need to ensure that the data
are cleared to prevent stale pointer access
Fixes https://gitlab.com/kicad/code/kicad/issues/12564
2022-10-03 09:33:31 -07:00
Jeff Young
97d4df4154
Better thread safety for zone boundingbox caches.
2022-10-02 19:30:43 +01:00
Jeff Young
adbbceacda
Make footprint type check more narrow, and set default to ignore.
2022-10-02 18:19:43 +01:00
Jeff Young
1fc5ecae6e
Minor dialog layout improvements.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12497
2022-10-02 11:45:30 +01:00
jean-pierre charras
a7775bab26
Manage the Search panel visibility state in view menu.
...
Fixes #12533
https://gitlab.com/kicad/code/kicad/issues/12533
2022-10-02 10:20:26 +02:00
Jon Evans
7059ef9b89
Store netclass visibility separately from nets
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10290
2022-10-01 19:54:13 -04:00
Jeff Young
e49de68a59
Implement a more durable zone bounding box caching strategy.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10821
2022-10-01 22:10:43 +01:00
Seth Hillbrand
6d298b661a
Minor speedup for some dynamic ratsnest cases
2022-10-01 13:43:57 -07:00
Jeff Young
d776e908d0
Fix an edge-case in the spoke genration logic for non-cardinal spokes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12549
2022-10-01 19:31:47 +01:00
Jeff Young
7be05e9eb1
Make sure we have nets before grabbing the first.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12554
2022-10-01 13:50:26 +01:00
Jeff Young
ba630971af
Possible fix for move/esc/esc crash.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12553
2022-09-30 23:05:55 +01:00
Jeff Young
c0a666507c
Work around more instances of the wxWidgets color string locale bug.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12552
2022-09-30 20:56:25 +01:00
Jeff Young
f095453d3e
Optimize ratsnest line endings for zones.
2022-09-30 19:04:54 +00:00
jean-pierre charras
a2a442a9f7
Plot Gerber, StartPlotBoard(): display a error message if the layer is not valid.
...
It can happens in Python scripts, when the layer is not set when starting plot,
and therefore the Gerber file header is incorrect.
2022-09-30 18:16:11 +02:00
Jeff Young
6a6ef9b1f4
Bring adding-to-group and hiding in sync.
2022-09-30 16:45:00 +01:00
Jeff Young
c87a5ff0ab
Remove elipsis from Remove Teardrops.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12550
2022-09-30 13:04:58 +01:00
Jeff Young
2372f24cb0
Don't include hidden text in group boundingbox.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12541
2022-09-30 13:02:08 +01:00
Mike Williams
c1da59b560
Swap: disallow swapping tracks / wires
...
Also fix missed shortcut change for S -> Shift-S
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12538
2022-09-29 17:04:43 -04:00
Jeff Young
b6efb88ee9
Fix logic error when filling zones.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12542
2022-09-29 17:46:24 +01:00
Jeff Young
d67437a2aa
Move ratsnest exclusion processing to a post-pass.
...
Also fixes a few cases where we were unnecessarily rebuilding
connectivity more than once for an operation.
2022-09-29 17:08:49 +01:00
jean-pierre charras
b5dfa4e2fb
Fix not handled exception, creating a crash.
...
Fixes #12536
https://gitlab.com/kicad/code/kicad/issues/12536
2022-09-29 13:08:23 +02:00
Fabien Corona
7e486327d9
Ibis differential and PRBS models
2022-09-29 08:35:01 +00:00
Seth Hillbrand
9894acea76
Spelling
2022-09-28 17:09:43 -07:00
Alex
4095172259
ADDED: Pack and Move Footprints, improved footprint spread algorithm.
2022-09-28 13:37:23 +00:00
Alex
b6eb5f721a
Remove old rect placement algorithm.
2022-09-28 13:37:23 +00:00
Mike Williams
ba6afafc86
Router Tool: get rid of getNearestRatnestAnchor
...
Unused now that the PNS Router handles the actions that needed it.
2022-09-28 13:29:52 +00:00
Mike Williams
6252840abd
PNS/Router Tool: Refactor Continue From End
2022-09-28 13:29:52 +00:00
Mike Williams
1be0deb58f
PNS/Router Tool: Refactor Finish Route
2022-09-28 13:29:52 +00:00
Mike Williams
b1f2273bc6
PNS: Add CurrentStart() to placers.
2022-09-28 13:29:52 +00:00
jean-pierre charras
dcc325b3b2
More about fix compil issues and warnings, especially in ibis code.
...
A few are msys2 specific and due to include files order.
2022-09-28 11:26:07 +02:00
jean-pierre charras
7d20418d6f
Fix compil issues and warnings, especially in ibis code.
2022-09-28 09:55:00 +02:00
Scott Hanson
5b9fcc0ba0
Cvpcb: Reload footprint libraries in CVPCB
...
CHANGED: Reload footprint libraries in CVPCB when footprint library table(fp-lib-table) is updated
2022-09-27 22:58:03 +00:00
Jeff Young
3a7068b346
Iterate on a copy of the selection since we're going to delete from it.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12484
2022-09-27 23:54:19 +01:00
Jonathan Haas
6b15231f4b
Add code to set better default layer widths.
...
This affects both the layer count dropdown and the "Adjust dielectric thickness" button. Changing layer widths will now maintain the same total board width and set layer widths to common manufacturer values. Layer widths can be locked (as before) to keep any manually defined values.
2022-09-27 21:24:48 +00:00
Fabien Corona
528fe4d371
Add Ibis to spice model editor
...
ADDED: IBIS models are now supported in Sim Model Editor
2022-09-27 20:47:00 +00:00
Jeff Young
1a812727cb
Fix some logic errors in importing SVG polygons with holes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11479
2022-09-27 17:45:21 +01:00
Alex
dc07ab9df1
Replace PROF_COUNTER with PROF_TIMER in some conditional places.
2022-09-27 14:07:47 +00:00
Jeff Young
b70ffddb04
Terminology and coding style.
2022-09-27 12:23:38 +01:00
Jeff Young
9e580b3116
Other -> Unspecified and a couple of other terminology improvements.
2022-09-27 12:15:18 +01:00
Jeff Young
57a79f3020
Coding standards.
2022-09-27 11:50:14 +01:00
Mike Williams
700edb95e3
PCB Actions: Grab Unconnected
...
Grabs the nearest unconnected item for each selected footprint/pad.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/1986
2022-09-26 16:17:41 -04:00
Mike Williams
f4a3062684
PCB: Select Unconnected
...
Selects the all unconnected items for each selected routable item.
2022-09-26 16:17:41 -04:00
Mike Williams
e66393c4dd
PCB Tools: Move Individually
...
Allows moving a selection of components one by one.
2022-09-26 16:17:41 -04:00
Marek Roszko
cfa26fb706
Fix footprint relative path resolution for idf/vrml export
2022-09-25 23:40:25 -04:00
Marek Roszko
707a598e5d
Prevent a crash due to the 3d preview dummy board stealing setting ownership
2022-09-25 23:04:13 -04:00
Marek Roszko
c50b4fb04f
Add relative to footprint 3d model path resolution
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2073
2022-09-25 22:56:16 -04:00
Marek Roszko
8e96751af2
Strip out and migrate 3d search paths in favor of env vars
...
This mainly stops reading/writing 3dresolver.cfg
We still keep some sillyness for kicad2step for now
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9164
2022-09-25 21:29:52 -04:00
Jeff Young
16d5c43c14
Fix shadowed variable.
2022-09-25 22:04:56 +01:00
Jeff Young
b4701593fb
Restore parent group pointers on undo.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11914
2022-09-25 21:45:29 +01:00
Jeff Young
503385f52e
Don't use FindNamedPad for net-tie logic. It only reutrns the *first*
...
pad of a given number.
Also improves other DRC logic to tighten up the net-tie rules now that
we know which pads are allowed to short with which other pads.
Also removes the "Overlapping pads" DRC violation now that we know
whether or not overlapping pads in a net-tie footprint constitute a
short.
Fixes https://gitlab.com/kicad/code/kicad/issues/12506
2022-09-25 17:38:31 +01:00
Marek Roszko
05a8650158
Add forgotten save of setting
2022-09-25 12:03:45 -04:00
Marek Roszko
2490ad1458
Fix search panel not remembering visibility
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12494
2022-09-25 11:56:41 -04:00
Marek Roszko
59d62f7df1
Untangle some includes
2022-09-25 11:37:06 -04:00
Ian McInerney
40ff7cb9bd
Fix some UI element spacing in settings panels
2022-09-25 15:41:39 +01:00
Ian McInerney
ea259fd093
Remove extra creation of an outline for the soldermask zone
...
The zone class initializes the outline with an empty SHAPE_POLY_SET, so
adding a new SHAPE_POLY_SET outline in the BOARD constructor causes a
leak of the original.
2022-09-25 15:41:39 +01:00
Marek Roszko
a381a0acb2
Generalize bookmarks to support additional groups and names
2022-09-24 22:35:20 -04:00
Marek Roszko
6f8205235f
ADDED: Add outline support to schematic PDF and PCB plot
2022-09-24 21:45:48 -04:00
Ian McInerney
1683e552f7
Add/fix some variable initializations
2022-09-25 00:48:38 +01:00
Jeff Young
f6d0fb8eed
Fix copy/paste error.
2022-09-24 20:00:01 +01:00
Jeff Young
7e71dc084c
Implement Mirror H/V for tracks and vias.
...
While not that often useful, it's really annoying that it doesn't work
when you *do* find a use-case for it.
Fixes https://gitlab.com/kicad/code/kicad/issues/6853
2022-09-24 19:55:48 +01:00
Jeff Young
328cc27020
Add pad-recombining to FPEditor's Cleanup Graphics.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12487
2022-09-24 19:34:06 +01:00
Ian McInerney
fdb97a46c1
Don't copy items in for loops when not needed
2022-09-24 03:46:06 +01:00
jean-pierre charras
28f836ab5c
Fix overzealous string replacement
2022-09-23 10:56:58 +02:00
Alex
58b03b0a1c
Small optimizations.
2022-09-22 17:22:04 +00:00
Jeff Young
897135a4f0
Support mirroring on the board too.
...
Also fixes a few bugs in FP item mirroring.
Fixes https://gitlab.com/kicad/code/kicad/issues/2168
2022-09-22 15:05:58 +01:00
Alex
f75266d130
Keep selection order in SCH->PCB cross-selection.
2022-09-22 11:43:37 +00:00
Jeff Young
839d31d427
Only update properties from a "real" project.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6268
2022-09-22 10:14:08 +01:00
jean-pierre charras
c44e54756a
search panel: fix a crash and a refresh issue after selecting a second item
...
at least on W10/msys2
2022-09-21 19:36:35 +02:00
Jeff Young
8eb68ee472
Add pin/unpin context menu to Symbol Chooser and Footprint Chooser.
...
Also moves some more code down into common so it can be shared.
Fixes https://gitlab.com/kicad/code/kicad/issues/12384
2022-09-21 14:45:12 +01:00
jean-pierre charras
25f1f7b0df
Fix a compil issue on GCC
2022-09-21 09:04:31 +02:00
Marek Roszko
5af00486c3
Set a default floating size for the search pane
...
aui panes unforunately get a default of 0,0 and no attempts to detect a size
2022-09-21 00:06:45 -04:00
Marek Roszko
ec25463fed
Allow multi-selecting from the search pane
...
Fix https://gitlab.com/kicad/code/kicad/-/issues/12476
2022-09-20 23:58:49 -04:00
Marek Roszko
dc9909f83f
Show all on empty searches
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12478
2022-09-20 23:44:42 -04:00
Marek Roszko
30dbcbbcf5
Only search the current tab on events
2022-09-20 23:38:06 -04:00
Marek Roszko
1b962a1660
Expand zone info a little
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12479
2022-09-20 22:16:50 -04:00
Marek Roszko
35201eac52
Add textboxes to Text tab of search
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12477
2022-09-20 22:16:50 -04:00
Jon Evans
728ef8a61c
Hide properties panel menu entry if flag isn't set
2022-09-20 21:48:38 -04:00
Jeff Young
513fc872bb
Support both X and Y mirroring in FPEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12409
2022-09-21 00:16:27 +01:00
Seth Hillbrand
0150655ed3
Fix missing DRC check with via
...
When the via is first and not second in our ordering, the hole-copper
clearance was not checked as the track did not have a hole.
We also calculated the NPTH-via clearance incorrectly in the inspector
2022-09-20 13:43:01 -07:00
Jeff Young
7f34586c7e
Allow text variable resolution through properties in drawing sheet text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12473
2022-09-20 15:28:05 +01:00
Jeff Young
cf1a411a19
Allow net to be selected with mixed track & via selection.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12412
2022-09-20 11:37:13 +01:00
Seth Hillbrand
9b4eb91f12
Zone Fill performance enhancement
...
Don't wait until all zones are filled before tesselating fills.
Tesselation happens on a layer-by-layer basis, so once the zones' layers
are filled, we can tesselate them in parallel with the remaining fill
work
2022-09-19 11:53:50 -07:00
Seth Hillbrand
0295090135
Zone Fill performance for overlapping zones
...
When multiple zones overlap each other, we need to synchronize the
filling. This should not wait for all zones to try to fill before
restarting. Instead, zones that cannot be filled because the depend on
another zone finishing are immediately re-inserted into the fill queue.
2022-09-19 10:11:06 -07:00
Jeff Young
64a6fc0fd4
Push UNITS_PROVIDER down into a low-level mixin.
...
This allows us to also construct cheap UNIT_PROVIDERs for specific
tasks when necessary.
2022-09-19 17:10:59 +01:00
jean-pierre charras
5990595619
When adding a bitmap, do not clone it during moving.
...
Cloning is not necessary, and is memory consuming.
2022-09-19 17:41:47 +02:00
Mike Williams
ca0c9f12e0
PCB Editor: Unroute Footprint
...
Also works on selected pads.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/1955
2022-09-19 10:37:10 -04:00
Mike Williams
9304607624
TOOL_EVENT: make command string non-optional
...
We're getting segfaults in places where this isn't checked. Also, add
some asserts so we can catch bad tool push/pop.
Removes all uses of GetCommandStr() and makes it private.
2022-09-19 10:23:09 -04:00
Jeff Young
45d6b4a9fc
Readability improvements.
2022-09-19 11:18:20 +01:00
Jeff Young
1566bd8b14
Make sure a collector has a guide before handing it to a client filter.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12460
2022-09-18 18:14:47 +01:00
Marek Roszko
57f8a248a5
Remove unused settings
2022-09-17 18:03:43 -04:00
jean-pierre charras
97963a2bba
Better after base_units.cpp changes in python stuff.
...
Move an include to kicad.i
2022-09-17 11:21:48 +02:00
jean-pierre charras
71bb7d63d9
Fix isses after base_units.cpp changes.
2022-09-17 10:56:56 +02:00
Marek Roszko
ece23d434b
Split up Double2Str to a format function to make its use case clear
2022-09-17 00:10:22 -04:00
Marek Roszko
1e0eca0916
Eyeball swig fix after the units changes
2022-09-16 22:31:52 -04:00
Marek Roszko
3d5913c825
Remove convert_to_biu.h, merge contents to base_units.h
2022-09-16 21:09:28 -04:00
Marek Roszko
66e8931405
Remove IU_PER_MM thats standalone
2022-09-16 21:09:27 -04:00
Marek Roszko
7a5829f8d6
Move IU2Mils
2022-09-16 21:09:27 -04:00
Marek Roszko
61e11d6896
Strip out Mils2Iu
2022-09-16 21:09:27 -04:00
Marek Roszko
e6ed275c25
Repoint IU_PER_MILS
2022-09-16 21:09:26 -04:00
Marek Roszko
33f8161799
Merge in MM_PER_IU to EDA_IU_SCALE
2022-09-16 21:09:26 -04:00
Marek Roszko
a8613ee80f
Combine Iu2Millimeter & remove PcbMm2iu
2022-09-16 21:09:26 -04:00
Seth Hillbrand
8e361e8a15
Be more diligent about checking for zone file deps
...
The outline collision is relatively cheap (especially after filtering
bbox collisions) so check if a zone REALLY depends on another zone
before making it wait. Waiting for zones can really increase the total
fill time
2022-09-16 17:23:06 -07:00
Seth Hillbrand
524b129c64
ADDED: Support for explicit DNP field
...
Dims elements shown as DNP. Adds property `dnp` to explicitly denote
parts that should not be populated. These parts are not included in X/Y
files
2022-09-16 22:26:16 +00:00
Jeff Young
107f409106
Use router's connectivity algorithm, not CONNECTIVITY_DATA's.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10745
2022-09-16 22:49:20 +01:00
Jeff Young
f10fdfc7d7
More delay for netname drawing, and don't run through tracks if it's off.
2022-09-16 22:19:56 +01:00
Jeff Young
90bc5c19cf
Performance enhancement for zone filling.
2022-09-16 19:16:15 +01:00
Jeff Young
cf1565a16a
Bug fixes for layer expression processing.
...
1) Push a VAR onto the stack, not a resolved value
2) Don't collapse a PCB_LAYER_VALUE to a VALUE during processing
3) Make sure we run overloaded operators from the correct side
Fixes https://gitlab.com/kicad/code/kicad/issues/12437
2022-09-16 14:14:43 +01:00
Jeff Young
d9f75556bd
Fix old copy/paste error (from 2017, believe it or not).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11487
2022-09-16 11:25:27 +01:00
Mark Roszko
b00178adb3
Nuke base_units from orbit
2022-09-16 04:38:10 +00:00
Jeff Young
aa0863cdf4
Don't mirror text on non-physical layers when in flip board view.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10037
2022-09-16 00:46:14 +01:00
Jeff Young
ce9adeaf51
Don't set FreeVia when we can't find a net.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12421
2022-09-15 23:16:08 +01:00
Jeff Young
19d8dcad8b
Don't hang when filling degenerate zones.
2022-09-15 23:16:08 +01:00
Jeff Young
a21d24a4c8
Experiment with loading recent searches into the search menu.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11743
2022-09-15 14:44:02 +01:00
jean-pierre charras
83fb06ff75
Fix compil and Coverity warnings.
2022-09-15 10:50:14 +02:00
Jon Evans
da9be1a812
ADDED: Multi-selection cut/copy/paste in symbol editor library tree
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11505
2022-09-14 22:20:38 -04:00
Marek Roszko
125ea73adf
Avoid refreshing the search when the panel isn't open
2022-09-14 21:02:00 -04:00
Jeff Young
12ee8b5d7c
Improve DRC cross-probing a bit.
2022-09-15 00:45:29 +01:00
lulu731
0180bcf90a
ADDED: Implement Drag and Drop
...
dropping files to Kicad manager :
*.kicad_pro, *.pro -> open project;
gerber and job files -> open in Gerbview editor;
Eagle and Cadstar files -> open project.
dropping file to schematic editor -> append schematic;
dropping library file to Symbol editor -> add library;
dropping board file to PCB editor -> append board;
dropping library or footprint file to Footprint editor -> add library or import footprint;
dropping ZIP file or gerber files to Gerbview editor -> open files;
dropping sheet file to Drawing Sheet editor -> open sheet.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11638
2022-09-14 22:28:09 +00:00
Seth Hillbrand
78acb4f07f
Fix unintentional typo
2022-09-14 15:14:35 -07:00
Seth Hillbrand
26a1114e3c
Avoid Yields when the results are ready
...
We always need to check for calculation results before yielding the
system otherwise we will delay outcomes
Fixes https://gitlab.com/kicad/code/kicad/issues/12228
2022-09-14 13:30:04 -07:00
dsa-t
bd8b737c44
GAL: Do better job at reserving vertices.
2022-09-14 16:07:47 +00:00
jean-pierre charras
397a93029e
Fix some outdated things (mainly about fix_swig_imports.py, useless with swig version 4)
...
Fixes #12414
https://gitlab.com/kicad/code/kicad/issues/12414
2022-09-14 13:36:43 +02:00
Jeff Young
2d3b8d6393
Fix logic around Select All inside an entered group.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12411
2022-09-14 12:24:51 +01:00
Jeff Young
281b9d405a
ADDED ability to specify where pad number (& net name) go on custom shaped pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6627
2022-09-14 11:37:20 +01:00
Jeff Young
ecd99633d8
Allow AppendBoard even in project mode.
2022-09-14 11:37:20 +01:00
Jeff Young
f91487aa36
Don't overwrite titleblock and pageinfo when appending board.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11650
2022-09-14 11:37:20 +01:00
Mark Roszko
f304e2d4f6
ADDED: Search/inspect pane
2022-09-14 02:59:57 +00:00
Mike Williams
1a023f5dd0
PCB Editor: (Auto)Route Selected (From Other End)
...
3x Selection-Based Routing Tools. Takes a selection of routable objects
and routes them one at a time individually, with an attempted finish, or
from the other end, depending on the action given.
2022-09-13 15:06:36 +00:00
Mike Williams
dc20e24c4a
Route Other End: Perform Steps in one Undo Commit
2022-09-13 15:06:36 +00:00
Mike Williams
82f8cd72a3
PNS Router IFACE: Add board commit mode control
2022-09-13 15:06:36 +00:00
Jeff Young
0a5ca5b485
Display crosshairs in picker tools.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10183
2022-09-13 01:40:43 +01:00
Jeff Young
8ae0ddf09d
Move import graphics dialog to UNIT_BINDER.
...
Also fixes a bug where the position gets scaled (because we're
applying it to the imported values, which are automatically scaled).
Fixes https://gitlab.com/kicad/code/kicad/issues/10483
2022-09-13 00:59:56 +01:00
Jeff Young
c2643f53cf
Tighter control over lambda capture.
2022-09-12 20:51:15 +01:00
Jeff Young
eaccd40c75
Allow vias to connect <no net> tracks even when DRC checking is on.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12403
2022-09-12 20:38:21 +01:00
Wayne Stambaugh
4f3db82c68
Add debugging support for KiCad2Step command line generation.
2022-09-12 14:30:07 -04:00
Mike Williams
37d2addf0e
Icons: add swap
2022-09-12 11:11:49 -04:00
Mike Williams
f70e1d0f22
SCH/PCB: Set Swap hotkey to 'S'
...
* Move Add Sheet to Shift+S in Schematic Editor
* Move Set Grid Origin to Shift+S in PCB Editor
2022-09-12 11:11:49 -04:00
Mike Williams
de6e368ac6
PCB: Swap Tool
2022-09-12 09:39:43 -04:00
jean-pierre charras
d1af8e7a4b
Fix broken bool PCB_SHAPE::IsType()
2022-09-12 12:38:45 +02:00
Jeff Young
57f9d6cb3d
ADDED text variables for pad NET_NAME, NET_CLASS and PIN_NAME.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6405
2022-09-12 00:55:57 +01:00
Jeff Young
95874aeeb4
Allow multi-layer plotting from python.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12314
2022-09-11 23:37:13 +01:00
Jeff Young
0df1786456
Improve adherecne to ignored tests.
2022-09-11 19:48:08 +01:00
Jeff Young
c16a640477
Improve marker counting and reporting.
2022-09-11 19:48:08 +01:00
Alex
cc4e34ef49
Don't sync the world twice in inline router tools.
...
Activate() already clears and syncs the world via PNS::TOOL_BASE::Reset,
so there's no need to sync in InlineDrag and InlineBreakTrack.
2022-09-10 20:49:30 +00:00
Jeff Young
5d468ca759
Use MESSAGE_TYPE::OUTDATED_SAVE for read-only infobar messages as well.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12252
2022-09-10 21:27:10 +01:00
Jeff Young
b95d9d660d
Move gerbview colors to preferences dialog.
2022-09-10 16:11:24 +01:00
Jeff Young
bd919e57bd
Exclude deprecated layers.
2022-09-10 10:44:40 +01:00
Jeff Young
f87bf3c46d
Special case up-key so it can get past headers in paged dialogs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10078
2022-09-10 09:31:27 +01:00
Jeff Young
9cf3c529d3
Apply the same accuracy band to connectivity as we use for hittesting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10745
2022-09-09 21:42:21 +01:00
Bobbe
93670d2b24
Improve support for .wrz files in vrml exporter, Fix error handling
2022-09-09 20:13:50 +00:00
Jeff Young
5b3bd9be83
Prune pasted data of non-enabled layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11997
2022-09-09 21:02:08 +01:00
Jeff Young
f179754118
Implement add-new-on-return for some of our grids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12335
2022-09-09 13:41:13 +01:00
Jeff Young
98e760da93
Coverity-suggested improvements.
2022-09-09 13:41:13 +01:00
Jeff Young
ca14697ad6
Fix issue trying to size stuff before it's displayed.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12386
2022-09-08 23:51:05 +01:00
Jeff Young
2743fd583f
More improvements to drag tool selection disambiguation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10745
2022-09-08 23:43:07 +01:00
aris-kimi
4efa13a3e3
Change Loss Tg to Loss Tan.
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10699
2022-09-08 16:17:32 +00:00
Jeff Young
a619ef9d53
Improve drop-a-knee-selection-to-a-single-segment algorithm.
...
In particular, don't rely on there being only two items in the
collector at the start.
Fixes https://gitlab.com/kicad/code/kicad/issues/10745
2022-09-08 14:10:18 +01:00
Jeff Young
9523586bf1
Remove atrophied PCB NO_CONNECTS layer and its colour.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12316
2022-09-08 00:28:31 +01:00
jean-pierre charras
6b3d36b6c3
CONVERT_TOOL: also show the "Create From Selection" menu if a array can be created
...
The "Create Array" sub-menu was recently moved to this menu, so it must me
shown as soon as an array can be created.
2022-09-07 10:53:27 +02:00
Alex
d67c81a657
When deselecting items, pick only selected ones.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10292
2022-09-06 19:44:29 +00:00
Mike Williams
fa3e9efdce
PCB Router: return to original active layer after routing
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12313
2022-09-06 10:51:46 -04:00
Mike Williams
68f71e4a62
PCB Router: Pressing V again can untoggle Via
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12315
2022-09-06 10:51:46 -04:00
jean-pierre charras
565b815250
3D models list in footprint properties: fix issue when a lot of 3D models is added
...
Fixes #10014
https://gitlab.com/kicad/code/kicad/issues/10014
2022-09-06 16:28:46 +02:00
Jeff Young
8afc1db7a6
Property popups for symbols, labels, sheets, and footprints in PDF.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5521
2022-09-06 13:59:52 +01:00
Jeff Young
7c83c78afe
Allow free pad usage in router.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11730
2022-09-06 13:59:52 +01:00
Jeff Young
3534cfbba8
Allow a single net collision with a free pad.
2022-09-06 13:59:52 +01:00
Jeff Young
16b4f96405
Centralize no-connect- and free-pad processing.
...
Also makes the track-net-names less squirrelly around the viewport
edges.
2022-09-06 13:59:52 +01:00
Jon Evans
e294fe2074
ADDED: Dynamic field columns in symbol chooser
...
CHANGED: Symbol chooser search now considers custom symbol fields
Visible columns can be controlled in database libraries.
In standard KiCad libraries, we show columns for all custom fields for now.
Customizable column visibility will be added in the future.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11946
2022-09-05 16:38:14 -04:00
jean-pierre charras
963a17f5b5
fix a compil warning
2022-09-05 18:33:17 +02:00
Jeff Young
156755e9db
Allow processing of non-handled events in length tuner tool.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11425
2022-09-05 10:57:07 +01:00
Jeff Young
c0ba1b35bf
Remove SMD pad side sanity check.
2022-09-05 10:41:37 +01:00
Jeff Young
895a8a8dbc
Work around focus issues for status popups.
...
Autoscroll wasn't working on Mac because the status popup's panel
has the focus. This *may* also fix a problem on MSW of the auto-scroll
not being cancel-able.
Fixes https://gitlab.com/kicad/code/kicad/issues/11425
2022-09-04 21:08:01 +01:00
Jeff Young
9405817a4d
Improve contrast of status popup text on Mac.
...
Also works around an issue where GetBackgroundColor() returns black
(with a 40% alpha) on Mac.
2022-09-04 21:08:01 +01:00
Jeff Young
d5cf7828fa
ADDED footprint checks for SMD pad consistency.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11736
2022-09-04 10:34:32 +01:00
Roberto Fernandez Bautista
2d203bc975
Don't move items inside a group: move the whole group instead
2022-09-04 00:59:57 +02:00
Roberto Fernandez Bautista
fa5dc23797
CADSTAR PCB: Fix regression when loading pads in footprints
...
Zero sized pads can be valid - e.g. a through hole pad
2022-09-04 00:59:57 +02:00
Roberto Fernandez Bautista
9abf3438b8
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
2022-09-04 00:59:57 +02:00
Roberto Fernandez Bautista
c961624d43
CADSTAR PCB: Load 2-point polygons as line segments
...
Fixes asserts when loading design from https://gitlab.com/kicad/code/kicad/-/issues/12349
2022-09-04 00:59:57 +02:00
Roberto Fernandez Bautista
21b3753e9b
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
2022-09-04 00:59:56 +02:00
Jeff Young
efae2bbb4c
Better feedback for netclass assignment patterns.
2022-09-03 21:33:56 +01:00
Jeff Young
c30a557810
ADDED netclass assignment from PCB canvas.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5975
2022-09-03 19:29:59 +01:00
jean-pierre charras
b791fff963
DIALOG_UNUSED_PAD_LAYERS: minor enhancement: pads and vias can be handled all at once
2022-09-03 10:41:14 +02:00
Roberto Fernandez Bautista
c15a13963b
Fix Build error: AddLine doesn't exist anymore
2022-09-02 11:17:28 +02:00
Roberto Fernandez Bautista
22f96bfd11
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-02 09:41:15 +02:00
Jeff Young
854acd4c77
Null-ptr safety for diff-pair-coupling test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12329
2022-09-02 00:49:33 +01:00
Jeff Young
09773e3e2e
Make sure dirty flag gets set, and leave save enabled regardless.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11824
2022-09-01 14:27:16 +01:00
Jeff Young
9188838e50
RIP EDA_RECT.
2022-08-31 23:57:24 +01:00
Jeff Young
b4492e0bd2
More EDA_RECE yeetage.
2022-08-31 17:19:50 +01:00
Jeff Young
ebe9617e77
More EDA_RECT expungification, and an attempt to fix the python test.
2022-08-31 17:19:48 +01:00
Jeff Young
f17a865593
Move EDA_ITEM hitTest to BOX2I.
2022-08-31 17:18:45 +01:00
Jeff Young
2dc6300501
Move EDA_ITEM bounding boxes to BOX2I.
2022-08-31 10:16:55 +01:00
Jeff Young
5679b9dbdc
Remove a few EDA_RECT instances.
2022-08-31 01:22:49 +01:00
Jeff Young
c7036ae076
Beef up BOX2's API so it can replace EDA_RECT.
2022-08-31 00:44:33 +01:00
Jeff Young
0c8787cbb9
Some more wxPoint/EDA_RECT yeeting.
2022-08-31 00:44:33 +01:00
Seth Hillbrand
b736460e71
Move optional access from value() to *operator
...
`value()` throws. Where we check for existence, we don't need to use
the throwing version and should just use the unprotected variant
2022-08-30 13:59:39 -07:00
Mike Williams
a176bf383e
Properties: pick up single selections
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12302
2022-08-30 13:59:37 -04:00
Seth Hillbrand
91fbb5c957
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
2022-08-30 10:31:29 -07:00
Jeff Young
63386ba64d
Pointer safety for ERC/DRC dialogs.
...
Also makes the "Edit ingored violations" easier to find.
Fixes https://gitlab.com/kicad/code/kicad/issues/12308
2022-08-30 12:07:19 +01:00
Marek Roszko
03aa63bd50
Move 5 helpers to EDA_UNIT_UTILS since they aren't iu specific
2022-08-29 20:11:03 -04:00
Roberto Fernandez Bautista
238c21ed0b
Properties: Special case PCB_SHAPE "Layer" property
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12304
2022-08-29 23:13:46 +02:00
Stefan Hamminga
2ff6a6aee1
Implement and enable option to not shove vias during push & shove routing
2022-08-29 17:32:39 +00:00
Jeff Young
2d68cdff94
Better reporting of hole-to-hole clearances and clearance resolutions.
2022-08-29 17:37:49 +01:00
Jeff Young
e0f6a6e475
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
2022-08-29 17:37:49 +01:00
Marek Roszko
f0956e48f2
Make EDA_TEXT common
...
Since EDA_TEXT is a base class, we can just force the child classes to pass the correct iu scaled size
ALLOW_BOLD_THICKNESS removed because it's a pre-custom font holdover
2022-08-29 07:31:03 -04:00
Jeff Young
48f77973da
Another try at getting the Link combobox working on MSW.
2022-08-28 23:25:01 +01:00
Jeff Young
b886ec728e
Copy shape data when converting PCB TEXTBOX to FP.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12298
2022-08-28 21:34:13 +01:00
Jeff Young
77c79b6f6a
Apply searchArea architecture to courtyard functions.
2022-08-28 21:20:03 +01:00
Jeff Young
667a54ad86
Retire insideArea in favour of intersectsArea and enclosedByArea.
2022-08-28 18:02:41 +01:00
Jeff Young
122a6d7f46
Move hypertext linking to user-page-numbers.
...
Also moves most navigation code to SCH_NAVIGATION_TOOL.
Also changes page number href to anchor syntax ('#foo').
Also adds hypertext processing to SCH_TEXTBOXes.
Also adds combobox with schematic pages to text properties dialog.
2022-08-27 19:17:43 +01:00
Roberto Fernandez Bautista
840bcffefb
ADDED: Hyperlinks on text items in Schematic Editor
2022-08-27 19:17:42 +01:00
Marek Roszko
bf964d8678
Commonize page_info by simply making the Iu scale a parameter on call.
2022-08-27 13:36:00 -04:00
Roberto Fernandez Bautista
029cc65b34
EDA_SHAPE: Remove m_upsideDownCoords hack (Fixes hitTest routine)
2022-08-27 12:51:32 +01:00
jean-pierre charras
3b4c5f0dc4
French translation update
2022-08-27 09:10:02 +02:00
Jon Evans
300d92438c
Allow hiding symbol library tables from symbol chooser
...
Hidden but loaded libraries are useful when using database libraries
2022-08-26 20:18:40 -04:00
Marek Roszko
161775fdbc
Fix another type warning
2022-08-26 20:15:01 -04:00
Jeff Young
09511d176c
Quiet Coverity.
2022-08-26 17:05:25 +01:00
Seth Hillbrand
146495672e
Utilize our combine_hash routine for multiple hash
...
We should be using the one routine every time we want to build a hash
from indepedent values rather than rebuilding it differently in multiple
places
2022-08-26 08:45:13 -07:00
Seth Hillbrand
06786c34d7
Blacklist hashes for 2d integer elements
...
The hash table for integer hashes is extremely limited and places most
elements in the same buckets. This leads to a linear search time for
structures built on this.
This blocks hashes, directing the coder to utilize std::set or std::map
structures instead of hash tables for implementing integer-based
lookups.
2022-08-26 08:43:37 -07:00
Jeff Young
1a672aba56
Fix a couple of DRC bugs where the bbox wasn't inflated for largestClearance.
...
Also removes a case of double-testing a pad with a non-plated hole.
2022-08-26 13:22:57 +01:00
Jeff Young
909358e643
Make sure pair caches are layer-specific where they need to be.
2022-08-26 13:22:57 +01:00
Jeff Young
86944c4f9f
Marginal performance improvements.
2022-08-26 13:22:57 +01:00
Jeff Young
f99761e5bd
entirelyInsideArea() prototype.
2022-08-26 13:22:57 +01:00
Jeff Young
7baa56528a
Make sure via-gap-same-as-trace-gap gets turned off for board settings.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12236
2022-08-26 13:22:57 +01:00
jean-pierre charras
d351d0c839
BOARD_NETLIST_UPDATER: disable auto refill zones if new footprints are loaded and waiting for placement.
...
Auto refill creates a crash when these footprints are moved, probably due to a partial
connectivity rebuild due to refilling when the connectivity data is not yet finalized.
Fixes #11830
https://gitlab.com/kicad/code/kicad/issues/11830
2022-08-26 10:38:36 +02:00
Seth Hillbrand
f1261e71d4
Replace boost::optional with std::optional
2022-08-25 15:50:47 -07:00
jean-pierre charras
a306246558
Fix a few (minor) compil and Coverity warnings.
2022-08-25 20:21:00 +02:00
Seth Hillbrand
fb74bdb059
Don't consider rule area zones in priority calc
2022-08-25 10:12:58 -07:00
Seth Hillbrand
e661545ecf
Choose the first unused priority value for zones
...
Default the new zone priority value to the lowest available unused
priority. Ensures that, by default, a new zone has a unique priority
level preventing zones from unintenionally shorting
2022-08-25 10:05:30 -07:00
Seth Hillbrand
ee95224517
Ensure that teardrops always get filled first
...
Teardrops are, by definition, higher priority than standard zones, so
ensure that they cannot be overriden
2022-08-25 08:54:34 -07:00
Seth Hillbrand
418df36790
Avoid teardrops in priority calculation
...
When choosing a new priority value, don't look at teardrops (which have
high priority)
2022-08-25 08:41:14 -07:00
Seth Hillbrand
3e4cfab254
Set new zone priority to unique number
...
Previously new zones' priorities were all set to 0. This is almost
always wrong and can lead to unintended conflicts. The new zone default
value is now set to one higher than the largest number on the board.
This is a better default value because it will not conflict with
existing values.
2022-08-24 16:37:57 -07:00
Jeff Young
ae86c6f3a7
Don't include text in locked-item-shadow-calc for footprints.
...
And make shadow margins consistent for all objects.
Fixes https://gitlab.com/kicad/code/kicad/issues/11545
2022-08-24 10:30:20 +01:00
Marek Roszko
fc99b3ba95
Don't link gdiplus everywhere anymore
...
Tested on msys2 which is the only place it would have been buggy
CMake seems to share the gdiplus linkage with the other dependencies automatically now
2022-08-23 23:51:35 -04:00
Marek Roszko
e0f28fc4e1
Replace wxFindReplaceData with our own container
...
By dropping the flags, we can be strict with options.
Also it makes future usage of search functionality a little more "UI" framework independent
2022-08-23 22:16:51 -04:00
Jeff Young
ec51955dad
Remove vestiges of old pad locking system.
...
We now use a session preference (Allow free pads) in the board editor,
and we never supported pad locking in the footprint editor.
2022-08-23 18:02:16 +01:00
Seth Hillbrand
e4bb1560c5
Set locale in python save routine
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11006
(cherry picked from commit c3496d61eb
)
2022-08-23 09:53:18 -07:00
Jeff Young
1871812f2b
Consolidate on a more widely used sub-type architecture.
2022-08-23 12:57:55 +01:00
Marek Roszko
3e451ca516
Add RemoveAllListeners function for future addons
2022-08-22 23:29:04 -04:00
Jon Evans
cfb6fcf31a
Do not create panel if disabled
2022-08-22 21:32:33 -04:00
Roberto Fernandez Bautista
940a15c547
Todo: Properties system doesn't like const wxString& getters
...
Comment out for now
2022-08-22 21:32:33 -04:00
Roberto Fernandez Bautista
4108099641
Properties Panel: Correctly limit layers for connectable items to copper layers
2022-08-22 21:32:33 -04:00
Roberto Fernandez Bautista
fe7e665236
Properties: NetName and NetClass should have a space + don't translate "Net"
2022-08-22 21:32:33 -04:00
Roberto Fernandez Bautista
f5a75a4001
Minor nullptr fixes
2022-08-22 21:32:33 -04:00
Jon Evans
f5597238fb
Properties: add color swatch to layer enum
2022-08-22 21:32:33 -04:00
Jon Evans
3c6e8aea0f
Properties panel: post-rebase fixes and hide by default
...
Remove layer widget re-added by Orson's rebase
2022-08-22 21:32:33 -04:00
Maciej Suminski
af71d42307
Renamed PROPERTY_TYPE enum names to avoid a conflict on MSYS2
2022-08-22 21:32:32 -04:00
Maciej Suminski
c37c429c75
Rename PROPERTY_PANEL::Update() to PROPERTY_PANEL::UpdateData()
...
The base class (wxPanel) already provides Update() method,
which should not be overridden.
2022-08-22 21:32:32 -04:00
Maciej Suminski
7f00efe6cf
Properties: Fixed conditional properties using enum values in the conditions
...
When wxAny holds an enum, it cannot be compared with an integer due to a
missing conversion function. In such case, conditional properties
compare a raw value rather than wxAny.
2022-08-22 21:32:32 -04:00
Maciej Suminski
f6f6ebd5f9
WIP: Properties GUI
2022-08-22 21:32:32 -04:00
Maciej Suminski
95fd58b25a
Properties meta-data for pcbnew classes
2022-08-22 21:32:00 -04:00
Maciej Suminski
745c94b0a1
Properties (introspection)
...
Introduces classes:
- INSPECTED: base class for types taking advantage of
generic properties system.
- PROPERTY*: meta-data storing information about properties
- PROPERTY_MANAGER: singleton class to get properties data
2022-08-22 21:32:00 -04:00
Jeff Young
1e68c353f1
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
2022-08-22 22:33:38 +01:00
Seth Hillbrand
4b63c7012d
Silence some clang warnings
2022-08-22 12:54:00 -07:00
Alex
3a76d42630
Cross-probing/selection for multiple items (PCB -> SCH)
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10469
2022-08-22 19:33:39 +00:00
Jeff Young
f42b66bc1c
Regularize ellipsization of menu and status text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12257
2022-08-22 17:52:58 +01:00
Wayne Stambaugh
c72457482c
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.
2022-08-22 09:11:30 -04:00
Jeff Young
792d7babe3
Performance (std::map -> std::unordered_map) and commenting.
2022-08-22 12:43:57 +01:00
Jeff Young
03454684fa
Commenting.
2022-08-22 12:43:57 +01:00
Jeff Young
4f0136db3b
Attempt to fix std::initializer_list lifetime issue.
2022-08-21 20:54:41 +01:00
Wayne Stambaugh
0bc1188897
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
2022-08-21 14:56:04 -04:00
Seth Hillbrand
af34835fdf
Restore removed data
...
Functions and definitions used in Python scripting should not be
removed. Comments in header files should never be removed (only
updated/corrected)
2022-08-20 08:40:08 -07:00
Jeff Young
eac3d33266
Keep Footprint Checker info between runs.
2022-08-20 12:28:34 +01:00
Jeff Young
28f7221cc3
Allow selection of Footprint Checker markers.
...
(And do a cross-probe to the Footprint Checker dialog.)
2022-08-20 11:30:25 +01:00
Jeff Young
8b0efa8ac4
A bit of cleanup from last commit.
2022-08-20 11:14:44 +01:00
Jeff Young
aa2ad3b44c
Move KICAD_T[] to std::initializer_list<KICAD_T>.
2022-08-20 10:28:11 +01:00
Jeff Young
46df421064
ADDED defined pad groups for net-tie footprints
...
Each pad group is allowed to short nets with other pads in its group.
Legacy footprints with the "net tie" keyword hack will get a single
group auto-created with all the footprint's pads in it.
DRC and the router now allow a track to collide with copper graphic items
while entering a net-tie pad as long as the closest point in the collision
is within the pad.
DRC (and the footprint checker) now check for copper items in the
footprint shorting pads which are not in the same pad group.
Fixes https://gitlab.com/kicad/code/kicad/issues/2265
2022-08-19 18:54:20 +01:00
Jeff Young
508df402f6
Cleanup.
2022-08-19 18:54:19 +01:00
jean-pierre charras
a60053c800
selectAllItemsOnSheet(): fix a typo that prevent selection of items in root sheet.
2022-08-19 11:12:16 +02:00
jean-pierre charras
e0fbe2542f
Fix a few compil and Coverity warnings.
2022-08-19 10:53:29 +02:00
Marek Roszko
3a718385cf
Just match the type to the comparison type on second thought
2022-08-18 22:22:04 -04:00
Marek Roszko
675938375b
Use a larger data type for min_dist
...
Squared norms are massive and can logically exceed 32-bit ints
2022-08-18 22:19:36 -04:00
Seth Hillbrand
b9461f2ba7
Re-enable tests for zones
...
Avoid invalid substantial checks triggered by signed floating point
zeros. Adds a QA check to ensure zone-self checks are maintained
2022-08-18 17:06:29 -07:00
Seth Hillbrand
97d7ee1f30
Remove `/` from our forbidden LIB_ID list
...
It is still forbidden from footprint file names but that is handled
separately and it should not be forbidden in symbol files at all
2022-08-18 12:49:40 -07:00
Francois Berder
84745a6cdc
Fix wrong number of columns check
...
Signed-off-by: Francois Berder <fberder@outlook.fr>
2022-08-18 11:03:45 +00:00
Marek Roszko
98b3904c51
Fix reserve call with the wrong source for size
2022-08-16 23:38:08 -04:00
Mike Williams
f06e28b7a7
PCB: Finish Route, Route From End
...
Adds restart routing from other ratsnest' end and automatically finish
routing.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/5051
2022-08-17 03:15:46 +00:00
Jeff Young
6cfbf895fc
Make sure parent pos is factored in for polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11945
2022-08-16 17:28:56 +01:00
Alex
371f6d917f
Use VECTOR2I::extended_type instead of long, and int for numeric limits.
2022-08-16 12:08:55 +00:00
Alex
405be8d15f
Bounds-awareness in Move, Rotate, point editor, drawing tool
2022-08-16 12:08:55 +00:00
Alex
b81a3f0533
GetClampedCoords: Better usability for rounding
2022-08-16 12:08:55 +00:00
Alex
4d7d367b25
Use KiROUND for BBox calculation, change parameter name, block negative padding.
2022-08-16 12:08:55 +00:00
Jeff Young
a3dc38cb32
Update schema versions so we can patch bad data from earlier bug.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12180
2022-08-15 23:48:38 +01:00
Seth Hillbrand
759e1a64ef
Fix broken const ref in wildcard
2022-08-15 12:09:30 -07:00
Seth Hillbrand
35ac39844f
Clean up some auto usage
...
Don't make new copies of shared_ptr if we can use references. Keep auto
usage down to hard-to-type-out sequences
2022-08-15 11:29:45 -07:00
Jeff Young
db91bcbabf
Bump file format version for allow-soldermask-bridges-in-FPs.
2022-08-15 18:03:03 +01:00
Jeff Young
1f347582f8
Introduce new marker type so we can track DRC errors on the drawing sheet.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12221
2022-08-15 18:03:03 +01:00
Seth Hillbrand
4b3ac52b1d
Fix shadowed variables
2022-08-15 08:03:30 -07:00
Seth Hillbrand
9828360759
Remove unused variable
2022-08-15 07:52:53 -07:00
Jon Evans
55bb374370
Fix crash when unloading board
2022-08-14 22:49:51 -04:00
Marek Roszko
c418b25756
Centralize the parseDouble functions in the parsers and gcc specialcase
2022-08-14 18:46:19 -04:00
Jeff Young
959681e472
Config Paths help is now inside the dialog, so we don't need quasimodal here anymore.
2022-08-14 22:56:29 +01:00
Jeff Young
86938aa425
Read, write and process the board-wide Allow soldermask bridges in FPs.
2022-08-14 22:56:29 +01:00
Jeff Young
a9536b5de9
CHANGED netclass assignments now done via canvas or via patterns.
2022-08-14 22:56:29 +01:00
Jeff Young
18ac169ac7
Add contexts to EDA_COMBINED_MATCHER.
2022-08-14 22:56:29 +01:00
Roberto Fernandez Bautista
6b349fdb0a
CADSTAR PCB: Allow remapping all non-electrical layers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12196
2022-08-14 22:24:17 +01:00
Roberto Fernandez Bautista
69d696660b
cadstar: Report warning that imported text may be different
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12195
2022-08-14 22:24:16 +01:00
Marek Roszko
a070959209
Switch from strtod to std::from_chars for performance
2022-08-14 16:19:24 +00:00
Seth Hillbrand
2ee65b2d83
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
2022-08-13 19:10:48 -07:00
Seth Hillbrand
1ce8fc1614
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-08-12 20:07:28 -07:00
jean-pierre charras
488a53e71b
Fix a few minor Coverity warnings
2022-08-12 10:51:36 +02:00
jean-pierre charras
5616ef2e7c
ZONE_FILLER::buildThermalSpokes() fix incorrect spoke shape for pad shapes with offset.
...
Fixes #12201
https://gitlab.com/kicad/code/kicad/issues/12201
2022-08-10 15:27:28 +02:00
Jeff Young
d6cd55e133
ADDED esc-removes-net-highlight preference to PCBEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8760
2022-08-09 08:46:12 +01:00
Marek Roszko
f695ae5522
Generate const keyword_hash maps at compile time
...
Or else the map gets pointlessly recreated during footprint loading thousands of times
2022-08-09 00:56:49 -04:00
Jeff Young
a11f48ef10
Markers provider is no longer responsible for all markers.
...
Unconnected items and schematic partity violations are also now
represented by markers, so the ERC/DRC window itself needs to do
the deep-delete.
Fixes https://gitlab.com/kicad/code/kicad/issues/12182
2022-08-08 22:02:20 +01:00
Jeff Young
73402d733e
Add labels for icon buttons. (They're used by screen readers.)
...
Also fixes a bunch of annoying wxWidgets asserts.
2022-08-08 22:02:20 +01:00
Jeff Young
4423755176
Pretty up the Teardrops dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12170
2022-08-07 23:22:21 +01:00
Jeff Young
015bde8cb0
Test pad:hole violations in footprints as long as not same pad number.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12124
2022-08-07 19:49:39 +01:00
jean-pierre charras
05785ac6b9
Teardrops: use default zone settings instead of last settings set by the zone dialog.
...
Fixes #12171
https://gitlab.com/kicad/code/kicad/issues/
Fixes #12172
2022-08-07 08:52:40 +02:00
Jeff Young
509d233d97
Fix knockout text bounding boxes and hit testing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12133
2022-08-06 00:00:04 +01:00
Jeff Young
6a9b821b5c
Fix order of initialization resulting in net assignment getting lost.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12168
2022-08-06 00:00:04 +01:00
jean-pierre charras
ea914eac9a
Pcbnew: fix regression: Display board info when clicking on a empty place.
...
Previously: the displayed info was "Selected Items 0".
2022-08-05 13:49:01 +02:00
Seth Hillbrand
129905686f
Fix error in net list sorting
2022-08-04 10:27:01 -07:00
Seth Hillbrand
090e70ccd2
ADDED: Have Net Inspector report lengths per layer
...
When tuning high speed traces, you may need to extract data per layer
rather than just the summary as signal speed varies based on dielectric
and trace type
2022-08-03 16:35:58 -07:00
Jeff Young
96f01d33c8
Performance improvements.
...
1) Move a bunch of std::map's to std::unordered_map to get constant-time
look-ups
2) Lengthen progress-reporting intervals to spend more time doing work
and less time talking about it
3) Reverse order of SHAPE_LINE_CHAINs in thermal intersection checks to
make (much) better use of bbox caches
4) Don't re-generate bboxes we already have
5) Fix some autos that weren't by reference (and were therefore copying
large datasets)
6) Rename delta progressDelta so it's easier to search for in future
7) Get rid of a few more autos (because I don't like them)
8) Pass large items to lambdas by reference
Fixes https://gitlab.com/kicad/code/kicad/issues/12130
2022-08-03 11:59:42 +01:00
Seth Hillbrand
76b9e25143
Cleanup unused code
2022-08-02 08:33:59 -07:00
jean-pierre charras
f0efa9af9d
gen_footprints_placefile: re-add option to negate or not the X coordinate.
...
This option is for footprints on bottom side, and not for Gerber format.
This option was existing in 5.x version, but lost in 6.x version.
Fixes #4638
https://gitlab.com/kicad/code/kicad/issues/4638
2022-08-02 11:22:12 +02:00
Seth Hillbrand
f5283c6133
Fix cherry-pick issue
2022-08-01 21:32:56 -07:00
Seth Hillbrand
e4ca2408d4
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
(cherry picked from commit 57de5a6b65
)
2022-08-01 20:25:27 -07:00
Seth Hillbrand
e0b3f6c258
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
(cherry picked from commit 82e8e38054
)
2022-08-01 20:25:17 -07:00
Jeff Young
9a4136de00
Implement annular ring checking for pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12109
2022-08-01 17:45:34 +01:00
Jeff Young
f3936f24ae
Go back to single-threaded sliver checker.
...
Something was unhappy with the multi-threaded version.
(Note that we still multi-thread the polygon-building, which is the
most expensive part.)
2022-08-01 17:45:34 +01:00
Seth Hillbrand
17fdb7c6a8
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
(cherry picked from commit 6c617d84ca
)
2022-08-01 08:58:28 -07:00
Seth Hillbrand
5207a8d8b4
Properly scope the island removal enum
2022-08-01 08:58:04 -07:00
Seth Hillbrand
9fbf9973be
Remove obsolete IsKeepout and KeepoutAll functions
...
These are superceded by IsRuleArea and the individual keepouts
2022-08-01 08:05:09 -07:00
Jeff Young
7556d7152f
Fix errant return and improve progress reporting.
2022-08-01 13:09:51 +01:00
Jeff Young
43df863df2
Fix issue with caches not being initialized when printing msg bar.
2022-08-01 13:09:51 +01:00
Jeff Young
0304ad4494
Move connection width testing to rule system.
...
Also copies connection width progress reporting architecture over to
the sliver checker.
2022-08-01 13:09:51 +01:00
Jeff Young
927bc8141b
Init member variables.
2022-08-01 13:09:51 +01:00
Jeff Young
f2f04b1d20
Better progress reporting for thermal connections.
2022-08-01 13:09:51 +01:00
Jeff Young
b0a9cea6f6
Better progress reporting, and don't report necks that don't have items.
...
Since we aren't searching zones (they aren't in the m_CopperItemRTreeCache)
this will drop all errors that are zone-only (which are better handled by
zone-min-width).
2022-08-01 13:09:51 +01:00
Jeff Young
4bc7c16ce0
Don't auto-fill zones due to DRC marker insertion.
2022-08-01 13:09:51 +01:00
Jeff Young
54213bb7f1
Cleanup and move to DRC_ENGINE's status reporter.
...
1) brace formatting
2) get rid of some autos
3) get rid of a dyn_cast that CLion claims is bad
4) use DRC_ENGINE's status reporter
2022-08-01 13:09:51 +01:00
Jeff Young
661caf1de9
Make sure new zones are filled when auto-fill is on.
...
Also fixes some issues with enablement of the Remove Islands stuff.
Fixes https://gitlab.com/kicad/code/kicad/issues/12123
2022-08-01 13:09:51 +01:00
Jeff Young
6f49b57f9b
Cleanup & performance enhancements.
2022-08-01 13:09:51 +01:00
Marek Roszko
a8505d9c76
SEARCH_RESULT -> INSPECT_RESULT
...
To fix the name squatting it's doing for future functionality
2022-07-29 20:01:10 -04:00
Jeff Young
f0b9e67212
Add ignore-line-widths mode to CONVERT_TOOL.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5911
2022-07-29 21:39:03 +01:00
Jeff Young
753f2f3e4c
Display descriptions in second column of library trees.
...
Also fixes some bugs in how the columns are sized.
Fixes https://gitlab.com/kicad/code/kicad/issues/12090
2022-07-28 14:51:47 +01:00
Jeff Young
fc1afa6298
Improvements to convert tool.
...
1) Handle filled shapes
2) If a chained outline can't be found, build hulls of the individual
segments
3) Combine intersecting shapes
4) Simplify code
Fixes https://gitlab.com/kicad/code/kicad/issues/git
Fixes https://gitlab.com/kicad/code/kicad/issues/5911
2022-07-27 18:57:45 +01:00
Jeff Young
2bf33321d1
Update constraint mode in status bar during move.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10465
2022-07-27 18:57:45 +01:00
jean-pierre charras
aabc3b3cc6
FP editor: fix crash when duplicating a footprint.
...
Fixes #12098
https://gitlab.com/kicad/code/kicad/issues/12098
2022-07-27 19:08:27 +02:00
Jeff Young
cb6a2552d9
Use the FPEditor's status bar messages for FPBrowser.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11404
2022-07-26 18:45:02 +01:00
jean-pierre charras
4d48376eae
Fix some warnings detected by PVS-STUDIO (not used vars)
2022-07-26 16:00:14 +02:00
Jeff Young
ee0f93ed17
Fix some issue with hierarchy panel on OSX.
...
Also moves the option toolbars tight to the canvas for all windows.
Fixes https://gitlab.com/kicad/code/kicad/issues/12087
2022-07-26 14:51:43 +01:00
Jeff Young
032708860b
Include both text shapes and border shapes in textbox.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11806
2022-07-25 16:10:08 +01:00
Jeff Young
e10158ff10
ADDED show pin names on footprint pads when assigning to symbol.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4576
2022-07-24 23:41:41 +01:00
Jeff Young
1bad72f14f
Remove bad static_cast.
...
(m_settings isn't a PCBNEW_SETTINGS in non-PCB_EDIT_FRAMEs)
2022-07-24 23:41:41 +01:00
jean-pierre charras
82167a7c96
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-24 19:42:50 +02:00
jean-pierre charras
0604d7b813
Fix minor compil and Coverity warnings.
2022-07-24 09:33:43 +02:00
jean-pierre charras
c16d0603c6
Add fix missing in my commit 8eee7667
2022-07-24 09:10:51 +02:00
Jeff Young
fa679d3601
Pinned libs can also be found in program settings.
2022-07-23 20:17:04 +01:00
jean-pierre charras
8eee766791
Fix Cvpcb DISPLAY_FOOTPRINTS_FRAME: some display options not working. Commit 5e4a7041
moved 4 settings used in Cvpcb to a PCBNEW_SETTINGS struct. But in Cvpcb, this config struct does not exist. So these 4 settings are now moved to a section (PCB_VIEWERS_SETTINGS_BASE) common to Cvpcb and Pcbnew config.
2022-07-23 18:45:13 +02:00
Jeff Young
f0ef6932b8
Fix issues with plotting textbox outlines.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11943
2022-07-23 13:53:03 +01:00
Jeff Young
280ff3ccdc
Fix net highlight command enablement.
...
These always need to be enabled so that the current highlight can
be cleared.
Fixes https://gitlab.com/kicad/code/kicad/issues/12058
2022-07-23 12:42:11 +01:00
Jeff Young
9dd3bbf2cb
Change highlight net hotkey default.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12051
2022-07-23 12:34:48 +01:00
Jeff Young
bf5e649e44
Fix log errors in new solder masking checking code.
2022-07-23 09:26:04 +01:00
Jeff Young
f41af10007
Clean up hole shapes for safety (smart pointer) and consistency.
2022-07-22 23:06:07 +01:00
Jeff Young
a2c002e1da
Improve solder mask aperture testing.
...
1) For solder mask apertures report both the aperture and both
exposed items.
2) Don't process solder mask apertures in footprints with the
"bridging allowed" flag set.
Fixes https://gitlab.com/kicad/code/kicad/issues/12064
2022-07-22 23:06:07 +01:00
Jeff Young
5442d284f4
Improve strings for highlight net commands.
2022-07-22 09:31:11 +01:00
Jeff Young
def87c969e
Redo the pinned-libraries storage architecture.
...
1) always use preferences directly
2) allow nicknames from either preferences or project
3) store-after-modify
Fixes https://gitlab.com/kicad/code/kicad/issues/12000
Fixes https://gitlab.com/kicad/code/kicad/issues/11892
2022-07-22 09:31:10 +01:00
Jeff Young
b80fd5329d
Clear dimension pointer after committing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11864
2022-07-22 09:31:09 +01:00
Jeff Young
004abcd370
Leave originally selected items selected after cancelled move.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12024
2022-07-22 09:31:08 +01:00
Marek Roszko
b6b4ae959e
Shuffle around the helper script folders
2022-07-21 19:04:08 -04:00
Seth Hillbrand
16e3d40552
ADDED: Display calculated clearance in status bar
...
In addition to showing resolved clearance, we also show the calculated
clearance in the same method as is used for DRC. This will allow users
to better examine their system while working.
Fixes https://gitlab.com/kicad/code/kicad/issues/7934
2022-07-21 15:44:48 -07:00
Seth Hillbrand
9b74372f9d
Minor spelling fix
2022-07-21 11:55:44 -07:00
Tomasz Wlostowski
e558893851
router: use actual snap point position for routability checks of a segment instead of the segment endpoint(s).
...
Explanation:
- place a long segment A with something violating the rules close to its endpoint
- try to start routing in the 2/3 of the length of A (on the obstacle side)
- bummer - the router picks the nearest endpoint of A for the collision check (even though we don't care about this collision since we want to route far away from it)
2022-07-21 16:30:28 +02:00
Mike Williams
f8b157a1fb
PCB: Bitmaps should respect layer opacity and highlighting options
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12045
2022-07-20 14:59:19 -04:00
Jeff Young
012d861aab
Get rid of error-prone reverse logic.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12049
2022-07-20 17:24:12 +01:00
Jeff Young
6a9c6e8599
Hook up ID_GRID_SETTINGS for footprint viewers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12030
2022-07-19 21:24:45 +01:00
Jeff Young
763c77eab8
DXF parameters are for DXF (only).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12021
2022-07-18 17:51:20 +01:00
jean-pierre charras
49bf717c0e
fix minor compil warnings
2022-07-17 20:29:59 +02:00
Jeff Young
1ade5a8c72
Fix typo.
...
And clean up the code just a little to make it clearer.
Fixes https://gitlab.com/kicad/code/kicad/issues/12022
2022-07-17 17:04:04 +01:00
Jeff Young
b727bfc16d
Performance: avoid sqrt at all costs.
2022-07-16 18:42:32 +01:00
Jeff Young
d0547cbde7
Don't allow 0 line-width for unfilled shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12010
2022-07-16 16:26:05 +01:00
Jeff Young
2f00b4e170
Delete multiple rows if selected.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12013
2022-07-16 12:07:15 +01:00
Jeff Young
aa9fe58abe
Don't duplicate user-defined track widths, via sizes or DP dims...
...
... when appending to board.
Fixes https://gitlab.com/kicad/code/kicad/issues/12014
2022-07-15 20:52:08 +01:00
Seth Hillbrand
c8a383a48e
Get via font fill/color correct when highlighted
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11802
2022-07-15 11:40:46 -07:00
Seth Hillbrand
595e5cb3f2
Add sort feature to pre-defined list
...
Board setup rows should be sortable when inserting new elements. They
get sorted when saving, this keeps that representation while editing
Fixes https://gitlab.com/kicad/code/kicad/issues/12015
2022-07-15 11:16:15 -07:00
Jeff Young
2de10080cd
Add edge and margin clearances to message panel.
2022-07-15 16:14:32 +01:00
jean-pierre charras
50bb7c93a1
Fix bug in commit 64e1720f
2022-07-15 17:03:05 +02:00
jean-pierre charras
64e1720f12
FP_SHAPE in pads: always specify fill mode for shapes that can be filled or not.
...
Fixes #12012
https://gitlab.com/kicad/code/kicad/issues/12012
2022-07-15 16:50:38 +02:00
Jeff Young
c98826c8b0
Open newly-pasted footprint on canvas of Footprint Editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11398
2022-07-15 14:13:39 +01:00
Seth Hillbrand
93fb00d815
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
2022-07-14 11:37:45 -07:00
Mike Williams
d44e34d513
Images: Add full properties editor
...
Converts dialog_image_editor to panel_image_editor. Embeds this panel in
a new properties dialog for the schematic and PCB editors that allows
editing position, layer, locked status, etc. like other items.
2022-07-14 11:23:23 +00:00
Mike Williams
99f8b21ed1
PCB: Add bitmap layer per board layer
2022-07-14 11:23:23 +00:00
Mike Williams
3669cb4673
PCB Editor: Add User Background Images
2022-07-14 11:23:23 +00:00
Seth Hillbrand
b5bf1da251
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
2022-07-13 19:25:24 -07:00
Seth Hillbrand
91e4d5e0ea
Add Apply button to "Edit Text and Graphics"
...
Allows the user to apply multiple sets of changes without closing the
window
Fixes https://gitlab.com/kicad/code/kicad/issues/11904
2022-07-13 16:44:15 -07:00
Seth Hillbrand
20a372ff69
ADDED Clearance data in PCB editor status bar
...
When selecting two objects, display the resolved clearance and
(optionally) hole clearance in the status bar
2022-07-13 15:04:32 -07:00
Seth Hillbrand
a9a5136c1c
Always allow blind/buried/micro vias
...
Removes a nanny setting that prevented the use of
blind/buried/micro-vias without a checkbox. If the designer does not
want microvias in their board, they simply do not place microvias.
2022-07-12 19:47:31 -07:00
Mike Williams
3d1d432c5e
PCB Editor: re-add missing color to dynamic ratsnest
2022-07-12 19:36:51 -04:00
Seth Hillbrand
e87ba10a5a
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
2022-07-12 11:01:34 -07:00
Jon Evans
664bf1382d
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
(cherry picked from commit 2512375988
)
2022-07-12 02:49:24 +00:00
Jeff Young
57acce9e55
Share more code between selection tools.
2022-07-11 19:04:08 -06:00
Alex
aaf99eb0cc
Performance optimizations.
2022-07-11 21:25:12 +00:00
Seth Hillbrand
3081023b5e
ADDED: Minimum copper connection width DRC check
...
Checks all copper connections in each net/layer for minimum width
setting.
Fixes https://gitlab.com/kicad/code/kicad/issues/9870
2022-07-11 19:26:56 +00:00
Wayne Stambaugh
6a74ecbffd
Pcbnew: fix minor white space issue in board file.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11669
2022-07-11 11:21:45 -04:00
Jeff Young
0a623bff9f
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
2022-07-10 23:07:04 -06:00
Jeff Young
43b82aeffc
Fix another case of Edge_Cuts & Margins needing to be treated as all-physical-layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11843
2022-07-10 20:32:28 -06:00
Jeff Young
19b4844102
Avoid OSX system shortcut.
...
CHANGED toggle net highlight from ctrl-` to opt-`.
Fixes https://gitlab.com/kicad/code/kicad/issues/10160
2022-07-10 20:20:22 -06:00
Jeff Young
1eb2a39eca
Fix errant test in board items plotter.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11944
2022-07-10 18:54:36 -06:00
Jeff Young
e122dc38bd
Add context menu item for clearing net highlighting.
...
In selection tools, drawing tools, router tool, line_wire_bus tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/11920
2022-07-10 17:15:20 -06:00
Jeff Young
eb27a3f8b9
Added pinning support to various EDA_LIST_DIALOGs.
...
Footprint Save As, Symbol Save As, etc.
2022-07-09 20:44:49 -06:00
Jeff Young
05219e4d9a
Add pinned library support to Choose Symbol and Choose Footprint.
2022-07-09 20:06:31 -06:00
Jeff Young
190fb23e88
Add pinned library support to Footprint and Symbol Viewers.
...
Also includes adding libraray and symbol filters to Symbol Viewer.
2022-07-09 17:41:10 -06:00
Jeff Young
b8479bf6f1
Handle severity ignore rules in router.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11609
2022-07-09 11:24:47 -06:00
Seth Hillbrand
0cb5abd7f7
Fix highlight on route again
...
Added a clarifying comment that will hopefully keep the required code
block in place
2022-07-08 20:14:46 -07:00
Jeff Young
c7746fa000
Fix copy pasta error.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11986
2022-07-08 17:44:36 -06:00
Jeff Young
ded611aed5
Patch annoying large checkbox cols in wxWidgets 3.1.x on OSX.
2022-07-08 17:27:05 -06:00
Jeff Young
521b231873
Don't zero out width of shapes on Margin, only Edge_Cuts.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11967
2022-07-08 17:27:05 -06:00
Jeff Young
654740b90d
Add newly-drawn objects to any entered group.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11912
2022-07-08 17:27:05 -06:00
Jeff Young
8a9bf02b7e
Smarten up silk clearance & tented item handling.
...
The inspection tool will report whether or not the item is tented
(indicating in that case that any clearance will only be applied
to any hole).
The DRC test ignores tented items without a hole, and runs the
clearance test against the hole for items with a hole.
Fixes https://gitlab.com/kicad/code/kicad/issues/11954
Fixes https://gitlab.com/kicad/code/kicad/issues/11951
2022-07-08 17:27:05 -06:00
Jeff Young
f611f9f5d3
Allow zone connection rules to target footprints.
...
If the pad is set to inherit and a rule targets its parent footprint,
then that rule should fire.
2022-07-08 17:27:05 -06:00
Jeff Young
fa2e43f696
Reduce noise in board <-> library footprint tests.
2022-07-08 17:27:04 -06:00
Seth Hillbrand
0c47a09517
Ensure rectangles are normalized
...
Normalize on creation and fixup rectangles previously saved with
inverted coordinates
Fixes https://gitlab.com/kicad/code/kicad/issues/11965
2022-07-07 10:40:18 -07:00
jean-pierre charras
7b28804f67
Fix a minor compil and Coverity warning
2022-07-06 13:54:17 +02:00
Seth Hillbrand
7f9f37e507
Avoid double-caching FP zones
...
Leads to crashes/invalid data when multi-threading hits both at same
time
2022-07-05 20:07:18 -07:00
jean-pierre charras
f00de04336
FP editor: fix incorrect mirroring of zones in footprint.
...
This is due to a call to Mirror() with incorrect parameter.
Unfortunately, depending on FP items, one Mirror parameter has the opposite
meaning about mirror axis.
Fixes #11952
https://gitlab.com/kicad/code/kicad/issues/11952
2022-07-04 11:14:47 +02:00
Tomasz Wlostowski
3111b7679d
router: bring back the snap-to-hull behaviour in Mark Obstacles mode
2022-07-03 23:59:27 +02:00
jean-pierre charras
d41e47609c
Pcbnew: fix plot issue for non filled polygons in footprints.
...
Fixes #11959
https://gitlab.com/kicad/code/kicad/issues/11959
2022-07-03 11:24:23 +02:00
Seth Hillbrand
cde30d3dba
Clarify cross-probing options
...
Previous the cross-probing options were mixed between sending and
receiving cross-probe events. This clarifies so that all of the pcbnew
cross-probe options deal with whether the cross-probe is seen in pcbnew
and all of the eeschema options deal with seeing the event in eeschema.
Also updates the wording in the options panels to be the same where
possible and adds tooltips
Fixes https://gitlab.com/kicad/code/kicad/issues/11454
2022-07-01 16:47:09 -07:00
Seth Hillbrand
907d8fc018
Revert "Fix Swatch sizes"
...
This reverts commit 25c3a4681f
.
Windows default sizes are too big when they are the correct size on
Linux. We need the DU scaling for swatches
2022-07-01 11:37:55 -07:00
Seth Hillbrand
25c3a4681f
Fix Swatch sizes
...
The swatches are surrounded by non-scaling icons. We should not scale
the swatches unless we also scale the icons. This patch makes all
elements in the appearance panel equally non-scaling
This relates to https://gitlab.com/kicad/code/kicad/-/issues/11880
2022-07-01 10:56:13 -07:00
jean-pierre charras
2ff2a6ffcd
Kicad2step: fix STEP export from Pcbnew, broken by changes in commit 8456d6c
...
also: DIALOG_EXPORT_STEP: remember tolerance option during a session.
2022-07-01 09:56:15 +02:00
Seth Hillbrand
0c796697b4
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
2022-06-30 10:57:56 -07:00
luz paz
af6ba1a16e
Fix typos in pcbnew sub-directory
...
Found via `codespell -q 3 -S *.po,./thirdparty,./Documentation/changelogs -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,ba,busses,dout,einstance,leaded,modul,ontext,ot,overide,serie,te,,tesselate,tesselator,tht`
2022-06-30 09:39:45 -04:00
Jeff Young
f48ed79039
Rely on DRC rules when items might overlap.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1790
2022-06-29 13:43:44 -06:00
Seth Hillbrand
802745398a
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
2022-06-29 12:10:24 -07:00
Seth Hillbrand
f1a054e6af
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
(cherry picked from commit 9cebea5f11
)
2022-06-28 14:03:43 -07:00
jean-pierre charras
7d8fe98d53
Pcbnew, exporter VRML: code refactor and remove unuded code.
...
It should help later, to use EXPORTER_VRML in python scripting helpers.
Mainly, EXPORTER_VRML avoid to expose the actual exporter VRML internal code.
2022-06-28 18:59:50 +02:00
Mike Williams
64b89639cf
PCB Editor: Make Ctrl-Click net highlighting configurable
...
Defaults to ctrl-click is exclusive or selection like other
applications. Footprint editor can only be exclusive or.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10810
2022-06-28 16:29:14 +00:00
Jeff Young
ab9c42d427
Fix a typo which leads to a bogus type-cast.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11886
2022-06-27 23:07:06 -06:00
Jeff Young
833dc70bff
Add edge-exclusions to router (for castellated pads).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1790
2022-06-27 15:16:37 -06:00
Ian McInerney
4e4b0962db
Create python subdirectory in pcbnew build for the symlink
2022-06-25 01:10:20 +01:00
Seth Hillbrand
03c279ffd4
ADDED: Threadpool
...
Thread pools are long-lasting executors that have close to zero overhead
when launching new jobs. This is advantageous over creating new threads
as we can use this for threading smalling jobs and smaller quanta. It
also avoids the heuristics needed to determine the optimal number of
threads to spawn
2022-06-24 22:59:24 +00:00
Seth Hillbrand
8418fe12d8
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
2022-06-24 15:28:56 -07:00
jean-pierre charras
35375a98c6
FP editor, dialog leader dimension: fix text frame setting not saved
...
Fixes #11900
https://gitlab.com/kicad/code/kicad/issues/11900
2022-06-24 17:45:51 +02:00
jean-pierre charras
3fcd959757
Gerbview: minor cosmetic enhancement: show if the file is X1 or X2 format.
2022-06-24 15:44:13 +02:00
Ian McInerney
f303d78723
Fix install of _pcbnew.so to allow DESTDIR to be used with it
...
We need to use the install directive to do an install so that the
install process uses all the variables correctly. So create a temporary
symlink in the build directory that points to nowhere and then install
that.
2022-06-23 23:15:49 +01:00
jean-pierre charras
c3f90d914b
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 11:56:27 +02:00
Ian McInerney
44a8f1e6e6
Create the symlink for the python module in the build tree as well
...
The unit tests need the python module to be loadable, so there needs to
also be a symlink to the kiface inside the build directory.
2022-06-23 00:27:35 +01:00
Ian McInerney
9bb5beb264
Use symlink to pcbnew kiface for python module on Linux
...
Instead of installing an identical shared library into the Python
folder, just use a link to the existing library instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/9974
2022-06-22 23:40:29 +01:00
Ian McInerney
b51d8c9825
Introduce new CMake variable to store kiface install location
2022-06-22 23:40:25 +01:00
Seth Hillbrand
3ddd287004
Revert "Fixup python module install"
...
This reverts commit 6fd60c5561
.
Worked only for a single make. Second run fails due to missing file
2022-06-22 14:11:59 -07:00
Seth Hillbrand
6fd60c5561
Fixup python module install
...
INSTALL(FILE) does not handle setting linux-specific attributes in the
same way that INSTALL(TARGET) does. This patch is suggested by
StefanBruens
Fixes https://gitlab.com/kicad/code/kicad/issues/9974
2022-06-22 13:29:08 -07:00
Seth Hillbrand
a43fcd045f
Hyperlynx arcs are always CW
...
Previous test comparing start/end angles doesn't account for all cases.
This adds a more robust test to ensure all arcs are output in CW fashion
Fixes https://gitlab.com/kicad/code/kicad/issues/10782
2022-06-22 09:59:37 -07:00
jean-pierre charras
32c5a4d1ea
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.
2022-06-22 11:13:06 +02:00
jean-pierre charras
82b2df67be
Add 2 automatically generated files to the source tree.
...
These files are needed by translators, so it is better to add them to the source
without need to build kicad.
2022-06-22 08:51:04 +02:00
Seth Hillbrand
a852286eb5
Cleanup compile warnings
2022-06-21 17:04:56 -07:00
Miklós Márton
f2382a7bd1
Add Make selected active/inactive actions to the symbol libraries
...
context menu
Fixes #11372
2022-06-21 23:32:02 +00:00
jean-pierre charras
b54bb90975
DIALOG_FOOTPRINT_WIZARD_LIST_BASE: use a monospaced font to show the wizard errors.
...
A proportional font does not allow to correctly show the error message and the
marker showing the exact position of the error in the printed line.
2022-06-21 09:42:21 +02:00
jean-pierre charras
e73dd40f26
APPEARANCE_CONTROLS: fix incorrect behavior of Preset layers widget:
...
In non English languages, the selection of a previous choice was broken
due to the fact fixed (read only) presets have a English name, but the
UI list uses translated names, so the actual selection was not correctly
displayed.
2022-06-21 08:57:16 +02:00
Jeff Young
aad85a83da
Improvements to rotation/mirroring of dimensions inside footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11861
2022-06-20 22:25:39 +01:00
Jeff Young
23e8bafd9c
Don't run courtyard conflicts in footprint editor.
2022-06-20 22:25:39 +01:00
Miklos Marton
426c46abb1
pcbnew: pad editor UI fixes
...
When editing a pad with circular hole the Y dimension is hidden
and Diameter is shown instead of Size X when opening the properties
of an existing pad.
Adjusted Pad shape: label to be vertically aligned to the pad shape
combobox.
2022-06-20 19:15:41 +00:00
jean-pierre charras
6679decc8d
Fix syntax issues in footprint wizards
...
Fixes #11867
https://gitlab.com/kicad/code/kicad/issues/11867
2022-06-20 20:31:18 +02:00
Jeff Young
048f277b1e
Don't reset Footprint Tests Run if the board didn't change.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11844
2022-06-20 17:25:43 +01:00
Jeff Young
d69e3fdb5e
Specify a winding for Hyperlynx arcs.
...
I can't test it, so it's a 50:50 guess. We may need to flip the
test....
2022-06-20 17:03:37 +01:00
Jeff Young
298edb09c3
Initialize TEXT_ATTRIBUTES justifications for text & textboxes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11805
2022-06-20 17:03:37 +01:00
jean-pierre charras
9db907cc70
pcbnew, plot footprint: fix typo that prevent ploting dimensions
...
Fixes #11860
https://gitlab.com/kicad/code/kicad/issues/11860
2022-06-20 17:20:56 +02:00
jean-pierre charras
d19705ac8c
FOOTPRINT::Flip(): add missing handle of dimensions.
2022-06-20 11:37:25 +02:00
jean-pierre charras
c8ce01ce8e
pcb_parser: fix an incorrect CHECK_MSG when parsing a dimension in a footprint.
...
this incorrect CHECK_MSG created a crash.
Fixes #11859
https://gitlab.com/kicad/code/kicad/issues/11859
2022-06-20 10:42:19 +02:00
Jeff Young
73836b50fc
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
2022-06-19 21:57:49 +01:00
Jeff Young
801a98a302
Don't clear marker counts when closing DRC dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11844
2022-06-19 20:51:45 +01:00
Jeff Young
231ac567b8
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
2022-06-19 11:58:21 +01:00
Jeff Young
82ebc247b8
More performance enhancements for DRC.
2022-06-18 19:47:11 +01:00
Jeff Young
5da817649b
Fix nullptr bug.
2022-06-18 13:04:06 +01:00
Jeff Young
97b0005780
More caching for DRC.
...
Also fixes a bug where some physical clearance tests would be run even
if the clearance was 0 (or if the rule was set to IGNORE).
2022-06-17 23:58:31 +01:00
jean-pierre charras
f20cb0fda8
Activate teardrops: remove advanced config option and add teardrop keywords in files. (the ability to read teardrop keywords was added some time ago)
2022-06-17 19:42:27 +02:00
Miklós Márton
b912bef2f6
pcbnew: Display Diameter when circular shape selected in pad editor
2022-06-16 20:26:42 +00:00
Fabien Corona
bd8f0ae81a
Ibis: Fix coverity issues
2022-06-16 20:09:50 +00:00
Seth Hillbrand
4043dca613
Push wxString allocation to smaller context
...
Prevents creation of new wxString on stack for each clearance check
2022-06-16 08:26:28 -07:00
Seth Hillbrand
359d66bc81
Protect against invalid pads
...
Before dereferencing the front of the sequence, we have to ensure that
the pad exists on any layer. If not, just return the default (probably
F_Cu) for the element
2022-06-16 08:20:47 -07:00
Seth Hillbrand
5327b10064
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
2022-06-15 16:46:03 -07:00
Jeff Young
d40664d171
Handle double-click in dimension drawing tool.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11815
2022-06-15 18:07:50 +01:00
Jeff Young
5e80e2a421
58f553a9ca
requires that cache be layer-sensitive.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11814
2022-06-15 00:30:11 +01:00
Fabien Corona
bf62d6e9ee
Ibis: Coverity issues
2022-06-13 19:31:57 +00:00
jean-pierre charras
9fd5ee5a2f
paper min size set to 1 inch (previously 0.1 inch, very small indeed)
...
Avoid using magic numbers in file pcb_parser.cpp.
Fixes #11807
https://gitlab.com/kicad/code/kicad/issues/11807
2022-06-13 17:51:29 +02:00
Jeff Young
52bc2511cd
Add a radioButton mode to IMAGE_BUTTON.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11797
2022-06-12 20:09:46 +01:00
Marek Roszko
87f10ea206
Split off the netlist export content helper but it's advancedcfg
2022-06-11 23:09:47 -04:00
Marek Roszko
cb44d97ed4
Update pcbnew to the new filedlg customize
2022-06-11 22:10:49 -04:00
Jon Evans
e5ece4e460
ibis_parser: fixes to build on MSVC
...
Use stringstream instead of C arrays for formatting std::string
std::isnan(int) is invalid
Also fix a few report severities that seemed inconsistent
2022-06-11 18:09:17 -04:00
Jeff Young
9b70308f5c
Nullptr defensive code.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11690
2022-06-11 22:32:12 +01:00
Jeff Young
4f3cfdc92e
Clang says nan and isnan aren't in std namespace....
2022-06-11 22:14:14 +01:00
Jeff Young
f22cf1cc3a
Fill in missing bits of LAYER variable for printing/plotting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11788
2022-06-10 22:38:01 +01:00
Seth Hillbrand
20f4e62176
Rename signalIntegrity to ibis
...
We do not use camelCase in KiCad
2022-06-10 13:35:48 -07:00
Tomasz Wlostowski
f5fe1d5462
router: another attempt at improving 'kink' robustness of the hull generator
2022-06-09 20:51:21 +02:00
Fabien Corona
0d35d69f70
ADDED: Read IBIS files
2022-06-09 18:30:51 +00:00
Seth Hillbrand
ac0f95683f
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
2022-06-09 11:10:34 -07:00
Seth Hillbrand
e857622dd4
Handle B_Cu ordering
...
Stopgap until we introduce multi-layer mapping widget
Fixes https://gitlab.com/kicad/code/kicad/issues/11750
(cherry picked from commit 32aabaf010
)
2022-06-08 17:19:37 -07:00
Seth Hillbrand
124bdb6673
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
(cherry picked from commit 72b7f9fe10
)
2022-06-08 16:27:17 -07:00
Jeff Young
f2c26ae528
Formatting.
2022-06-08 23:53:18 +01:00
Tomasz Wlostowski
56df462474
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)
2022-06-09 00:33:08 +02:00
Tomasz Wlostowski
990281a897
router: use either copper or hole clearance, whichever is larger, when checking track -> hole collisions
2022-06-09 00:31:47 +02:00
Tomasz Wlostowski
4192c0a709
router: move IsFlashedOnLayer to the IFACE_BASE class so that it can be used in the debugger tool
2022-06-09 00:30:57 +02:00
Tomasz Wlostowski
bcfe12ce47
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
2022-06-08 14:28:31 +02:00
Tomasz Wlostowski
e90ab055b9
router: remove unused LINE::Is45Degree()
2022-06-08 14:28:31 +02:00
Jon Evans
dc6c27b686
Don't wipe out visibility state when changing layer count
...
(cherry picked from commit 7053981835
)
2022-06-08 03:01:02 +00:00
Jon Evans
30fb298ed3
PNS: Re-enable hole clearance for non-flashed pads/vias
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11098
2022-06-07 19:49:38 -04:00
Jon Evans
23596812b6
PNS: Implement HoleHull for VIA
2022-06-07 19:49:38 -04:00
Jeff Young
bf71cada4e
ADDED: User viewports for 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5724
2022-06-06 22:24:02 +01:00
Jeff Young
244042ce51
Keep footprint selection in Symbol Chooser history list.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1841
2022-06-06 22:24:02 +01:00
jean-pierre charras
9f38fa43cd
Fix some minor compil and Coverity warnings.
2022-06-05 11:44:49 +02:00
Jeff Young
d14fd5a9da
Fix logic error with silk overlap test.
2022-06-04 19:34:24 +01:00
Jon Evans
3747369aaa
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
(cherry picked from commit 5d4e2aa595
)
2022-06-04 00:04:03 -04:00
Jon Evans
9a2950cca1
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
(cherry picked from commit 2a91ba35c1
)
2022-06-04 00:04:03 -04:00
Jeff Young
8b75a32cfa
We only want "actual" shapes, not anything derived from SHAPE.
...
Also fixes a bug where GetParentFootprint would get confused by
groups.
Fixes https://gitlab.com/kicad/code/kicad/issues/11741
2022-06-04 00:24:27 +01:00
Jeff Young
d2a9cbe6e8
Use effective width for DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11740
2022-06-03 23:27:10 +01:00
Tomasz Wlostowski
c8b93c39b6
router: remove some old cruft from the WALKAROUND class
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
0bd7f603a3
router: consider mouse drag event a valid route start/end event
...
L-clicks during routing operation while the mouse is moving (even slightly) were ignored, which was annoying to some users (myself included). Now the router
always fixes the track upon mouse click.
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
eaee610fd9
router: save project settings together with the debug log
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
f73acbb206
router: derive VIA class from LINKED_ITEM interface
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
cab08f859a
router: cluster extraction should only consider objects that are touching (instead of checking clearance)
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
297c60923e
router: return routing status from ROUTER::Move()
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
54f4f765b9
router: NODE|ITEM::QueryColliding() now can override clearance
...
Needed for clustering algorithm (to be committed later... ;-)
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
aca9cce5d5
router: more verbose debug messages for the debugger tool
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
2a0accd184
router: shove algorithm now considers cases where a small via sits 'inside' a fanout of wide (width > via diameter) segments.
...
The shove algorithm can't move the loose track ends. It always needs a via. In case of wide segments stitched with
a small via, the collision search finds only colliding segments and does not consider the via. This leads to frequent shove falilures
or 'choppy' behaviour when the head line only slightly overlaps with an end of a thick trace. This patch attempts at improving this behaviour
by considering the 'tiny via in wide segment' case explicitly.
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
08647bf035
router: temporarily disable via hole clearance check in the shove algorithm.
...
- needs refinements and additional checks for corner cases.
- disabled also to facilitate debugging of other shove bugs
2022-06-03 23:28:40 +02:00
Tomasz Wlostowski
8cb65a8a13
router: default values for LOGGER::Log()
2022-06-03 23:28:40 +02:00
Tomasz Wlostowski
752ba2ed76
router: log via toggle events
2022-06-03 23:28:40 +02:00
Tomasz Wlostowski
a4ad47cd08
router: use SHAPEs and PNS::ITEMs only in the ROUTER_PREVIEW_ITEM
2022-06-03 23:28:40 +02:00
Tomasz Wlostowski
b08280d00c
router: enable Hole Clearance rule only in Mark Obstacles mode
...
(it will be brought back to Walk/Shove modes as soon as all the underlying issues are fixed)
2022-06-03 23:28:40 +02:00