Tagging Walls - Tag Location


I am attempting to automate the tagging of walls. More specifically, I am trying to locate the wall tags at the midpoint of the wall curve. Everything seems to be working properly in Dynamo, however, the tags end up being located in a location which is different than what is shown in Dynamo. Please see images for additional detail. Does anyone know what may be causing the location to shift? Thank you, Rob K.

5-12-2015 2-21-42 PM


It’s because in previous versions of Dynamo when one still had to deal with Units i was doing unit conversions manually like so:





Now that dynamo is so “awesome” and unitless, we dont have to worry about it because it will assume whatever units your Revit session is set to. :slight_smile:

All, we have to do to fix this issue is remove the conversion. This should do:


Oh, and one more thing…I imagine that Revit has a tool already that is perfectly capable of doing what you are describing here: go to Annotate>TagAll and select a wall tag. Or did i miss something here?

Thank you Konrad, I will give that a shot.

You didn’t miss anyting…the OOTB tagging tools would work great if my firm used an industry standard wall tagging methodology. :slight_smile:

Rob K

That worked perfect. Thank you very much.

Rob K.

I see, I am going to guess that you tag walls with different Type of a tag based on some information that is contained within it. For example a Fire Rated wall has one type of tag and non rated a different one. That methodology indeed renders OOTB tools not good enough, but Dynamo is perfectly capable of achieving this. Good luck!

Mr. Sobon

I modify the code you mention above, but still get no luck on the result,

tags still place at the wrong position, is there any reason?

BTW, I use node by Grimshaw.Modify, I can’t get node from Archi-lab work.

Thanks, Adrian

I tried using the script I made to automate wall tagging and it doesn’t seem to work anymore. I don’t get any errors, but the tags aren’t placed.

  1. Is it even possible to tag a wall with Dynamo in Revit 2017?
    I see you can change an existing tag, but I have been unsuccessful finding a way to tag a wall with Dynamo. This isn’t a big deal, because I can use the Revit Tag All feature, but I’m curious if this is a limitation.

  2. Is it possible (without creating a custom python node) to get the origin or coordinate system for wall tags?
    Again, I have been unsuccessful getting the origin of wall tags.

  3. Is it possible to move or translate the wall tag location?

Thanks for your tips and hints.


Hi, just yesterday I made a script fow wall tagging:

It worked perfect for me. You can play the with the vectors and the offset to choose where you want the tag to be placed. In my case, I wanted the tag in the middle of the wall element so I went for the centroid —> point vector and the offset boolean false so it is not an offset from that point.

Hope it helps!

Also, check this out:


Thank you very much. That did help. I was missing everything to the right of the Tag.ByElement node. Funny…I had assumed the node would just place the default tag for the element. Lesson learned: never assume anything.

Thanks again Jorge.

1 Like

We really need to thank @T_Pover

1 Like

Hi All, please Help.

What I followed the conversation about the tags, it worked perfect for me, but now the tag is placed far away the element I want to tag.

I don’t know why it is placing it away, if I’m indicating the centroid as a base point and no offset.

@T_Pover, @Rob_Kuffel1, any Ideas?

Thanks in advance for your time.

I’m not sure what’s going on Jorge. There is a message on the Tag.ByElement node, what does it say? Also, did you upgrade to the newest version of Dynamo? I have not upgraded yet and the Tag.ByElement seems to still be working fine. Rob K

Yeah, I upgraded to the latest and from then I have this issue, so maybe is a version issue.

Any thoughts?

@Rob_Kuffel1, what version of Dynamo are you using?

The problem is that the vector you are creating is probably way too big. If the centroid of the wall is at point (20000,20000,0) then the tag will be moved by 20000 along the X-axis and 20000 along the Y-axis.
What you actually need as a vector is the distance from the start/endpoint of the wall to the midpoint (centroid) of the wall. Or just set the IsOffset port to false so then you can just specifiy the location of the tags. Apparently the node still expects vectors though.
Getting the center point of a wall is also a lot faster if you use the node curve.pointAtParameter, like so:


In order to offset the tag from the mid point of the wall in a specific direction, you have to calculate the direction you want to the tag to be offset from the wall using vectors. In the example I attached, I’m using the Grimshaw Wall.ExteriorDirection node. Once you have the direction vector you want to offset the tag, then you can scale vector or add to the vector.

1 Like

Hi @Rob_Kuffel1. Could you please put a better quality image to see the node names. Thanks in advance.

Hi @T_Pover, here is my approach following your directions.

(The RLE.Centroide node just get the centroid of the solid)

The problem I’m getting is that now I get all the tags almost in the same place.

What am I missing here?

Thaks in advance!