Difference between weight calculation formulas?
Difference between weight calculation formulas?
(OP)
Hi there,
Does anyone know what is the difference between 2 of the following relations?
Part_Weight=MP_Mass("") and
Part_Weight=Mass:FID_XXX
It seems that they work interchangeably (when they do work; Pro/E 2001 has a bug in weight regeneration, so sometimes neither one works).
Thanks,
Oxana
Does anyone know what is the difference between 2 of the following relations?
Part_Weight=MP_Mass("") and
Part_Weight=Mass:FID_XXX
It seems that they work interchangeably (when they do work; Pro/E 2001 has a bug in weight regeneration, so sometimes neither one works).
Thanks,
Oxana





RE: Difference between weight calculation formulas?
Both relations do the same thing. The first one uses a system parameter <mp_mass("")> and the other one is the result of a analysis feature. In that case, "mass" is a user parameter for the weight calculated in the analysis XXX.
BUT... the second method will create a feature in your part. At this time, if you evaluate the expression mass:fid_XXX, the return value will be, let's say 10.5, no matter in what units. If after this feature, for example, you add a protusion, and then you revaluate the expresion mass:fid_XXX, the result will not be changed! Still 10.5. The solution to obtain the correct result is to put the analysis feature XXX the LAST FEATURE!
The first method will give you the correct result after regeneration.
There is no bug in mass calculation.
The only headache are the family tables, but there is a workaround to obtain the correct mass for each instance.
RE: Difference between weight calculation formulas?
One thing you forgot to mention is that you should put the following text in the Pro/PROGRAM as below (to automatically update the mass every time you regenerate):
(before)
MASSPROP
END MASSPROP
(after)
MASSPROP
PART NAMEOFPART
END MASSPROP
Make sure to enter the current part name with the ".prt" extension.
Steve
http://www.3dlogix.com
RE: Difference between weight calculation formulas?
-Hora.
RE: Difference between weight calculation formulas?
Steve, I created a simple cube (protrusion) to experiment with. The Pro/Program has a statement at the very end:
MASSPROP
END MASSPROP
What did you mean by “before” and “after”? And do I have to enter “PART NAMEOFPART” even if I am on the part level?
Thank you for your help again,
Oxana
RE: Difference between weight calculation formulas?
Let's start a new part (your cube) and let's call it CUBE.PRT.
DO NOT PERFORM ANY MASS CALCULATION.
If you go to PRO/Program, at the end of the file, are the following statements:
MASSPROP
END MASSPROP
Steve said you must put the name of the part between the two statements:
MASSPROP
PART CUBE.PRT
END MASSPROP
Now, go to relations and add the following statement:
part_weight = mp_mass("")
Now, go to RELATIONS->EVALUATE->in the input window type: part_weight
SURPRISE! The resutlt is 0! Now regenerate once again. Evaluate your variable "part_weight" and you will obtain the good value. You ask yourself what happened?
As you can see, if you open the PRO/PROGRAM, you will see that your relation part_weight=mp_mass("") is almost at the begining of the file. The program will pass the value of the mp_mass("") to your variable mass_weight. At this moment, the value of mp_mass is 0, because no mass calculation were done. When the program find s the following statements:
MASSPROP
PART CUBE.PRT
END MASSPROP
will perform a mass calculation, and the mp_mass("") will hold the good value. But it cannot pass the value to your variable part_weigth until you regenerate once again the part.
Only after a second regeneration of the part your variable part_weght will keep the good value.
Now, if you change one dimension of the cube and you evaluate the "part_weight" the system will return the same value for mass. Regenerate once again and you'll have the right value.
Personal, I'm not considering this a bug. Somehow, it is logic. But this not means that PTC must let the things like this.
For the second method, if the analysis feature is the last feature, if you evaluate the following expression: mass:fid_analysis1, the result is correct.
But... If you want to pass the value to your variable, let's call it part_mass2, then you must write the following relation: part_mass2=mass:fid_analysis1. And you'll have the same problem like in the first case. You'll need a second regenaration to update the parameter part_mass2.
What to do? In part mode you can force the sistem to make a mass calculation and to print the results, or simply evaluate mass:fid_analysis1.
For drawings, instead of writing the note &part_mass2, you must write &mass:fid_analysis1, you will have the good result only with one regeneration.
Using this method you don't need to modify in any way PRO/PROGRAM, because the system will calculate the mass every time regenerates the analysis1 feature.
Hope I was able to clarify you.
-Hora.
RE: Difference between weight calculation formulas?
You did shed a lot of light on this for me. Before I was not evaluating the variable the way you explained; I was checking only Part Weight parameter either in a Model tree or in a list of parameters. And in those places regeneration does not happen properly; that I would consider a bug, since you should not be manually evaluating your variables (we use automatic transfer of data from Pro/E into other programs). But at least I can use your method for now. Thank you again.
Oxana
RE: Difference between weight calculation formulas?
Steve
http://www.3dlogix.com