It’s a programming order of operations thing. Features will update prior to variables in relations, therefore when a value is passed from a sketch to a variable, that value is sitting there ready to go but the feature which is driven by it won’t get the new value until a second regeneration. I don’t believe there’s a way to make proE regenerate until all variables have been updated and passed, probably a good thing cause it could very well lead to getting stuck in a loop. ProE will however generate a message in the dashboard saying that ‘Some relations are no longer satisfied’, see attached screenie.
I have made a parametric COG. Initially I used a mass property feature, a datum point, and a bunch of relations. The process was long and tedious and also completely unnecessary if you have the behavioural modelling extension, as you then have access to all the variables in the mass property feature.
However! I later realized that proE has system variables for the COG namely, pro_mp_cogx, pro_mp_cogy, and pro_mp_cogz. So adding a parametric datum point is super easy and does not require multiple regens to pass variables.
Just make a datum point, call the three offset values (offset from the coordinate system), x_offset, y_offset, and z_offset. Then in relations:
$x_offset = pro_mp_cogx
$y_offset = pro_mp_cogy
$z_offset = pro_mp_cogz
That’s it, the $ sign is to make the offsets signed variables.
In Reply to Michael Mongilio:
Specific to your example - Have you tried making the relation that calculates XCOG a post regeneration relation?
Is the feature having CUT_LENGTH as a dimension, before or after, the sketch containing the ref dim CALCULATED_CUT_LENGTH.
If the answer is "after", then you can make these relations "feature based" instead of part based.
Open the part relations select the relations noted in your post. Hit <ctrl-c>.
At the top of the relations dialog is a pulldown that most likely says "part" change that to feature, and use the selector to choose the feature containing the CUT_LENGTH dim. Paste the relations there.
Go back to the part relations and delete the now redundant relations.
The regeneration order will now be...
If the answer was "before", Try to reorder the sketch to be before the feature with CUT_LENGTH. and do the above steps.
Attached; pic of simplified example use of feature based relations.
(rewritten for clarity)