First of all sorry for late reply,
You can get the Model SIZE with a Parameter called "OVERALL_SIZE", If you want it update immidiately after every regeneration you can configure ModelCHECK to update the Size.
Then you can make an Annotation in your Part Template as Model Overall Size = &OVERALL_SIZE
But ProENGINEER is not having intelligence to indentify what kind of Geometry it is like Circular or Non-Circular.
If Non-Circular we need to specify the Size as LxBxH
If Circular Ø DxH
By default ProENGINEER can't do this differentiation, You need to write a Relation for this.
Otherwise there is a Software called SMARTAnalysis from B&W Software GmbH, Which can differentiate the Shape of the model as Circular & Non-Circular.
It will automatically gives the size as Ø DxH for Circular and LxBxH for Non-Circular.
If you want I can send the ModelCHECK settings I use.
Actually, ProE does know it, but I don't know a reasonable way to get to it. As I suspect you know, the info Model Size is the length of the diagonal of the part's bounding box. The bounding box can be found in the file header. Look for:
@bounding_box 33 2
2 33 
You can see this is the coordinates in hexidecimal of the two corners of the bounding box.
But, don't know how you could use that to get what you want.
In-fact ProENGINEER can get that intelligence, If we make some Configurations [Parameters & Relations] in the Part Template and we've to use that template as the default template for creating any Parts.
Otherwise getting the Automatic Part SIZE calculation is a bit harder.
So SMARTAnalysis will do that for us.............
itos function will round off the dimension to the nearest integer. Is there any way to convert the exact value into string?