Spot Elevation on an Uneven Surface

Hello All,

Is there a way to hack Dynamo or Revit in order to place the Spot Elevation Annotation on an Uneven surface? I am trying to make a floor slab of the existing building using the point data. The form was built easily using the adaptive components, the only issue is that the floor slabs in the project does allow only the edges and corners of the component to display the spot elevation. Unlike the normal floor slab created from Revit > Floor Slab could display spot elevation at any point on the face.

I have attached the .gif and .rvt 2017 file for clearer understanding.

Test.rvt (3.0 MB)

No, but extract the vertex points from the floor. Create a typo surface. Place the spot height where ever you need on the typo. Hide the typo from view.

I believe hiding the topo would hide associated annotations… it feels as if that slab could have been build with the floor tool and some shape modifiers. Any reason you didn’t go that route @Raja?

Thanks @Thomas_Mahon and @JacobSmall for your reply.

@Thomas_Mahon - I am not aware of creating the typo surface from the vertex points, any small hint about the steps would be great.

@JacobSmall - Yes actually that was my first thought too, but in this case the thickness of the floor slab isn’t consistent so could not use the “Modify Sub Elements” method. As seen in my example of the revit file the 8 point adaptive component is varying its height for the bottom and top face of each component.

Maybe you could try this work-around:


Many thanks @Einar_Raknes for your suggestion. I really don’t understand the part how they link or associate the “Elevation” annotation to the face based family. Among the following I tried using the Metric generic annotation but couldn’t really find the default level parameter in it

Any suggestions and help to point me towards right direction would be a great help. Thanks!

Crazy thought here… but could you read the floor geometry which you already have generated as an adaptive component and recreate it as a floor using dynamo? Assuming the real issue is that the adaptive component isn’t working for the elevation tags.

Hi @JacobSmall creating the geometry with adaptive components using dynamo works well. When I was trying to make a face based family suggested by @Einar_Raknes,I wasn’t able to place the elevation label inside the face based family. So was thinking how this person made it in the [example] (

The trick in the link is to just create a face based family and then put a spot elevation on that family. A digression perhaps, but if your surface isn’t curved in any way, then why do you technically need to put spot elevations anywhere other than on the sides and edges?

But if you really want to I guess you can use generic annotations and use Dynamo to set the parameters.


Hello @jostein_olsen I see the trick hidden behind of using that family now. The surface isn’t flat either, it is twisted in a few cases so i have to use the spot elevation to display the heights.

Wow this is a perfect solution for my problem. Many thanks for showing this work around :slight_smile: .

And the other interesting thing is only yesterday I came to know that Spot Elevation is a Builtin Parameter in Revit, so it could never be used in families.

@jostein_olsen, I have a problem, I need to put spot elevation at point z on the top of my floor in a section view, I have 700 sections of an urban corridor.
So I must try to improve with dynamo, I am new to the program and although I understand it, I’ve been trying to solve this node for days…

Plase, Thanks !!

I attach a image and the records of my node and my model of revit

Spot elevation at section.rvt