I’m wondering if anyone knows if it’s possible to get the location of an element (a wall in this case) in it’s elevation view?
I’m trying to use the create annotation tag to tag all my walls in multiple views and place that annotation in the top/bottom left/right (or even at the midpoint). Obviously getting the elements location is giving me it’s location in the model and not the view so the tags end up nowhere near the wall itself.
Anyone have any ideas?? Thanks.
If the wall is visible in the elevation, you could try projecting the desired point on the wall to the elevation view’s plane. You can use “View.Plane” from the clockwork package to extract the view’s plane.
I’m not having much luck with this. I’ve got the view plan and am trying to translate a point between the wall’s location on the view plane but any coordinate I can get out of it is nowhere near the wall.
The origin of the view plane is -252313.54, 2493.231, 39750. The start point of the wall is -259850.353, -3724.455, 64000 and a point that places the tag somewhere near the wall is -850, 0, 250. 0, -975, 250 also gets close to the wall. I’m not really sure how the coordinates in an elevation view are working. If you have an ideas of how to go about it, it would be greatly appreciated.
I was thinking of something along the lines of this:
With a result of:
The above gives you a very precise control of the tag location but isn’t very scalable. It might be easier to extract the wall’s boundary box and get the min/max point from that or extract the wall’s solid and get the centroid.
I’ve been playing with this trying to get something useful out of it but wasn’t really able to with your workflow. I did however, come across somehow using the point straight out of the element location then dividing the coordinate by 304.8 it ends up tagging the the top corner of the wall. I have no idea how or why that works though…304.8 is pretty random… The below’s a little rough but it’s doing the job for now. My next step will be to add multiple views and all my walls. This should be fun!
1 foot = 304.8mm and Revit’s internal units are in feet. Are you using the latest version of the archi-lab.net package? The point conversion should be built in. Try getting the latest version and inputting your point straight into the node.
I had thought of that when I was looking at this post
but when I checked the python script in the node it contained the “return Autodesk.Revit.DB.XYZ(point.X,point.Y,point.Z)” line.
I’ll redownload and check though. Cheers.
Redownloaded the package and it works without the 304.8 division. That was a massive headache that could’ve been avoided! Cheers.