Unfortunately parameters such as LenZ report an Component’s length but by changing the value you can effect the Component’s length. This seems to prohibit using the length as a value then used to update the Component’s length and getting a “Circular” error. Is there are why to “separate” the 2 functions with some kind of workaround?
I’m not really understanding what you’re asking.
If you fill in the LenZ attribute with Dynamic Attributes with something beginning with the equal sign, your are setting it as a function of some other available information - and you shouldn’t then directly edit it (nor allow the user to change it) - except to change the formula (you, not the user).
If that formula references a different attribute that in turn references LenZ (either directly or through other attributes), then you, as a programmer, have created a circular reference and it’s your responsibility to remove that programming problem. The only possible exception to this is a formula in LenZ that references the CURRENT function with LenZ as a parameter - which is often used to “correct” LenZ to a set of allowable values - usually having it snap to a programmed precision.
If the Dyanamic Attribute does NOT being with “=”, then you are simply setting the LenZ - and you can expect the overall component - possibly including parent components to adjust accordingly. It will also change with the Scale tool - unless you’ve disallowed scaling on the Z axis (but that’s another Attribute!)
If you have a dynamic component that illustrates the problems you’re having, please upload it - contained within an enclosing .skp file!
Thanks for the response -
“The only possible exception to this is a formula in LenZ that references the CURRENT function with LenZ as a parameter - which is often used to “correct” LenZ to a set of allowable values - usually having it snap to a programmed precision”
That’s what I was looking for and formed my question poorly.
I’ve been asked about recreating features in DCs which are found in other apps.
The why is explained here:
Interesting - my suggestion would be to have another set of Parameters which are “Reporting Parameters” only. These could be used in formulas which then can be used to update the other Parameters (e.g. Length).
You can still adopt those, just add custom attributes. It makes sense, though, if you ‘drag’ the outer bounds of a component (scaling) to fit in an opening, the new dimensions are calculated from the original, which is actually the same as your suggestion, be it they are not exposed in the attributes fields unless you redefine the (scale)definition.