Dimensioning a 3d point?

I’m working on a layout for a long railing on a sidewalk that makes angles in X, Y, and Z. I’d like to be able to annotate certain points, but there doesn’t seem to be a way to do that. Is there a way and I just haven’t found it? I guess I could do it with Grasshopper.

Working in R8

thanks, Joe

Under the Drafting tab you can find various annotation dimensions and leaders.
You can for instance use an Ordinate Dimension and provide a custom annotation for it:

This should work in every three-dimensional plane.

Tried it already. Seems only good for X and Y. I’ve almost got what I want in GH.
You can analyze a point and get xy&z. You could take that and copy it and paste it into a leader.

you want something like this ?
you want the coordinates ?

this can be done with text fields.
draw a point at 0,0,0
build an initial annotation at 0,0,0
use a textfield refering to the point.

now copy point and annotation.

Edit:

annotate_x_y_z.3dm (3.0 MB)

check the block definition in above file.

further info:
… see the “block” trick here:

basic infos on textfields

rhino 9 feature for block insert point

hope this helps - kind regards -tom

Okay. I’m partway with you. I can make a Point Coordinate in the text field of the leader. I sometimes forget about that feature. I made one at zero. I can make a block instance. But when I place the block instance it still says 0,0,0 so I’m missing the last part of getting the coordinates to display.

You can also use “evaluate point”, then under label you can use either a leader or dot.

Well, EvaluatePt does work. I would like to get the Point Coordinate thing to work since it allows me to place the values farther away, although the leader is “fixed” as a block. It would be nice if the leader let you grab the text and pull it around where you wanted and have the leader keep up with it. I still am missing something about creating the block definition. @Tom_P I can see you created the first one at zero, then copied the point and leader and dragged it to the left then made a block out of that copy. I tried that and still when I create the block def, the coordinates turn to ### and that’s what I get when I insert the block. I’m missing something.

did you download my file ?
did you use my block definition and isert it at a new position ?
did you look at the text inside the block definition using the “block” trick described in the linked topic ?
inside the block there is a text and it has the following usage auf textfields:

X: %<PointCoordinate("Block","X")>%
Y: %<PointCoordinate("Block","Y")>%
Z: %<PointCoordinate("Block","Z")>%
XYZ: %<PointCoordinate("Block","XYZ")>%
with format:
X: %<'{:.3f}'.format(float(PointCoordinate("Block","X")))>%

if you still struggle upload a 3dm file and i ll have a look at it tomorrow

I got it to work, thanks.

If you only have the point try this

LeaderXYZ.py (1.2 KB)

I don’t speak Python, but I did open it up and it looks more or less like what I was working toward in Grasshopper using a C# script. I think ultimately I’ll keep working on it in Grasshopper since I’ve begun doing a lot of these railing layouts that include varying elevations.