Skip to content

Pbnew Python API: Cannot to set board design settings

Description

In KiKit we create a panel of boards. To ensure the same DRC and board settings (e.g., clearances, board thickness, etc.) KiKit uses functions BOARD::GetDesignSettings and BOARD::SetDesignSettings to copy the settings from the source board to the empty BOARD object, where the panel is constructed.

I just noted that the function BOARD::SetDesignSettings is missing in nightly. I studied the source code and I understand, that the settings just moved to project settings, and therefore, the design settings are populated from that. However, I wasn't able to find out, how to copy the design settings from the source board to the target board.

How should we copy design settings between BOARD objects via Python API? Is this functionality gone or do I just miss the proper way to do this?

PS: I am not sure if an issue is the right channel for my question/possible report (as it might not be a bug), but I wasn't able to find a better one.

Steps to reproduce

  1. There are no steps to reproduce

KiCad Version

Application: Pcbnew

Version: 5.99.0-unknown-8ad89ae457~106~ubuntu20.04.1, release build

Libraries:
	wxWidgets 3.0.4
	libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3

Platform: Linux 5.4.0-58-generic x86_64, 64 bit, Little endian, wxGTK, regolith, x11

Build Info:
	Date: Dec 25 2020 10:19:37
	wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
	Boost: 1.71.0
	OCC: 7.3.0
	Curl: 7.68.0
	ngspice: 31
	Compiler: GCC 9.3.0 with C++ ABI 1013

Build settings:
	KICAD_SCRIPTING=ON
	KICAD_SCRIPTING_MODULES=ON
	KICAD_SCRIPTING_PYTHON3=ON
	KICAD_SCRIPTING_WXPYTHON=ON
	KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
	KICAD_SCRIPTING_ACTION_MENU=ON
	KICAD_USE_OCC=ON
	KICAD_SPICE=ON