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

The PTC Community will be on read only status starting March 23rd in preparation for moving our platform to a new provider. Read more here

Translate the entire conversation x

Excluding a component from Windchill WTPart Structure

N-Pyn
15-Moonstone

Excluding a component from Windchill WTPart Structure

Version: Windchill 12.0

 

Use Case: In some cases, we need to add a model in an assembly just for reference or space claim reasons and we do not want the WTPart associated to that reference model to show up in the Windchill WTPart structure and therefore end up to ERP BOM.


Description:

What is the recommended/best practice for excluding items from WTPart structure?

I thought that the preference "Part Structure Override Attribute Name" would be the way to do this, as the description for that preference says that it "Identifies a boolean soft attribute name that determines if the CAD document participates in build. This soft attribute can be on: iteration, master, member link, model item, or model item link. This soft attribute also determines whether to autoassociate the model to a part."

 

So I created a reusable boolean attribute, added it as a global attribute to the "CAD Document Uses Link" type and inserted the internal name of that attribute to the preference.

 

Then I created an assembly in Creo, added few components to it, added a designated component parameter to one of the components with boolean value YES on it and checked the assembly in.

 

I can see on the CAD assembly in Windchill that the designated component parameter ended up on the usage of the component in the assembly successfully, but that item is included in the WTPart structure. I also tried to add the attribute to the Part Usage type to see if it propagates from the CAD usage to the corresponding Part Usage during build, but for some reason it is not doing that. I also tried to set the preference EPM Service Preferences > Build Service Preferences > Attributes to be published on Occurrence to * just in case but that did not help.

 

So have I misunderstood something about the Override Attribute preference or have I once again been bamboozled by PTC describing functionalities that do not actually exist?

 

How are people using Creo + Windchill and WTParts handling this use case? Just by removing the unwanted WTPart manually from the WTPart structure after check in?

ACCEPTED SOLUTION

Accepted Solutions
N-Pyn
15-Moonstone
(To:joe_morton)

I tried having the CAD Usage parameter coming from Creo with different name as the one which disables item creation but it did not help. I cannot seem to figure out what is wrong with my setup.

So first of all, I have created a reusable boolean attribute DISABLE_WTPART:

NPyn_0-1769423831483.png

Then I have used that for disabling WTPart auto-association for CAD models which do not need WTParts. So I have added that attribute to the CAD Document type:

NPyn_1-1769423936477.png

And I have set the preference to look at this attribute for overriding auto-association:

NPyn_2-1769423981899.png

This all works just fine.

So then I started to configure the BOM exclusion feature for CAD usages in assemblies. First I added the attribute to the CAD Uses Link type:

NPyn_3-1769424202088.png

It uses the same Reusable attribute DISABLE_WTPART but is linked to Creo parameter BOM_EXCLUDE instead.
Then I added the same attribute to Part Usage type just in case:

NPyn_4-1769424307733.png

Then I set the Build Service Preferences so that all the attributes on Links and Occurrences are published:

NPyn_5-1769424379773.png

So now it all should work. I open Creo and add the component parameter BOM_EXCLUDE to a component in an assembly and designate it:

NPyn_6-1769424523381.png

Then I check in the assembly, and the parameter value successfully goes to the CAD document usage in Windchill:

NPyn_8-1769424852574.png

 


But the item for the excluded component is still there (and the attribute value also):

NPyn_7-1769424637547.png


I just noticed that we have a Custom Class for Auto Associate Part created by a subcontractor. Is it possible that it is not handling the override preference properly? I don't have access to our Windchill server so I cannot check the code myself. Or is there some way to inspect the code via the UI?

 

View solution in original post

16 REPLIES 16
TDT
16-Pearl
16-Pearl
(To:N-Pyn)

Hi @N-Pyn,

 

When you say model, do you mean a CAD model?
Are you looking to keep it only as a reference CAD model and not display it in the part structure?

N-Pyn
15-Moonstone
(To:TDT)

Yes, CAD model.

I want to use a CAD model in a CAD assembly without it being included in the WTPart structure associated to the CAD assembly.

N-Pyn
15-Moonstone
(To:TDT)

Here is what I have in Creo:

NPyn_0-1769002136566.png

Then after check in, I can see the component parameter successfully sent to Windchill in the CAD usage link:

NPyn_1-1769002275325.png

But still the WTPart structure includes the associated item:

NPyn_2-1769002403137.png

 

TDT
16-Pearl
16-Pearl
(To:N-Pyn)

Hi @N-Pyn,

If the requirement is that the CAD model should not be linked to any WTPart, then the Auto-Associate option must not be used during check-in.

Currently, Auto-Associate appears to be enabled, which is causing the system to create a link between the WTPart and the CAD document.

To avoid this association, please check in the CAD model with Auto-Associate disabled.

N-Pyn
15-Moonstone
(To:TDT)

The CAD model is and should be linked to a WTPart. I need the WTPart to be omitted from the assembly item structure just for this occurence, because it is in that assembly model used only as a reference.

 

And if I would not want it to be linked to a WTPart, I would use the parameter defined in the "Part Structure Override Attribute Name" preference to disable the auto-association just for that part. I would not disable auto-associate because my users will have some other parts that should be linked to WTParts.

ScottMorris
17-Peridot
(To:N-Pyn)
N-Pyn
15-Moonstone
(To:ScottMorris)

Gathering or Phantom parts do not solve this issue as I need the part to be omitted from the structure only in specific BOMs, so the attribute needs to be on the Usage Link. Gathering and Phantom attributes are on the Part Master.

Also Gathering Part is next to useless function also in it's intended use case because it is not handled properly by the ERP Connector. But that is a whole other matter:
https://community.ptc.com/t5/Windchill-Ideas/Gathering-parts-support-in-ESI/idi-p/464177

We use a method that sounds really similar to what you're doing. I'm sure you used this guide: https://www.ptc.com/cn/support/article/CS268136?art_lang=en

 

I don't know if it matters, but we have internal name "NO_PART" for both of the uses indicated there. We used a different display name to help our users, and used this mapping for the part occurrences: 

 

joe_morton_1-1769013697792.png

 

Our most recent update was adding a mapkey so users can select the part instance they want to exclude, and it goes through the steps of setting the boolean and marking it as Designated.

N-Pyn
15-Moonstone
(To:joe_morton)

Okay, so that function should work as I thought it would. What version of Windchill do you have?

 

I'll have to check my settings again and make sure that everything is properly configured.

We're on 13.0 now, but we've had this working going back a few versions. 

N-Pyn
15-Moonstone
(To:joe_morton)

I tried having the CAD Usage parameter coming from Creo with different name as the one which disables item creation but it did not help. I cannot seem to figure out what is wrong with my setup.

So first of all, I have created a reusable boolean attribute DISABLE_WTPART:

NPyn_0-1769423831483.png

Then I have used that for disabling WTPart auto-association for CAD models which do not need WTParts. So I have added that attribute to the CAD Document type:

NPyn_1-1769423936477.png

And I have set the preference to look at this attribute for overriding auto-association:

NPyn_2-1769423981899.png

This all works just fine.

So then I started to configure the BOM exclusion feature for CAD usages in assemblies. First I added the attribute to the CAD Uses Link type:

NPyn_3-1769424202088.png

It uses the same Reusable attribute DISABLE_WTPART but is linked to Creo parameter BOM_EXCLUDE instead.
Then I added the same attribute to Part Usage type just in case:

NPyn_4-1769424307733.png

Then I set the Build Service Preferences so that all the attributes on Links and Occurrences are published:

NPyn_5-1769424379773.png

So now it all should work. I open Creo and add the component parameter BOM_EXCLUDE to a component in an assembly and designate it:

NPyn_6-1769424523381.png

Then I check in the assembly, and the parameter value successfully goes to the CAD document usage in Windchill:

NPyn_8-1769424852574.png

 


But the item for the excluded component is still there (and the attribute value also):

NPyn_7-1769424637547.png


I just noticed that we have a Custom Class for Auto Associate Part created by a subcontractor. Is it possible that it is not handling the override preference properly? I don't have access to our Windchill server so I cannot check the code myself. Or is there some way to inspect the code via the UI?

 

PW_13381220
5-Regular Member
(To:N-Pyn)

I think the Custom Class is definitely the culprit.  If it's overriding the OOTB algorithm for Auto Associate Part then it may not be honoring the preferences as you said.  This will be hard to investigate unless you have access to the code.  You could try to turn on loggers but it may be difficult to turn on the correct ones.

 

Your above procedure seems correct although I would have defined a different Reusable Attribute for the BOM exclusion but that is probably ok the way you've done it.

N-Pyn
15-Moonstone
(To:PW_13381220)

Yeah, I'll have to contact the subcontractor about that customization they made.

But regarding using the different Reusable Attribute, I don't think I could do that because we also have need for the "normal" function of the Part Structure Override Attribute (driven by DISABLE_WTPART CAD parameter). Or can that setting look at multiple different reusable attributes at the same time?

PW_13381220
5-Regular Member
(To:N-Pyn)

Just to clarify my recommendation, I would use 1 Reusable Attribute, "NO_PART" to restrict the creation of a WTPart during Auto Associate and another Reusable Attribute, "BOM_EXCLUDE" to exclude the Part Usage to child components.  Lastly I would use implicit mapping to CAD for clarity but explicit mapping is certainly available.

N-Pyn
15-Moonstone
(To:PW_13381220)

But these both functions are defined with the same preference. So is it possible to set the "Part Structure Override Attribute" preference value to "NO_PART,BOM_EXCLUDE" so that both attributes are taken into account and I would not have to reuse the same reusable attribute?

PW_13381220
5-Regular Member
(To:N-Pyn)

Your original thought process was correct.  If the requirement is "sometimes" the part must be excluded then you CANNOT use the NO_PART functionality because that attribute is defined on the EPMDocument.  You must define the attribute on BOTH the CAD Document Uses Link and the Part Usage Link.  They both must reference the same global attribute.  Then there is a preference (Attributes to be published on Link) that lists what attribute values on the CAD link are propagated to the Part Usage link.

 

PTC TS Article: https://www.ptc.com/en/support/article/CS26565?source=search

 

Hope it helps.

Announcements


Top Tags