My first thought on this is that you could (or maybe are required to)
use BMX for this. Even though it is a different relation/feature
combination, the video tip on using BMX to find the fluid level in the
jar might be a good place to start. I remember one of the (non)
training sessions I attended showed how to manipulate a feature
dimension on a crankshaft in order to get the center of gravity to fall
on the axis of rotation (i.e. perfectly balanced).
I hope this helps to guide you in the right direction.
I don't know what version of proe you are using. If WF/WF2 you can do the following.
When you do a normal mass analysis to see the mass, proe can report these values as parameters.
Set the follwing config .pro option.
mass_property_calculate to automatic.
If you change the model and regenerate, The model mass will update as a parameter in the part.
You can get to these parameters in your parameter window by changing the value in the dropdown box from MAIN to REPORTED MASS PROMERTIES.
The parameter for the mass is called PRO_MP_MASS.
You may have to regenerate your model twice to get it to update. This needs to happen because the mass is only calculated after regenration, so the new value for the feature has been assigned but the model hasn't updated
If there is ONE part then you cannot simply use mass to drive the model through a simple relation. It is simple logic. Mass sets parameter L through a relation -> parameter L sets the length of a feature -> the feature changes -> the mass of the part changes -> parameter L is recalculated out of mass, so it changes -> model changes when L gets reinserted in the feature ... etc ... etc ...
You could however use the mass at an intermediate state or as an external reference. In simple words. Model the part to the point before you determine the length of the channel. Calculate mass properties there and insert this as a feature. Create the channel and make a relation with the mass calculated before. This should work.
I've read about BMX mentioned above. As I understand it this is an iteration procedure. Mathematical this can only work if there is a solution, meaning that increasing one item should decrease another so that an equilibrium can be found.