35 Commits

Author SHA1 Message Date
Jon Evans
2fe7fa3b54 API: Use action wrapper for setting grid origin
Fixes https://gitlab.com/kicad/code/kicad-python/-/issues/47


(cherry picked from commit 71417fbe3bb56121a99a070c43f84a404de3c1af)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2025-05-07 23:29:36 -04:00
Jon Evans
69589840df API: Brute-force fix for footprint modifications
(cherry picked from commit 12861345d324037a7525fc90cdc811d2ec4dc64c)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2025-03-30 19:01:37 -04:00
Jon Evans
558488f874 API: Clear footprint caches when making changes
(cherry picked from commit 31f3c445209dc86c91b81a803d7ae7f94a88a5ad)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2025-03-30 19:01:26 -04:00
Jon Evans
73f77658bb More functional fix for IPC API item modifications
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20206


(cherry picked from commit dc9fa2e2ac5af59a899b0b060fe8d75648cc6113)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2025-03-30 19:01:16 -04:00
Jon Evans
4d6bb9317b Revert "Switch to operator= for item updates"
This reverts commit d0b22d21bb27f680941a52ca25c1bde683107c30.


(cherry picked from commit 3bac9344d2bb2c0bf3e569e35b064935899352ec)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2025-03-30 19:01:07 -04:00
Jeff Young
3b45663866 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.

(cherry picked from commit 60a26308ae3e84cf423e24c6ccd856825a625a19)
2025-03-29 21:26:55 +00:00
Jon Evans
215c3fdf77 Switch to operator= for item updates
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20206


(cherry picked from commit d0b22d21bb27f680941a52ca25c1bde683107c30)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2025-03-10 19:19:55 -04:00
Jon Evans
b707b305ac API: Add board origin setter/getter
See https://gitlab.com/kicad/code/kicad-python/-/issues/20


(cherry picked from commit 5cec2fac9d3405b9d800ad0c02ad10aef242d187)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2025-02-26 01:14:01 +00:00
Jon Evans
4cd8833687 API: Refresh screen after changing selection
Required on Linux/Windows

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20008


(cherry picked from commit d29025ef7891feb17c4359d043a8747df0a69194)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2025-02-22 21:01:52 +00: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
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
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
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
cb06d750de Add trapezoid delta to the padstack API definition 2024-11-17 22:32:35 -05:00
Jon Evans
251cbbd287 Handle PCB_SHAPE in GetItems API 2024-11-17 16:22:49 -05: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
Jon Evans
1dbe78c68b Add QA tests and expand serialization for API 2024-04-02 19:51:18 -04:00
Jon Evans
a3b6ab48a4 Add a new plugin system for the new API 2024-04-02 19:51:16 -04:00
Jon Evans
f613cd1cb4 ADDED: A new IPC API based on protobuf and nng
Details, documentation, and language bindings are works in
progress and will be evolving over the course of KiCad 9
development.
2024-04-02 19:34:36 -04:00