Seth Hillbrand
8f03f7c367
Allow non-identical schematic/pcb nets
...
The schematic net names are fully unique but if we have multiple pads
that are mapped to a NC pin, they need to have unique net names so that
they do not get connected to each other in the ratsnest. This breaks
the schematic parity check as we have modified the netname for some
pads. To work around this, we first maintain the zero-th net without
suffix and then add an additional check in DRC to ensure that we allow
unconnected nets as long as the share a common prefix with the schematic
netname.
(cherry picked from commit f61d400d88
)
2024-06-21 12:26:23 -07:00
Alex Shvartzkop
d552ce00aa
Optimize redrawNetnames.
...
Using RTree is slower in this case.
RTree: 25 ms when moving cursor
This method: 5 ms when panning/zooming
(cherry picked from commit 62fb5697b4
)
2024-06-20 18:49:32 +03:00
Alex Shvartzkop
a5cbcd4abe
Don't call GetSide in FOOTPRINT::GetBoundingBox when not needed.
...
CPU usage: -13% when moving a board.
(cherry picked from commit f5be388acd
)
2024-06-20 18:49:32 +03:00
Jeff Young
3f4dc01d97
Don't report reasonable solder mask bridges in a net-tie footprint.
...
(cherry picked from commit eae85742cc
)
2024-06-15 16:56:12 +01:00
Jeff Young
be192d5df0
Check mask apertures on the mask layer.
...
(Otherwise testing A:B and B:A will add items to the
m_maskApertureNetMap cache on different layers.)
(cherry picked from commit 8cddd40fc9
)
2024-06-15 16:47:41 +01:00
Jeff Young
efc35dec74
Footprint Editor doesn't have nets.
...
(Copper shapes, on the other hand, can. Since we use
GetItemDescription() to report DRC errors and the like,
it's better to have it report the net even when it's
<no net>.)
(cherry picked from commit b2588e0bbf
)
2024-06-15 16:47:35 +01:00
Jeff Young
245894e8eb
Pull netname bug fixes and performance improvements back from master.
2024-06-14 19:01:37 +01:00
dsa-t
695505fc71
Fix build error caused by commit 82c2bda52b
.
...
(cherry picked from commit 012d3f098f
)
Co-authored-by: Wayne Stambaugh <stambaughw@gmail.com>
2024-06-10 15:02:21 +00:00
Alex Shvartzkop
b34dbf58c5
Altium PCB import: don't add thickness to Solid style fills.
2024-06-10 17:32:52 +03:00
Alex Shvartzkop
1fb19c0d81
Altium PCB import: make sure Polygon fill is contained within the outline.
2024-06-10 17:19:43 +03:00
Alex Shvartzkop
3ea314cb9f
Altium PCB import: avoid integer overflows when rotating rectangular fills.
...
Fixes artifacts seen in https://gitlab.com/kicad/code/kicad/-/issues/18156
2024-06-10 01:00:57 +03:00
Jeff Young
9d51fabe9b
Don't default KeepUpright to true in Eagle importer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18175
2024-06-09 22:17:39 +01:00
Alex Shvartzkop
ad7bd9b5f8
Revert "Pcbnew, Altium import: Fix issues with hatched zones."
...
This removed the hatch fill import functionality,
and is no longer needed now that the root cause was found.
This reverts commit 616510aca2
.
(cherry picked from commit 80b7f5fcbf
)
2024-06-09 22:49:58 +03:00
jean-pierre charras
2a1ef2d09d
Pcbnew, Altium import: Fix issues with hatched zones.
...
- Filled zones using the hatch pattern cannot use the primitives from Altium.
the filled shapes must be rebuilt.
_ Filled zones using the hatch pattern with a very small gap are now converted
to a polygon pattern. Otherwise the calculation time can be very big.
From master branch.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18156
2024-06-09 15:56:57 +02:00
Jeff Young
a9b5b1728a
Don't generate thermal reliefs for pads that don't intersect zone.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18174
2024-06-07 23:06:19 +01:00
Jeff Young
0c9554a325
Hand cherry-pick fixes for #18042 .
2024-06-05 13:00:36 +01:00
Jeff Young
78cbb8e994
PCB_GENERATOR_Ts are PCB_GROUP_Ts too.
...
Also, an item must already be in a commit to add it to a group.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17595
(cherry picked from commit 9fb07d886e
)
2024-06-05 12:03:39 +01:00
Sven Pauli
ddd0ccbefd
Implemented flip for tuning patterns.
...
(cherry picked from commit c7ad5efbed
)
2024-06-05 12:03:39 +01:00
jean-pierre charras
093da7f73a
Pcbnew, plot drill marks: fix incorrect plot drill mark in some cases.
...
If a non copper layers is added to a copper layer for plot with drill marks,
the drill mark was not visible (covered by shapes plotted from non copper layer).
Now copper layers are plotted after the non copper layers.
2024-06-04 18:28:15 +02:00
Alex Shvartzkop
d34df3e951
Don't construct an arc if we won't need it in pcbnew gfx importer.
2024-06-04 07:19:00 +03:00
Jeff Young
05264424b3
Improve hole-to-hole error message.
2024-06-03 21:55:36 +01:00
Jeff Young
2a99464fc1
Don't attempt to plot rule areas.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18133
(cherry picked from commit dc8fd0996d
)
2024-06-03 18:50:37 +01:00
Jeff Young
c6215b08ed
Use wxWidgets to track DPI.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17981
(cherry picked from commit 931de12072
)
2024-06-03 18:47:43 +01:00
Jeff Young
769060c584
Setup 3D canvas for Footprint Chooser previews.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17910
(cherry picked from commit 3be6d5c5de
)
2024-06-03 18:43:36 +01:00
Jeff Young
0b48a66cb0
Don't add things to the selection that aren't in the commit.
...
Don't process line-pairs when one has already been deleted.
Clean up created line segments when operation is cancelled.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18122
(cherry picked from commit 6f0a1ade01
)
2024-06-03 18:43:07 +01:00
Jeff Young
836b3219c1
Apply ExportPdf fix to remaining jobs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17863
(cherry picked from commit c0635f222d
)
2024-06-03 18:36:46 +01:00
Jeff Young
2c0010fbcb
Make sure var overrides get synced to board properties.
...
Also allow the board properties to override title-block properties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17863
(cherry picked from commit 3cf424d929
)
2024-06-03 18:36:06 +01:00
Jeff Young
299495a0aa
Repair merge errors.
2024-06-03 18:29:37 +01:00
Jeff Young
6f3b6e3ad8
Move pad checking to Footprint Checker.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18102
(cherry picked from commit 15d4e114e0
)
2024-06-03 18:29:37 +01:00
jean-pierre charras
cb9d78b46c
FOOTPRINT::CheckPads(): better check for hole in PHT pad.
...
Hole not fully inside the pad copper area is now tested.
(cherry picked from commit 8165ec66e9
)
2024-06-03 18:29:37 +01:00
Jeff Young
06150388d8
Trim trailing punctionation from doc URLs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18089
(cherry picked from commit f3b57c20af
)
2024-06-03 18:29:37 +01:00
Jeff Young
b07de4f6af
Trim covered region to bounding hull.
...
Otherwise a long track crossing a footprint will look
like it covers most of it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17299
(cherry picked from commit e400d49af6
)
2024-06-03 18:29:37 +01:00
Jeff Young
546ca18662
Delete tuning patterns in Unroute Selected.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18065
(cherry picked from commit a678d0d710
)
2024-06-03 18:29:37 +01:00
Jeff Young
de0f6ecf68
Fetch board finish before exporting stackup to clipboard.
...
Also fixes some backward logic in setting modified flag.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17089
(cherry picked from commit 032b5a6d65
)
2024-06-03 18:29:37 +01:00
Jeff Young
bee4856a7f
Process clearance rules for plated holes in router.
...
Also makes sure the clearance is shown for a collision,
even if the preference for showing clearances is off.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18078
(cherry picked from commit d5c3a4036c
)
2024-06-03 18:29:37 +01:00
Jeff Young
7a1ab44207
Rewrite Eagle rotated text algorithm.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18019
(cherry picked from commit debc94ff49
)
2024-06-03 18:29:37 +01:00
Jeff Young
d269513857
Improve Eagle rotated text importing.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18019
(cherry picked from commit f4f3f52fd4
)
2024-06-03 18:29:37 +01:00
Jeff Young
b4928f20a6
We can only knockout a pad if we're plotting the pad shape.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17166
(cherry picked from commit 0ff59bc60e
)
2024-06-03 18:29:37 +01:00
Jeff Young
05d2893ac1
Don't suppress hole plotting for utility layers.
...
Also simplifies the handling of DXF outline plotting.
Also removes some comments which were no longer accurate.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17166
(cherry picked from commit 826b72c499
)
2024-06-03 18:29:37 +01:00
Mike Williams
7ea205222d
pcb: grab unconnected needs to ignore same-footprint ratsnets items
2024-06-03 12:46:13 -04:00
Alex Shvartzkop
f9a9db6503
Fix very tall Plot dialog on GTK.
...
Some scrollable controls need wxFIXED_MINSIZE, on some platforms, apparently.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16926
2024-05-24 23:35:21 +03:00
Alex Shvartzkop
8d001a8031
Switch length tuner settings action scope to global to make the hotkey work.
2024-05-24 17:46:15 +03:00
Seth Hillbrand
c27ca33a2e
Ensure that the copper conn check re-adds epsilon
...
When checking if the particular rule is what is being checked, we rely
on the value of the minimum width. Since we modified that to allow
width checking, this re-adds it for the comparison
(cherry picked from commit f74d1060d4
)
2024-05-22 16:31:52 -07:00
Seth Hillbrand
1073ca0760
Include DRC Epsilon in connection width checker
...
Avoids rounding errors flagging connections too small by nanometers
(cherry picked from commit bce560d05f
)
2024-05-22 16:31:52 -07:00
Jeff Young
4440fe0935
Fix keep-upright algo for footprint text.
...
Also removes PCB_FIELDs from rotation centre calc in
footprint editor if there is other stuff selected.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16896
(cherry picked from commit 25bb3f77fa
)
2024-05-22 14:47:26 -07:00
Seth Hillbrand
d1cd859765
Re-enable moving of all footprint text in board
...
Seems like a lot of people really like to be able to modify the text
positions/content of their footprints
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18024
(cherry picked from commit 47e4ebb32a
)
2024-05-22 10:36:42 -07:00
John Beard
36119b869c
Pcbnew: Fix context menu when moving
...
The EDIT_TOOL is actually 'co-operating' with the SELECTION_TOOL
by putting its tools into the SELECTION_TOOL's menu. This means
the EDIT_TOOL::m_menu is sad and empty inside, and if you show it,
it either doesn't show at all, or a tiny stub is shown.
(cherry picked from commit af74d2a746
)
2024-05-22 11:24:47 +08:00
Jeff Young
d8f2a455e0
Reset zone offsets when exporting footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17794
(cherry picked from commit af5ed5a118
)
2024-05-21 11:41:07 +01:00
Jeff Young
561b2d490d
Handle font when reading render cache.
...
(Also fixes a bug where the cache's triangulation wasn't
cached.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17666
(cherry picked from commit e332320108
)
2024-05-21 11:36:36 +01:00
jean-pierre charras
1869da0e7d
Dialog Export step: fix an issue when exporting a modified board file.
...
the DIALOG_EXPORT_STEP uses a auto saved copy of the current board to
create the step file (using kicad_cli).
But this file is not associated to a corresponding .kicad_pro file, and
this can create some issues (like the KIPRJMOD not defined)
So create a copy of the current board prj to export associated prj file
to the auto saved board file.
From master branch
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16973
2024-05-21 11:06:02 +02:00