Commit Graph

13578 Commits

Author SHA1 Message Date
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