47 Commits

Author SHA1 Message Date
Jon Evans
ca0207016e API: Add ability to set enabled board layers and copper layer count 2025-08-31 22:18:53 -04:00
Jon Evans
997cee8120 pcbnew/api: Expose pad-to-die length
Closes #21346.


(cherry picked from commit 29c733c651fc1077fab2c71a44b9d64d4a3a0b87)

Co-authored-by: Ben Gamari <ben@smart-cactus.org>
2025-08-04 21:01:08 -04:00
Jon Evans
d1e4b03ec1 API: Add CheckPadstackPresenceOnLayers
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20587
2025-05-26 21:46:21 -04:00
Jon Evans
a63758e1e6 API: Add symbol path for footprint instances
See https://gitlab.com/kicad/code/kicad-python/-/issues/37


(cherry picked from commit 4dd39976a345df7f77213c7f48b80d5923c5d8ed)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2025-05-26 18:29:35 -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
ae0396ee3c API: Add new user layers
See https://gitlab.com/kicad/code/kicad-python/-/issues/23


(cherry picked from commit c4c1842bc444d38e82d4c4c26a55f7fa47a5e169)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2025-02-25 00:30:37 +00:00
Jeff Young
7aafe9efe9 Make sure protobuf API stays consistent.
(cherry picked from commit a8a1b0801361dc16895d75240943f11fddcaa22b)
2025-02-20 17:48:09 +00:00
Jeff Young
a60307340f 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

(cherry picked from commit 5edae8250d0bebb08ea4fd71a392f889895d6f7d)
2025-02-20 13:18:23 +00:00
Jon Evans
4118c14d97 API: Add selection handling 2025-01-21 19:53:03 -05:00
Jon Evans
0ba869465c API: switch to Distance type for thermal settings 2025-01-09 21:25:15 -05:00
Jon Evans
4dfcbc6d2a API: make thermal spoke settings optional 2025-01-09 20:55:50 -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
1fa432b029 API: add GetKiCadBinaryPath 2025-01-04 10:14:17 -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
Jon Evans
d8b8d8aa3c API: Add GetNetClassForNets; handle implicit netclasses 2024-12-31 17:51:19 -05:00
Jon Evans
2c56e9826a API: Add serialization for netclasses
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18609
2024-12-30 23:29:29 -05:00
Jon Evans
1a3e18104a API: Add access to project text variables
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16426
2024-12-30 09:32:11 -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
2c94684f9f API: Add a preferred plugin settings path
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9054
2024-12-28 16:21:05 -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
719f4eabd9 API: Add message skeleton for sexpr serialization 2024-12-01 15:50:40 -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
0d7588bdfb API: Improve handling of compound shapes 2024-11-28 17:58:23 -05:00
Jon Evans
32684decbb API: Move locking to the PCB text objects 2024-11-28 11:48:01 -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
07f0b096ba API: Move graphic shapes to common 2024-11-26 18:55:20 -05:00
Jon Evans
c0d43c0c0c API: Add serialization of FP_3DMODEL 2024-11-24 15:53:10 -05:00
Jon Evans
af91519e06 API: Implement Deserialize for ZONE 2024-11-23 12:06:54 -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
b44015e204 Add padstack copper offset to API 2024-11-17 23:56:11 -05:00
Jon Evans
cb06d750de Add trapezoid delta to the padstack API definition 2024-11-17 22:32:35 -05:00
Jon Evans
91db6e8aab Align API for padstacks with the actual implementation 2024-11-06 23:42:02 -05:00
Jon Evans
56e0811516 Phase 2 of padstack support
CHANGED: PCB file format now supports saving/loading complex padstacks

CHANGED: PTH pads are now rendered per copper layer in the copper color;
         the PTH pad color is no longer used.

ADDED: support for importing complex pad stacks from Altium PCBs

Enforce padstack-aware access to pad properties across KiCad

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8182
2024-10-01 19:55:03 -04:00
Jon Evans
284a760af7 Move more properties into PADSTACK 2024-07-20 17:48:20 -04:00
Jon Evans
f5e7c705db Move custom shapes to PADSTACK; support in API 2024-06-08 14:26:36 -04:00
Jon Evans
0b0a37aaf7 Move padstack serialization to PADSTACK
Also move a few more things from pad/via
2024-06-04 09:28:24 -04:00
Jon Evans
02ec894b83 Remove LIB types from API for now
All with the possible exception of LIB_SYMBOL are going away
2024-04-13 15:03:34 -04:00
Jon Evans
1dbe78c68b Add QA tests and expand serialization for API 2024-04-02 19:51:18 -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