Seth Hillbrand
826f15a103
Prevent crash in nettie
...
We need to avoid collecting invalid layers in the net ties regardless of
their origins
2025-09-02 19:18:58 -07:00
John Beard
e016dc52fd
Pcbnew: Add concept of a 'point'
...
This is a zero-dimensional object that can be used for snapping
and documentation of useful, but non-physical features on a
board or footprint. They do not correspond to any physical
output in exports or plots.
Points do have a "size", but this is a graphical property only
and determines how large they are drawn on the board.
They also have a layer, which allows them to be selected and
made visible according to layer filters.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/4691
2025-09-01 23:44:21 +08:00
John Beard
c4d9338097
Pcbnew: sort sexpr text items stably
...
Currently all texts on the same layer do not sort stably in the file
format. Add sorting criteria to sort by position, angle, size
and so on and finally by string.
2025-09-01 23:44:21 +08:00
Jeff Young
c6fcf7e0b8
Allow easier code searching for property names.
2025-08-30 19:09:15 +01:00
Jeff Young
c287d9a222
Avoid div-by-zero.
2025-08-19 13:42:49 +01:00
John Beard
ed01324c1d
Footprints: allow to set specific internal copper layers
...
Footprints can now have a custom stackup. This means that they specify
an exact number of copper layers and the layers map 1:1 to board layers.
If the board doesn't contain that layer, the element just doesn't
show. We could make this a DRC check later on.
If there is no stackup, the behavior is the current default: a rule area
the In1 layer "expands" to all Inner layers.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10838
2025-08-19 04:59:48 +08:00
jean-pierre charras
09e1fca7e4
More about support of press-fit pad fabrication property
...
Also some fixes in dialogs.
2025-08-11 18:48:35 +02:00
Andrzej Wolski
c73d555fe2
ADDED: Lasso selection in pcbnew
...
Adds a lasso or freeform selection tool to KiCad in addition to standard
rectangular selection. Adds supporting HitTest routines
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/1977
2025-08-06 16:06:40 -07:00
Jeff Young
7240128130
Formatting.
2025-08-04 19:11:59 +01:00
Jeff Young
a8df4b16e2
Range checking.
2025-08-03 20:32:19 +01:00
Jeff Young
c758a2fbaf
Don't sequence layers when order doesn't matter.
2025-07-14 19:12:44 +01:00
Jeff Young
58b5dae1ee
Handle duplication of reference images for array tool (KICAD-R7M).
2025-07-12 14:07:17 +01:00
Jeff Young
9faf8b3d4c
Commenting.
2025-07-05 12:02:36 -06:00
Jeff Young
bacc82c589
Debugging.
2025-07-04 16:30:03 -06:00
Jeff Young
97a3a09c90
Embed fonts used in fields as well as text items.
...
(Also, don't presume a non-stroke font is an outline
font. We may have more types in the future....)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20578
2025-06-30 18:08:29 -06:00
Jeff Young
9bcf9c643a
Don't call TransformShapeToPolygon() with no layer (KICAD-KFR).
2025-06-27 22:59:12 -06:00
Jeff Young
044ac6e8e5
Prefer board's errorMax to a constant.
2025-06-27 22:59:12 -06:00
Jeff Young
9750f7690c
Performance optimizations.
2025-06-05 18:01:44 +01:00
Jeff Young
a3c9454221
Tighten up footprint c'tor and copy c'tor.
...
Several fields weren't being initialized; several
other fields weren't being copied.
2025-05-31 22:14:09 +01:00
Jeff Young
f58fc0b952
Rewrite GROUP undo based on uuids.
...
This also removes the GROUP/UNGROUP-specific undo actions.
This also fixes a bunch of undo bugs when duplicating
group members, creating pins, etc.
This also fixes some undo bugs when dividing wires etc.
This also fixes some bugs with new sch items not
being created within an entered group.
2025-05-21 14:24:59 +01:00
Jon Evans
4dd39976a3
API: Add symbol path for footprint instances
...
See https://gitlab.com/kicad/code/kicad-python/-/issues/37
2025-04-26 09:52:42 -04:00
Jeff Young
98ec2d7ba2
ADDED: metadata searching.
...
Symbol and footprint search panels can now optionally
search library links, descriptions and keywords.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10602
2025-04-09 17:46:07 +01:00
Jeff Young
661d002234
CHANGED: moved footprint lock shadows to children.
...
A full bounding hull wash gets overwhelming on
boards with lots of mechanically-constrained
objects.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14007
2025-04-03 14:38:14 +01:00
Mike Williams
05e9772d54
groups: extract common class methods into EDA_GROUP base class
2025-04-01 14:34:20 -04:00
Jon Evans
12861345d3
API: Brute-force fix for footprint modifications
2025-03-29 23:53:55 -04:00
Jon Evans
31f3c44520
API: Clear footprint caches when making changes
2025-03-29 16:47:13 -04:00
Jon Evans
dc9fa2e2ac
More functional fix for IPC API item modifications
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20206
2025-03-28 20:27:45 -04:00
Mike Williams
a90b8ec57a
pcb: merge RunOnChildren/Descendants into one function with a mode
2025-03-27 13:16:09 -04:00
Jon Evans
1c83f0a70b
Implement jumpers for footprints
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2558
2025-03-24 22:17:46 -04:00
Jeff Young
0a4533703c
Performance.
2025-03-24 10:28:41 +00:00
Jeff Young
824c7ecfa7
Improve readability.
...
Also drops a parameter that hasn't been implemented
since early 2022.
2025-03-19 08:55:32 +00:00
Jeff Young
142f8265c5
Simplify (and fix) plated copper differentiation.
...
Also a few fixes for 3D rendering textboxes and
tables.
2025-03-17 20:11:20 +00:00
JamesJCode
ede5faee72
Implement dynamic assignment of component classes
2025-03-15 14:33:47 +00:00
Jeff Young
1ee3131e4a
Check silk/soldermask collisions in FP checker.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19707
2025-03-14 19:45:26 +00:00
Jeff Young
4b38932129
Group members are still children of the board (not
...
the group).
2025-03-09 17:59:32 +00:00
Jeff Young
e163c40e54
Formatting.
2025-03-09 11:47:31 +00:00
Jeff Young
50174ec528
Beware of infinite recursion on colliding hatched shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20264
2025-03-08 21:23:14 +00:00
Jeff Young
f00947266f
Don't render thickness walls of text we're not going to draw.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20200
2025-03-04 11:29:05 +00:00
Jeff Young
2aa0c15b41
FOOTPRINT::GetBoundingHull(): don't crash on non-copper layers.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20124
2025-02-28 18:49:41 +00:00
Jeff Young
7db3ccd98a
Better algorithm for knocking out footprints.
...
(Though anything would have been as the previous
one didn't work at all.)
2025-02-24 23:01:07 +00:00
Jeff Young
0de8d75dec
Fixup parent after blasting it.
2025-02-24 17:35:43 +00:00
Jeff Young
3f15b0d75b
ADDED: hatched fills for shapes.
2025-02-24 11:08:29 +00:00
Jeff Young
c5bb59468d
Get rid of assumptions about field order.
2025-02-24 11:08:29 +00:00
Jon Evans
b932487f2e
API: Add serialization of footprint mounting style
...
See https://gitlab.com/kicad/code/kicad-python/-/issues/19
2025-02-20 17:46:23 -05:00
Jeff Young
5edae8250d
Finish eradication of visibility flag on text items.
...
Import/read previously-hidden symbol/footprint
text items as hidden fields.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19875
2025-02-19 23:43:52 +00:00
Alex Shvartzkop
b9606b8d38
Don't return 1-point bounding hulls from some footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19967
2025-02-18 11:18:47 +03:00
JamesJCode
5fda0d02e1
Delay resolution of component classes when pasting footprints
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19862
2025-02-07 17:47:51 +00:00
Jon Evans
55e5596cda
Fix more field fallout
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19832
2025-02-03 21:40:09 -05:00
Jeff Young
d209dddcc6
Correctly initialise mandatory fields array.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19819
2025-02-02 18:10:44 +00:00
Jeff Young
96022ee169
Correctly handle mandatory fields when adding/removing.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19819
2025-02-02 17:55:07 +00:00