Text Field: UI Improvement

Hi - I posted this as a reply in another thread, but feel it deserves it’s own. I believe this would be a huge time saver for many people, with just a small change to the way Text fields reference objects.

The text fields are a great tool - they just need one small UI tweak which hopefully would make them much quicker and easier to use. Currently they are annoying and unwieldy - I have to start the function process from scratch every single time, even if I just want to copy the same text fields I have set up to apply to another object.

This would make the tool so much easier to use, and could work on multiple objects at once. For example:

If i copy the selected group of texts (all of which reference attributes of the detail frame above) I should be able to then simply click on ‘select object’ then select a different frame and all 3 would update. Quick and easy! If there was more than one possible clickable object type (eg. select detail object) these could both be displayed and the user could click on either.

In the existing method for this example, to simply change each text takes 6 clicks, and additionally whatever’s already in the text field needs to be manually deleted. It’s very time consuming and laborious. With this change it takes two. So to change these 3 texts currently would take 21 clicks(!) vs. just 3 clicks if it was changed.

Finally - it would be good if you could see a preview of how the text will appear in the sheet, instead of (or as well as) the formula.

Is this something that could be achieved?

1 Like

Hi Ben -

The TestMatchAnnotationFields test command in Rhino 7 will let you do that but only one text object at a time. If you can put all information into the same text object, it gets pretty quick to create such annotations.

I have created RH-63080 for the TestMatchAnnotationFields command to accept multiple text objects at the same time.

That’s great, thank you Wim. The TestMatchAnnotationFields is a great start - and indeed it is what inspired me to create this post. The problem with it is that it appears to create a copy of the existing text on top of the first one, which then needs to be moved to the appropriate location.

An easier and more appropriate method (for my purposes at least, but I think it makes more sense) would be to replace the existing text with the new information. This would allow us to copy one piece of text (and any associated frames/ border geometry - which is often the case for me, with tags etc.) to a new location, then use the test command to change the text.
As it is currently, it is slightly fiddlier to achieve, as we need to run the command then delete the old text every time. Hope this makes sense!

Hi Ben -

It makes sense, yes. Personally, I think that the copy and move part should be an option in the command so that the user doesn’t have to cancel the command, create a copy, move it, and then start the command over again when he/she forgot to do all that before running it.
From RH-50040:

Perhaps there could be a " Mode=Replace " / " Mode=Copy " command-line option? When " Mode=Copy ", the command automatically goes into a move process to move the new text object into the desired location.


Yep totally agree, the more flexible the tool is the better! I can see times where I might want either option.

Just thinking about it now, the way I personally would use it most of the time, is whether a tag, annotation or note- I would copy one text a bunch of times into the correct locations. Then use a macro which repeats the command each time, whilst deselecting the modified text object.

So it would go select text > select object >select text>select object etc. and I could just keep clicking until I’ve done all the texts, having run the command just once.

Out of interest, is this likely to be implemented any time soon? Or is it more of a Rhino 8 type thing?

The TestMatchAnnotationFields sounds great to me, but I’m unable to find it (or _MatchAnnotationFields) in Version 7 SR7 (7.7.21106.7001, 2021-04-16). Is the command no longer in Rhino, or am I missing something? Sounds like it has the potential to change the ObjectID references for all text fields within the selected text objects/leaders? If so, it sounds perfect.



It’s a type of hidden test command. Those don’t auto-complete by nature so you’ll have to type it out fully and hit enter.

1 Like

This macro works for one text item at a time. I think you’d have to script it to work for multiple…

!_TestMatchAnnotationFields _SelNone _Pause _SelPrev _Delete

edit: assumes the text object is selected, then prompts for you to select the object w/ user text

1 Like

Thanks, just tested it a bit and it works really well! Simple but effective. Have to just learn the habit of selecting the text first every time as you suggest, but it’s worth it for the time savings.

Tried adding the * to repeat the command, but it doesn’t work as I’m sure you found as well.

1 Like

Ah, didn’t know about the asterisk! I’m guessing this is old news to you, but you can also right-click or hit space to repeat a command if you prefer either over enter key