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

Community Tip - If community subscription notifications are filling up your inbox you can set up a daily digest and get all your notifications in a single email. X

Creo Relations - Evaluation Logic

TomU
23-Emerald IV

Creo Relations - Evaluation Logic

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"?

4 REPLIES 4
dschenken
21-Topaz I
(To:TomU)

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.

TomU
23-Emerald IV
(To:dschenken)

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

TomU
23-Emerald IV
(To:TomU)

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.

 

dschenken
21-Topaz I
(To:TomU)

They need to run a search against the coders who worked on this and their resumes. Look closely at any code where someone has significant background in Haskell or Forth.

 

(I'm kidding, just kidding. But if an hour long YouTube tutorial on what a Monad is is still unclear I don't understand how anyone learns it.)

Top Tags