Alex Shvartzkop
1ae9749429
Use bitmap bundle for auto track width button.
2024-05-26 03:56:58 +03:00
Alex Shvartzkop
0b4ff7b859
Improve indicator icons in hidpi monitors.
2024-05-26 01:16:47 +03:00
Jeff Young
f1aea810cb
Add knockout text support to IPC2581.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18042
2024-05-25 22:30:41 +01:00
Jeff Young
b0dddb6d95
Formatting.
2024-05-25 22:06:38 +01:00
Alex Shvartzkop
b89d4a7f20
3D model export improvements:
...
- Option to export pads separately from tracks+vias
- Options export silkscreen and soldermask as flat faces
- Improve 3D model export dialog layout
- Use VisMaterialTool to specify metallic-roughness for glTF.
- Less OCCT boolean operations (faster, less bugs)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2072
2024-05-25 22:27:01 +03:00
Jeff Young
89fa83bcc2
Formatting.
2024-05-25 12:05:13 +01:00
Alex Shvartzkop
1971faa81e
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
8.0 commit: f9a9db6503
2024-05-24 23:42:10 +03:00
Jeff Young
a678d0d710
Delete tuning patterns in Unroute Selected.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18065
2024-05-24 19:24:09 +01:00
dsa-t
6baceedea4
Switch length tuner settings action scope to global to make the hotkey work.
...
(cherry picked from commit 8d001a8031
)
Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2024-05-24 14:47:48 +00:00
Jeff Young
397ae3bafd
Support wildcards and regEx's in Net Inspector.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18071
2024-05-24 12:24:05 +01:00
Jeff Young
032b5a6d65
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
2024-05-23 18:30:58 +01:00
Jeff Young
98496dfa60
Formatting.
2024-05-23 16:31:53 +01:00
Jeff Young
d5c3a4036c
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
2024-05-23 16:26:43 +01:00
Wayne Stambaugh
795a9eea60
Coding policy fixes.
...
This is primarily to change all instances of wxLogDebug with wxLogTrace
so developers do not have to sift through debugging output that is always
dumped. The only exception is for code blocks built in debug builds and
called on demand for dumping object states.
2024-05-23 07:59:45 -04:00
Alex Shvartzkop
cd83666b72
Draw x2 and x3 swatch bitmaps in layer selectors.
2024-05-23 05:09:39 +03:00
Alex Shvartzkop
c2a80092d7
Draw fp grid layer swatch in proper scaling on hidpi.
2024-05-23 05:09:39 +03:00
Seth Hillbrand
f74d1060d4
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
2024-05-22 16:30:09 -07:00
Seth Hillbrand
bce560d05f
Include DRC Epsilon in connection width checker
...
Avoids rounding errors flagging connections too small by nanometers
2024-05-22 16:15:51 -07:00
Jeff Young
3944d8abc9
Formatting.
2024-05-22 22:37:57 +01:00
JamesJCode
f88f6a053b
Cleanup: Remove unused variable
2024-05-22 22:08:07 +01:00
Seth Hillbrand
47e4ebb32a
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
2024-05-22 10:36:12 -07:00
Jeff Young
debc94ff49
Rewrite Eagle rotated text algorithm.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18019
2024-05-22 18:18:47 +01:00
John Beard
882c766493
Always update geometry on dimension property change
...
Anything that changes the text may also need to change the geometry,
as the text might cause knockouts of the dimension lines.
Resolves several avenues for the property manager to make changes
that 'forget' to update aspects of dimensions.
2024-05-22 22:08:51 +08:00
John Beard
af74d2a746
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.
2024-05-22 11:15:52 +08:00
Jeff Young
f4f3f52fd4
Improve Eagle rotated text importing.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18019
2024-05-22 01:16:06 +01:00
Jeff Young
560f6f87e5
Silkscreen clearance tests are run across layer pairs.
...
(So any rule areas must pretend they're on all the
given side's layers to get expected results.)
2024-05-22 01:16:06 +01:00
Jeff Young
ab2fdfb9cc
Formatting.
2024-05-22 01:16:06 +01:00
Seth Hillbrand
e097f88d56
Avoid snapping to edge cuts when routing
...
Snapping happens to elements on copper layers but edge cuts is only
_virtually_ on copper layers. We need to set its routable flag off to
ensure we don't force-snap to the snap points
(cherry picked from commit c248993a84
)
2024-05-21 09:34:45 -07:00
Seth Hillbrand
64e3e17143
Reserve shift for grid modification
...
(cherry picked from commit f75e6dae84
)
2024-05-21 09:34:45 -07:00
Seth Hillbrand
be0e058807
Optimize ARC hulls in PNS
...
If we can't route through the arc opening, then it is effectively a
circle and we can treat it as such.
2024-05-21 09:34:45 -07:00
Seth Hillbrand
83ad0d5fad
Honor Ctrl+Shift combo when starting routing
...
We want to be able to start routing at an arbitrary point if we
explicitly disable the snapping and grid together
2024-05-21 09:34:45 -07:00
Jeff Young
a5436c92d1
Fix build issue.
2024-05-21 17:16:21 +01:00
John Beard
ee81d1d880
Temporarily disable dimension angle property access to fix build
2024-05-21 22:11:28 +08:00
John Beard
c36efec4b2
Remove evil const that breaks non-Windows compilers
2024-05-21 21:49:49 +08:00
Jeff Young
e332320108
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
2024-05-21 11:31:35 +01:00
Alex Shvartzkop
4cc29184c2
Improve Layer field spacing in footprint properties.
2024-05-21 04:11:59 +03:00
Alex Shvartzkop
ba5e4b613f
Don't show hotkeys in grid layer selector.
2024-05-21 04:11:59 +03:00
John Beard
f941123519
Fix dimension orientation properties
...
Move text orientation to the text properties section (the
dimension IS an EDA_TEXT, but the user doesn't know that!)
Add the "keep aligned" checkbox, and make sure knockouts and
alignments are recomputed correctly.
2024-05-21 08:56:28 +08:00
Alex Shvartzkop
73e0498768
Improve hidpi color swatch sizes in layer selectors on MSW.
2024-05-21 03:46:09 +03:00
Alex Shvartzkop
5f153eef7f
Vertically center the color swatch in grid layer selector.
2024-05-21 03:46:09 +03:00
jean-pierre charras
59a2de7408
Dialog Export step: fix an issue when exorting 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 to export associated to the auto saved board file.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16973
2024-05-20 21:04:33 +02:00
Jeff Young
0ff59bc60e
We can only knockout a pad if we're plotting the pad shape.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17166
2024-05-20 19:48:06 +01:00
Jeff Young
826b72c499
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
2024-05-20 19:48:06 +01:00
Mike Williams
8e286d44fc
Update Footprint: add checkbox for text content
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/17935
2024-05-20 09:16:04 -04:00
John Beard
caee430761
No longer auto-set the Footprint field when setting the FPID
...
This avoids forcing the field to the footprint name in the
library editor, which gets in the way. This doesn't specifically
inhibit the use of the field, and doesn't interfere with fields
users may have set manually (it can be cleared manually if
wished).
Removing the footprint field entirely either from all footprints
or from footprints in fpedit is quite a bit more invasive to
existing designs.
(cherry picked from commit 44b0ef64e8
)
Cherry-picking forward to master to at least keep things consistent
for the time being.
Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/17998
2024-05-20 17:32:02 +08:00
Alex Shvartzkop
615f216ef6
STEP export: don't double-check the wire.
2024-05-19 04:08:43 +03:00
Alex Shvartzkop
1a0ce67155
STEP export: reverse Wire when adding it to Face as a hole.
...
Better fix for https://gitlab.com/kicad/code/kicad/-/issues/17446
(cherry picked from commit 1264230973
)
2024-05-19 04:02:35 +03:00
Jon Evans
90ee5e097a
Clear undo/redo lists when removing board layers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17613
2024-05-18 18:16:07 -04:00
Jon Evans
7a3db2d176
Don't drag multiple coincident vias
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17915
2024-05-18 17:50:52 -04:00
Alex Shvartzkop
3f704cb1f1
Fix an assert in isCopperOutside.
...
(cherry picked from commit dfd8aa402d
)
2024-05-18 22:52:41 +03:00
Alex Shvartzkop
e00219f459
STEP export: allow closing (and constructing) the wire with 1nm edges.
...
This is ok (and required) because we don't mess with BRepBuilderAPI::Precision nowadays.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18030
(cherry picked from commit 5b1c84b5dd
)
2024-05-18 22:52:41 +03:00
Jon Evans
aaf3142e9a
Fix broken hit test for arcs in via placer
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17844
2024-05-18 13:12:12 -04:00
Jeff Young
d82b149f29
Make hole-to-hole report tag match constraint name.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18040
2024-05-18 15:44:03 +01:00
Jon Evans
4f3117aea0
Altium: avoid crash when imported zone has no fill
...
Fix https://gitlab.com/kicad/code/kicad/-/issues/18025
2024-05-17 20:16:01 -04:00
Jeff Young
af5ed5a118
Reset zone offsets when exporting footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17794
2024-05-17 21:28:30 +01:00
Jeff Young
ea72beb2f7
Remove & then re-add undo items to parent group.
...
Removing the item from the board will also remove it
from any parent group, which then wasn't getting
restored. This makes it more clear that we need to
remove and then re-add.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18017
2024-05-17 19:34:21 +01:00
Jon Evans
7f03666f96
Support LIB_ID queries in searchFootprints too
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18039
(cherry picked from commit fee0028ee9
)
Co-authored-by: Jon Evans <jon@craftyjon.com>
2024-05-17 17:57:42 +00:00
Jeff Young
25bb3f77fa
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
2024-05-17 18:34:44 +01:00
Alex Shvartzkop
0772739cf1
3D model export: Improve 3D layer placement calculation algorithm.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18035
2024-05-17 18:20:24 +03:00
Jon Evans
4c42f5dae0
Remove extra NeedRIGHT in textbox parser
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18033
2024-05-17 09:05:04 -04:00
Jeff Young
26906f383c
Expose violation severity for co-located holes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18028
2024-05-17 11:15:44 +01:00
Alex Shvartzkop
fd438cb8e0
VRML to XCAFDoc reader is only available in OCCT 7.7.0+
2024-05-16 22:52:19 +03:00
Alex Shvartzkop
8fd12d8b7e
Allow reading VRML models for glTF export.
...
Note that some VRML 2.0 models fill fail until our patches are integrated into OCCT 7.9.0.
2024-05-16 21:57:48 +03:00
Jeff Young
f7bef5e09b
Generalize EnhanceAttr() function.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17735
2024-05-16 16:28:13 +01:00
Alex Shvartzkop
2179685dd2
STEP export: Use TDocStd_XLinkTool to copy model with colors instead of our DIY routine.
...
Now supports older OCCT versions.
Also puts components at a higher level in the hierarchy.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17549
2024-05-16 13:01:40 +03:00
Jeff Young
a4583fdbc1
Separate out selection processing for dragging footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18010
2024-05-16 10:27:54 +01:00
dsa-t
e2294a769a
Revert "STEP export: Use TDocStd_XLinkTool to copy model with colors instead of our DIY routine."
...
This reverts commit f735c9bdc2
2024-05-15 22:55:19 +00:00
Alex Shvartzkop
f735c9bdc2
STEP export: Use TDocStd_XLinkTool to copy model with colors instead of our DIY routine.
...
Also puts components at a higher level in the hierarchy.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17549
2024-05-16 01:33:06 +03:00
Jeff Young
498d2c9db1
Lazily re-evaluate worst-clearance cache.
...
This prevents crashes when trying to re-evaluate
during destruction, etc. and is a cleaner solution
than trying to keep a flag updated.
It should also be a performance win for very large
documents.
Also implements proper threadlocking for the cache.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17950
2024-05-15 14:11:11 +01:00
Alex Shvartzkop
18fde2b9cb
Fix background transparency option in kicad-cli pcb render.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17865
2024-05-15 14:46:53 +03:00
Jeff Young
20b2e11f21
Only toggle net selection when coming from hotkey.
...
(The context menu has separate commands for highlight
and clear highlight.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17709
2024-05-15 12:44:33 +01:00
Jon Evans
ea4ade7350
Fix broken setter
2024-05-14 23:13:31 -04:00
Jon Evans
e16130a02c
Move pad and via properties into PADSTACK
2024-05-14 20:57:56 -04:00
Jon Evans
c800fb790d
Start unifying padstack properties
2024-05-14 20:57:56 -04:00
Alex Shvartzkop
0e58f1bad4
Improve approximateLineChainWithArcs algorithm.
2024-05-14 18:07:53 +03:00
Alex Shvartzkop
e71789bab0
Minor alignment fixes in Plot dialog and Common settings.
2024-05-14 17:44:16 +03:00
Alex Shvartzkop
798db3b5c7
Improve "Selected file contains multiple footprints" string.
2024-05-14 16:04:05 +03:00
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
Seth Hillbrand
586fddeec1
Avoid case where whole line is new head
...
If the whole line shifts, we may have no points of the old tail in the
new line. In this case, we may not only not find the split point but we
may also have fewer points in the new line than were in the old head.
Clamping to the maximum potential point count prevents creating invalid
lines
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16591
2024-04-19 17:54:29 -07:00
Seth Hillbrand
b346cde30b
Show disambiguated netname when needed
...
When using subsheets with nets that end in the same netname, it can be
confusing in pcbnew to know which net you are dealing with. In these
cases, we show the full netname including path to assist when routing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16187
2024-04-19 16:31:05 -07:00
Seth Hillbrand
b1dcd7ecf8
Remove Shift as a force-finish modifier
...
This was originally added to facilitate
https://bugs.launchpad.net/kicad/+bug/1777688 but the concern there was
that the layer kept changing when stopping on a via. We currently have
double-click as the force-finish option and the layer reverts to the
original layer on which you were routing. This should handle the
operation concern while still preserving shift as the modifier for grid
options
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15828
2024-04-19 08:53:27 -07:00
Alex Shvartzkop
cd2925d3d7
ADDED: Fuse Shapes option for STEP/BREP/GLTF export.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17777
2024-04-19 03:43:26 +03:00
JamesJ
f8434b1c07
Fix deletion of items in pcbnew
...
Ensures the fallthrough generic deletion code path increments
the deleted items counter.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17798
2024-04-18 23:37:37 +01:00
aris-kimi
d00cda3b2f
Fix build with OCC 7.5.x
2024-04-18 18:09:42 +00:00
Seth Hillbrand
8d1b1598db
Add missing file mod
2024-04-18 09:48:30 -07:00
Seth Hillbrand
0ea02fa2ff
Be a little more careful about courtyard caches
...
Rather than utilizing the board timestamp, we check cached hash of the
courtyard results before rebuilding
2024-04-18 09:32:00 -07:00
Seth Hillbrand
df5dd15c6f
Protect courtyard cache regen
...
The courtyards are referenced by multiple calls and will be rebuilt on
command. If this happens during zone fill (because the board timestamp
has incremented since the start) multiple threads may generate the cache
at the same time, leaving one with an invalid pointer
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17791
2024-04-18 08:41:18 -07:00
jean-pierre charras
3da5616939
step/step_pcb_model.cpp: add missing includes.
2024-04-18 13:55:49 +02:00
jean-pierre charras
af8d80d91f
Plot pads: Do not use pad offset twice when plotting chamfered rect pads
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17793
2024-04-18 12:53:38 +02:00
Alex Shvartzkop
55fb70ae65
STEP export: use fused shapes for pads instead of polygon approximations.
2024-04-18 13:44:14 +03:00
Alex Shvartzkop
b50a1c967f
Report errors and warnings when using BRep cutting algorithm.
2024-04-18 13:44:14 +03:00
Seth Hillbrand
79166510e9
Fully expand all text variables in 3d output
...
We were doing half of the job but we need to get the board variables as
well
Fixes https://gitlab.com/kicad/code/kicad/issues/17768
2024-04-18 02:58:21 +02:00
Seth Hillbrand
f088b0d18a
Calculate and show pad area in footprint editor
...
When selecting an SMD pad, show the area of the pad in the msg panel
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17788
2024-04-17 15:31:56 -07:00
Jeff Young
a4073c2ace
Provide some user hints on editing fields.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17781
2024-04-17 18:30:37 +01:00
Alex Shvartzkop
01fedb86e2
Fix shadowed variable.
2024-04-17 18:22:22 +03:00
Alex Shvartzkop
d97ac47509
Try to use parallel processing in BRep cutting algorithm.
2024-04-17 18:15:17 +03:00
Alex Shvartzkop
d98d7f9017
ADDED: Support 3D shape export in BREP format.
...
BREP doesn't support colors or label names,
but is much faster to write/read compared to STEP.
2024-04-17 17:31:10 +03:00
Alex Shvartzkop
bf16f757ed
STEP export: disable history to speed up hole cutting.
2024-04-17 16:09:03 +03:00
Seth Hillbrand
caa18568e0
Handle DRC rules that limit PTH/NPTH in courtyards
...
Allows custom rules that explicitly allow holes from one footprint to
overlap the courtyard from another
2024-04-16 22:46:38 +00:00
dsa-t
822409225a
STEP export: don't fail when can't construct a wire.
...
This can happen with very small shapes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17774
(cherry picked from commit 481c1592ae
)
Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2024-04-16 22:36:34 +00:00
Seth Hillbrand
374fb0f5f2
IPC2581 fixes
...
- Component name ref comes before pin ref
- OtherSideView is at the end of the package
- BOM defines the dictionary so we need all items in the BOM even if
marked "Exlude from BOM"
- Fix unique REFDES indicator to increment number rather than appending
additional numbers
2024-04-16 13:25:09 -07:00