Showing results for 
Search instead for 
Did you mean: 
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Learn all about PTC Community Badges. Engage with PTC and see how many you can earn! X

Windchill BOM Reports -


Windchill BOM Reports -

I would like to have a BOM report of all components (parts and assemblies) with quantities aggregated. Anyone have thoughts about how to implement such a report or any product futures that might include this? 


For now, we are using VBA in Excel to do this which is functional, but tedious each time it needs to be generated. 


Current Windchill Structure Reports , only offer:

  1. Multi-Level Component List. Aggregates quantities, but skips assemblies.
  2. Multi-Level BOM. Shows structure and all assemblies, but would not aggregate the quantities (e.g., a screw could show up multiple times under different assemblies.)

I've implemented a new report in that drop down for many releases now. It used the Multi-level Report as a base but only went down 1 level. The reason is I wanted replacements to appear as I was able to add describing documents table as well as a nice header and make the **bleep** thing printable.  It was a PITA but doable. At Once you get the mechanics of the JSP worked out and the action appearing, you will likely have to extend MultiLevelBOMReportTreeBuilder or some variant. I would start with the one that does the Multi-Level Component List tree traversal. You would need to alter its logic to include assemblies.  Note that this report, I have see cases were if the units do not match, you get duplicate lines since it does not know how to add them. Second, you might want to consider blocking some traversals. For example, we've added "ref" as a unit which means just that, its not part of the BOM, just a reference. For example, tooling and figuring assemblies could be noted on a BOM. Since Windchill does not know to ignore it, it will add to the component list and traverse it. I would like mine to not traverse those branches.

Here is how in the JSP file I stopped it from traversing beyond first level:

// Hardcode levelLimit to single level

//Data to transfer to PartReportTreeHandler for processing
m.put("levellimit", SINGLE_LEVEL_TRAVERSAL_DEPTH);
m.put("isMultiLevelBOMWithReplacement", isMultiLevelBOMWithReplacement);



Is this what you are looking for?

I wrote a utility that given a WTPart or EPMDocument will go through the entire multi-level structure and sum the quantities of each Part or component in the structure.


Once you have the information where is it going?

Do you use it for something that is done in Windchill or is the data passed on outside of Windchill?


How do you want to trigger it? Do you key off an event or just whenever run it manually?


The utility could be expanded to write the output to a files and even attach the file to the top level object.

An action could be added to the WTPart actions menu that could be used to trigger the utility as well.


For ease of reading the output is sorted.

When run from Windchill the output is Number Qty and looks like this.

CAD Structure has skeleton models excluded.



Part Structure



CAD Structure




Top Tags