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.
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?
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!
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.
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.
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.
Is it possible to move or translate the wall tag location?
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.
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.
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
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.