I think we are saying the same thing from two different sides of the coin?
Here’s a simple example of the workflow from my perspective (just my two cents):
Example:
If I have a layer called “Doors”, I will query the objects on that layer and assign default user text.
Let’s say I want every object on “Doors” to get user text like this by default:
Keys:
Height
Width
Swing Angle
Values:
6’-8"
3’
90
If I add a new object to the “Doors” layer, I want the user text to get populated with this default user text.
-If I modify the swing angle value to say 45, then that value will stay 45.
-If I delete the Swing angle value, it will get repopulated to the default value.
-If I delete the Swing angle Key, it will re-add the Key with the default value again.
This way, I can have logic in GH that always has consistent values to work with by default but allows users to override on a per instance basis.
Additionally, I can then query the user data on the back end and group data accordingly.
Example:
-If Doors have matching Key/Value pairs for all user text fields in the default Key/Value list, I can assume these are the same door type.
-If some doors have all matching K/V but differ on swing angle, same door type still, but visually the door can be open/closed for example
-If some doors have all matching K/V except for height and thickness, I could group that as a separate door type and populate a door schedule or Bill of Materials accordingly
Here’s a snip of the Door example:
Same Door object (point) but I moved the position, set the Count to 2, and set the Swing Angle to 45:
Both these doors are being created with the same algorithm, the User Text is the only thing changed.
If I try this workflow with the current User Text component, the user set values will be overwritten every time the object is re-baked, and I need it to be re-baked since the position physically changed and is actual geometry (not just custom preview).
However, I solved this issue with a cluster I created that only modifies the User Text if the values are blank essentially, meaning it populates the default values initially and then leaves it alone unless you hit “use default parameters”.
But I really would like for this to be a native feature of the User Text component, or at least optionally be so.
PS:
The User Text component can be used as a “get” component to query the user text of Model Objects and also the new “Group Content” and “Filter Content” nodes will allow you to organize/filter data by User Text attributes or Object Attributes. It’s very powerful and quick to make a data tree out of nearly any object/user text value(s) now. (one of my favorite new nodes)