Fields Table improvements / BOM Generator replacement / etc.
Goal: Remove This Dialog
I am actively looking for input and plan critique. Bring your stones and get to throwing.
What I'm trying to do:
- Upgrade the Symbol Fields Table in general to fix multiple bugs / issues
- Reuse it to create a BOM generator
- Remove our current BOM generator
Where it's at:
Workingish:
- Rename Field
- Moving fields in the grid now just changes the data model and rebuilds the grid, so multi-select works right
- Presets (but not saving to JSON)
The intent is that the user saves one of their "views" of the schematic symbol data as a preset. When exporting the BOM, they can simply select one of the presets to generate their BOM in a desired format.
Stage 1:
- Figure out how/where we want to store these settings.
- Add an "Alias" or "Label" column to the fields ctrl grid, so we can change the output name of a field without changing its name
Stage 2:
- Integrate this with the CLI, etc. Currently all the code is in the dialog, we probably need to start teasing this out so we can generate the BOM without running the UI.
- Add support for PCM "Templates" so the user can install BOM generation templates for various assemblers
- Add more "CSV" control options. Yes, some people really want tabs or semicolons, let's give them to them.
Stage 3:
- Next layer of abstraction: convert decrepit PCB BOM generator to use a Footprint Fields Table or equivalent.
- Add Export preview tab.
- Add Export template tab. Imagine text boxes where you can add your own lines of header and footer text with support for user variables.
Stage 4:
- Project Fields Table. Ideally we would be able to generate an export that combines data from the schematic, PCB, database, etc.
I don't want to promise all of this is going to get done for 8.0. It may or may not. I think I can at least get stages 1 and 2 done, allowing us to remove the BOM generator python scripting mess that we have.