AnsweredAssumed Answered

Fully Nested Top Assembly BoM from EPDM (For Costing)

Question asked by Guy Edkins on Mar 17, 2017
Latest reply on Oct 6, 2017 by Dawn Widas

Wanted to start a discussion that may have been tossed about before so forgive me if it has and point me to the thread(s).


Years ago (2003, i.e. before the Doc Manager) I developed a pretty complex Excel based tool that when pointed at an in-memory SW assembly it would recursively walk the entire tree of the assembly and tabulate all sorts of data and custom properties as it went. Ultimately it poured all that data into a single spreadsheet where the first sheet was the Top Assembly and each row represented an item therein. Each subsequent sheet represented each found subassembly. The last sheet was an Item Master List with a costs in it that backed filled up the tree, i.e. change a price in the Item Master and it rolled up to the top. Files were hyperlinked via UNC so users could view files directly through the spreadsheet, one could quickly traverse the entire tree with context sensitive right clicks, etc. This tool is still in use today at many companies I consulted for. All before the days of integrated SQL tools.


It has one significant drawback - speed! It has to work on the SW assembly while in memory (that can be awhile to open) then walking the tree in VBA, well let's just say that I have seen it run all night to build a 20,000 part assembly!


So here is the question - is there something that could be done in the EPDM API that could recuse down through all levels of an assembly not just one level as is typical of the EPDM BoM tab and thus generate a similar output?  Are there stored procedures I can call in EPDM SQL to do this, i.e. keep handing in the tree's sub-assemblies. If you have done this, can you point me in the right direction. I am trying to reduce run-time to a few seconds versus hours and the tying up of SW license. My sense is this can be done, but before I recover known ground I thought I would ask the group.


Sample of original Excel output here:


Excel BoM.png