Can we add an option to choose default BOM generation method in schematic editor

Hi all,
In KiCAD 8.0 version and later, we have 2 methonds to generate BOM-- legacy method and new method.

The new BOM generation is friendly for fresh man for KiCAD but not flexible.

The legacy methond a very power full and flexible way to generate BOM, working together with KiBOM script, I can achieve a lot functions for generating BOM( for example, xlsx format BOM).

So I always want to use legacy BOM generation method instead of new methond, but currently the bom generation icon on the tool bar is using new BOM generation methond and it can’t be modified, it’s not convenient for me, mayble also for a lot of people.

So could we have an option to choose default BOM generation method for the icon in tool bar, or just like some icon in PCB editor to combine these two methond in one icon?
image

Application: KiCad PCB Editor x64 on x64

Version: 8.0.3, release build

Libraries:
wxWidgets 3.2.4
FreeType 2.12.1
HarfBuzz 8.3.0
FontConfig 2.14.2
libcurl/8.5.0-DEV Schannel zlib/1.3

Platform: Windows 11 (build 22631), 64-bit edition, 64 bit, Little endian, wxMSW
OpenGL: ATI Technologies Inc., AMD Radeon™ Graphics, 4.6.0 Compatibility Profile Context 24.3.1.240216

Build Info:
Date: Jun 3 2024 19:04:47
wxWidgets: 3.2.4 (wchar_t,wx containers)
Boost: 1.83.0
OCC: 7.8.1
Curl: 8.5.0-DEV
ngspice: 42
Compiler: Visual C++ 1939 without C++ ABI

Build settings:

If you really want this, you should submit a feature request to the KiCad Gitlab. (This forum is primarily for users supporting other users.) The easiest way to go about that is to open KiCad > About KiCad > Report a Bug. The button automatically opens a new Gitlab issue in your browser with the template partially filled in.

That being said, I will be surprised if there is interest in making that button available. Part of the point of the legacy labeling (and the relegation to a menu item alone) is to encourage people to move to the new BOM system (or the CLI system). If there are specific features missing from the new BOM system to improve the flexibility you mentioned, you might consider discussing those as a separate topic/issue.

Note: I am not a developer.

Hi Scandey,
Thaks for you reply.
I will give you 3 points that why I need legacy method of BOM output:

  1. The new method can’t export to xlsx format, which is the best BOM format for me and PCBA supplier.
    Maybe you will say csv format is also very popular, but unfortunately, the MS office’s Chinese character support is very bad in csv format, but in xlsx format there is no issue on it. I know it’s not KiCAD’s issue( and it’s MS office’s issue), but currently the best solution for us is to epxort BOM format as xlsx file format using legacy method and KiBOM plugin.
    2.New methond can’t support variant system which is very import for me. Using legacy method and KiBOM, I can achieve variant function easily.
  2. I have asked some body in form to have a very useful plugin to analysis test point using legacy method, here is the post:
    Could anyone have a python script to export the relationship between net and test point - Schematic - KiCad.info Forums

And this plugin is very useful for me, it saves me a lot of time during my work, and I think this is the best plugin for me to analysis test point, much better than Orcad/AD…

So for me, the legacy method of exporting BOM is very important for me, I always want to use legacy method instead.

1 Like

Thank you for thinking this through with me! Obviously you need the legacy XML netlist generator (labeling it BOM generator is somewhat confusing) for the forseeable future, but it is interesting to look at what aspects of your workflow could be shifted into KiCad.

I’m curious if the CSV character support issue is related to this existing issue: Add Unicode byte order mark (BOM) on exported text and CSV files (#17063) · Issues · KiCad / KiCad Source Code / kicad · GitLab on Unicode byte order marking. That may be worth giving a “thumbs up” to, even if it alone does not fix your workflow.

Regardless, you can certainly put in a feature request for .xlsx support in the new BOM system! The worst that happens is the core dev team says no, we don’t want to support a proprietary file format.

KiBom’s variant system is very cool! I’ve used it in the past for specific boards. There is an old feature request on Gitlab to support variants in KiCad directly here: Create a PCB assembly variant system (lp:#1767218) (#2131) · Issues · KiCad / KiCad Source Code / kicad · GitLab I’d encourage you to give it a “thumbs up” as well, though I wouldn’t hold your breath on seeing it implemented soon. Sounds like that issue could be a “blocker” for removing the legacy XML netlist exporter entirely, since KiBom is important to your workflow.

The test point plugin is also neat, I missed that entirely. I suspect that kind of script would probably be implemented in plugin form in the future, rather than taking the netlist XML output. But that is probably blocked by needing a stable API to depend on: Schematic Editor Python API (#2077) · Issues · KiCad / KiCad Source Code / kicad · GitLab

The legacy method probably won’t stick around forever.

It would be best to report issues with the new method and point out what features you are missing. We need to add those features to the new system rather than making it easier to keep using the legacy system.

1 Like

Hi Scandey,

I know that if I want a feature I need to create a feature request and wait KiCAD develope team to develope it, or if someone has create a request I need to thumb it up.

But sometime I need to wait a long time after a feature request has been created.

The variant system is an example. The variant system feature request was created 6 years ago and a lot of people has thumbed it up, but until now, no one is working on it, no plan to achieve it, nobody knows when we can have variant system in KiCAD, although this is a very important function and most of modern EDA system has this function.

This is not a compliant, I can understan KiCAD develop team has their own consideration and their own roadmap, so current status is acceptable for me.

The only thing I wonder is: why we must remove legacy method of BOM generation, why we can’t have these 2 BOM generation methods in parallel and let the end user choose it freely.

1 Like

I guess that eventually BOM output will be handled by the CAM manager. But that’s another feature request (22 up votes) that has been open for a considerable time (February 2019).

I also have a guess that running custom scripts in the CAM manager would be a logical part of such a feature.

If you’re curious about statistics.
Each month between 200 and 300 issues get opened and closed / fixed each month:

You can also sort issues by creation date. The oldest open issue is for Pin/Gate swap and opened in 2007. (But there are not many issues over 10 years old).

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