Create Slab Edge or Other Profile Family along a Vector

Hi all,

I am developing a seating bowl in revit using dynamo. I have generated several precast floors for treads, but I need to create a vertical element for the risers. I have a slab edge profile that will allow me to pick the edge of each tread and make a riser. I would like to automate this process and dynamo, but I do not see a node which will allow me to use the slab edge profile.






















1 Like

I don’t think there are any default nodes for slab edges. You will either have to delve into the API for a solution, or alternatively you could try experimenting with the “Wall.ByCurveAndHeight” node and create some thin walls:



This is a good work-around for the time being. In the interim, I think that our team is going to create a node for the slab edge family for future use. Is there a way to access the Revit API in order to develop a node. We have done this for grasshopper/Rhino through accessing RhinoCommon. I’m looking for a similar language reference for Autodesk.

Thanks again!

Hi Pierre,

My preferred way of accessing the Revit API is with custom nodes scripted in iron python.

There’s also the possibility of loading custom nodes written in C# through the “Zero Touch Libary”. That gives you the option of designing custom UIs for your nodes.

You can find a lot of info about those methods on the Git wiki pages here:

I’ll have a look tomorrow if I can come up with some python code for slab edges. I will need a solution for railings and I think the API calls for the two are quite similar.


Ok, thanks for the help.

It seems Revit’s slab edge creation method is a bit clunky because it requires a host edge Element to host the slab edge on. The catch is that the API doesn’t expose a good method for querying a slab’s edge elements. Luckily you can also host slab edges on model curves:



The above gives you a lot more freedom, as long as you don’t mind a few extra model lines(you can’t delete them because that would delete the slab edge but you can freely hide them away ) because you can select exactly the edges you need, perform manipulations on them( move them, shorten them, etc), convert them to model lines and finally create slab edges on them.

Unfortunately for me the railing creation method in the API is even more clunky than the slab edge one, so it seems I’ll have to adopt slab edges for all my railings in my next project…

This is superb, I will try it out! Thanks!

I know this is old and I got to this by searching for something else. Nonetheless, I have always been interested in automating the design of stadiums (I did this in 2011

Pierre, have you implemented isacoustic curves to determine the sightlines? It looks like the threads have all the same height, so the curve is not logarithmic?

Hi @Dimitar_Venkov,
Was wondering if you still have your initial script for this available.
I’m struggling with the API NewSlabEdge(SlabEdgeType, Reference) method myself… Did you pass it directly through python script?

Please, can you set available the file DEV.SlabEdgeByModelCurve.dyn again, please?

Thanks in advance!!!