Schrodingers' BOM Plugin

The plugin in object looks fantastic but not so easy to use.

The 1st question is closed. I realized that I misundrestood the “fit_field” name. In fact this parameter is the name of a field in eeschema as well as the corresponding column header is “config”. Hence when the field contains the keyword, it’s not listed, provided that “ignore_dnf” = 1.

1- I can’t manage to understand how the “dnf” value in the fit_field is working. I created some additional fields in eeschema (5.1.4 release under Win 7), which I tried to fill with:

dnf, -
dnf -

with or without quotes, grouping or not.
Additionnally, i put the same strings under the fit_field value in the .ini file, whatever the ignore_dnf value is, the corresponding lines are still there in the generated html BOM file.

2- It seems that there are two different configuration files, a .ini and a .cfg.
Are they the same ? Where are they supposed to be ?
still open while “Is there a relation between the .cfg file and the default “config” value for the fit_field” is closed. “config” being an eeschema field name.

3- What’s the purpose of “alt_wrap” ?
Same question for “hide_headers” and “hide_pcb_info”, the html files look the same whatever the value is false or true.

4- Is it possible, with the same .ini file, to generate two files at the same time, one in html format, the other one in tsv format ?
I saw somewhere tre response but I’ve to give a try.

5- In the event I need to manage several variants of the BOM, either with all the parts, including panels, heatsinks, cables, … or the PCB supporting the pre-mounted ones only or the PCB alone, how should I configure the .ini file?
I saw somewhere tre response but I’ve to give a try.

Questions 2 and 3 remain open.

Thanks for your patience.
PS sorry for the bold characters, I can’t remove the grease.

Thanks to Rene for the correction.

@SchrodingersGat was last seen yesterday so you might be lucky that you get an answer by the man himself.

You had a lone minus “-” in a newline which makes the previous paragraph bold and large (it is one way to make a header)
i formatted your “code” as preformatted text to remove this issue.


Where to find the information how KiCad forum interprets text. I found for example that if I use ‘-’ at line beginning it is changed to:

  • first point
  • second point

Then I have to left one line empty to cancel the indentation. It is all I know about formating text here til now :frowning:

The input field has a few buttons above it, these should already be a starting point. The rest is trial and error derived from githubs markdown syntax.

I’m blind. Never noticed them :slight_smile:

3- What’s the purpose of “alt_wrap” ?
Same question for “hide_headers” and “hide_pcb_info”, the html files look the same whatever the value is false or true.

alt_wrap truncates long lists of reference designators in the BOM - this was user-contributed feature which I have never made use of.

hide_headers and hide_pcb_info should work for the HTML output.

2- It seems that there are two different configuration files, a .ini and a .cfg.
Are they the same ? Where are they supposed to be ?

Can you show me an example of a .cfg file? I’m not sure what this is. The .ini file contains the BOM output preferences (as documented on the github page).


1 Like

Thanks for your reply.
I tried again these parms, with the same observations !
What do you call reference designators ? the items in column “references” ?
I put alt_wrap to 2 and the lists are the same.

Concerning hide_headers and hide_pcb_info, false or true are resulting in the same aspect:

I have no example of a .cfg file, it is mentioned in the on github but not clearly explained.
For the moment, I’m using the BOM.ini within the project directory. I don’t know if this is a good idea. What’s the interest to have a .cfg file ? OR I’m confusing with the name used in the file as already I did with fit_field.

Great plugin however. Regards

This morning I continued the debugging of my BOM. The sheet contains two versions 5V and 12V
Same flags preceded by " - " in the config field allow to differenciate the variants.

When running the script with -r 5V or -r 12V, it was impossible neither to eliminate the 5V lines nor the 12V ones.

I tried letters only: " -five " and " -twelve " (without the quotes). It worked with -r twelve and -r five. However it’s still not clear if the space is needed after " -r ".

I replaced then the minus sign by a plus one. I was hoping that -r five would generate a BOM with the 5V lines only plus the other not flagged ones. It wasn’t the case.
Please, may you clarify the use of the -r flag, the examples provided in the are highly confusing. There’s something like a boolean operation that I can’t manage to understand.
Thanks again in advance for your help.

OK, today, I spent my whole time to troubleshoot my use of your plugin.
I’m just about to give up. Too many things are either incompletely or badly documented, especially quotes and double quotes if needing to be typed or not.
Examples regarding options are confusing too:
"e.g. if we have a PCB with three components that have the following values in the fit_field field:

C1 -> "-production,+test"
C2 -> "+production,+test"
R1 -> ""
R2 -> "-test"

If the script is run with the flag –variant production then C2, R1 and R2 will be loaded.

If the script is run without the –variant production flag, then R1 and R2 will be loaded.
IMHO, without the variant production is equivalent in the context to without any variant. Consequently, it should output all the lines. If I’m wrong, this needs to be strongly clarified.

The conclusion of all my tests is that It doesn’t work when config lines are either preceeded with a + or nothing. It doesn’t work when there’s a number in the flag.
It only works on entries preceded with the minus sign, containing letters only.

About the other questions, It does not work the way it should with hide_headers = true, and/or hide_pcb_info = true
alt_wrap = a-number is no effect. I tried 1,2,5,10,50
use_alt = 1 easily generates errors as soon as there’s a syntax error somewhere. It doesn’t like " ° " nor " ² " (^2)
It generates conflicts when different comments are attached to same labels with same references but different use.
If I want to get the list of the version 12V excluding the external parts, I have to put -r five,external
to eliminate all the external parts and the 5V dedicated ones.
so the filename will contain the reverse I’d like it shows ! Nonsense.

Hi @petra some of the issues should have been resolved in (namely the hide_headers and hide_pcb_info bugs).

I’ll have to look further into the variant issues. Sorry that it’s proving so difficult!


Thanks for the feedback.
I remarked that some of my issues came from the field syntax. For example, kicad is happy with parts named xxx.01, xxx.02. Your pluggin is a lot more restrictive. I think this would be a good start point. Let us know what the accepted syntax is. We’ll deal with it as far as possible. Possibly a good syntax would eliminate some of the hard spots.

it works perfectly !

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.