What is the basic workflow for developing functions in Revit?

Hey y’all, I’m new to both BIM and coding so sorry in advance if this is basic. I’ve written a few scripts in python but never taken a stab at writing anything specifically for Revit and I’m trying to get a sense of what the basic workflow is. I’ve pawed through Revit API docs, but am not entirely sure what I’m looking at, and when I’m looking for something specific I’m not sure what it would be called in the Docs. So as a jumping off point, can someone explain to me how I would go about doing the research to build a tool? I have one in mind that would probably be simple but I don’t have any direction.

What I want to do is create a tool where I can select a whole bunch of elements, activate the tool, click on a workplane like a wall or the floor, and get dimensions from the centers of each of those elements to that plane. So for example, if I have a wall with six outlets on the wall I can select them all, activate my little tool, click the floor, and get six measurements from the centers of those devices to the floor.

What I don’t know is where to even begin looking. In my head the keywords are Aligned Dimension, and workplane, but Revit probably calls those something else, and the command to create one and define where it would be created… well I’m not sure what the terminology looks like.

If you were going to try to build this function, where would you begin looking and what would you be looking for?

2 Likes

@pritchda

that was my booster into it. And a couble of years in dynamo…

1 Like

Even without taking the course, Erik’s website and YouTube channel are a wealth of information.

2 Likes

Hi @pritchda, welcome to the community and congratulations for embarking in the wonderful journey of BIM and programming! :wink:

You can find some resources in the quick start post you should find at the top of of the discussions list.

To get an idea of what is available via API in a more visual way, you can install the revit Lookup plugin (links in the aforementioned post).

1 Like