Skip to main content
7-Bedrock
February 24, 2024
Question

Windchill Customization (BOM)

  • February 24, 2024
  • 1 reply
  • 1915 views

Hello 

We have Customized BOM Management in that we are facing issue to get the non-latest version Structure.

 

When the new object is added to the latest version it will show in the non-latest version also by default windchill functionality to overcome this we have to take baseline before revise the cad objects.

Article

Article - CS388641 - Latest version of child part is shown on older version of parent part on structure tab in Windchill PDMLink (ptc.com)

As per the article we tried baseline and filter to the older version.

We could not be able to get it via code, whenever we tried to download a non-latest version. we get the latest structure only.

Help us with a code to get the filtered structure. 

1 reply

16-Pearl
February 26, 2024

Hi,

The behaviour of the structure is completely governed by Config Spec Filter, as you already know.

There are 2 possible solutions using the config filter method

1. You could create baseline going to the older version of the Parent Part.

   Call the config filter to use this baseline (It may work even if you call it from the latest version of parent part, as baselines are tied to the specific version of the parent part).

 

2. If the old version of parent part is in a Released state, then you can use "As Matured" Config FIlter. This will reflect the config of the parent part at the time of its Release (by ECN).

 

Both the above options should work for you , try this manually. Then start coding.

I assume that the newer version of the Parent part was created via ECN (Best practice). You need to look into preventing Free Revise by users if its not done by ECN. There are preferences in Windchill to do that.

 

Cheers

Hari

Nandha7-BedrockAuthor
7-Bedrock
February 27, 2024

Hello 

 

Thanks Hari

 

Here we need a code/API to get a filtered option (Baseline) Structure.

Is there any code please let us know.

 

Thank you!

HelesicPetr
22-Sapphire II
22-Sapphire II
February 27, 2024

Hi @Nandha 

You need to find the baseline you want to use and then just create a ConfigSpec

BaselineConfigSpec baselineConfigSpec = BaselineConfigSpec.newBaselineConfigSpec(baseline);

List<ConfigSpec> configSpecList = new ArrayList<ConfigSpec>();
configSpecList.add(baselineConfigSpec);

QueryResult qr = ConfigHelper.service.filteredIterationsOf(wtpMaster, configSpecList);

PetrH