≡ Menu
Get the Newsletter!


Teamcenter Revision Rules Illustrated

Configuring the precise assembly with a Latest Released else Latest Working revision rule

In our last Post here at the Dojo I talked about Precise and Imprecise assemblies and Teamcenter revision rules and all that. Frankly though, the post suffered by not using any graphics to illustrate the principles. So today I want to make up for that with a post on Teamcenter Revision Rules and how they work with Precise and Imprecise BOMs that’s short(er) on prose and long on illustrative examples. I hope you find this helpful.

Setting up Precise and Imprecise Assemblies

We start the examples with four component items with two revisions, 01 and 02, of each. Each revision may be Released, meaning it has a status, or working, meaning it has no status.

Component Items

Component Items

Next, we have two assemblies which both use these four components. The first, IMP-100, has an imprecise assembly structure, while the second, PRE-200, has a precise assembly structure.

Assembly with an Imprecise structure

The imprecise assembly stores references to items not item revisions.

Assembly with a Precise structure

The precise assembly stores references to specific item revisions, not items. In this case it refers to revision 01 of each of its components.

Comparing Teamcenter Revision Rules

So let’s now compare how various revision rules configure these structures.

Latest Working Revision Rule

The first rule we’ll look at is,

  1. Latest Working

Configuring the imprecise assembly with a Latest Working revision rule

Configuring the precise assembly with a Latest Working revision rule

The Latest Working revision rule will configure the assembly with only working revisions. Since Both revisions of CMP-001 are released it cannot choose any revision to load; neither is a working revision.

You can also see that regardless of whether the assembly is precise or imprecise they are configured with the same revisions.

Latest Released Revision Rule

The next revision rule is,

  1. Latest Released

Configuring the imprecise assembly with a Latest Released revision rule

Configuring the precise assembly with a Latest Released revision rule

Latest Released is the mirror image of Latest Working. It will only configure released revisions, so in this case it’s CMP-004 that cannot be configured because it has no released revision.

And again, it makes no difference if the structure is precise or imprecise.

Latest Working/Latest Released Revision Rule

Now we start looking at multi-line revision rules. When a revision rule has multiple lines it will evaluate each line in order in an attempt to configure a revision.

The first multi-line revision rule we look at is

  1. Latest Working
  2. Latest Released

Configuring the imprecise assembly with a Latest Working else Latest Released revision rule

Configuring the precise assembly with a Latest Working else Latest Released revision rule

If you compare these results to the simple Latest Working rule you will see that CMP-002, CMP-003, and CMP-004 have the same revisions configured, but CMP-001, which couldn’t be configured before, is now configured with rev 02, its most recent released revision. When the rule couldn’t find a working revision to configure it evaluated its second line and found that it could configure a released revision instead.

And yes, it didn’t matter if the structure was precise or imprecise.

Latest Released/Latest Working Revision Rule

To continue to work through the permutations, we try the reverse revision rule:

  1. Latest Released
  2. Latest Working

Configuring the imprecise assembly with a Latest Released else Latest Working revision rule

Configuring the precise assembly with a Latest Released else Latest Working revision rule

These results look nearly identical to the simple Latest Released results, but where Latest Released couldn’t configure a released revision for CMP-004, this rule is able to configure a working revision instead.

And yes, the results are the same for both precise and imprecise structures.

Precise Revision Rule

By now you may be thinking that there’s no difference between how revision rules configure precise and imprecise assemblies. So let’s take a look at some cases where there is a difference. We’ll start with a revision rule that configures the precise structure:

  1. Precise

Configuring the imprecise assembly with a Precise revision rule

Configuring the imprecise assembly with a Precise revision rule

Now we see some stark differences. PRE-200 is configured with revision 01 of each of its components — the revisions which make up its precise structure. Whether the revisions were released or working had no bearing on their being configured.

IMP-100 is a completely different story. By definition of it being an imprecise structure it doesn’t have any precise revisions, so it isn’t able to configure any.

[box type="note"]Now you can see why many installations of Teamcenter only use precise structures. You can make a precise structure configure imprecisely, but you can’t make a imprecise structure configure precisely.[/box]

Mixing Precise and Imprecise Sub-assemblies

Let’s finish this with some more complex examples. For these we’ll use a new assembly, PRE-300, which contains the other two assemblies as sub-assemblies:

Higher level, precise, assembly containing both precise and imprecise sub-assemblies

Mixed Sub-assemblies with a Precise Revision Rule

First we look at how this assembly is configured by the same Precise revision rule we looked at above.

  1. Precise

Mixed-precision assembly configured with a Precise revision rule

What you see is that the two sub-assemblies are configured identically to how they were configured by the Precise revision rule on their own.

Mixed Sub-assemblies with a Precise/Latest Working Revision Rule

To make it more interesting let’s look at this revision rule:

  1. Precise
  2. Latest Working

Mixed-precision assembly configured with a Precise else Latest Working revision rule

What happened here is that PRE-200 is configured with its precise structure, the same as before, but since IMP-100 has no precise structure and can’t be configured by the first line it’s instead configured by the second line, Latest Working. The sub-assembly IMP-200 is configured the same as it was configured by the Latest Working revision rule we looked at above — and again, since CMP-001 has no working revision it cannot be configured.

Mixed Sub-assemblies with a Precise/Latest Released Revision Rule

To round out the examples we’ll look at

  1. Precise
  2. Latest Released

Mixed-precision assembly configured with a Precise else Latest Released revision rule

As you can see, PRE-200 looks the same as before, only using its precise structure, while IMP-100 now looks like the simple Latest Released example above.

Closing

Hopefully these examples are helpful in understanding precise and imprecise assembly structures. I encourage you to make your own assembly structures and revision rules and work through some examples on your own.

Comments on this entry are closed.

  • Rag

    Very nice illustration to understand revision rules on assemblies … keep posting such good stuff!

  • Ravigandhi27

    good explanation on revision rules

  • Jaap

    If I’m not wrong, the OOTB “Latest Working” Revision Rule has the Precise definition as first. It will configure in the order: Precise – Working  – Has StatusSo I think the illustration of structure PRE-200 with the Latest Working Revision Rule is wrong. It should be the Precise structure with all the /01 revs.

    • http://plmdojo.com Scott Pigman

      I wasn’t trying to illustrate the OOTB “Latest Working” rule, I was trying to illustrate a rule whose sole entry is “Working”. Sorry for the confusion.

  • balu jois

    Nice information

  • mike_hallack

    Hello Mr. PLM Dojo, I have just stumbled onto your sight via a image google for “Master Model Concept” and find it very well done.

    We here at Callaway use Precise exclusively. The ability to assembly not-always-latest-release components is difficult to accomplish with imprecise.

    In an effort to streamline user options, we have hidden nearly all ootb rules and only expose “Precise, Latest Revision, Latest Release, Latest Working” revision rules.

    • http://plmdojo.com Scott Pigman

      Hi Mike, you can call me Scott. We’re all friends here ;-) I’m glad to hear you like the site.

      We tried to hide most of the OOTB rules when we did our last major upgrade but it caused some spurious memory access errors in NX that we couldn’t resolve in a timely manner except to turn them all back on again. We haven’t gone back to look at that again.

      I suspect the problem may have been rooted in me using a non-standard way of hiding the rev rules out of ignorance. How did you hide yours? IIRC rev rules not owned by a DBA are public, is that what you did? I had applied a certain status to them and then modified the ACL to hide objects with that type (ignorance can lead to some convoluted solutions).

      • mike_hallack

        Hi Scott, I know niche site’s like this are a lot of work for the owners, but your articles are well done and I hope you continue!

        I also had some issues ‘hiding’ rev rules based on system requirements and found Latest Working can not be hidden without much pain/suffering.

        My way out was to follow [PR-1805027]  hide revision rules for engineers

        I added an ACL rule named: ‘Has Description (DONOTUSE) -> Hide Rev Rule’ and Denied Read Access based on group.

        A second ACL rule is needed to hide ootb revision rules:  Has Class ( POM_object) Has Class ( POM_object) -> System Objects Owning User ( infodba ) -> System Has Class ( RevisionRule ) -> PublicRevRule Has Description ( DONOTUSE ) ->HideRevRule

        To activate the ACL, modify the revision rule description to ‘DONOTUSE’.

        How that interacts with IIRC is a mystery to me. In fact I’m not sure what IIRC is?

        • http://plmdojo.com Scott Pigman

          D’oh! Sorry, “IIRC” = “If I Recall Correctly”. Some of the abbreviations I use with colleagues slip out into the wild sometimes.

          Now that you mention that PR I do remember reading it. The process I had used was similar except it used a status instead of the description field. I’d have to pull up the old IRs I filed to refresh my memory but there was some situation where if a NX user went to a certain menu NX would just blow up and disappear. >8-0 Of course, we found this after we went live to production.

          • Poshan Sahu

            I am getting an error in teamcentre “cxpom_wrong_class: getting when expected” what is the meaning of this and how to resolve this warning

          • Teamcenter Heretic

            A) Not an appropriate post in this context
            B) Not enough information to even begin to be of help

            Try posting this along with more details on the PLMWorld website and you might have better luck.

            http://www.plmworld.org/p/fo/si/topic=34

        • http://plmdojo.com/ Scott Pigman

          D’oh! Sorry, “IIRC” = “If I Recall Correctly”. Some of the abbreviations I use with colleagues slip out into the wild sometimes.

          Now that you mention that PR I do remember reading it. The process I had used was similar except it used a status instead of the description field. I’d have to pull up the old IRs I filed to refresh my memory but there was some situation where if a NX user went to a certain menu NX would just blow up and disappear. >8-0 Of course, we found this after we went live to production.

  • Poshan Sahu

    I am getting an error in teamcentre “cxpom_wrong_class: getting when expected” what is the meaning of this and how to resolve this warning

  • http://www.facebook.com/peter.forro Péter Forró

    Hi Scott, thanks for this excellent post. Just a small Typo at the very last example where the title and the beginning of the text is similar to the previous one instead of showing precise/latest released.

    • http://plmdojo.com/ Scott Pigman

      Ooo… great catch! Thank you for pointing that out. I think I’ve got it all sorted out now. Please let me know you spot any other errors.

  • Pingback: A Trick for Updating a Precise Assembly Quickly | The PLM Dojo

  • Pingback: Git, and why We Need Distributed PLM | The PLM Dojo

  • Lemmy

    Hello,

    thanks a lot for the explantion of BOM rules, it is very helpful. The usage of BOM rules can only works, if you have the correct revision order. I have follwoing Issue, for the Part Item 4711 I have two revision 001 and 002, but in the order 002 and then 001 (dsiplayed in TC). How can I change in TC the order, that 002 is after 001. Without this solution, the latest working rule is wrong.

    • http://plmdojo.com/ Scott Pigman

      I’m guessing 001 was either created or released after 001. The rev rules look at date created or date released, not the revision ID itself.

      If they were released in the wrong order, unrelease rev 002 and then re-release it so it’ll have a later release date. If they were created in the wrong order, revise the 002 to 003, then delete the 002, and finally change the rev ID of your new 003 to 002.

    • Teamcenter Heretic

      Remember the OOTB Latest Working has precise first, then working and then statused objects by release date.

      The un-statused objects are indeed sorted by their creation date as Scott mentions.

      You might have better luck using Latest by Alpha Revision Order. I don’t use that one much so I’m not sure what happens with padded vs unpadded numbers but it looks like you pad with leading zeroes so it should work as you desire. OOTB, Alphas are considered “later” than numeric revs.

      • http://plmdojo.com/ Scott Pigman

        Ah, I keep forgetting about the Alpha Revision Order, mostly because I’ve mostly worked with revision schemes that would never work with anything but a customized sorting mechanism (e.g. 01..99, 00, 0A, 0B, … etc. seriously).

      • Praveenraj

        Can you let me know where this option is in Teamcenter 8.3 Rich client?

        • Teamcenter Heretic

          By “where” what do you mean?
          If you are looking at the BVR in the viewer, then this is found with the Revision Rules (Little R icon at the top).

          • Praveenraj

            Yeah, I got it! Thank you.