Interactive BOM For Eagle

Interactive BOM For Eagle

sdalling
Advocate Advocate
17,291 Views
46 Replies
Message 1 of 47

Interactive BOM For Eagle

sdalling
Advocate
Advocate

I ported the Interactive BOM plugin for KiCAD to EagleCAD.  A demo of the plugin working for KiCAD is here. I'm currently looking at getting some feedback on my port to EagleCAD.

 

To use the plugin, run the ibom.ulp within your board file. This will result in a 'pcbdata.json' file being generated. It will be placed in the same folder as your pcb file.

 

Copy this file to be in the same folder as the following files

1) ibom.html

2) index.css

3) index.js

 

Then double click on ibom.html to start the application. This will open your web browser with interact BOM being the focused window.

Its a little rough around the edges in some places, but im working on fixing those (support for rectangle types, bounding box on selected parts sizing). If there are issues feel free to leave comments here or to report errors on my fork of the project on github.

 

17,292 Views
46 Replies
Replies (46)
Message 21 of 47

sdalling
Advocate
Advocate

Another user ran into this same issue. The error seems to be caused by parts that contain quote characters.This is fixed and scheduled for release in the next week or so.

 

For anyone else who experiences this. The back end of iBOM used JSON. The original ULP simply sumps parts name, value, and attributes even when they contain " characters. The problem with " characters is that they cause JSON to be invalid. In the upcoming release I now remove " characters from Eagle parts as the JSON file is generated.

Message 22 of 47

Anonymous
Not applicable

@sdalling Wow, this is awesome! Thank you very much for doing all this! 🙂

Couple of additions I think would be cool:

  • Do you have plans for the pads be drawn like they are in Eagle? For example, vias for through-hole components and pads for SMD components? 
  • Would it be possible to choose what layers the silkscreen draws? For instance, adding tNames / tValues etc.

 

0 Likes
Message 23 of 47

witawat57
Advocate
Advocate

have new version update ?

0 Likes
Message 24 of 47

sdalling
Advocate
Advocate

Not currently. Been to busy with many other things to focus on this. An updated version with many enhancements is in the works and I will be opening up for testing soon. 

 

 

Message 25 of 47

Anonymous
Not applicable

Has anyone noticed an issue using Interactive BOM v1.6 with Eagle 9.5+ and macOS 10.15+?  The ULP seems to work (pcbdata.json looks fine as far as I can tell) but nothing gets populated in the web browser when I bring up ibom.html.   

Message 26 of 47

Anonymous
Not applicable

Yeah I use it still works fine for me. You should post on the github, OP has abandoned it, but we can get some issues and forks going

0 Likes
Message 27 of 47

shaische222
Advocate
Advocate

Any updates to this so it's compatible with latest Eagle?

0 Likes
Message 28 of 47

sdalling
Advocate
Advocate

Can you clarify what you mean by not working? As far as I know this should work with the current version of Eagle.

0 Likes
Message 29 of 47

shaische222
Advocate
Advocate

I just tried it and a few things:

 

1. It seems the json got generated and placed in the applications folder for me.

2. The filter and ref fields don't actually filter anything. It just empties out the table and shows nothing.

3. It seems the value field is being pulled from the footprint field? Not actual values

4. I was REALLY hoping I could view it so that it shows table rows by VALUE sort of how Eagle can output BOM and group each row by similar values. This way I select one value in the row and it highlights all matching resistors with that value on the board rather than highlighting each resistor one by one.

0 Likes
Message 30 of 47

sdalling
Advocate
Advocate

I'll try and answer each of your comments.

1. Output o the json file can be adjusted by using the GUI that opens up and selecting an output directory.

2. I don't quote know what you mean here.  When I type into the filter field, the table is modified and highlights anything that matches. If nothing matches then there are no entries.

3. The value field is pulled from the value.

4. You can use the gear icon in the top left to adjust a lot of the behavior. One setting here is a "Group By". This will allow all parts with the same value to be grouped together. Then clicking that entry in the table will highlight parts on the PCB.

 
 
0 Likes
Message 31 of 47

shaische222
Advocate
Advocate

See attached screenshots. I'm using latest Eagle. The value field isn't getting pulled from value. It's a footprint name and you'll see typing CD75 and 22UH for first component listed, isn't showing up. Nothing shows up. Also I cannot see any option to group by value to highlight all similar components.

 

screenshot_673.png

screenshot_672.png

screenshot_671.png

   

0 Likes
Message 32 of 47

Anonymous
Not applicable

Does not work with Eagle 9.6.2

 

The json file is created but ibom.html is just empty. The buttons dont do anything (even dark mode does not change anything)

Chrome 87.0.4280.88

ibom V1.6

0 Likes
Message 33 of 47

sdalling
Advocate
Advocate

There is a small bug in the EagleULP that is causing this for some designs. Mainly the JOSN generated can be invalid in some specific cases which causes the HTML to die when the JSON file is loaded.

 

I am close to releasing an updated version (within a couple weeks), that will resolve this issue and add a few more features as well.

Message 34 of 47

sdalling
Advocate
Advocate

I have just released the first release candidate. The new release changed a lot of the backend, so a new JSON file will need to be generated. 

 

There are still many items that need to be included, modified, or cleaned up, but this release has incorporated some significant changes.

 

Any feedback, requests, or comments are much appreciated. Don't be afriat to  create a GH Issue.

0 Likes
Message 35 of 47

Anonymous
Not applicable

Thats awesome, I wish Eagle had similar features out of the box.

0 Likes
Message 36 of 47

iquacker
Advocate
Advocate

Hi Sean,

 

I've been out of this loop for some time. Can you please tell me where to download the latest version?

 

Thanks for all your effort!

Q

0 Likes
Message 37 of 47

sdalling
Advocate
Advocate

For now, you will need to download the entire repository.From there the folder "Release" contains zips of all the releases for this program.

 

Unzip V2_0_R1.zip. This file contains all of the files required. Extract all files to the same location.

 

To use the program, call ibom.ulp within EagleCAD PCB mode. Doing so will have EagleCAD ask where the output file should go. Select the folder that contains ibom.html, index.css, and index.js. Once the ULP runs, the folder should contain the following four files

1) index.js

2) index.css

3) ibom.html

4) pcbdata.json <- generated by ULP

 

Next click on ibom.html and that will open the program in a browser.

 

For RC2, I plan to simplify these steps. Trying to get that out this weekend, along with some additional changes.

0 Likes
Message 38 of 47

decee.server
Enthusiast
Enthusiast

I downloaded and gave it a try.
I found 1 thing really annoying, which is in my case i always use device as my MPN for devices and not the value.
Is it possible to change or add "device" to the list? Or just completely replace value or footprint with library device name? 

0 Likes
Message 39 of 47

sdalling
Advocate
Advocate

This would be possible. Is there an example if what you you are looking for. I can roll the update into the new release. 

0 Likes
Message 40 of 47

decee.server
Enthusiast
Enthusiast

I'm not sure what example i should be able to provide
I want to use these model numbers, which is from a library. 

deceeserver_0-1630319620710.png

 

0 Likes