Mike Williams
7e4133b9ec
design blocks: fix up tests, API
2025-08-20 15:20:13 -04:00
Seth Hillbrand
1a4eba56a7
ADDED: Skip Via support
...
Skip vias are vias that are flashed on their start and end layers but
have no annular rings on the interior layers and do not connect to zones
in those layers
You can now select Annular ring type "Start and end layers only". This
will prevent annular ring flashing on intermediate layers and zones
fills will provide clearance. You can still connect tracks to
intermediate layers but preventing that will fall to the designer
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21433
2025-08-07 15:48:10 -07:00
Jeff Young
044ac6e8e5
Prefer board's errorMax to a constant.
2025-06-27 22:59:12 -06:00
Jon Evans
0997205ffb
Minor code style fixes
2025-06-25 21:25:45 -04:00
Seegong
66d8a133e2
Implement PCB_GROUP serialization and deserialization methods
2025-06-25 21:22:02 -04:00
Jon Evans
f9d1a4d31b
API: Don't accidentally copy board's net info
...
(cherry picked from commit c9668b81c8bd8547f97aa9c83893f5c2b7522171)
Co-authored-by: Jon Evans <jon@craftyjon.com>
2025-06-16 23:24:00 -04:00
Jeff Young
d81e9e6cd1
Code cleanup.
...
A placement-area is a rule-area sub-type. We don't
need to say rule-area-placement each time.
Also removes some dead code, and simplifies some
damage-propagation logic.
2025-06-07 17:44:00 +01:00
Jon Evans
061cb2eba8
API: Add CheckPadstackPresenceOnLayers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20587
(cherry picked from commit d1e4b03ec1423276459d98c98571e980c777686a)
Co-authored-by: Jon Evans <jon@craftyjon.com>
2025-05-26 21:47:44 -04:00
Jeff Young
4bb54b3439
Move more stuff to ACTIONs framework.
2025-05-23 15:19:49 +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
jean-pierre charras
4de6be8124
Fix a collision name in a windows header (GROUP). Windows specific.
...
Changed to GROUP_PLACEMENT (No actual code change)
2025-05-08 11:15:55 +02:00
Jon Evans
71417fbe3b
API: Use action wrapper for setting grid origin
...
Fixes https://gitlab.com/kicad/code/kicad-python/-/issues/47
2025-05-07 23:28:19 -04:00
Mike Williams
87c91fea3d
multichannel: support groups
2025-05-07 12:40:59 -04:00
Mike Williams
40058ebe80
actions: move all basic selection operations to common actions
2025-04-02 12:02:01 -04:00
Jon Evans
12861345d3
API: Brute-force fix for footprint modifications
2025-03-29 23:53:55 -04:00
Jeff Young
60a26308ae
COMMIT lifetime safety.
...
If we pass a COMMIT to a posted action, the COMMIT
may no longer exist when the action is run.
Equally problematic, if another COMMIT is pushed
in between we'd probably also run into trouble.
We still allow the API to do this because we don't
have a better solution at present. But we need
one.
2025-03-29 21:24:08 +00: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
Jon Evans
3bac9344d2
Revert "Switch to operator= for item updates"
...
This reverts commit d0b22d21bb27f680941a52ca25c1bde683107c30.
2025-03-28 20:27:45 -04:00
Jon Evans
d0b22d21bb
Switch to operator= for item updates
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20206
2025-03-04 21:12:21 -05:00
jean-pierre charras
eaa1e6d594
Fix a collision with a Windows define and our use of the same var name.
...
We use IN for INCH as units, but IN is defined in a Windows header
2025-03-02 11:34:30 +01:00
Jeff Young
f951497a4f
Code brevity.
2025-03-01 21:58:31 +00:00
Jon Evans
5cec2fac9d
API: Add board origin setter/getter
...
See https://gitlab.com/kicad/code/kicad-python/-/issues/20
2025-02-25 20:13:16 -05:00
Jon Evans
d29025ef78
API: Refresh screen after changing selection
...
Required on Linux/Windows
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20008
2025-02-22 16:00:40 -05:00
Jon Evans
0682d319fb
API: Don't check for busy when not needed
...
see https://gitlab.com/kicad/code/kicad-python/-/issues/11
2025-02-03 18:02:46 -05:00
Jon Evans
4118c14d97
API: Add selection handling
2025-01-21 19:53:03 -05:00
Jon Evans
bd47692bf2
API: Include custom layer names in stackup
2025-01-07 18:28:07 -05:00
Jon Evans
7db75e4f50
API: expand board stackup serialization
2025-01-04 15:15:51 -05:00
Jon Evans
a557c23576
API: Add board file management
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16774
2025-01-04 09:47:36 -05:00
Seth Hillbrand
0b2d4d4879
Revise Copyright statement to align with TLF
...
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo. Avoids needing to
repeatly update.
Also updates AUTHORS.txt from current repo with contributor names
2025-01-01 14:12:04 -08:00
Jon Evans
06e0e16336
API: Fix GetPadShapeAsPolygon to not re-use a SHAPE_POLY_SET
...
TransformShapeToPolygon appends instead of assigning
2025-01-01 16:34:30 -05:00
Jon Evans
d8b8d8aa3c
API: Add GetNetClassForNets; handle implicit netclasses
2024-12-31 17:51:19 -05:00
Jon Evans
19c748048c
API: Add some board editor appearance settings
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18269
2024-12-29 22:10:01 -05:00
Jon Evans
6c47f32ccf
API: Fixes for creating new zones
2024-12-26 13:34:16 -05:00
Jon Evans
96536f380d
API: refactor handlers to be slightly less verbose
2024-12-08 20:23:11 -05:00
Jon Evans
98ae574c78
API: Add PCB editor visible and active layer setters/getters
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18268
2024-12-03 21:17:48 -05:00
Jon Evans
9499eda7ef
API: Implement saving selection and board as string
2024-12-01 21:37:31 -05:00
Jon Evans
13625daeca
API: Implement dimension serialization
2024-11-30 17:22:15 -05:00
Jon Evans
49d5e64428
API: Add initial definitions for dimensions
2024-11-29 21:18:51 -05:00
Jon Evans
8ff3ef5fd5
API: Add ExpandTextVariables
2024-11-28 19:21:18 -05:00
Jon Evans
3129e072c4
API: Move graphics and text handling to common
...
Required moving API_HANDLER_COMMON out of kicommon
2024-11-28 11:28:06 -05:00
Jon Evans
d64b17050d
API: Serialize PCB_TEXTBOX
2024-11-24 17:25:56 -05:00
Jon Evans
2355f76e36
API: Add zones to item handler
2024-11-24 00:20:28 -05:00
Jon Evans
62df972c2d
API: implement serialization for ZONE
2024-11-23 11:04:34 -05:00
Jon Evans
dd65a44dd6
API: Add initial spec for ZONE serialization
2024-11-21 22:09:14 -05:00
Jon Evans
af71ea869e
API: Expose title block info
2024-11-19 23:44:29 -05:00
Jon Evans
033fb4fc8f
API: Add GetBoundingBox and Box2
2024-11-19 22:09:00 -05:00
Jon Evans
f97f79426a
API: Add a way to get merged polygon from pad shape
2024-11-19 21:17:22 -05:00
Jon Evans
732f03753d
Add drill shape to padstack API
2024-11-18 00:12:34 -05:00
Jon Evans
cb06d750de
Add trapezoid delta to the padstack API definition
2024-11-17 22:32:35 -05:00