3D grid in Revit? No problem with Dynamo!

It's been a little quieter here on the blog this week, but I have a special treat for you today 😉
One of my colleagues recently asked for a 3D grid in Revit (as did many other Revit users, as this has long been on the RUG wish lists) - instead of looking for plugins, I gave Dynamo a chance: and lo and behold, it's actually quite simple!

dynamo-3d-grid

You can download the dynamo file and the corresponding family for labeling the axis grid here. here download. For the definition to take effect, the family must be loaded in the project and explicitly selected in Dynamo.

The Dynamo file has already been commented on, but here is a brief summary of the logic behind it:

dynamo-3d-grid-closeup1

The first part of the definition queries all grid lines from the project and then converts them into lines that can be further processed by Dynamo - to generate model lines in Revit, as in this case.

This means that the grid is already visible in Revit, but without the labeling - of course we are not satisfied with this and will see how we can get the grid names:

dynamo-3d-grid-closeup2

Querying the names of the grid lines is not a problem in itself, as you can use GetParamterValueByName to get them out very easily. But how do we display them in the 3D view in the project?

dynamo-3d-grid-closeup3

My first idea was the model text, for which there is also a node in Dynamo - but unfortunately this can only be used to create model text in the family editor and not in the project environment.

For this reason, I have created my own family in which I have inserted a model text and linked its value to a parameter.

dynamo-3d-grid-closeup4

We want to fill this parameter with the help of Dynamo and give it the value that we previously received from the grid line. Now we just need to place the family with the help of Dynamo:

dynamo-3d-grid-closeup5

With FamilySymbol.ByName we can call up a family loaded in the project - simply write the exact name in a string node. Once the family has been called, it can be called via FamilyInstance.ByPoint can be placed at any point in the project environment. I will come back to the topic of point selection below.

In our case, we must also fill the "Gridname" parameter defined in the family with the name of the grid line - this is done with the help of SetParameterByName.

Now let's see where the grid designations should be placed:

dynamo-3d-grid-closeup6

Logically, we would like to place our axis designation at the beginning (and possibly also at the end) of the axis line. The nodes EndPoint and StartPoint but unfortunately in this case the font would overlap with the line, which is not particularly attractive.

For this reason, we are making a small workaround:

dynamo-3d-grid-closeup7

We use the Node Curve.Extendto first extend the dynamo line and then define a point that is offset from the real model line as the placement point for the family.

The result finally looks like this:

dynamo-3d-grid-closeup8

Please remember that the model lines and the family category General model are visible in all views - you should therefore adjust filters or view settings accordingly so that the 3D grid is not visible in the floor plan.

Have a nice weekend - and THINK BIM 😉

Lejla

5 comments
  1. yeeah Dynamo 🙂 very cool, more posts pls 🙂
    If you place the 3D rasters on a separate raster layer, you can also move them all together vertically if you want to show/render the 3D rasters on a different floor. It is also helpful if you can make the characters "stand up" with a visibility parameter for a side view

    1. Thanks Thomas - I'd also like to spend the whole day with Dynamo, but unfortunately that doesn't quite work out!
      Good ideas for the Grid v2.0! Let's see what we can do! 😉
      Greetings, Lejla

  2. Hey Lejla, cool thing. I did it in Revit, but when there are 2 grids in the Revit model, both grid lines were created but the grid name was only displayed for one grid,

  3. Hello Lejla,

    Is there a way to check a grid dimension with a dynamo?

    I have a 62.5 grid dimension for the windows and would like to have a statement afterwards, e.g. in Excel, that all supports comply with this grid dimension. Actually the function works like a model checker.

    Greetings
    Jonas

Leave a Reply to lejla Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Previous Article

Upcoming RUG DACH meetings

Next Article

Adaptive auxiliary objects in Revit, part 2