Is there a way in PcbNew to define footprint properties in terms of, or relative to, other properties or parameters?
I started out working out my X and Y positions by hand, on paper. When that grew unmanageable I naturally reached for a spreadsheet. Now I'm considering using Python scripting to "update PCB from spreadsheet", but I'm new to the KiCad ecosystem and wonder if there's an existing idiom for this?
Here's my spreadsheet [1]. It's like a Component Placement (.pos) file (towards the bottom), but incorporating Excel formulas. Here's the same spreadsheet in Google Sheets [2]. My plan is to use the LibreOffice API to parse and evaluate the CSV, and PcbNew scripting to copy cells to footprint properties.
The formulas layout switches on a 36 key keyboard, some of which are relative to other switches, or depend on a rotation parameter. Here's a PcbDraw render of the board [3] which is an early work in progress.
[1] )%7D-,Designator,-Mid%20X
[2]
[3]