Jeff Young
85805b95ba
Cancel or commit pad edit mode when switching footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10209
2022-02-19 19:36:19 +00:00
Thomas Pointhuber
8ef7252330
altium: Don't use string concatenation for paths pointing in the compound file
...
* std::vector do not need to be split apart again
* supports backslash in footprint names
2022-02-19 16:46:20 +01:00
Jeff Young
6ce63d66e8
On-the-fly language updating for appearance panel & selection filter.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10040
2022-02-19 14:59:51 +00:00
Jeff Young
86988225c3
Exclude some fab attrs from library parity check.
...
Also excludes zone outline hatching, which is just a visualization
property.
Fixes https://gitlab.com/kicad/code/kicad/issues/10903
2022-02-19 14:59:50 +00:00
Thomas Pointhuber
86c025eb30
altium: Fix parsing of zones which use the KEEP_OUT_LAYER
2022-02-19 14:37:05 +01:00
jean-pierre charras
b184b43431
PCB_DIM_ALIGNED and DIALOG_DIMENSION_PROPERTIES: fix bad text rotation.
...
Fixes #10901
https://gitlab.com/kicad/code/kicad/issues/10901
2022-02-19 10:24:44 +01:00
Seth Hillbrand
a19d9105f0
Fix SolderBridge check to only check across multiple
...
We should not generate an error when overlapping a single copper element
with a soldermask that is not associated with copper.
Fixes https://gitlab.com/kicad/code/kicad/issues/10906
2022-02-18 11:47:28 -08:00
Seth Hillbrand
f0e4448a9d
Remove broken call to normalize outlines
...
We should never be editing the user's outlines for them. This creates
broken zones that are hard to repair. In this case, there was also a
secondary zone with no outline that would crash the system
Fixes https://gitlab.com/kicad/code/kicad/issues/10904
(cherry picked from commit f0d7a09af9
)
2022-02-18 09:31:52 -08:00
jean-pierre charras
7de0159e0e
pcbnew: fix incorrect calculation of the board thickness from board stackup.
...
dielectric sub layers were not taken in account.
Fixes #10899
https://gitlab.com/kicad/code/kicad/issues/10899
2022-02-18 18:09:16 +01:00
Jeff Young
6f6cf995ba
Don't ask for layer of multi-layer item.
2022-02-18 14:53:10 +00:00
Jeff Young
1ee3ce45e8
Don't ask for layer of multi-layer objects.
2022-02-18 14:19:13 +00:00
Jeff Young
89907a18ce
Don't ask for layer of multi-layer object.
2022-02-18 13:30:40 +00:00
Jeff Young
ce0233577b
Don't try to fetch layer of multi-layer objects.
2022-02-18 13:20:36 +00:00
Jeff Young
81bed9ab96
Add zone margin when subtracting other graphics and zones.
...
It was already added for pads and tracks, but not the other objects.
Fixes https://gitlab.com/kicad/code/kicad/issues/10896
2022-02-18 13:20:36 +00:00
Jeff Young
e09ecd8380
Don't ask for layer of multi-layer objects.
2022-02-18 13:20:36 +00:00
jean-pierre charras
2fddc9daf3
Pcbnew: fix missing connectivity update when adding an item.
...
Skipping connectivity update when adding an item is possible only when loading a file
Fixes #10879
https://gitlab.com/kicad/code/kicad/issues/10879
2022-02-18 13:24:14 +01:00
Jeff Young
8ee81e0fc4
Fix plotting of PCB arcs.
2022-02-18 12:14:38 +00:00
Jeff Young
5efa354f0f
Add asserts to flush out incorrect uses of GetLayer().
2022-02-18 12:14:38 +00:00
Seth Hillbrand
3a29d94c0a
Prevent merging tracks across pads
...
When merging co-linear tracks, we should maintain the existing break if
it exists on pads, vias and other connection points
2022-02-17 19:43:04 -08:00
Jeff Young
8f670552a6
Allow Rule Areas on all physical layers.
...
Required to do things like modify silk_clearance rules.
2022-02-17 23:59:09 +00:00
Jeff Young
4966e2ebc2
Fix collapsing name column in Net Inspector.
2022-02-17 23:59:09 +00:00
Jeff Young
bc24002be7
Don't print clearance lines.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10883
2022-02-17 23:59:09 +00:00
Seth Hillbrand
cf88b9aaec
Maintain connectivity while cleaning tracks/vias
...
When merging segments that loop back on each other, we need to merge
them in such a way to to keep the resulting endpoints connected to the
original adjoining endpoints
Fixes https://gitlab.com/kicad/code/kicad/issues/10780
(cherry picked from commit 8e9d44942f
)
2022-02-17 15:24:54 -08:00
Jeff Young
8d19b52aed
Line stroking for 3D view.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10887
2022-02-17 18:02:56 +00:00
qu1ck
b53b68c686
Fix double loading plugins and sys.path entires multiplying
2022-02-17 17:41:52 +00:00
jean-pierre charras
e140298878
GERBER_JOBFILE_WRITER: allows all *_User layers to be listed in *gbrjob file.
2022-02-17 15:22:18 +01:00
Jeff Young
662fb40605
Slightly cleaner impl.
2022-02-17 12:48:29 +00:00
jean-pierre charras
529d598c36
GERBER_JOBFILE_WRITER: fix missing handling of User_1 to User_9 user layers.
...
Fixes #10878
https://gitlab.com/kicad/code/kicad/issues/10878
2022-02-17 11:41:23 +01:00
jean-pierre charras
5a9fb08778
zone_filler_tool: fix crash due to a null pointer use in zone filler.
...
Fixes #10875
https://gitlab.com/kicad/code/kicad/issues/10875
2022-02-17 09:21:14 +01:00
qu1ck
a041492736
SWIG mappings for all shapes
2022-02-16 20:58:52 +00:00
Jeff Young
b1bd8421e0
Performance: remove associated triangle sets when removing outline.
...
This saves us having to re-triangulate at the end of zone filling.
2022-02-16 17:00:54 +00:00
Jeff Young
327ddad79f
Performance: get rid of rawPolys / finalPolys distinction.
...
(The final fractured polys are required, and we don't really ever use
the raw polys anyway, so they were removed.)
2022-02-16 15:33:12 +00:00
Jeff Young
08383e923c
Formatting.
2022-02-16 14:18:25 +00:00
Jeff Young
ca095896cb
Performance: multi-thread CN_ZONE_LAYER RTree generation.
2022-02-16 14:11:09 +00:00
Jeff Young
3b292a4941
Cleanup and code clarity.
2022-02-16 12:00:18 +00:00
Jeff Young
7ddd3137a3
While flags are in prefs, actual clearance values are in board setup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10852
2022-02-15 22:15:53 +00:00
Thomas Pointhuber
fc5772ad92
altium: Extend test-suite to support FP_ZONE validation
2022-02-15 21:42:03 +01:00
Jeff Young
72a389e612
Performance: check line ends first before doing collision.
2022-02-15 19:19:03 +00:00
Jeff Young
2172810600
Performance: better sharing of zone fills.
2022-02-15 19:19:03 +00:00
Jeff Young
d8c4f2cb09
Performance improvements for zone filler.
2022-02-15 19:19:02 +00:00
Jeff Young
8e26946567
Don't shrink progress reporter when message changes; only grow.
2022-02-15 19:19:02 +00:00
Mikolaj Wielgus
9fae9e8afc
Fix sizing of the two last columns in drill statistics table
2022-02-15 17:19:11 +01:00
Jeff Young
5c9e718407
Performance enhancements for connectivity.
...
1) Generate SHAPE_POLY_SET triangulation by outline so they can be
shared between connectivity system and other clients.
2) Don't add items to connectivity when reading board; we're going
to do a total rebuild anyway.
3) Use multithreading when caching triangulation.
2022-02-15 12:20:34 +00:00
Jeff Young
98b9c6e2a1
Better progress reporting and a slight performance boost on commit.
2022-02-15 12:20:34 +00:00
Jeff Young
d2de114d21
More performance optimizations.
2022-02-15 12:20:34 +00:00
Mikolaj Wielgus
7632c0cf6f
Fix board statistics drill grid column sizing
...
And remove the horizontal scrollbar.
2022-02-15 01:40:53 +01:00
jean-pierre charras
a455dd8815
Fix issue for stand alone python scripts, when running without project.
2022-02-14 18:58:55 +01:00
Seth Hillbrand
d2dc1f4623
Format string for translation
...
(cherry picked from commit 6147e997ff
)
2022-02-14 09:19:02 -08:00
jean-pierre charras
876061369b
Fix some Pcbnew crashes due to null pointers
2022-02-14 13:46:05 +01:00
jean-pierre charras
0eddbe02c1
DIALOG_NETLIST_IMPORT: minor fix
2022-02-14 07:53:00 +01:00
Jeff Young
d07910de06
Improve performance of checkZoneZoneConnection.
2022-02-14 01:15:06 +00:00
Tomasz Wlostowski
018f4531a5
Fixes in the SVG import polygon postprocessing:
...
- don't drop subsequent polys when a non-filled primitive is imported 'in between'
- fix missing holes (also related to the interleaving of stroke and filled shapes, depending on the software that wrote the SVG file)
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10813
2022-02-14 00:54:31 +01:00
Graham Keeth
4442f76add
update custom rule syntax help to make diff pair rule examples clearer
2022-02-13 13:47:18 -05:00
Jeff Young
fe7e72538e
Don't force user to be overly pedantic when writing diffpair rules.
2022-02-13 18:16:13 +00:00
Jeff Young
022e7385f9
Beautify the Rule Area Properties dialog.
2022-02-13 18:16:13 +00:00
jean-pierre charras
bff97df5f9
Fix a compil warning, at least on my msys install.
2022-02-13 16:26:05 +01:00
jean-pierre charras
cdd32df3a0
Import netlist: fix issues: do not read netlist before it is selected.
...
Now the netlist must be explicitly selected and read instead of beeing
read during dialog creation.
It also avoid a useless netlist read when closing the dialog or trying
to change the netlist filename.
2022-02-13 16:04:38 +01:00
Jeff Young
b7c9a1ad55
Fix repaints getting done after the wrong dialog.
2022-02-13 13:06:35 +00:00
Jeff Young
c4e133fdf7
Auto reduction and std::shared_ptr cover types reduction.
...
And a performance optimization or two resulting from above. (Using
const& intead of copying std::shared_ptrs.)
2022-02-13 12:04:03 +00:00
Jeff Young
90f6edad61
Move connectivity algo to collision-based routines.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1800
Fixes https://gitlab.com/kicad/code/kicad/issues/1769
2022-02-13 00:35:11 +00:00
Jeff Young
a2ca8cf413
Improve SNR.
2022-02-12 18:38:11 +00:00
Jeff Young
8dcc933fc3
Don't use bounding box cache during insideArea.
...
For starters we can't rely on it having been updated, but we also
cache the entire result so there's no huge cost-savings anyway.
Fixes https://gitlab.com/kicad/code/kicad/issues/10821
2022-02-12 18:38:11 +00:00
jean-pierre charras
e742eea7ed
DIALOG_NON_COPPER_ZONE and DIALOG_RULE_AREA_PROPERTIES: add option to set the pitch
...
of hatches around the zone outlines
2022-02-12 18:57:03 +01:00
jean-pierre charras
d553d620c1
DIALOG_COPPER_ZONE: add option to set the pitch of hatches around the zone outlines
...
This parameter exists since the beginning, but never show in this dialog
2022-02-12 18:57:02 +01:00
Thomas Pointhuber
81b4229e12
altium: Improve test-coverage of *.PcbLib import functionality
...
* Add test-code for pads
* Move test-code into board_test_utils.cpp for reuse, one method per object
* Add a real (rather small) Altium footprint for testing purposes
2022-02-12 16:50:25 +01:00
Jeff Young
93c7046a77
Return nominal pad shape when a specific layer isn't specified.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10755
2022-02-11 22:09:22 +00:00
Jeff Young
00934fdd84
Move GUI queries in PLUGIN to a callback.
...
Also makes sure legacy zone fills get deleted and re-filled (since
just dropping the outline will change them).
2022-02-11 22:09:22 +00:00
Jeff Young
300ee022fa
Drop unsupported fills. No reason to keep them around.
...
Also removes the long-dead segment fill data structures.
2022-02-11 22:09:22 +00:00
dsa-t
68655540eb
Clamp cursor to limits of coordinates representation
...
Also improves large distance handling.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8846
2022-02-11 16:42:52 +00:00
Jeff Young
3deaf902bb
Retire the V5 zone fill algorithm.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10578
2022-02-11 13:10:52 +00:00
Jeff Young
50a4d610a6
Be cognizant of flashed layers when generating pad shapes.
2022-02-11 13:10:52 +00:00
Jeff Young
6e063247e5
Move CN_VISITOR from HitTest() to Collide().
...
The former isn't sufficiently aware of layer differences (such as for
pads with some layers unflashed).
2022-02-11 13:10:52 +00:00
Jeff Young
082c6f5bd6
Make sure plotter uses default font when specified.
2022-02-10 20:33:06 +00:00
木 王
261b1df47f
fix-npth
2022-02-10 10:06:59 +00:00
Thomas Pointhuber
3f36e7d725
altium: Start with a test-suite to validate that *.PcbLib footprints are correctly imported
...
The test simply loads every footprint of a library, and compares all elements with an equivalent
KiCad footprint. This allows us to quickly spot regressions in the altium and kicad footprint importer,
and any code in-between. This test is only a demo, as the checks are still incomplete and quite a few
tests are missing.
It has to be noted that mask expansion is not supported rigt now by the altium importer, thus the
reference footprint is adjusted to keep the test happy.
2022-02-09 22:34:04 +01:00
Jeff Young
ca56de7816
Show DRC overflows in both tab titles and number badges.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10617
2022-02-09 17:04:32 +00:00
Wayne Stambaugh
06e00c7957
Fix shadow variable compile warning in text DRC provider.
2022-02-08 09:26:12 -05:00
Jeff Young
3b5474f190
Don't punt on TrueType char thickness; analyze it.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10740
2022-02-08 14:10:37 +00:00
Jeff Young
137edbe3f3
Add disclaimer for TrueType fonts to thickness test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10740
2022-02-08 14:10:37 +00:00
Jeff Young
3c5ae6d317
Don't let zone cutout on different layer confuse us about intersections.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10583
2022-02-08 14:10:37 +00:00
Jeff Young
091055fa1d
Don't count track as a pre-existing connection.
2022-02-08 14:10:37 +00:00
jean-pierre charras
534dc1ba8a
DRC dialog: very minor enhancement: add a busy cursor during tests.
2022-02-08 07:33:01 +01:00
Seth Hillbrand
51d7b49067
Don't halt expansion on zero-length
...
We avoid counting endpoints for tracks that have no length
2022-02-07 13:53:42 -08:00
Jeff Young
5ce559176d
Overhaul the font metrics calcs for overbar, italics and bboxes.
2022-02-07 17:36:40 +00:00
Seth Hillbrand
162545ddf0
Validate arc output when editing
...
Handles checking output of the arc to ensure we don't end up generating
an invalid arc. Also keeps the limit of the arc angle to be (360,360)
excluding 0.
Fixes https://gitlab.com/kicad/code/kicad/issues/10070
(cherry picked from commit 8fc831cbc2
)
2022-02-07 08:55:53 -08:00
jean-pierre charras
2485648a54
Fix typo in a copy/paste and a minor compil warning
2022-02-07 17:32:19 +01:00
Jeff Young
e59aaf05c6
Make sure that GetConnectedItems searches from the root item.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10583
2022-02-06 19:43:25 +00:00
Jeff Young
a60aa68b3a
Don't enforce a max of 4 for minimum-spoke-count.
...
See comments in code.
Fixes https://gitlab.com/kicad/code/kicad/issues/10583
2022-02-06 19:43:25 +00:00
Thomas Pointhuber
79f80c4cd7
altium: Fix Reference and Description parsing of footprint
2022-02-06 16:24:07 +01:00
Marek Roszko
d9c04da407
Sprinkle in some make_unique
2022-02-05 21:26:36 -05:00
Marek Roszko
0a5ddb8d40
Add some vector reservations
2022-02-05 21:12:29 -05:00
Marek Roszko
41f54349a5
Replace inserts/push_backs with emplace in some spots
2022-02-05 19:53:31 -05:00
Jeff Young
34a9a165c9
More wide-string declarations.
2022-02-05 22:26:31 +00:00
Jeff Young
b2e3f03222
More wide-string declarations.
2022-02-05 22:03:04 +00:00
jean-pierre charras
f8ff104003
Fix a compil issue.
2022-02-05 21:29:44 +00:00
Jeff Young
7ccac79192
More wxString wide literals.
2022-02-05 21:29:34 +00:00
Jeff Young
9582457fef
Be explicit about literal wide-strings.
2022-02-05 20:40:21 +00:00
Roberto Fernandez Bautista
290354e3f6
CADSTAR: Fix potential nullptr dereferencing bug
...
Don't assume the footprint will have the pad index that the file references.
2022-02-05 19:20:56 +00:00
Marek Roszko
b9f1aaf029
Fix typoed test condition for TH no hole pads PVS V501
2022-02-05 11:31:56 -05:00
Marek Roszko
193dee11e8
Add missing null check PVS V595
2022-02-05 11:25:09 -05:00