How to Create Elevations

The following was built in Revit 2021. Happy Holidays!

Create Elevations from Lines.dyn (62.1 KB)
This script requires a custom node to find the location of rotated elevation markers.
GetElevationMarkerPoints.dyf (11.3 KB)

This script deals with all of the challenges of that occur during the process of creating elevations.
Anyone who has tried to do this knows that there are several hiccups. Here is a list of them:

  1. You cannot create elevations without the elevations category turned on in the referenced plan view.
  2. Elevation markers do not know which direction to face; you have to rotate them.
  3. Elevation markers cannot rotate until there is a view placed on them.
  4. Elevation markers rotate to different locations; you have to put them back.
  5. You cannot find the location of elevation markers that are rotated beyond the crop region of the plan view.

Credit goes to the contributors from the topics below:

  1. You cannot create elevations without the elevations category turned on in the referenced plan view.

I’d have to check my elevation script, but I’m pretty sure I use the same nodes and don’t have this issue. I might have a play with yours and see what the difference is if I get a chance.

1 Like

If you or anyone else has something to add to the process shown above, please feel free to post it here. Let’s nail down the most efficient way to do this so there’s a resource for developers to build on and help fill in some gaps.

Hi @daniel1,

Nice workflow. I’m working on something similar.

I was wondering if you could you explain this code block to me with words? My DS is horrible :slight_smile:


Best regards

Its the combination of a few nodes smashed together in order to find the direction of the elevation from a line. If I remember right, the xAxis is the direction of the line. Angle with Vector found the angle between it and the Y Axis direction (up in plan view). The challenge with this node is that Dynamo does not know yet whether the angle should be positive or negative. That’s where the switch part comes in. If the x component of the line direction is not less than 0 (false) and the angle is less than 180 (true), then the angle (a) would get converted to a negative value, otherwise it would remain positive. The (+"") allowed me to put two booleans together to form a new one. The last part of switch to radians was necessary to feed the python script in the custom node.

1 Like

To add to the script above, I’ve found that it helps if you set the scale to one before rotating elevation markers. That way, the rotational origin is only able to shift with an amount that is proportionate to the scale applied. A smaller scale means a smaller shift from the point about which a new marker is created.

1 Like

Thank you so much for your reply, @daniel1.

Sorry I’m just getting back to you now, but I simply hadn’t seen your reponse.