Create Revit Callout

I don’t see a node to create a Revit Callout but I believe it can be done in the API ( so I’m assuming it’s possible with some Python scripting… of course I don’t know Python (yet) so I’m looking for help.

My ultimate goal is to query the Rooms in a project, obtain their boundary curves, modify the curves (offsetting and checking for overlap), and finally create new views (floor plan and ceiling plan) based on the curves and named after the room name/number. I think I can manage all but the view creation on my own (though I’m not 100% on how to name them – this might help –


1 Like

This is my total WAG attempt.

Most of the effort went into getting the bounding box of the room (with a buffer). I have no idea if I’m headed down the correct path to creating the callout. Is this something that can be done in DesignScript or do I need to start looking at Python?

Callouts by Room

Callouts by Room

Hi Greg,

I don’t think you can gain access to the API through a CBN. You’ll need to use a “Python Script” node.Have a look in the following thread:

In it Andreas Dieckmann provides a very detailed example with a step by step description.

The method used there is quite similar to the method you need to use for callouts.

Good luck!


Greg, you’ll need to pass a view family type which turns out to be a rather tedious affair as these suckers cannot be identified by name. Also, I think the retrieval of the min and max points can be simplified. Have a look at this graph (all custom nodes are from package Clockwork):


I was under the impression that ViewType and ViewFamily were the same thing.

Another of the API’s idiosyncrasies.

Time to learn Python! And the API while I’m at it…

Thanks for pointing me in the right direction!

Any luck with this Greg McDowell?



I never got back to the problem. I did see some work online suggesting others were working on similar problems though so maybe better to see what they come up with.

hate to raise from the dead but I am looking for the Python script of Andreas’s post that makes the callouts.

Since this question never received an accepted answer, here’s what I put together:

The Python node can be replaced with Element Types > All Elements of Type.

This node can be found in archi-lab package under this version:


Konrad - thanks for responding. your View.CreateCallout is that custom or from another package? I have Archi-lab?

It was posted with Archi-lab version 2016.13.4 as in the picture above. It will be under views.

awesome! been killing trying to code this!

Hey Konrad.
I have a simple question, What are you connecting as ViewFamilytype with the script?
I m really interested in your script. And to know how it really works.

It should be a view family type:

Thanks for your quick reply. But I still have a question about how much longer should it take to create a simple rectangle Callout. I just tried with a simple square room and after half an hour waiting for a result, it didn’t produce anything. I might need to do at least 300 callouts.

1 Like

it worked. I just picked a wrong ViewFamilyType