Commit Graph

43317 Commits

Author SHA1 Message Date
Ian McInerney 10988478da Take footprint edge cuts into account in the board statistics
Reported in https://gitlab.com/kicad/code/kicad/-/issues/18245
2024-06-29 03:11:54 +01:00
Ian McInerney c8ebcc8e0f Only modify visibility checkboxes for layers with them 2024-06-29 03:05:57 +01:00
Seth Hillbrand f2ab07c8b4 Don't spam the event processor with SelectedEvents
If we are appending a sheet, this can be hundres of new elements.  We
don't want to pass multiple selected events or we'll do the repeated
processing, slowing down our update
2024-06-28 15:02:07 -07:00
Jeff Young 7962ab07e7 Improve consistency of clearance line painting.
Showing the clearance area is not obvious as the clearance
extends from the pad on flashed copper layers and from the
hole on non-flashed copper layers.  Because of this, we
choose to not display clearance lines at all on non-copper
active layers as it's not clear which we'd be displaying.

We follow the same rule for tracks for consistency (even
though they don't have the same issue).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18287
2024-06-28 22:10:22 +01:00
Jeff Young a68b3a7778 Size conversion warning reduction. 2024-06-28 22:10:22 +01:00
Jeff Young 9e6884f656 ADDED: support for ERC & DRC errors and warnings in text variables.
Also fixes some bugs in storing exclusions in
symbol fields and children.

Also fixes some bugs in checking for resolved text
variables in symbol children.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18279
2024-06-28 22:10:22 +01:00
Jeff Young 16340e6cf4 Support both short and long item descriptions. 2024-06-28 22:10:22 +01:00
Jeff Young c4f61c2eaf Check for unresolved fields in labels. 2024-06-28 22:10:22 +01:00
Alex Shvartzkop 0acc4dc286 If we didn't use all reserved vertices in OpenGL GAL, show the error to user.
It will cause graphical artifacts, and it's not clear to what's happening if the message is never shown.

See https://gitlab.com/kicad/code/kicad/-/issues/18298
2024-06-28 23:15:47 +03:00
Seth Hillbrand 9e82d7c93c Decrease font error allowance
This is activated when changing bezier into segments and sets the
minimum allowance in 1/16 of the font's internal units.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18300
2024-06-28 12:11:49 -07:00
Seth Hillbrand f48a105357 Modify some int32 ops to avoid potential overflow 2024-06-28 08:04:07 -07:00
Seth Hillbrand d033f93d89 Fixup Altium import rectangle handling
Ensure we have positive sizes
Keep rectangles when rotating by multiples of 90
2024-06-27 16:40:25 -07:00
Seth Hillbrand 234230801f Fixup Altium QA.
Apparently, Footprint export does not export the internal rule area
layers.  Saving directly does
2024-06-27 16:38:58 -07:00
Seth Hillbrand 51eb7aa5b5 Fixup for Altium pad/fill importer
The previous commit merged pads with copper areas.  This was appealing
but broke when the pad and the area were meant to have different
size/shape technical layers.  Small pads = Small paste.  Instead, we do
not merge the pads but we assign them to have the appropriate nets in
KiCad, allowing the same effective result but keeping the technical
layers correct
2024-06-27 13:49:16 -07:00
Ian McInerney cc81ccf79a Display unit name in symbol context menu
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18285
2024-06-27 19:57:14 +01:00
Ian McInerney bdf70ec869 Fix init ordering 2024-06-27 19:43:58 +01:00
jean-pierre charras 8737c6eb3c footprint selector in symbol properties: fix footprint selection issue.
When using the button to select a footprint using the footprint chooser
dialog, the new footprint was not always taken in account (perhaps MSW specific).
It was due to the code to update the footprint name was between Disable() and
Enable, thus creating a loss of some events in the complex grid edition stuff.
This is now replaced by a lock flag to protect this code to be executed when
it should not.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18270
2024-06-27 19:56:57 +02:00
Seth Hillbrand 64c36e8bda Fix via layer test for DXF plotting
Vias might have their primary layer set to a single layer but cross
multiple layers that should be included when plotting

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18282
2024-06-27 09:59:37 -07:00
Alex Shvartzkop dc2a63d146 STEP export: don't put copper on non-flashed pad layers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18267
2024-06-27 06:40:11 +03:00
Jon Evans c70ef36739 ADDED: Opacity control for filled graphic shapes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18253
2024-06-26 22:29:58 -04:00
Seth Hillbrand 7102d9f72a Altium import: handle polygons on copper
In Altium, copper polys will be connected automatically to their
associated pads.  In KiCad, we need to do the equivalent when parsing,
which is to combine the joining copper into the underlying pad.  We also
don't want to treat copper polys as proxy pads without the original
anymore.
2024-06-26 17:27:08 -07:00
Seth Hillbrand f97ac5ce73 C++-ify output using ToString 2024-06-25 18:35:12 -07:00
Seth Hillbrand 0a55ca5e96 Add standard ToString representation of hash 2024-06-25 18:34:57 -07:00
Seth Hillbrand a9d9d7ac06 Rearrange VERTEX and VERTEX_SET to please MSW/Apple 2024-06-25 18:04:53 -07:00
Seth Hillbrand 4fff28220e Extract common code into VERTEX_SET mixin
The VERTEX_SET is useful when we need to quickly find elements that are
close to each other.  Extracting to a mixin keeps the code from
diverging between implementations and simplifies that maintenance.
2024-06-25 12:19:56 -07:00
Seth Hillbrand 3c88b1ebc7 Suppress fallthrough warnings 2024-06-25 12:18:44 -07:00
Seth Hillbrand 6aaaaad37f Properly count multiple Altium version settings
There is a fair amount of gradation in different Altium products

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18276
2024-06-25 10:18:55 -07:00
Seth Hillbrand 3725ae781d Quiet a warning on linux
Linux uint64 is unsigned long, windows is unsigned long long.  Rather
than split hairs, we can just use the stringstream to format this
2024-06-25 08:58:37 -07:00
Alex Shvartzkop fa5b6d7929 If there's a single shape in fuseShapesOrCompound input, just return it. 2024-06-25 14:56:33 +03:00
Jeff Young a2f7edde2e Import PCB into existing project.
Or, to be more direct: don't pull the project rug
out from under EESchema when importing in non-
stand-alone mode.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18241
2024-06-25 11:49:02 +01:00
Jeff Young 14a55facf2 Clearer naming and commenting.
Also some const& hygiene and some formatting.
2024-06-25 11:07:14 +01:00
jean-pierre charras 0a5784fc9e Gerber plots: Ensure reserved chars are not used in Gerber field strings.
In gerber fields, reserved chars (,*%) must be replaced, because they are separators.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18275
2024-06-25 10:49:41 +02:00
jean-pierre charras 1ddac57748 DIALOG_SYNC_SHEET_PINS: minor fix (min size set) 2024-06-25 10:44:48 +02:00
Alex Shvartzkop 4ec738f58f Fix macOS build. 2024-06-25 03:02:17 +03:00
Alex Shvartzkop 43be7491ff Add default constructor to MMH3_HASH. 2024-06-25 01:19:55 +03:00
Alex Shvartzkop bee70bca7f Fix redefinition error in mmh3_hash.h. 2024-06-25 01:15:47 +03:00
Jeff Young 441da8dfb6 Don't overload error dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18195
2024-06-24 22:50:14 +01:00
dsa-t cb41b53ab7 Use MurmurHash3_x64_128 (MMH3_HASH) for polygon checksum.
Improves performance when moving footprints.

See https://gitlab.com/kicad/code/kicad/-/issues/18148
2024-06-24 21:19:43 +00:00
Kuba Sunderland-Ober 8f02944437 Optimize the newstroke font representation
Remove redundant strokes that start where the last stroke ended.
2024-06-24 19:44:06 +00:00
Jan Wichmann 8507ffa338 pcb_calculator: Shows the first page at the first start. 2024-06-24 19:39:40 +00:00
Jeff Young 080cbbe0dd Error reporting for drawing sheet loading. 2024-06-24 20:22:29 +01:00
Jeff Young 26b86b3922 Don't use wxLogMessage/wxLogError for messages not meant for user.
They are particularly damaging when our event loop
gets tied up in knots with the log message window
behind a modal window -- thereby locking up KiCad.
2024-06-24 20:22:29 +01:00
Seth Hillbrand 11c6164934 Silence font replace warnings for libs
When loading schematics/pcbs, notification of font replacements might be
warranted but in libraries, this warning is not helpful and intrusive
2024-06-24 09:55:10 -07:00
Jeff Young 92c8ddfddb Prefer infobar to logged warnings/messages.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18242
2024-06-24 16:26:40 +01:00
Jeff Young b227bae2c6 Commit strings are user-visible menu strings. 2024-06-24 14:16:05 +01:00
Jeff Young 561106bd01 Formatting. 2024-06-24 14:14:03 +01:00
Jeff Young 968ef0082d Handle undo of a Repeat Draw Item.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18261
2024-06-24 13:59:05 +01:00
Jeff Young 0b4d0bcb6c Undo for Repeat Pin.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18261
2024-06-24 13:59:05 +01:00
Alex Shvartzkop 4bf8ed32cd Optimize testCourtyardClearances when moving footprints (33%->0.69%)
Check bounding boxes without hidden text first before trying to check courtyards.

See https://gitlab.com/kicad/code/kicad/-/issues/18148
2024-06-24 06:43:58 +03:00
Alex Shvartzkop dc56364cf2 Optimize testCourtyardClearances when moving a board.
CPU usage: 86% -> 33%

See https://gitlab.com/kicad/code/kicad/-/issues/18148
2024-06-24 02:00:34 +03:00