Properties Search / Parametric Search / Find Similar Objects
Description
We should expose the properties system in a searchable manner that allows selection operations (replace selection, add to selection, remove from selection) based on matching against properties. For example "select all vias with 0.25mm drill" or "select all tracks that are in nets named USB*
and are 0.15mm thick".
A MVP would be to expose a query GUI that allows writing properties queries that are evaluated via the expression engine that the new DRC system uses. This will involve minimal GUI work and a lot of flexibility. A simple history of MRU queries (stored in project file) would be useful without getting too complicated.
Later enhancements could include some kind of helper wizard to build queries.
This should get tied in to the custom DRC rules UI: it will be good to be able to preview a DRC rule you are writing by executing a "select + zoom to fit" on the query expression in a condition
clause, for example.
KiCad Version
Application: KiCad PCB Editor
Version: (5.99.0-10528-g6e017b475d-dirty), debug build
Libraries:
wxWidgets 3.0.6
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-72-generic x86_64, 64 bit, Little endian, wxGTK, ubuntu, x11
Build Info:
Date: May 8 2021 14:01:10
wxWidgets: 3.0.6 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
Boost: 1.71.0
OCE: 6.9.1
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_OCE=ON
KICAD_SPICE=ON
KICAD_STDLIB_DEBUG=OFF
KICAD_STDLIB_LIGHT_DEBUG=OFF
KICAD_SANITIZE_ADDRESS=OFF
KICAD_SANITIZE_THREADS=OFF