I am trying to retrieve the elements of linked Revit documents with the Document Links node, but something is not quite right. The panel is not showing reading anything. All Revit links are stored on BIM360 - could this be an issue?
Hello @kike and @eirannejad
I have the latest version of Rhino 7 installed and using the same components I am not able to pull the BIM360 links from Revit. I am able to pull the linked model if I reference an element, but I cannot use the document links component. Can you please let me know if there is something I am missing here?
@eirannejad Thanks for looking into this. I have updated to the latest version and was still having the same issue with the Document Links component reading <null*> for each linked file, but upon further inspection it was reading the unloaded links only from the file and indicating them as <null*> while not showing the links that were active and loaded. Once I removed the unloaded links the loaded linked files show up. Could the Document Links component be updated to filter out unloaded links and still provide the loaded links?
@camelworks I have desktop connector installed. The cloud node is not needed to access linked files as shown in Ehsan’s post, but will output information about those files.
@cooper.schilder Generally it is best practice in Grasshopper to keep the order of elements. If the component filters out the unloaded links then the list is going to have a different length and can cause issues if the definition expects a certain arrangement.
However you can right-click on the output parameters anywhere and “Cull > Nulls”
@eirannejad I agree. The issue I’m running into is that the component is not giving me any of the valid loaded links if there are any unloaded links on a drive that it cannot access. If I keep those links in the model and cull the nulls on the link component I am getting “No data was collected…” even though there is a valid loaded link from BIM360 in the model. When I have both unloaded and loaded BIM360 links the component works and just shows the loaded links, its just with the inclusion of unloaded links from a drive it cannot access that it gives no data. (In the previous image I posted the 6 links shown as null are the unloaded links from a drive it cannot access, there is a 7th link not shown on the list that is loaded in from BIM360)
@eirannejad no, sorry I wasn’t clear. I have tested more variations out and it looks like the Document Links component is preferring absolute links over cloud (BIM360) links.
If there are any absolute links in the model it will display those including the unloaded absolute links as <null*> and will not display any of the cloud (BIM360) links that are either loaded or unloaded.
If there are no absolute links in the model it will show the cloud (BIM360) links that are loaded and any unloaded cloud (BIM360) links appear to already be filtered out without the need to cull nulls on the component itself.
Was there a resolution to Danijel’s post. I have downloaded the latest RiR Release 1.3 and am in Revit 2020 and am currently getting this error when trying to access links from different file directories, one being AutodeskDocs, and one from BIM360.
From what I am able to find is that when I unload the files with the “AutodeskDocs” the component works, however when loaded I get the same error as above. Is there a different way I need to approach the different file paths? or was this something in the latest release as it seemed to have been working in the 1.1 Release.
I created a similar model with mixed BIM360:// and Autodesk Docs:// paths and this seems to be a Revit API bug. It returns the error that is shown on the component when calling GetCloudModelPath() on documents linked with Autodesk Docs:// prefix
Revit 2020/21 seems to be creating BIM360:// models when uploading and worksharing models. Revit 2022 however creates Autodesk Docs:// models
We are using the .GetReferenceInformation() method to collect information about a cloud model from its DB.RevitLinkType and grab the LinkedModelModelId and compare with the model id of all the loaded DB.Documents in Revit to find the matching linked model. On Revit 2020/21 however, .GetReferenceInformation() data does not include LinkedModelModelId but it does on Revit 2022
Ok I pushed a change (coming next week with 1.4 release / currently available in latest WIP) that changes how the linked documents are collected. Far simpler now but the Revit API issues still stand:
In Revit 2020/21, the mixed linked models are correctly collected but anything with Autodesk Docs:// is not recognized as linked models by the API (DB.Document.IsModelInCloud returns false). see the missing Cloud Ids in the example below