Jeff Young
3e0c598500
Honour LAYER, SHEETNAME and SHEETPATH variable overrides on CLI.
...
Also allows the LAYER variable to work automatically
if you're plotting/exporting a single layer.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17680
2024-05-13 20:04:00 +01:00
Jeff Young
c659b46d5e
Formatting.
2024-05-13 19:21:20 +01:00
Jeff Young
255a7d6f06
ADDED: ability to remove ignored tests from ERC/DRC list.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17681
2024-05-13 17:09:54 +01:00
Thomas Pointhuber
21b6b5efbb
Do not rely on the existence of a BOARD* object in padNeedsUpdate
...
This allows us to use this check in unit-tests without a board attached
2024-05-12 18:30:49 +02:00
Jeff Young
d9ff3c4485
Maintain selection when sorting.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17983
2024-05-11 16:20:34 +01:00
Jeff Young
5ba4900170
Fix typo.
2024-05-11 13:01:43 +01:00
jean-pierre charras
814e54af9b
Fix minor compil warnings
2024-05-11 08:07:11 +02:00
Jeff Young
05ee635420
Implement mirror for groups.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17644
2024-05-10 21:44:15 +01:00
Seth Hillbrand
6537f9fa15
Hookup footprint reload to redraw icon
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7195
2024-05-10 08:42:28 -07:00
Seth Hillbrand
42ebf0eca5
Limit FSWatcher
...
Library watches only need a single directory or immediate children. The
project watcher should have a sensible limit to the total number of
files it tries to track.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15717
2024-05-09 15:42:25 -07:00
Seth Hillbrand
3024a7c569
Add layer remapping ability to Altium imports
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17987
2024-05-08 15:36:33 -07:00
Seth Hillbrand
4218664d88
Cleanup on 2581 header
2024-05-08 15:36:33 -07:00
Jeff Young
a99377c1ec
The user can cancel the opening of many editors.
...
Don't play dice with the devil.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17989
2024-05-08 18:21:42 +01:00
Mike Williams
482cf659a7
IDFv3: control whether DNP/unspecified components are exported
2024-05-08 10:24:50 -04:00
Wayne Stambaugh
f1e8495dc9
Fix QA DRC regression test issue.
2024-05-07 16:22:09 -04:00
Jeff Young
b425c54071
Default parameters for Python.
2024-05-07 14:45:57 +01:00
Wayne Stambaugh
0402c03468
Do not test for effective annular width when it's already within limits.
2024-05-07 08:04:17 -04:00
Wayne Stambaugh
a508f2e716
Fix false annular ring width DRC test failure.
...
The DRC annular ring width test failed to take into account that a pad
could be contained inside another pad having the same number (thermal
vias for example) which changes the effective annular width of the pad
contained within another pad. A test was added to calculate the effective
annular ring width in this case.
Added some PNS log viewer helper and test code to the PNS playground QA
utility for testing the effective pad annular width code.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17485
2024-05-07 08:04:17 -04:00
Jeff Young
8184ed64e7
Explicit control over hidden text in bounding boxes.
...
In particular, don't consider hidden text when plotting,
and only when AsItemCheckboxes is checked for printing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17958
2024-05-06 21:36:19 +01:00
Seth Hillbrand
91f6c534b9
Subtract all holes in board area calc
...
When we say "Subtract holes from board area", we should also subtract
those holes in pads and vias
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17905
2024-05-06 12:41:15 -07:00
Jeff Young
73681d08c5
Update names to match current nomenclature.
...
(Footprints now have PCB_FIELDs, not FP_TEXTs.)
2024-05-06 19:03:20 +01:00
Seth Hillbrand
cb71f2f207
Avoid arbitrary string limits
...
Placing a limit on the number of values that a field is allowed to hold
makes it blank when we set more than this number. There's not a good
reason to limit the number of digits we allow at the field level (we
round to 4 decimal points in the backend)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17473
2024-05-06 09:59:36 -07:00
Jeff Young
0f3d14df38
Add mirrored column to fields grid table.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17956
2024-05-06 15:54:13 +01:00
dsa-t
05b2b3c26e
Fix polygon fill flag in pcbnew graphics (SVG) importer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17957
(cherry picked from commit 35c788a332
)
Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2024-05-06 11:17:40 +00:00
Jeff Young
0e9b547f94
Don't leak output file path between projects.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17846
2024-05-06 11:28:02 +01:00
jean-pierre charras
f6d0e17c8b
PCB_IO_KICAD_SEXPR_PARSER::parseEDA_TEXT(): ensure texts are not mirrored
...
When not specified as mirrored, texts must be not mirrored.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17955
2024-05-06 10:53:39 +02:00
Alex Shvartzkop
5475359d00
More build time optimizations.
2024-05-06 04:39:28 +03:00
Alex Shvartzkop
4ecca01392
Improve build times by not leaking <filesystem> everywhere.
2024-05-06 02:26:16 +03:00
Seth Hillbrand
a835ba0715
Add "Mechanical" pad property
...
Prevents mechanical support pads from being used to check pad types.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16747
2024-05-05 21:57:10 +00:00
Jeff Young
89433afb47
Handle delete-table undo in Footprint Editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17689
2024-05-05 19:08:16 +01:00
Jeff Young
62d4bd7c1d
Exercise more care when comparing doubles.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17249
2024-05-05 17:32:48 +01:00
Seth Hillbrand
4c0fd6e791
Re-initialize conversion settings on failure
...
When the conversion fails, it may be the result of the settings values,
so reset them to their original values afterward
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17886
2024-05-05 07:45:30 -07:00
Jeff Young
10aec91075
lint reduction
2024-05-05 12:55:38 +01:00
John Beard
4dd049ee8f
Add action to focus tree searches
...
The default hotkey is Ctrl+L, as this is not bound by
default in the FP or symbol editor, and it is the hotkey
that is used to focus the address bar in web browsers,
which is a similar kind of action.
2024-05-05 04:18:36 +08:00
John Beard
f73c190da8
Menu condition: distribute requires at least three items
2024-05-05 03:35:09 +08:00
John Beard
fa7e842c8c
Rework item distribution
...
This splits the tool into two separate tools: by center and
by even gaps. Previously, this was automatically decided, based on
if the items could have any gaps between them. This was unintuitive
as it would appear to arrange by centre point sometimes but not others.
When items aren't all the same width, the results can then be very
different, based only on the starting positions.
The new behaviour is to have a dedicated tool for each, which echos
how graphical programs like Inkscape manage this.
The by-gaps method is then extended to work for overlapping items
(when items overlap, the overlaps are made equal). The logic is
centralised in kimath/geometry, and some QA is added. This should
make it easier to extend to eeschema, for example.
This also (attempts to) address some rounding issues which could
cause minor, but compounding, errors to build up along the list
of items.
Also, fix bugs in the collection filtering - previously items
like markers were filtered out only after the selection size
was used to compute the gaps between items.
2024-05-05 03:35:09 +08:00
Stefan
ce32dfd077
Altium pcbimport: handle various dimension items, fix dimension_kind enum
2024-05-04 16:34:36 +00:00
Jon Evans
6b145b2830
Add optional reporting of non-KiCad design issues
...
Also add HTML reporter to PCB side to match schematic
(cherry picked from commit b8fa10ab2b
)
Co-authored-by: Jon Evans <jon@craftyjon.com>
2024-05-04 15:27:52 +00:00
Jon Evans
0c835b7c30
Get rid of relative position in pad properties dialog
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17246
(cherry picked from commit 09736ebf2c
)
Co-authored-by: Jon Evans <jon@craftyjon.com>
2024-05-04 03:32:29 +00:00
Jeff Young
94223ca794
Handle orientation when pasting footprint items.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17518
2024-05-03 21:31:27 +01:00
Seth Hillbrand
71b020eb14
Special-case copy/paste of footprint fields on board
...
When editing the board, footprint fields _look_ like text items, so copy
and paste of these items should logically result in a text item, not a
footprint copy.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17937
2024-05-03 10:57:08 -07:00
Jeff Young
eb13dec265
pruneItemLayers() is not the right place to filter refdes & value.
...
(And we already filter all mandatory fields in
pasteFootprintItemsToFootprintEditor() anyway.)
Also, don't nuke a footprint which contains only fields
during a paste.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17937
2024-05-03 18:38:32 +01:00
Seth Hillbrand
e3d2f338de
DRC: special case circles for annular width check
...
Circles only use one dimension and we tend to ignore the other in our UI
but it is kept and reflects the previous second dimensional value. When
checking DRC, we should only be concerned with the single value used
unless the pad has two dimensions
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17944
2024-05-03 10:07:02 -07:00
Jeff Young
aeb029ea6e
const& performance improvements.
2024-05-03 18:03:51 +01:00
Jeff Young
651cc5c838
Improve bounding hull error message.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17886
2024-05-03 18:03:51 +01:00
Seth Hillbrand
13735050da
Use StandardPrimitive library for vias
...
Some 2581 parsers don't like to consider UserPrimitive even though they
are essentially the same thing and required by the standard. ¯\_(ツ)_/¯
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16661
2024-05-03 09:11:49 -07:00
Jeff Young
6b0a20eac0
Mostly formatting, but also include shapes with nets when selecting connection.
2024-05-03 13:31:15 +01:00
Jeff Young
9f87598772
Fix copy-pasta.
2024-05-03 00:09:38 +01:00
Seth Hillbrand
ae610bbe85
ADDED: Reset option for Library tables
...
This re-shows the option to reset the global library table to its
default, empty or specified state
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2309
2024-05-02 21:31:59 +00:00
Seth Hillbrand
60f59ae851
Keep FP chooser on top of KiCad but not system
...
We don't need to float the window over other programs, so setting to
parental floating keeps it focused just the right amount
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16840
2024-05-02 13:12:00 -07:00
Seth Hillbrand
b649932dbf
Re-allow moving footprint text
...
This is a temporary solution until we modify loading to convert existing
text to fields
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17899
2024-05-02 13:00:17 -07:00
Seth Hillbrand
416033e8e5
Ignore hidden text fields when cross-probing
...
Zoom-to-selection should only show the elements that we can see, so
avoiding hidden fields in footprints keeps the zoom window appropriately
sized
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15245
2024-05-02 10:57:25 -07:00
Thomas Gambier
1882445b40
Add syntax check for duplicate 'layer' keyword
2024-05-02 04:51:48 +00:00
Seth Hillbrand
cd74ebe9cc
Fix extra tokens
2024-05-01 12:22:42 -07:00
Jeff Young
9a6efd43e1
Don't assume that a SMD pad has copper layers.
2024-05-01 18:16:09 +01:00
Jeff Young
678a64f97c
Update auto-generated file.
2024-05-01 14:42:37 +01:00
Jeff Young
6b797420d5
ADDED allow physical_clearance between courtyards & zone fills.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6966
2024-05-01 13:49:41 +01:00
Jeff Young
58ddffe3dd
Improve consistency in free-via ambiguity tests.
...
Also removes a magic number.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17671
2024-05-01 10:24:34 +01:00
Jon Evans
e973c15087
Move ALTIUM_PCB to use REPORTER for logging
...
Change not-yet-supported messages to debug level
2024-04-30 21:21:48 -04:00
jean-pierre charras
966051ff4a
DIALOG_EXPORT_2581:fix incorrect size of widgets when a very long field name exists
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17911
2024-04-30 18:16:05 +02:00
Seth Hillbrand
7fdb5e98a2
ADDED: Polygon simplify
...
Simplifies the polygon for graphical shape, zones and rule areas,
removing duplicate points and making the outline easier to handle
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17883
2024-04-29 17:48:32 -07:00
Jeff Young
85a9d9e9ec
Don't push commit in DIALOG_TABLE_PROPERTIES if table is new.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17688
2024-04-29 17:10:29 +01:00
jean-pierre charras
15e5eabb91
DIALOG_ZONE_MANAGER: refresh zone display when resizing the dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17892
2024-04-29 13:44:28 +02:00
Jeff Young
43e6006306
Separate Compare Footprints from DRC.
...
(We want to ignore some of the flags for DRC.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17819
2024-04-28 23:05:54 +01:00
Jeff Young
a5bd97da11
Improve clarity of Visibility setting.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17843
2024-04-28 21:57:55 +01:00
Alex Shvartzkop
7d37cebfdf
Fix orientations of some footprint STEP models.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17631
2024-04-28 23:11:26 +03:00
Jeff Young
b12043a612
Separate fields from text for boundingBoxes & hit-testing.
...
We used to have special cases to keep fields from bloating
a footprint's bounding box or being used for hit-testing.
However, now that we can distinguish PCB_FIELD_T from
PCB_TEXT_T, we should not apply these special cases to
PCB_TEXT_T. Text in footprints should act like graphics.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17854
2024-04-28 18:47:11 +01:00
Alex Shvartzkop
16e3692e71
Build time optimizations.
2024-04-27 23:49:13 +03:00
Alex Shvartzkop
11ba59b690
Altium PCB import: pad thermal spoke angle is 90 deg by default.
2024-04-27 20:25:50 +03:00
Jeff Young
c59ed0bbb7
Flip symbol editor's Y axis to match other editors.
2024-04-27 13:47:56 +01:00
Jeff Young
9be60cb45d
Gracefully handle DNP & Excl-from-brd components in nets list.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17146
2024-04-26 20:11:33 +01:00
Alex Shvartzkop
b3bc352c57
Use default stackup if stackup is not defined in STEP/BREP/XAO export.
2024-04-26 15:25:48 +03:00
Marek Roszko
b22bc2737e
Hackfix macOS to keep erc/drc on top
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14356
2024-04-26 00:49:22 -04:00
Alex Shvartzkop
c8db8d087e
Remove debug line.
2024-04-26 02:40:22 +03:00
Alex Shvartzkop
9e673bb891
Polyfill GetOneShape from OCCT.
2024-04-26 02:36:17 +03:00
Alex Shvartzkop
1ae9e9b676
ADDED: XAO export for SALOME / Gmsh workflows.
...
Pad surfaces are assigned as face groups.
2024-04-26 01:53:43 +03:00
Alex Shvartzkop
22c4fa29f1
STEP/BREP export: expose Net Filter option in the UI.
2024-04-25 21:10:34 +03:00
Seth Hillbrand
ef62b01dd1
Make import/export flags explicit
...
IO plugins can import/export or both. This sets an explicit boolean for
controlling which options are available.
2024-04-25 09:21:15 -07:00
Seth Hillbrand
eeee63186d
Don't list IPC-2581 import
...
We don't currently support importing 2581 files. We need to clear
IO_FILE_DESC to prevent this from accidentally showing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17866
2024-04-25 09:02:38 -07:00
Alex Shvartzkop
da1926d723
STEP/BREP export: ensure pad surface is a separate face.
...
Useful for FEM simulation.
2024-04-25 15:34:52 +03:00
Alex Shvartzkop
5f81e01f43
ADDED: --net-filter option to STEP/BREP export CLI.
2024-04-24 18:28:53 +03:00
Wayne Stambaugh
8a1347d2c8
Property grid navigation improvements.
...
* Do not handle tab key event when committing property changes so the
property grid tab navigation works correctly.
* Do not call commit property changes on tab key when no changes are
pending.
* Skip event handling in the base object value change and changing event
handlers in case they do not get overloaded in derived objects.
* Do not force focus to canvas on property change so arrow and tab key
grid navigation work properly. Forcing the user to click the property
grid control to edit a single property doesn't make sense.
* Pass properties panel show event up the event stack.
* Do not set focus to canvas in tool dispatcher if it already has the
focus.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16957
2024-04-24 07:25:19 -04:00
Jeff Young
978ef352d0
Support legacy Length Tuning Settings workflow.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17748
2024-04-24 10:51:25 +01:00
Alex Shvartzkop
045f65608a
Add VECTOR2L to Swig.
2024-04-23 23:37:45 +03:00
Alex Shvartzkop
b1180d9377
Fix some warnings.
2024-04-23 16:34:07 +00:00
Alex Shvartzkop
865e3a9f3c
Improvements when working closer to 32-bit integer limits.
...
- Changes BOX2 size to extended coordinates.
- Adds BOX2ISafe to construct a BOX2I that will fit in int32.
- Adds more checks.
- Safer computations.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17670
2024-04-23 16:34:07 +00:00
Alex Shvartzkop
3f32f0c2d8
STEP/BREP export: approximate zone polygons with arcs.
...
- Speeds up processing significantly
- STEP file size reduction to 30%
2024-04-23 19:25:23 +03:00
Jeff Young
9dab855f8d
Layer column should be shown by default, not italic.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17758
2024-04-22 17:48:21 +01:00
Jeff Young
53a9bdb3af
Formatting.
2024-04-22 17:44:59 +01:00
Jeff Young
e8be782687
Mostly clean-up, but also bug fixes with bounding boxes.
2024-04-22 11:16:14 +01:00
Alex Shvartzkop
bbab5a979a
STEP export: Remove autosave prefix from label names.
...
The autosave file is used if the board was modified.
2024-04-22 04:06:04 +03:00
Alex Shvartzkop
2babd574be
Refactor autosave prefix into FILEEXT.
2024-04-22 04:06:04 +03:00
Alex Shvartzkop
c68e3ceb44
ADDED: Export inner PCB copper layers to STEP / BREP / GLTF.
...
Also adds options to exclude board body and components.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16855
2024-04-22 03:39:46 +03:00
Seth Hillbrand
6a73c7ffb3
Remove cover type in link holder
2024-04-21 11:11:48 -07:00
Seth Hillbrand
7dc7268146
output helpful net information in PNS debug
2024-04-21 11:11:21 -07:00
jean-pierre charras
1dc8585d04
Footprint Editor: Fix crash when no footprint loaded and try to select something
2024-04-21 17:51:14 +02:00
jean-pierre charras
2d614898a8
pad.cpp: fix possible incorrect layer mask in PAD::ImportSettingsFrom() after import
...
ImportSettingsFrom() calls SetAttribute() that can change the layer set.
2024-04-21 13:01:21 +02:00
jean-pierre charras
3fb521755b
Revert "pad.cpp: fix incorrect layer mask in PAD::SetAttribute() for aperture pad"
...
This reverts commit 03e2b3c42e
.
2024-04-21 11:58:56 +02:00
jean-pierre charras
03e2b3c42e
pad.cpp: fix incorrect layer mask in PAD::SetAttribute() for aperture pad
...
A aperture pad is not on copper layer, so do not force a copper layer for this pad
2024-04-21 11:48:01 +02:00
Alex Shvartzkop
7215613b13
Fix warning in PCBNEW_JOBS_HANDLER.
2024-04-20 20:11:18 +03:00