-
Notifications
You must be signed in to change notification settings - Fork 1
Setup
-
Interpreter (tool to run the scripts):
- \Interpreter\XMLScriptInterpreter.exe
-
Main script (needed to create a BOM report and gives the possibility to enhance PartKeepr data):
- \Script.Project\Generate BOM.xml
-
Libraries (required libraries that contain most of the functionality):
- \Script.Common.Electronics\
-
Schema component mappings (needed to map symbols to componentkinds):
- \Resources.Project.ComponentMappings\
-
Batch file (easy way to startup the below BOM file):
- \Run ESeries.cmd
-
E-Series BOM (a generated BOM, with e-series of resistors, capacitors and zenerdiodes):
- \Resources.Project\ESeriesBOM.xml
-
Generate ESerie BOM (a script that generated the above BOM file with E-Serie values):
- \Script.Project\Generate ESerie BOM.xml
-
XML Schema's (handy when editing xml-files, if you keep the directory structure intact they will be found and used when your xml-editor supports them):
- \XmlSchemas.Common.XmlScript\
- \XmlSchemas.Common.CodeGen\
- \XmlSchemas.Common.KiCadBOMReporter\
Install a ODBC/OleDB Provider, for my database server I needed a driver from this location: https://downloads.mariadb.org/connector-odbc/
And setup a ODBC link using the installed ODBC provider to your MariaDB/MySQL database, best name it: PartKeepr like this:
By following these steps:
Alternative ways of connecting are possible, only a valid connectionstring needs to be provided. The main script has a inifile section for it.
The scripts shows in one of the report tabs what parts specifications are read. These specifications can be enhanced by:
- Adding inifile sections to the description of the category
- Adding part parameters (text or nominal value)
I will show how to make categories, which can be used to test with a E-Series BOM file. The end result looks like this:
Some categories have a functional ini-file like description, which are below:
[Resistor] should be the first line in the description.
Execute "Run ESeries.cmd"
KiCad expects a console application, so we start it via cmd.exe:
cmd /c start "XMLScriptInterpreter" "{your path}\XMLScriptInterpreter.exe" "{your path}\Generate BOM.xml" /var BomFilename "%I" /var ProjectDirectory "%O" /Execute
Kicad will keep waiting for the application to close, I did not find this very useful, so luckily there’s another way of launching the app via powershell.exe:
powershell.exe -command Start-Process -FilePath "{your path}\XMLScriptInterpreter.exe" -Argument '\"{your path}\Generate BOM.xml\" /var BomFilename \"%I\" /var ProjectDirectory \"%O\" /Execute'