Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X
Hi
We have a requirement to stop traversing a structure in BOM report if the assembly has part type = inseparable or source=buy when generating a BOM report. The reason is that the buy or inseparable compoents does not have child components in ERP. Can this be done without major customizations?
Solved! Go to Solution.
Hi @Hari_Vara
Do you men this attribute?
because OOTB "Collapsible Assembly" does not exists on a WTPart in the PDMLink
If I set this attribute to yes, the report still shows the child components.
Multilevel BOM and Multilevel component report do the same as before the change
PS> it is related to BOM Transformer and Variants not the BOM Reporting.
Collapsible Attribute Set to Yes
Collapsible Attribute Set to No
PetrH
Hello @Pekholm
the system allows you just exclude a gathering parts from the report by preference Filter Gathering Parts
As I know there is only a way and it is customization.
for your interest following classes could be customized to achieve what you really need.
MultiLevelBOMReportTreeBuilder.class
PartReportTreeHandler.class
You can extend MultiLevelBOMReportTreeBuilder class with own one and overwrite buildComponentData
public Object buildComponentData(ComponentConfig var1, ComponentParams var2) throws Exception {
return new PartReportTreeHandler(var2);
}
In the MultiLevelBOMReportTreeBuilder buildComponentData is a PartReportTreeHandler where the BOM is collected.
I would create new class, extend the PartReportTreeHandler and rewrite a getNodes where you can filter the children if the parent is your specific type
public Map<Object, List> getNodes(List var1) throws WTException
in the method getNodes you would find a place where you can add the condition.
PetrH
Hello Per,
Glad to hear from you again , would you try to set filtering in PSB before generating the BOM report
Hi @Fadel
I guess that inseparable is set on the assembly, which should be part of the BOM report. but used parts on the lower level of that assembly shouldn't be part of the BOM report.
I know the case and I don't think it is possible to set it by the filter.
One our customer needed same report with different conditions.
I wrote own BOM report for him.
example what I understood
PetrH
Hi,
Will this not completely skip the InSeperable part?
Thanks & Regards
Hari
Hi Petr,
Yeah, thats my point. I think the requirement was to "Collapse" the child parts and just show the parent part . here it is not showing the parent part.
We call this as Collapsible Assembly.
Am I missing something?
Best Regards
Hari
Hi @Hari_Vara
I guess that you miss my point.
System does not support that feature.
You need to customize it by code.
In my previous post I showed a picture with my understanding.
PetrH
Hi
Thanks för your inputs. Yes, I tried to colapse child components by attribute filering which seems to give correct result. However, when generating the multi level component report, the assembly note is not reported. The report does not treat the assembly with hidden children as a component.
Yeah. multilevel component report
it is different story 😄
It really reports only the lowest children and it does not care about the upper assembly(nodes).
It can be customized
I have seen a configuration for dynamic structure visualization where you could define a logic where the visualization should be picked up from. It could be based on node, part or assembly and also type or attribute value atc.
But it is different story it is not about reporting.
PetrH
Hi,
Please set the parent part attribute "Collapsible Assembly" as Yes and redo the BOM Report.
It should meet your requirement I think.
Best Regards
Hari
Hi @Hari_Vara
Do you men this attribute?
because OOTB "Collapsible Assembly" does not exists on a WTPart in the PDMLink
If I set this attribute to yes, the report still shows the child components.
Multilevel BOM and Multilevel component report do the same as before the change
PS> it is related to BOM Transformer and Variants not the BOM Reporting.
Collapsible Attribute Set to Yes
Collapsible Attribute Set to No
PetrH
Hi Peter,
Yes you are right, I completely forgot that it is used in Variant BOM generation where we have Collapsible Middle nodes.
However, I think his requirement was to Show only the Parent part (For eg., Bought out Motor), for which the Spindle and Cage have CAD content.
I would suggest, if there is CAD Models for the Parent and child parts in question, then we can set the Attribute called "Part Structure Override Attribute" (A Boolean that tells Windchill if it needs to build a WTPart for that CAD or not).
If @Pekholm can elaborate if he is working with or without CAD linked BOM, accordingly, The above approach can be applied.
For CAD Linked BOM, it will surely work - Setting the Attribute.
First you need to Declare that CAD Attribute which will define this in Preferences.
Please look in the help.
Best Regards
Hari
Hi @Hari_Vara
You right. the Part Structure Override Attribute is good way, but if the BOM exists, it can not help.
This is good for a methodical process, how to design a CAD and how to drive a WTPart BOM.
You can set a usage Boolean attribute and the CAD can be linked to the WTPart. but based on usage attribute the wtpart would not be part of the BOM.
This is a way, but you need to start with CAD, correct configuration and an users methodical work
PetrH