Import texts from GH to Revit as text annotation on the draft view

Hi, I am trying to create an adjacency diagram with annotations showing space information by using Rhino.inside Revit. I was able to import information from excel to rhino and visualize all those information however, I am having a hard time finding a good way to import the annotations from grasshopper to Revit as text annotation on the draft view. Can anyone help me on how to create text annotation by using Rhino. insde? Any advice will be appreciated.

We don’t have any Text nodes yet, but there are some options.

A couple questions. What will the drafting view contain? one square, dimensions and the text description? Counts? Is the idea this will go on a single sheet? Do you have one manually done that you can show/Share?


Thank you for your response, Japhy. The drafting view will contain room layout as filled regions, mostly square shapes. I just want to import/add the name of the room, sq.ft, and additional descriptions from the excel file to the single sheet. Please refer to the image below.


I have created a Python component that adds Annotation Text to given views from Rhino text. I tried it with an example case and it does what I want. You can access it from below :point_down::
Add Annotation (14.1 KB)



Thanks. This really helps! However, how could this be looped for iterating strings(room names) on the list? I am trying to print room annotations by modifying your code, but not working. As you can see below, I could get the first letter of the string printed. I am not sure why it only prints the first letter of the room name. Could you please give me a piece of additional advice?

I didn’t really understand your question. This already loops through a list of inputs. Input should be flattten before connecting though.

If you are asking about working with DataTrees, take a look at this :point_down::

It would be a lot easier if you could share a sample model and the final result you want to achieve.


I’ve received the error. What have I made wrong?

Thank you in advance for help.

Hi Anna,

Hard to say, I placed piece of Text in Rhino. Ran the definition and everything worked as expected.

When I have changed List Access to Item Access, everything is working ok.

I would like also keep the angle/vector of the Rhino text in Revit.

Any chance for help to modify Python script?I will be very grateful.

See attached.

Re Add Annotation Text (16.3 KB)

1 Like

Thank YOU very much. It works very well.

In the meantime something strange happened with Add Annotation Text python script.

I have noticed that when I’ve tried to export Rhino text to Revit it is paste to the wrong places (too far from the origin). Please look at the location of example DirectShape.

I was wonder why the output of the script is null, when in fact the Revit text was created?

Any chance to select only exported to Revit Rhino text (not all included in the Revit drawing).

If I remember correctly, the script worked fine in January (when we corresponded on the forum). Is it even possible?

I supposed that the same problem has happened with the Place Room Tag script.
Tags using AddComponent (Location)
Maybe different drawing units change the reference origin of paste text (room tag) to Revit?

That is the same issue for the location translation, at the moment these are in Revit Internal Units (always feet), the forthcoming RiR API can deal with these easily, at the moment I believe this is the method (I haven’t quite wrapped my head around the scaling in python scripting)
ConvertFromInternalUnits Method

Here is an update with output of the Revit Element.

Re Add Annotation Text Rotation Output (12.7 KB)

Try this one as well in MM or FT, thanks.

RE Re Add Annotation Text Rotation Output (12.5 KB)

Thank you very much it works perfect also for cm as well as mm.

Hi @Japhy,

I tried your Python component and when I run it, it changes the insertion point of all texts and the alignment for those texts that are not justified to the left. How could I fix this?

Horizontal Alignment in Revit is a Instance Parameter (Left=64, Center=128, Right=256)

The solution is to get the Rhino justification and translate it to those values. Rhino has 9 Justifications: TopLeft, TopCenter, TopRight, Middle,…,Bottom,…

I’ll post a small example later today.

See attached for the example.
RE Re Add Annotation Text Rotation Output (20.8 KB)

1 Like


thanks for your answer, but I must be doing something wrong because this is the result that I am getting. All the texts are generated in Revit on top of each other.

My question is, shouldn’t I be getting the text in Revit with the same location as when it is created in Grasshopper? At least that is what I am trying to achieve. The script is not placing the text in the correct position and it is not generating the text with the correct justification either.

Any suggestion?

Change the value of the series creating the text location in Rhino to something more appropriate for your Revit units.

If you select the text in Revit is the Justification not correct?