Skip to main content
23-Emerald IV
July 26, 2017
Question

Creo Relations - Evaluation Logic

  • July 26, 2017
  • 1 reply
  • 3062 views

I stumbled across an interesting phenomenon today.  I was under the impression that relations were always evaluated from top to bottom, in their entirety.  A simple example seems to show that this is not always true:

A = 0
IF A == 0 B = 1 ENDIF

With these statements, both 'A' and 'B' will remain locked, as expected.

Relations 01.PNG

Now add one more statement to the bottom:

A = 0
IF A == 0
 B = 1
ENDIF
A = 1

Suddenly 'B' becomes unlocked and changeable.

Relations 02.PNG

What was even more surprising was that entering a different value for 'B' and then running "Verify Relations" one time did not change 'B' back to "1.0000".  It took a second "Verify Relations" pass to get it to snap back to the intended value.

 

If the relations are being fully processed each time "Verify Relations" is pressed (or the model is regenerated), it should never be possible to have 'B' left at anything other than "1.0000".  Frankly, 'B' should never unlock either since 'A' should always be "0" every time the relations are evaluated.

 

Just to make sure I wasn't going crazy, I went back and tested this in Wildfire 5 and the behavior was the same.  What do you think?  Is this the correct behavior or is something wacky going on here?  Should it take two regenerations (or two separate "Verify Relations" commands) to get 'B' back to "1.0000"?

1 reply

1-Visitor
July 26, 2017

I struggle to think of a reason for wanting this behavior. Out of sequence evaluation requires a lot of effort and I don't see why it would be applied to relations. I think it's a bug that replaced another bug.

TomU23-Emerald IVAuthor
23-Emerald IV
July 26, 2017

I've opened a case.  It will be interesting to see what support has to say.

TomU23-Emerald IVAuthor
23-Emerald IV
August 2, 2017

Tech support doesn't know why it's working that way either.  A request has been sent to R&D to try and figure out what's going on.