Ian McInerney
29cc16a4c4
Push pcbnew layer alpha change update into base frame
...
This code was shared between the footprint frame and
pcb edit frame, so push it into the base edit frame.
Also remove the dummy wxUpdateUIEvents that weren't
actually being used.
2021-04-07 17:39:48 +01:00
Jeff Young
3fd3be9843
Layer fixes for PCBNew drawing tools.
...
1) Implement layer changes for dimension drawing tool
2) Ensure drawing layer is visible for (1) and for the text drawing
tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/8106
2021-04-07 15:02:48 +01:00
Jeff Young
e50b450092
Formatting and organisation.
2021-04-07 14:50:29 +01:00
Roberto Fernandez Bautista
85efdb85b0
CADSTAR PCB: Ensure continuous track routes
...
When route offsetting, add an additional thin track to ensure
end point of one track and start point of the next are at the same
location.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8131
2021-04-07 11:28:02 +00:00
Roberto Fernandez Bautista
211fd65c23
Move: Ignore mouse up and click events until a mouse move / drag event
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8123
2021-04-06 17:29:52 +00:00
Jeff Young
09b2db3139
Test for group in footprint was snagging all footprint children.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8121
2021-04-06 18:27:43 +01:00
Jon Evans
9f957d3e08
Fix crash when attempting to tune discontinuous lines
...
Also correctly find the tuning path through arcs
https://gitlab.com/kicad/code/kicad/-/issues/8131
2021-04-06 09:07:11 -04:00
Roberto Fernandez Bautista
235688e459
Less restrictive Arc Track Dragging tool
...
Use the connecting straight tracks even if not exactly parallel - allow
an error margin configurable in ADVANCED_CFG (default 1 degree). Also
be less strict about end point matching and use the width of the track
as the criteria to determine suitability.
Finally, delete any short lengths of track at the end of the operation
and amend the arc end points to keep connectivity.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7967
2021-04-06 12:52:01 +00:00
Roberto Fernandez Bautista
0a2c8575ce
ZONE properties: stage commit even if !Settings().m_AutoRefillZones
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8028
2021-04-06 12:52:01 +00:00
Jeff Young
69fd0b38ff
Remove a couple of unused OnUpdateUI handlers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-04-06 13:47:15 +01:00
Jeff Young
daaf738c7f
Add save-as files to file history.
...
Also fixes where lock wasn't getting reset on a Save As.
Fixes https://gitlab.com/kicad/code/kicad/issues/8111
2021-04-06 13:35:26 +01:00
david-beinder
b2f788adc1
PNS: Fix UseConnectedTrackWidth when starting from ARCs
2021-04-06 01:27:13 +00:00
Jon Evans
e46c9d35ac
Add undo/redo handling to length tuner event loop
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8129
2021-04-05 19:58:14 -04:00
Jon Evans
24cd174a23
Don't dereference a possibly-invalid optional
2021-04-05 19:34:57 -04:00
Jeff Young
ec45855aed
Make sure drawing layer is visible.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8106
2021-04-06 00:06:23 +01:00
Roberto Fernandez Bautista
9a764126ce
CADSTAR PCB: Keep all tracks as a single chain where possible
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8119
2021-04-05 20:15:09 +01:00
Jon Evans
a6c3d74a73
Pass active layer to StartRouting in length tuner
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7857
2021-04-04 21:51:54 -04:00
Jon Evans
a24bc34b66
Better colors for length tuning popup in dark mode
2021-04-04 20:33:59 -04:00
Jon Evans
c7ecb51f77
Update PNS length tuning algorithm to match the new BOARD algorithm
...
Now tracks inside pads are optimized to give a more accurate length.
Also, the start/end of the assembled line is used to identify the right
pad joints for pad-to-die length calculation.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4204
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1765
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6877
2021-04-04 20:27:22 -04:00
Jon Evans
41c54d383e
Fix some edge cases with length calculation
2021-04-04 19:38:54 -04:00
Jon Evans
cdfb014ab6
CHANGED: Account for via height in track length calculations
2021-04-04 13:59:18 -04:00
Jon Evans
80728f8d78
Improve algorithm for calculating net length; use it for netinfo message panel
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4258
2021-04-04 12:27:09 -04:00
Jon Evans
6b24abac8f
PNS: Don't snap to end items if snapping is disabled by modifier key
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8033
2021-04-04 10:22:23 -04:00
Jeff Young
52ca7ed27c
Naming conventions.
2021-04-04 10:43:56 +01:00
Jeff Young
c1df77f59b
Terminology.
2021-04-04 10:32:24 +01:00
Jeff Young
98e6a089ab
Treat board edges same as graphics for locked/unlocked.
...
It would appear that not using the locked/unlocked graphics filters
is confusing too (see deleted comments in code).
Fixes https://gitlab.com/kicad/code/kicad/issues/8114
2021-04-04 10:27:26 +01:00
Jeff Young
2c3ee0d85f
Don't forget CommitPendingChanges.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8083
2021-04-04 01:02:31 +01:00
Ian McInerney
83ae28f04f
Fix selection when pasting/duplicating items
...
The item flags weren't getting reset after placing
the new items, so the next operation on them was
having weird behavior.
Fixes https://gitlab.com/kicad/code/kicad/issues/7528
2021-04-03 19:09:21 +01:00
Carsten Schoenert
cb17c9f3dd
Typo fix: Correct various misspelled words
...
agressive -> aggressive
decription -> description
miscellanous-> miscellaneous
rectange -> rectangle
Unkown -> Unknown
2021-04-03 13:39:50 +00:00
Carsten Schoenert
8dff3725ac
Typo fix: Correct 'allow to' -> 'allows one to'
2021-04-03 13:39:50 +00:00
Jeff Young
52aea0a2c9
Consistent terminology.
2021-04-03 11:15:11 +01:00
Jeff Young
c5536b2cab
Title case in menus.
2021-04-03 11:15:11 +01:00
Mikolaj Wielgus
aa09d6448a
Pcbnew: Allow Create Array on groups
...
Also removes possible null pointer dereferencing.
Fixes https://gitlab.com/kicad/code/kicad/issues/7515
2021-04-03 09:06:49 +00:00
Jon Evans
a8896ebd73
Don't show leading ratline for unconnected net
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8040
2021-04-02 20:29:25 -04:00
Mikolaj Wielgus
d7a95e2af4
Rotate FP_TEST properly when flipping
...
The angle was `-angle` instead of `180 deg - angle` when flipping top to
bottom.
Fixing that, in turn, created some problems with justification, which
was modified both by `FP_TEXT::Flip()` and `FP_TEXT::KeepUpright()`.
What's worse, `FP_TEXT` has another mechanism for keeping the text
upright: `FP_TEXT::GetDrawRotation()` returns different angles if the
"keep upright" flag is set. But there is no analogous behavior for
justification, so the text would sometimes get shifted, and sometimes
not, depending on which mechanism was engaged. And both are used,
apparently.
Clearly, such an arrangement an open invitation to bugs and
inconsistencies. One of these mechanisms should be removed. I haven't
done this yet, and would prefer to postpone this until V6 is out.
I've fixed the justification problems, but this was by trial-and-error,
and I don't feel I really understand the behavior responsible. But I
think it's a good sign that most of my changes are line removals, not
additions. Flipping is a simple operation, it's just mirroring and layer
change. If something simple has a complicated routine, then it's
probably full of hacks.
Fixes https://gitlab.com/kicad/code/kicad/issues/7289
2021-04-02 21:13:21 +00:00
Mikolaj Wielgus
0a660c2364
Pcbnew: Remove 180 deg rotation when flipping PCB_TEXT in some cases
2021-04-02 21:13:21 +00:00
Mikolaj Wielgus
99fd872fce
Pcbnew: Do not move footprint fields twice in align/distribution tools
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8094
2021-04-02 21:09:36 +00:00
Mikolaj Wielgus
7655533412
Do not move footprint fields twice when performing Move Exactly
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8062
2021-04-02 21:07:59 +00:00
Ian McInerney
1931677316
Ensure the layer dropdowns are correctly sized
...
On GTK, the layer dropdown was sized based on an empty list,
so for non-default fonts it would be undersized and cutoff
the font.
2021-04-02 21:33:31 +01:00
Ian McInerney
1db5e2bc96
Don't force an entire refresh of toolbars to update sizes
...
Forcing an entire refresh of the toolbars is wasteful,
so instead just update the sizers directly.
2021-04-02 19:12:21 +01:00
jean-pierre charras
d3bf20e80b
Pcbnew, place free via: take netcode from the pad, if the via is inside a pad.
...
Fixes #8089
https://gitlab.com/kicad/code/kicad/issues/8089
2021-04-02 17:19:44 +02:00
Jeff Young
f88d39b4f0
Fix state issue in router's switch layer handling.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7590
2021-04-01 18:10:04 +01:00
Jeff Young
f6f31b7654
Get rid of save warning after Footprint Editor Save As.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8084
2021-04-01 11:17:24 +01:00
Jeff Young
94470bfa15
Minor cleanup.
2021-04-01 11:10:01 +01:00
Jeff Young
0c4184f1a4
Split lib tree initialization into a two-pass affair.
...
This is under the supposition that we can't set the column widths
on some Mac instances because the host controls haven't yet been
created. This is primarily conjecture based on looking at things
that have the *possibility* of going wrong. Why this only happens
in some installs is beyond me.
Fixes https://gitlab.com/kicad/code/kicad/issues/5479
2021-04-01 10:51:29 +01:00
jean-pierre charras
90abc8ba8b
Excellon drill files: slightly change comments inside files
2021-04-01 07:38:00 +02:00
Jeff Young
b6f2941a06
Another try a allowing touching courtyards.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8076
2021-03-31 22:54:30 +01:00
Roberto Fernandez Bautista
a530c22eff
Shorten "Allow free pads" tooltip and rename button "Skip Locked Items"
2021-03-31 18:28:18 +00:00
Roberto Fernandez Bautista
7077e59395
Make moving pads independent of footprint much harder with new setting
...
It is still possible to move a pad independent of footprint through
the pad properties dialog. This is a much more conscious decision
than using the move tools.
ADDED: "Allow free pads" preference setting in pcbnew, default to off.
When enabled, allows moving unlocked pads independent of the footprint
(i.e. previous behaviour). When disabled (default), any attempt to move
a pad will move the parent footprint instead.
REMOVED: "Lock pads of newly added footprints" preference setting in
pcbnew. (Pad lock state is now loaded from the footprint definition)
CHANGED: There are now only two possible lock states for a footprint:
locked and unlocked. The lock state of the pads in the footprint is
now independent of the footprint lock state.
Also fixed a latent bug that would allow a pad to be moved when the
parent footprint was locked (see m_selectionTool->RequestSelection
lambdas in edit_tool.cpp)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7739
2021-03-31 18:28:18 +00:00
Jeff Young
737262ffa8
Allow touching courtyards.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8076
2021-03-31 10:44:59 +01:00
Ian McInerney
0a0935e0f3
Remove ACTIONS::TranslateLegacyId and TOOL_DISPATCHER::DispatchWxCommand
...
After commit 9535153f9e
there were no more IDs inside the legacy ID
system. Therefore the entire system for dispatching and looking up
the legacy ideas and handling those events can now be removed and
the tool dispatcher simplified (it no longer needs to know about
the ACTIONS class).
2021-03-30 23:20:22 +00:00
Jeff Young
8cb6f15687
Warn when diff pair router can't start due to too-small-gap.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7795
2021-03-30 19:49:23 +01:00
Roberto Fernandez Bautista
b151dd02b9
CADSTAR PCB: Fix incorrect solder mask/paste clearance
...
Need to divide by two as this is a clearance, not diameter.
2021-03-30 13:03:56 +00:00
Roberto Fernandez Bautista
ad2043eda6
CADSTAR PCB: DrillXoffset and DrillYoffset are zero when not specified
...
Fixes an issue that resulted in pads being loaded 100nm off from the
original CADSTAR position.
2021-03-30 13:03:56 +00:00
jean-pierre charras
6eb2e2a6e3
Fp editor: do not change item UUIDs when loading a footprint from library.
...
Fixes #8066
https://gitlab.com/kicad/code/kicad/issues/8066
2021-03-30 12:58:22 +02:00
Jon Evans
78a60e9dfb
PNS: Put polygon error outside pad shapes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7672
2021-03-29 19:49:59 -04:00
Jon Evans
6cbc3fb97d
Fix a minor inconsistency between router and DRC
...
Also make sure collision highlighting runs at the starting
location of a drag.
See: https://gitlab.com/kicad/code/kicad/-/issues/7672
2021-03-29 19:41:17 -04:00
Jon Evans
8be9832153
PNS: Don't highlight Net 0 (the unconnected net)
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8040
2021-03-29 17:45:07 -04:00
Wayne Stambaugh
38c849bde7
Pcbnew: load write board netlist to file tool action dynamically.
...
Loading this advanced configuration option statically will cause it to
show up in the hotkey list even when the option is disabled. Creating
the tool action at run time resolves this issue.
2021-03-29 09:04:55 -04:00
jean-pierre charras
3c51964c57
drill report: use more digits in float values for diameters.
...
(Use same resolution in map and rpt files)
2021-03-29 13:02:43 +02:00
Jeff Young
f2e68e68d0
Add "Hide Tree" context menu options when tree has no selection.
...
Also cleans up some other code to be more consistent between symbol
editor and footprint editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/8052
2021-03-29 12:02:00 +01:00
Wayne Stambaugh
6d2f80b4cf
Pcbnew: add write board netlist to file support.
...
This is hidden behind an advanced configuration setting and is primarily
useful for developers trying to troubleshoot the netlist payload sent
from the board editor to the schematic editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/8051
2021-03-28 08:38:29 -04:00
Ian McInerney
475ac3697f
Ensure toolbar controls have the correct width on frame creation
...
Otherwise they could be slightly too small and then look odd.
2021-03-28 13:07:56 +01:00
Jon Evans
d0d6352a25
Fix crash launching footprint editor frame
...
Apparently we get this event before the frame is fully-baked
2021-03-27 23:48:07 -04:00
Ian McInerney
42c6af4bd8
Cleanup ACTION_MENU creation in some places
...
The ACTION_MENU constructor now takes the tool as an argument,
so the call to SetTool() immediately following it can be removed
and the tool just passed into the constructor.
2021-03-27 19:16:58 +00:00
Ian McInerney
9535153f9e
Move the import graphics menu item to the action
2021-03-27 19:04:16 +00:00
Ian McInerney
7bfa8575fa
Remove redundant information from import/export menu item labels
...
Saying "Import/Export" on the labels when the submenu has "Import"
or "Export" in it is redundant.
Note that we can't just update the action text with the new name,
because that is used in the hotkey list and would become too confusing
without the "Import"/"Export" text.
2021-03-27 18:50:35 +00:00
Konstantin Baranovskiy
eb8744816e
pcbnew: fix the i18n of the rules syntax help
2021-03-27 16:26:13 +00:00
Ian McInerney
f6041fb52d
Force update of some text when activation status changes
...
The text areas aren't always redrawn when the window is activated
or deactivated, so we need to force a refresh of the text to ensure
it is the correct font color.
2021-03-26 15:50:56 +00:00
jean-pierre charras
d18323dcf0
Excellon file writer: remove not very useful comments outsider the header section.
...
Looks like comments outside header section can create problems in some readers.
Note: comments inside header section are clearly allowed in Excellon file format)
(trial to fix bug 8032)
2021-03-26 09:46:32 +01:00
Jon Evans
132ec37b56
Handle arc in buildHullForPrimitiveShape
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8008
2021-03-25 21:25:30 -04:00
Roberto Fernandez Bautista
34a435cd56
CADSTAR PCB: Handle import of pads with different paste and mask sizes
...
KiCad doesn't yet support full padstacks, but at least we can use the
solder mask / solder paste expansion to import a better result. Also
we can disable the specific layer if the shape has a size of zero.
2021-03-25 17:54:56 +00:00
Roberto Fernandez Bautista
107a1990c9
CADSTAR PCB: Handle route offset
...
The CADSTAR post processor has a peculiar feature called "route offset"
which effectively shortens tracks when the pad, track or via that it
connects to has a smaller width. This operation is not saved in the
design itself, but applied as a post processing operation meaning that
the importer has to apply it when loading on the board.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6648
2021-03-25 17:50:33 +00:00
Roberto Fernandez Bautista
1468764f83
CADSTAR PCB: Lock footprint pads after import
2021-03-25 17:50:33 +00:00
Jeff Young
3279e295ac
Don't start filling zones with possibly stale caches.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8014
2021-03-25 17:20:08 +00:00
Jeff Young
a2ffb45698
Update diff pair rule syntax to be clearer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8010
2021-03-25 10:29:38 +00:00
jean-pierre charras
bbd7b4ca8c
Eeschema, selection tool: uniformize the cursor shape and the actual modifiers.
...
SHIFT, CTRL, ALT modifier keys were handled in 2 different codes, one for
the selection tool and another to modify the mouse cursor shape, with 2
different configs.
Now the modifiers are managed from only one function.
Pcbnew: group also SHIFT, CTRL, ALT modifier keys management to a specific function.
Fixes #8021
https://gitlab.com/kicad/code/kicad/issues/8021
2021-03-25 10:28:20 +01:00
jean-pierre charras
9a0f9575b6
Fix minor Coverity warnings
2021-03-25 09:12:24 +01:00
firebladed
41839f7e3f
Update panel_setup_rules_help.md diff pair clearance example to use new A.isCoupledDiffPair() function
2021-03-25 03:33:19 +00:00
Jon Evans
cb722c6bfa
Code style
2021-03-24 18:11:32 -04:00
qu1ck
75819206a0
Add support for dark theme in plugin icons
...
Action plugin authors can specify alternative icon path for dark theme.
If it's not specified then standard icon will be used for both light and
dark themes. If neither icon is specified then the default puzzle piece
icon is used.
Fixes #7984
2021-03-24 21:59:30 +00:00
Wayne Stambaugh
b37b7d53b4
Fix geographic annotation bug when back annotating to schematic.
...
For some reason, the footprint UUID was being prefixed to the sheet path
which caused the symbol look up by sheet path to fail. An option was
added to not do this when the geographical back annotation to the schematic
is performed.
2021-03-24 09:57:36 -04:00
Marek Roszko
e409b04538
More gracefully handle tinyspline not liking a spline definition
...
Partial fix for #6634
2021-03-24 00:37:01 -04:00
Jon Evans
f57dcf2a34
Fix connectivity to only resolve conflicts on netlist load
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8007
2021-03-23 17:43:24 -04:00
Jeff Young
a94ce75c02
Fix multiple filter calls that were producing false cache positives.
...
When processing a compound shape we'd decide the first of them didn't
collide and then put false into the cache. The cache value would then
be used for all the other shapes in the compound shape, which very well
might actually collide.
Fixes https://gitlab.com/kicad/code/kicad/issues/8003
2021-03-23 21:06:16 +00:00
Ian McInerney
a94a481574
Fix compile warnings
...
Some simple warnings and also a deprecation warning from wx
because they felt that a function should be renamed...
2021-03-23 19:46:49 +00:00
Jon Evans
4dbeb15024
Use a worker thread to send socket commands
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6503
2021-03-23 03:20:40 +00:00
Jon Evans
381cc27548
Add missing include
2021-03-22 21:25:03 -04:00
Jeff Young
49b1aceb8b
Handle doc urls enclosed in parens.
...
It seems this has become a common pattern in at least some of our
libraries.
Fixes https://gitlab.com/kicad/code/kicad/issues/7963
2021-03-22 21:20:54 +00:00
Jeff Young
f24f0d93a5
Make OK default in inspectors (and hook up to close window).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7831
2021-03-22 21:20:54 +00:00
Jonathan Haas
a677998f47
Don't select new items after cancelling move following item duplication
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7956
2021-03-22 18:49:43 +01:00
Jon Evans
9ce34102af
Make sure projects get created for boards migrated from 5.x
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6886
2021-03-21 16:21:44 -04:00
Jeff Young
8be213e36f
Trim includes (and use consistent terminology in error messages).
2021-03-21 20:15:47 +00:00
Roberto Fernandez Bautista
a9eb83201e
Remove ZONE::ClearFilledPolysList() and fix ZONE::Unfill()
...
ClearFilledPolysList is redundant and Unfill() was missing the clearing
of m_insulatedIslands
This fixes potential latent bugs in zone unfilling.
2021-03-21 20:13:20 +00:00
Roberto Fernandez Bautista
50aafb9d2a
Do not auto-refill zones when added or edited
...
The only exception is when using the Zone Properties Dialog and
user preference is enabled
2021-03-21 20:13:20 +00:00
Roberto Fernandez Bautista
7a255edc5f
Panel Edit Options: Fix "Show Page Limits" tooltip message
2021-03-21 20:13:20 +00:00
Roberto Fernandez Bautista
f6c4677189
ADDED Option to disable automatic zone filling in pcbnew
...
The new setting is stored as 'editing.auto_fill_zones' and controls
whether zones should be refilled after certain actions or not.
2021-03-21 20:13:20 +00:00
Roberto Fernandez Bautista
a743e0c52b
Add Zone fill to undo stack
...
Allows undoing zone filling and reverting to previous fill state.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7440
2021-03-21 20:13:20 +00:00
Jon Evans
5e0b65c3a8
Change wording of corner rounding action
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4505
2021-03-21 15:55:56 -04:00
Jon Evans
37242f67e0
Connectivity: just pick the most popular net to update conflicting clusters
...
CHANGED: when pad net assignments are changed in a conflicting way (i.e.,
tracks exist that short out more than one net after the change,
track nets will be updated to the net with the most pads).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7929
2021-03-21 15:31:37 -04:00
jean-pierre charras
f0ed5fab39
add missing include for wxWidgets 3.1.4
2021-03-21 17:35:20 +01:00
Jon Evans
e1840ccbd3
Handle exceptions thrown by footprint library table
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7973
2021-03-21 11:43:24 -04:00
Thomas Pointhuber
68f3d09ac1
altium: introduce tokenizer for query language
...
Based on this tokenizer, a LL1 parser will be built in the future.
2021-03-21 16:39:23 +01:00
Jeff Young
fe196771d8
Implement isCoupledDiffPair() DRC rule function.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7975
2021-03-20 23:07:36 +00:00
Jeff Young
44e2151ade
Allow diffpair gap to override netclass clearance value.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7975
2021-03-20 21:53:30 +00:00
Jeff Young
ce46fe6581
Add insideFrontCourtyard and insideBackCourtyard DRC functions.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7972
2021-03-20 21:53:30 +00:00
Jeff Young
07aea4339d
Formatting.
2021-03-20 21:53:29 +00:00
jean-pierre charras
4a53917efa
wrml exporter: optimize circle to segment approximation.
2021-03-20 18:16:58 +01:00
Jon Evans
f1c599fa4d
Tweak PCB selection behavior to reduce unintuitive behavior
...
We were discarding shapes too aggressively for having a
larger area than a shape underneath.
Let's also try showing fewer disambiguation menus, in particular
always preferring items on the active layer when the candidates
include overlapping items of similar area on other layers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7949
2021-03-20 13:11:51 -04:00
Jon Evans
6924b98bc3
Remove deprecated BRIGHT_BOX preview item
2021-03-20 12:09:20 -04:00
Jon Evans
c04e19f9ac
Include optimization: move some things from common.h to point-of-use
2021-03-20 12:09:18 -04:00
jean-pierre charras
6d5536707c
wrml exporter: remove all duplicate code with Pcbnew. Especially, converting layers to polygons exist in Pcbnew, so no need to rebuild item shapes in the exporter. Moreover, in exporter, rebuilding shapes was not up to date and did not include changes in Pcbnew.
2021-03-20 13:44:52 +01:00
jean-pierre charras
4073153e75
vrml exporter: fix incorrect export of zones on solder mask layers. minor changes in colors.
2021-03-20 11:13:55 +01:00
Jon Evans
7a8abcadd2
PCB_SHAPE: Use SHAPE_ARC as the effective shape of an arc
2021-03-19 22:43:43 -04:00
Jeff Young
6c3b02aabe
Cleanup (no functional changes).
2021-03-19 16:14:34 +00:00
jean-pierre charras
3fec3a3a15
Fix a minor Coverity warning
2021-03-19 15:01:16 +01:00
Jeff Young
90742bba9f
Adjust constraints after editing other points.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7103
2021-03-19 11:35:17 +00:00
Jeff Young
4034fcb7ac
Fix yet another edge case in B&W printing of holes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7944
2021-03-18 23:50:04 +00:00
jean-pierre charras
af88b01068
export_vrml: Better export of pad shapes, both on copper and paste layers.
...
It removes duplicate code between Pcbnew and the vrml exporter.
Remove also an useless option (plain board) that exported just the board body.
2021-03-18 20:43:27 +01:00
jean-pierre charras
8d5161dae2
export_vrml: more code cleanup and export solder mask
2021-03-18 16:44:28 +01:00
Jonathan Haas
95051c4786
Also duplicate arcs in pcbnew
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7943
2021-03-18 13:35:30 +00:00
Jean-Samuel Reynaud
e377f2667e
Adding COMMIT support before/after invocation of a python script
...
Allows undo/redo of ACTION_SCRIPT commands
2021-03-18 12:52:17 +00:00
jean-pierre charras
16ef1910ff
export_vrml: more code cleanup and fix incorrect shape of round chamfered pads
2021-03-18 13:35:06 +01:00
jean-pierre charras
074f0432f0
vrml exporter: more cleaning code and enhancements. Dialog exporter: Add option to use board center as coord origin.
2021-03-18 09:52:04 +01:00
jean-pierre charras
b050823c98
export_vrml.cpp: mainly clean code and add some fixes.
2021-03-18 09:52:03 +01:00
Jeff Young
36259b1f6b
Refresh lib trees after editing library tables.
...
Also make sure that we grab the library item descriptions from their
source rather than just the cached tree copy.
Fixes https://gitlab.com/kicad/code/kicad/issues/7875
2021-03-17 14:54:18 +00:00
Jeff Young
46d71f0d23
Go back to validate-on-OK, but stop doing design checks.
...
If we keep doing design validations at two different places, they can
only start to drift apart. Board Setup should validate for malformed
data ONLY; everything else is the business of DRC.
This also fixes a bug where implementation validations would not allow
OK in the dialog, but wouldn't put up a message to say why. We now use
the InfoBar impl from Jon's commit for that.
2021-03-16 14:49:03 +00:00
pgvoorhees
bb8d31cd06
Fix context item selection filter type omissions
...
Fixes #7839
2021-03-16 13:08:50 +00:00
Jeff Young
cad1cb0262
Improve naming.
2021-03-16 12:07:06 +00:00
Jeff Young
c7648b4dba
Formatting.
2021-03-16 12:07:06 +00:00
Jeff Young
2ad9da582a
Refresh geometry when clearance changes if clearance lines are shown.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7906
2021-03-16 12:07:06 +00:00
Mikolaj Wielgus
c3c3649211
Stop text from causing a shift during flip when >1 items are selected
...
1e1be730
fixed this only for one item.
Fixes https://gitlab.com/kicad/code/kicad/issues/7304
2021-03-15 21:24:16 +00:00
Jeff Young
b2ac9cc29f
Formatting & naming conventions.
2021-03-15 19:04:59 +00:00
Fabien-B
a086795ac9
Pcbnew: fix dimensions text rotation and position.
...
Issue #6940 is not addressed, as being able to
rotate a dimension with a group is preferred over
easily rotating the text.
Fixes https://gitlab.com/kicad/code/kicad/issues/3847
2021-03-15 15:44:36 +00:00
jean-pierre charras
cb451dc4b2
Pcbnew: Fix memory leaks and fix inefficient code.
2021-03-14 20:27:59 +01:00
Jon Evans
52e2bf0000
Keep focus on filter boxes in footprint viewer
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4884
2021-03-14 15:10:20 -04:00
jean-pierre charras
a1b4bcc210
Refinements (add icons to menuitems and better help strings)
2021-03-14 18:44:31 +01:00
jean-pierre charras
c763b0088e
Fix some issues in drawing_stackup_table_tool.cpp
2021-03-14 17:44:16 +01:00
jean-pierre charras
3ba7fc0cc2
Move board stackup table drawing code from drawing_tool.cpp to drawing_stackup_table_tool.cpp
...
This avoid a too large drawing_tool.cpp file.
Remove also values in internal units and convert them to mm.
2021-03-14 17:44:16 +01:00
Jon Evans
521982cbf6
Avoid double-redraw on board load
2021-03-14 11:42:09 -04:00
Jon Evans
2cbd7b5043
Reduce scope of some view repaints to improve performance
2021-03-14 11:42:09 -04:00
jean-pierre charras
2528e1fc98
EXCELLON_WRITER: update info in comments.
2021-03-14 12:38:03 +01:00
jean-pierre charras
953279ce70
Gerber plot: fix missing AperFunction attribute for texts.
...
Fix also a incorrect AperFunction attribute for graphic items on Edge.Cuts
in footprints
2021-03-14 12:37:13 +01:00
Fabien Corona
f428ce03f2
ADDED: pcbnew - stackup / characteristics table
2021-03-13 20:19:46 +00:00
Jeff Young
18470693fe
Copy linewidths when coverting to polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7893
2021-03-13 17:06:49 +00:00
Jeff Young
93db7a130a
Offset 3D models when moving footprint origin.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7868
2021-03-12 17:37:38 +00:00
Jeff Young
faf9cca938
Fix many cases of old mils flag getting interpreted as allowEval flag.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7883
2021-03-12 15:15:50 +00:00
Jeff Young
24fd326cd1
Make sure we have different strings for past & future tense.
...
(In English both were 'Set', but that means our translation framework
won't support two different strings in other languages. Changed to
'Add' and 'Added'.)
Fixes https://gitlab.com/kicad/code/kicad/issues/7888
2021-03-12 14:59:38 +00:00
Jeff Young
ba46a8d12d
Fix some layout issues resulting from wxWidgets version bump.
2021-03-12 14:54:54 +00:00
Jeff Young
a01bd52571
Use default line width when creating polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7876
2021-03-12 14:54:54 +00:00
Jon Evans
18037e2f65
Rework bitmap system to load from archived PNGs
...
Bitmaps are now identified by an enum class instead of by pointers.
Bitmap loading and caching is now handled by a class in common, and
we no longer compile most bitmaps into the binary, so there is no
longer a bitmaps static library.
Instead, bitmaps are archived to a .tar.gz file which is installed
in ${KICAD_DATA}/resources/images.tar.gz
The source PNGs are checked in to Git as the original CPP files were,
so that people can build without the required dependencies to convert
SVGs to PNGs.
Initial support is also added for dark theme icons, although this
is not yet exposed in the GUI.
Stubs are present for multi-resolution image resources, but this is
not fully-baked yet and could use some refinement.
2021-03-11 08:37:35 -05:00
Jeff Young
4db10d419d
Implement future & past tenses for dry-run vs. changes made report.
...
Also improves zone reporting to list either the zone name or the layer
and coordinates.
Fixes https://gitlab.com/kicad/code/kicad/issues/7851
2021-03-11 12:34:02 +00:00
Jeff Young
ea9c269914
Don't fill polygons converted from lines.
...
The lines couldn't have been filled, so the polygon shouldn't start
out filled either. The user can set it to filled if they want.
Fixes https://gitlab.com/kicad/code/kicad/issues/7867
2021-03-11 10:42:21 +00:00
Jeff Young
4b88d4beed
Don't police the user.
...
There are too many holes and the police-state just makes it harder to
get back from error conditions.
Fixes https://gitlab.com/kicad/code/kicad/issues/7867
2021-03-11 10:38:32 +00:00
Jeff Young
e48f86bfd6
Move default assignment on Mac.
...
CHANGED: add corner and repeat last command now default to 'I' instead
of '<insert>' on Mac.
1) wxWidgets doesn't currently display the correct graphic in the menu
for the insert key
2) Mac laptops don't have an instert key
Fixes https://gitlab.com/kicad/code/kicad/issues/5016
2021-03-10 13:35:04 +00:00
Wayne Stambaugh
d4231d8e9f
Pcbnew: add footprint keepouts to Specctra DSN exporter.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7684
2021-03-10 07:18:37 -05:00
Marek Roszko
3d4ac9af03
Relocate win32 resource files to the central folder for further consolidation
2021-03-09 21:48:14 -05:00
Wayne Stambaugh
d160b30ff1
Pcbnew: add keepout helper methods to ZONE object.
2021-03-09 08:13:06 -05:00
Jeff Young
60b17e727a
Make sure pad locked flags get transferred on ExchangeFootprint.
...
They used to be in the footprint but were moved to the individual
pads a few months ago.
Also applies to text items.
Fixes https://gitlab.com/kicad/code/kicad/issues/7844
2021-03-09 12:29:14 +00:00
Dominik Wernberger
e2aa7be4b3
Added a lot of consts and refactored a few lines
2021-03-08 12:49:48 -08:00
Jeff Young
2bc10d58b5
Fix some cases where PCB_FP_ZONE_T was left out.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7615
2021-03-08 13:00:46 +00:00
Jonathan Haas
274d4e2eb4
Fix orientation of orthogonal dimensions
...
When drawing and editing orthogonal dimensions, take distance and
relative position to the end points into account.
Fixes https://gitlab.com/kicad/code/kicad/issues/7243
Fixes https://gitlab.com/kicad/code/kicad/issues/7189
2021-03-08 00:13:38 +00:00
Mikolaj Wielgus
0f22b54cd8
Clip the leader lines properly when using circular text frame
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7810
2021-03-07 21:19:19 +00:00
Jon Evans
720147d272
Remove transitive inclusion of bitmaps.h
2021-03-07 16:08:57 -05:00
david-beinder
df99ee39d9
PNS: new through vias should span all copper layers
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7576
2021-03-07 17:58:43 +00:00
Jeff Young
47145d349b
Don't run insideArea on ruleAreas.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7826
2021-03-07 17:55:30 +00:00
jean-pierre charras
e0cbcc3330
Excellon drill files: add structured comments to identify via holes and pad holes.
...
This is useful for CAM tools because constraints for via holes and pad holes are
not the same
2021-03-07 17:47:37 +01:00
jean-pierre charras
fde22da478
Greber drill files: Enable using flashed shapes for oval holes.
2021-03-07 17:44:59 +01:00
Jeff Young
0fde536223
Adjust zones when moving footprint origin.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7825
2021-03-07 15:04:01 +00:00
jean-pierre charras
d57f5b1a2c
DIALOG_GENDRILL: fix incorrect initialization of drill coord origin option
...
Fix also missing board change mark when drill plot settings are modified.
2021-03-06 09:47:42 +01:00
Jeff Young
b691c18bfc
Allow netclass assignents to unnamed nets.
...
Most of the code had already moved over to this, but there were a few
hold-outs.
Fixes https://gitlab.com/kicad/code/kicad/issues/7802
2021-03-05 19:16:09 +00:00
Jeff Young
3e9eb3c8ac
More complete fix for crasher JP found.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7806
2021-03-05 15:30:52 +00:00
Jon Evans
68f958145d
Gracefully handle lack of diff pair settings
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7806
2021-03-05 09:09:56 -05:00
Jon Evans
4ddb942ec0
Do not allow drag selection or drag move when already moving something
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7800
2021-03-04 19:01:31 -05:00
Jeff Young
c85c14e6e4
Don't allow exponential notation in specctra export.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7786
2021-03-04 22:39:33 +00:00
Jeff Young
bbf02a5f08
Formatting.
2021-03-04 21:23:45 +00:00
Jeff Young
528f933ad5
Don't revert commit after user has OK'ed the dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7799
2021-03-04 19:16:43 +00:00
Jeff Young
d18afa42cd
Resync nets & netclasses after updateFromPCB.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7793
2021-03-04 15:05:06 +00:00
Jeff Young
91350ec9ea
Don't update thickness unless it really changed.
...
Otherwise we're going to generate a continuous stream of OnUpdateUI
events....
Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-03-04 14:15:39 +00:00
Marek Roszko
8831c5567c
Add win32 version manifest block
2021-03-04 00:34:48 -05:00
Jon Evans
1fc399fa31
Fix a few more cases of picking up wrong mouse positions
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7745
2021-03-03 20:09:24 -05:00
Mikolaj Wielgus
1e1be730d8
Do not recalculate center from boundaries when flipping
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7304
2021-03-03 23:33:31 +00:00
Jeff Young
b9d26a55f2
Show variable references of text in status bar.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7790
2021-03-03 18:58:04 +00:00
Jeff Young
fcb9af2b12
When saving footprint to library don't detach from board too early.
...
In particular, make sure it's been flipped to the front layer first.
We need to know the layers to do the flip.
Fixes https://gitlab.com/kicad/code/kicad/issues/7780
2021-03-03 15:07:01 +00:00
Ian McInerney
51d445007f
Switch to using make_shared in another place
2021-03-03 02:19:46 +00:00
Ian McInerney
908de37e7c
Don't hardcode the file extensions where possible
2021-03-03 01:13:59 +00:00
Mikolaj Wielgus
81570e02f3
Do not change orientation when moving orthogonal dimensions
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7727
2021-03-02 19:59:16 +00:00
WhiteChairFromIkea
bbd6a1db0e
Formatting
2021-03-02 19:57:19 +00:00
WhiteChairFromIkea
b33ec125ac
use "pattern" instead of "sourcelibreference" for footprints
2021-03-02 19:57:19 +00:00
WhiteChairFromIkea
a9ca1e4ebd
use "pattern" instead of "sourcelibreference" for footprints
2021-03-02 19:57:19 +00:00
WhiteChairFromIkea
6533b47f0a
use "pattern" instead of "sourcelibreference" for footprints
2021-03-02 19:57:19 +00:00
Jonathan Haas
f90164f7cf
Fix some typos and improve wording
2021-03-02 19:13:49 +01:00
qu1ck
3199a88d54
Fix pcbnewshell not showing namespace inspector tools
...
on msvc build with recent wxpython
2021-03-02 17:12:57 +00:00
Wayne Stambaugh
79a9d69ff5
Coverity fixes for issues 314755, 316287, 324536, 324539, and 324539.
2021-03-02 08:10:37 -05:00
Jeff Young
d06e8ef01c
Honour pre-defined-size selections for diff pairs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7759
2021-03-02 12:12:05 +00:00
Jeff Young
7760570d76
Treat action buttons in Symbol/Footprint Properties as OK, not Cancel.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7001
2021-03-01 20:37:04 +00:00
Jeff Young
57e948ff08
Make sure axesEnabled is set before saving config.
...
We don't actually allow the user to change this at present, so one
could argue that we should remove it from what is saved out of the
config. But this is a smaller, safer change.
Fixes https://gitlab.com/kicad/code/kicad/issues/7666
2021-03-01 20:37:04 +00:00
qu1ck
cc6df515a1
Make ARCs accessible from python
2021-03-01 17:34:47 +00:00
Jeff Young
f4cc9b86e3
Inform user (and bail on UpdatePCB) if annotation failed.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7310
2021-03-01 16:57:29 +00:00
Jeff Young
1a9f55872c
Don't leave a pad with a netinfo pointer from the footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7766
2021-03-01 11:12:51 +00:00
Jeff Young
83d07dc7f7
Comments.
2021-03-01 11:12:51 +00:00
Jon Evans
63b5d8db43
Pcbnew: use MRU path when opening files in standalone mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7734
2021-02-28 14:30:16 -05:00
Jon Evans
dbb6d0fb4a
Move paste and mask clearance settings back to board file
...
These are needed for correct Gerber plotting so need to be stored
along with the board file
2021-02-28 14:04:28 -05:00
Marek Roszko
4debfbcc53
Fix pcbnew cross probing ignoring the disabling of the cross probing zoom to fit setting
2021-02-28 10:39:51 -05:00
Jon Evans
cd7a2cd807
Fix shadowing fix that caused logic bug and different shadowing
2021-02-27 20:01:14 -05:00
Jon Evans
65531accf6
DRC: allow testing against particular diff pair membership
2021-02-27 19:54:55 -05:00
Jeff Young
061218e567
Take a stab at fixing Python build issue.
2021-02-27 23:56:47 +00:00
Jeff Young
3538c8a963
Thread safety for new caches (which are also used during zone fill).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7749
2021-02-27 21:33:30 +00:00
Jeff Young
2606ecc619
Add isDiffPair() to custom rule syntax examples.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7746
2021-02-27 19:45:03 +00:00
Jon Evans
ccba4b1462
Pcbnew: don't show project warning on stackup pages
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5568
2021-02-27 14:28:24 -05:00
Jeff Young
14e670408e
Fix some bugs in rule examples and add some more examples.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7744
Fixes https://gitlab.com/kicad/code/kicad/issues/6884
2021-02-27 19:21:41 +00:00
Jon Evans
d269778cd4
PNS: disable smart pads in walkaround if posture is forced
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7710
2021-02-27 13:48:01 -05:00
Wayne Stambaugh
5ca25a609e
Pcbnew: fix shadow variable in expression evaluator.
2021-02-27 12:09:06 -05:00
Seth Hillbrand
f952434aee
Replace "pours" with "fill" in Rule Area
...
KiCad terminology refers to copper "Fill" rather than copper "Pour".
Also adds some tooltips for the various options
Fixes https://gitlab.com/kicad/code/kicad/issues/7740
2021-02-27 08:32:05 -08:00
Seth Hillbrand
bcc3767c2a
FABMASTER: Fill both kinds of silk polys
...
Silkscreen polygons are always filled (I think) in FABMASTER. Other
layer polygons are not
2021-02-27 06:58:04 -08:00
Jon Evans
eae9e954c3
Hide BOARD internals that shouldn't be wrapped from swig
2021-02-27 08:54:21 -05:00
Jeff Young
6d6765cdaf
Improve DRC status reporting.
...
1) Don't report on tests not run.
2) Don't cancel subsequent tests because the current test didn't
have any constraints
3) Exit a little bit quicker when cancelled
Fixes https://gitlab.com/kicad/code/kicad/issues/7724
2021-02-27 13:44:45 +00:00
Jeff Young
4ede4e061e
More DRC performance work.
...
Push DRC zone RTrees into BOARD so that they can also be used by
insideArea.
All these caches are a bit of an encapsulation leak, but they make a
significant impact on performance.
Fixes https://gitlab.com/kicad/code/kicad/issues/7720
2021-02-27 11:45:04 +00:00
Seth Hillbrand
283d176cdc
Use std::locale::classic() globally
...
This is a better alternative when imbuing streams
2021-02-26 17:21:55 -08:00
Seth Hillbrand
5d352d2373
FABMASTER: Enforce KiCad limits on line width
...
We require unfilled polygons to have positive width
2021-02-26 17:16:54 -08:00
Seth Hillbrand
7e0168a99d
FABMASTER: Process newer outline tag
...
Allegro uses the subclass "DESIGN_OUTLINE" in newer version for their
edge cuts instead of just "OUTLINE". This handles both.
Fixes https://gitlab.com/kicad/code/kicad/issues/7735
2021-02-26 17:06:56 -08:00
Seth Hillbrand
c9b39aaaed
FABMASTER: Process REFDES position
...
The reference designator is stored separately with the Tracks, so we
need to extract position/size data from it there and match back to the
components later.
Fixes https://gitlab.com/kicad/code/kicad/issues/7733
2021-02-26 17:04:21 -08:00
Marek Roszko
b82fcbcad6
More exception var disuse warnings
2021-02-26 19:30:58 -05:00
Seth Hillbrand
75c525af4f
FABMASTER: Handle polygons better
...
Polygons in non-etch layers need special handling to ensure they get
treated the same.
Fixes https://gitlab.com/kicad/code/kicad/issues/7731
2021-02-26 14:01:04 -08:00
Seth Hillbrand
2d5015c217
FABMASTER: Try harder to figure out nets
...
Find all intersecting points both forward and back between the filled
areas and the outlines in order to determine the proper net assignment
for the zones
Also creates rule areas for special zones instead of filled zones
Fixes https://gitlab.com/kicad/code/kicad/issues/7732
2021-02-26 13:06:06 -08:00
jean-pierre charras
b31bf1e40f
Always store via drill value in .kicad_pcb file.
...
Old boards were using UNDEFINED_DRILL_DIAMETER value in file for via drill when
the via drill value was the netclass value.
Recent boards always set the via drill to the actual value, but now we need
to be sure always store the drill value, because netclass value is not stored
in the board file. Otherwise the drill value of some (old) vias can be unknown
2021-02-26 20:57:43 +01:00
Seth Hillbrand
73dd93701a
FABMASTER: demote odd graphics warning
...
Drill layers have many different shapes in FABMASTER. These are not
used for board information, so we can ignore them.
2021-02-26 11:37:21 -08:00
Seth Hillbrand
ae2a9ef538
Use std::locale::classic static local
...
Prevents performance issues when creating new locales under MSVC
2021-02-26 11:37:21 -08:00
Seth Hillbrand
103dde67f6
FABMASTER: Handle rotated/flipped custom pads
...
The rotate mirror actions need to line up with the expectation.
FABMASTER keeps elements board-referenced while KiCad has some elements
referenced to the board and some referenced to the footprint
2021-02-26 11:37:21 -08:00
Seth Hillbrand
ff1300d13b
FABMASTER: Preallocate vectors
...
Reserves memory for vector elements based on file size. This helps
reduce the number of re-allocations needed when reading large files
2021-02-26 11:37:21 -08:00
Jeff Young
f226373324
Add cache for insideArea() and insideCourtyard().
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7720
2021-02-26 19:22:25 +00:00
Jeff Young
cb830f74b7
Bounding box caching comments.
2021-02-26 18:03:51 +00:00
Jeff Young
d523129929
Minor performance improvements.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7720
2021-02-26 17:58:08 +00:00
Jeff Young
c716313a24
Fix footprint hittesting. (How in the world did that compile?)
2021-02-26 17:44:36 +00:00
Jeff Young
c7a71b44e5
Zones must be entirely inside for insideCourtyard.
...
This is a huge performance win as otherwise we're doing *lots* of
shape collisions with ground planes.
Fixes https://gitlab.com/kicad/code/kicad/issues/7720
2021-02-26 17:19:48 +00:00
Jeff Young
22005299af
Remove old hacks for UTF8 mode.
...
wxWidgets' UTF8 mode wasn't thread-safe, so we had to put mutex's on
a bunch of string operations, which meant that we couldn't return
references to strings. Now that we no longer use UTF8 mode anywhere
(and the mutex's were removed long ago), using references is a big
performance win in some places.
2021-02-26 17:19:48 +00:00
Jeff Young
86aaa2e9cb
Rationalize footprint bounding boxes and cache all of them.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7720
2021-02-26 13:50:27 +00:00
jean-pierre charras
da005bd2a6
Pcbnew, plot files: fix very poor shape of trapezoid pads having a non null
...
clearance on mask or solder mask layers.
2021-02-26 10:36:04 +01:00
Seth Hillbrand
c15a9e60d4
Used cached footprints without check in preview
...
Between the time the user loads the footprint preview in cvpcb or Add
Footprint in pcbnew, we don't need to verify cache integrity to display
the footprint. We use the cache copy when displaying until we close the
selection window and re-open. This limits our need to iterate over the
full directory on every footprint display.
Alternate solutions for v7 should include looking into libfswatch for
change detection
2021-02-25 15:46:52 -08:00
Jeff Young
b36e1c741d
Fix insidious bug which resets layer of SOLID when marking collision.
...
It's supposed to be setting the layer of the collsion display object,
not the host object, but there's a typo.
Fixes https://gitlab.com/kicad/code/kicad/issues/7712
2021-02-25 23:39:48 +00:00
Jeff Young
75032f3acd
Use the more-constrained layer when running rules.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7639
2021-02-25 22:58:07 +00:00
Seth Hillbrand
54539d2cd7
Calculate timestamp the same way both times
...
Timestamps were checked using a different routine than they were
generated with, leading to the cache always being out of date.
This uses the same routine for both. While it iterates over the
directory twice during the initial load, this will never be dominant
Fixes https://gitlab.com/kicad/code/kicad/issues/7711
2021-02-25 14:36:49 -08:00
Tomasz Wlostowski
87ea540953
Fix whitespace errors
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
c79610e132
router: post-rebase fixes
2021-02-25 17:18:23 +01:00
Marek Roszko
6948cdd8ef
router: Fix return type within pointInside2
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
9bdfc13155
router: improve locality of post-shove optimization
...
Fixes : #4359
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
e1d4bb777c
router: use new LINE::Walkaround in the walkaround algo
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
045d02f818
router: add strict/loose area restriction constraint. WIP
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
24574aa2f5
router: first insert intersections, then build graph in Walkaround()
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
61e75a838b
router: replace large stack variables with std::array
2021-02-25 17:18:23 +01:00