Getting last Revision number of each sheet in Documents is missing sometimes

For unknown reason some documents containing a single sheet with revision schedule, get the last revision number missing in some of them, this is getting the previous item of the last! ignoring the last revision. The correct Revision numbers shown in Excel column are the correct, wrote by myself after opening each Revit file and checking the last revision on sheet. I tested with 18 sheets but 6 are wrong.

Maybe the node “sheet revisions” @GavinCrump is failing? I do not think so.

What can be happening here?

I was wondering if the problem is that this only extract the revisions that are marked as “Issued”, but I double checked and also there are more than one revisions in the revision schedule on sheet that are not even marked as issued but they appear in the node output, but not the last one.

also I did other workaround based on the script shared by @SeanP in other post

…and I created from that a custom node from it to work with Long lacing to get a list of documents as input, the result is identical as before:

Your sheets are not correctly sorted. That can be the problem…

how do you identify this? I do not see the problem, the node that gets numbers of revisions of sheets is not showing the latest revision that exists on the sheet but it is showing the rest, and I just want to get the latest, I tested with 18 sheets but 6 are wrong.

Maybe the node “sheet revisions” is failing?

I don’t know about that node but a question: how do you get that data in excel? Is there any connection to sheets?

No, I wrote it manually after opening each file and looking into the revision schedule on sheet and then I compared between both Excel and Dynamo outputs

Like I said, it is because of sorting. Do like that:
Export to Excet that report:

Sheet - Last Revision

and then compare it in Revit.

List 17 does not even P15 in it… You can see it is not the right sheet.

1 Like

I double checked, there is no other sheet with that total number of revision on it, for some reason node is not getting all the revisions contained on some sheets…

Can you share the Python code of that node? Maybe there is a looping error in it…
It can be also a Lacing Problem on that archi-lab Node. I see you have there Lacing longest. That may be problem…

# Made by Gavin Crump
# Free for use
# BIM Guru,

# Boilerplate text
import clr

import Autodesk 
from Autodesk.Revit.DB import *

# Current doc/app/ui
doc = IN[1]

# Define list/unwrap list functions
def uwlist(input):
    result = input if isinstance(input, list) else [input]
    return UnwrapElement(result)

# Preparing input from dynamo to revit
sheet_list = uwlist(IN[0])
sheet_revs = []

# Get revisions per sheet
for s in sheet_list:
	ids = s.GetAdditionalRevisionIds()
	revs = [doc.GetElement(r) for r in ids]

# Preparing output to Dynamo
OUT = sheet_revs

With Auto Lacing does nothing, gets nulls but same number of items by sheets…also the Archilab node to get revisions does not work

well, looking how difficult is to get the revision number on each sheet, I think I do not want to use revit revision schedules anymore, but that is not a possible choice.

Maybe I am a bit dense, but what are you trying to achieve as a result. Seems like a lot of things have gone around and around. Can you simply state what you want as a result?

1 Like

Simply as the same I see in a revision schedule: Revision Number(the printed in sheet, not the sequence number of it), Revision Description, Revision Date of the last revision of one sheet of each document list.

When I though I got it, I double checked against the Revit files and in some cases the last revision is missing by Dynamo, then I am trying to find the same solution in many different ways

Are they place holder sheets in the mix? The python looks right so it’s either a sorting item across the node like @Deniz_Maral said, or something else in your model isn’t what you expect.

I checked one of the files, I am not sure where to check if a sheet is a placeholder, I suppose when I create a new sheet I see it in the list like that:

If python script is right, how is possible results are wrong in some files? the scripts are giving me the revisions that are in the sheets, but forgotten the last revision for some reason :sweat_smile:

So looking at the Python you shared, there is a doc input to get the revion elements to add to the output. Are you making sure those docs are the same from where the sheets come from and that node?

yes, they are the same files. I open each one of them and wrote the values in Excel to remember but that takes quite a lot of time, reason to try to get it with Dynamo.

Can you share any of the files to test on? Something isn’t adding up and it’s hard to tell without something to check.

One other thought, if these are linked, then have your reloaded them?


Ohh my god! I was getting the files from Autodesk Desktop Connector of BIM360 and I double checked the file on Autodesk Desktop connector and status appearead as “Obsolete” on those that have a revision missing, I synchronised manyally and run script, and effectively it works.

I do not understand how is possible that I opened same files many times with Revit through Autodesk Desktop Connector and those did not appear as synchronised automatically, even that I clicked synchronise the whole folder that contains all of them.

I am very sorry for the waste of time of myself and all of you responding, that is an issue that I also asked in the forum, how to make sure Autodesk Desktop Connector synchronises when I get access to files.

Seems like it’s worth testing more before we assume custom nodes are the culprit. This seems to be many people’s default positions these days…

I’d suggest marking sean’s solution for others to see. It is a valuable one. Marking your own post as a solution is not typically good practice.


I agree more testing always needed, but if I have already tested everything of my understanding and it supposed to be working fine, the only thing is to question if the process was correct in each step, questioning each node. Thanks for your support and good package

The time to develop that script was so much that for more than I run the script when needed, I will not save or recover any time, in comparison of having done the task manually each time for the future. At least we can think we learn based on stupid mistakes, errors and tests.

1 Like