Aligning Curtain Grid with Datum

Package/node Used: ReAnimation, “create curtain grid,” and “move curtain grid.”

Firstly, I am new to dynamo, so I may be making some rookie mistakes or asking basic questions:

Goal: to be able to create a horizontal curtain grid in any given project along it respective datum

My Roadmap: select curtain wall as element, and levels as a category > extract elevation parameter from each level, and extract top and bottom constraint of element selected > cross reference the list of level heights, with operators to find levels outside of constraints > mask these levels out of the list > use the list with the “create curtain grid” node from ReAnimation package to generate grid along datum

the issue:

I set up the script, and it works when the curtain wall’s base constraint is the first datum, and the top constraint is the last datum… But placing a curtain wall between datum’s will cause dynamo to generate only a portion of the grid that it should (typically a handful of the lowest h.gridlines will not appear).

The question: Why is this happening? Is there an easier way to achieve this?


  • I’m not familiar with coding, so I couldn’t go into the custom node and look through the python code and figure out if it was a node problem, or something in my file that was the issue

Any help would be greatly appreciated!


  • I was initially working in Revit 2016, and tested the script in Revit 2017 thinking that might be the issue. Still only getting datum for half the c wall.
    -Dynamo Version 1.2.1

uploading the .dyn and a sample .rvt would help myself and others look into the problem.

Also, as a tip for exporting a .png of your entire definition, zoom into the nodes so the text is visible on screen, click the camera icon in the upper right corner of dynamo. This will create a high-res image of the entire definition.

Personally I have yet to make use of the ReAnimation package, so at this moment I am unable to speak to that specific node.

helpful comment regardless. Will do

also it is useful to note what version of revit you are using, I started to test out an option until I noticed you must be using 2017 because of your use of Parameter.Value. If I get a chance, I will try to test out your definition this evening or this week, it would be easier with your .dyn file and test .rvt

its all listed out here in the first pinned forum thread.

I’m working in revit 2016, so maybe that’s the problem right there. Thanks
for the pointers

As per post update, Revit 2017 is also having the same issue (grid won’t be placed along the highlighted datum):

note: It’s always the base datum that have this issue, and the closer the base constraint is to the lowest level, the fewer datum have the problem; when set to base constraint = level 1, and top constraint = highest level, the grids place just fine.

your best bet is to find the top and bottom elevations of the CW instead of just the constraints, as those will not tell you as you mentioned if the CW is on the constraint or if there is an offset. look into the offset and you might find a solution. otherwise, lookup the creator of the package and message them. also, typically packages will come with and extras folder with samples to see how to use the package. good luck

I thought that is what I did, I’m going to leave the full png here in case anyone else has some insight

Hi Chris,

I responded in email to you but wanted to provide the solution here too in case anyone else is following this thread. The script measures from the edges of the curtain panel and not from the project origin. Horizontal grids start from the bottom of the wall. Therefore if your panel starts at Level 03 and Level 03 is at 20’-0", a curtain grid 5’0" off the bottom is at 5’-0" and not 25’-0". As you are using the Level elevations as your grid elevations, you will need your script to subtract the bottom of your curtain panels elevation from the level elevations to get the correct locations.The script will ignore any locations not within the curtainwall’s constraints so there will be no need to filter out the negative gridlines.

Also to clarify, the vertical grids measure from the starting edge of the panel. This could be from the left or right side depending on how the wall was initially created. If you find the grids occur in the opposite direction than you anticipated, you will need to subtract your input values from the length of the wall to correct them.


Thanks for the help Travis. Just to follow up on the thread, works like a charm now.