Wish: Text Fields support for points

Can’t find a similar entry here, so:

How about adding the ability to select point objects in text fields, plus showing their coordinates?
Would help in a case like this:

Thanks a lot!

1 Like

Hi Eugen - I’ve added this as a clarification to an existing item: RH-20518.

Thank you very much!
Since you are working on Text Fields in Rhino7 anyway, this might be a good time to add this.

Point is, such a text field would pave the way to create e.g. custom annotation symbols for e.g. elevations, as used in architecture frequently. (There’s no such thing as a “DimElevation” in Rhino’s annotation toolset, right?)
Elevation annotation symbols look different in floorplan and section views, and vary also in different countries. So, it would make sense if we could create our own.

However - we are still missing dynamic blocks in Rhino. So the workaround here would be to place the dynamic text in addition to the symbol block. Not ideal, right?

So, may I ask if you plan introducing dynamic blocks in Rhino 7? It’s another topic, I know.
In fact, VisualArq plugin already supports exactly this (even using Grasshopper scripts!):

I happen to have this plugin, and got this to work, which is super nice, but VA is costly, and shouldn’t this be something that Rhino supports o.o.t.b.?


1 Like

Hi Eugen - First off, there are many features that are rather industry-specific and Rhino does not intend to specialize into any one specific application. As such, a specialty tool such as VisualArq will probably always makes sense if you are in that target group.

As for dynamic blocks - which can be generally very useful - Rhino 7 has a system where the annotation part of a block can be dynamic.

So, in your example, you can make the geometry for a position marker (?) and add dynamic text to that in the following way:

  • Run the Text command and click the fx button
  • In the list of text fields, select BlockAttributeText:
  • Just leave all fields as they are for now and click OK
  • Place the text string where you need it around the marker:
  • Select both the geometry and the text string and run Block
  • Finish the block command by placing a point, pick a name, and just leave the value blank for now

When you then need an instance of this block somewhere, run Insert and select your block definition.

You will now be prompted to insert the desired value for this instance:

Finally, place the instance where you need it. This will now look like this:

In mechanical engineering, this system can also be used to create GD&T symbols such as

And, more generally, this is very useful to populate Title Blocks on drawings.


Hello Wim!
Thank you very much for the detailed explanation! Few questions:

  • Can’t figure how to edit the text after the block has been placed. Is it possible?

  • What about the other text fields inside the block? Shouldn’t there be a ‘BlockAttribute…’ version of most of them, too? Like ‘BlockAttributeArea’, so on an so forth. Also something like ‘BlockAttributeCoordinates’, regarding this thread’s topic.

About VisualArq: I wasn’t precise - didn’t mean that the whole plugin should be part of Rhino (although that would be awesome…), but something close to the vaElement and vaAnnotation features. Both are exactly what we are talking about here, dynamic blocks, which can even contain Grasshopper plugins to generate the blocks’ output! Are you aware of this? That part could and should be a Rhino capability ootb I think.

Hi Eugen,

As long as you are using simple text strings, yes. Just select the block and open the Attribute User Text tab on the Properties panel:

That’s what the fx button on the Block Attributes form is about:
If you click that button, you will be able to pick any of the other text fields, such as the area of a rectangle:

When you then look at that in the Attribute User Text tab on the Properties panel, it will show you the result:

… but when you then activate the Value field in that dialog, and then hit Esc, you will see the entire “code” again:

So, when I initially wrote

As long as you are using simple text strings

… you could - theoretically - modify any value of a “dynamic block”. If you, for example, wanted to modify a block instance to point at a different rectangle than the one that you used when you placed the instance, you could get the GUID of the new rectangle and use that to replace the GUID of the previous rectangle. The interface to do so is rather cluncky and in most cases, it will be easier to just insert a new block instance.

I am aware of that, yes. And it is on the radar as far as I can tell.

1 Like

Now that Rhino 7 has the ‘PointCoordinate’ text field, i wanted to give it another go to make a block that displays it’s coords automatically. Still can’t get it to work, though.

I tried:

  • Create a point, create a text with field ‘PointCoordinate’, pick the point. The text displays the coords correctly. Now when I select both, point and text, and make a block out of them, the text just displays ‘####’.
  • Create a point, create a text field with ‘BlockAttributeText’, leave ‘key’ and ‘prompt’ to default. Make a block out of both point and text. The small dialog ‘Block Attributes’ pops up. I click fx > Point Coordinate, select the point object and click ok. Again, the text displays ‘####’ instead of coords.

Is this a bug, a known limitation, or am I doing it wrong?
Thanks again!
Best regards