File size of BIM 360 file


#1

Hello all,

Is there a way to collect the file size of a cloud project? Or maybe find the local file of a cloud project?

Document.Current gives the BIM 360:// file path but Clockworks and Springs node’s do not like it.

The Python is from Springs.File.Size and the err is as follows.
Warning: IronPythonEvaluator.EvaluateIronPythonScript operation failed.
Traceback (most recent call last):
File “”, line 25, in
File “”, line 19, in getSize
SystemError: The given path’s format is not supported.

Thanks,
Steven


#2

You can pull the local file information from the journal file. and check size against that.
While its an ugly approach it is effective at getting the local file and local file size.

Very disappointing such important information is not visibly apparent natively in the software.


#3

Thats a good Idea for an alternative workaround. I was also thinking you could cull the local directory for cloud models and see what the last one edited was as another workaround (would just have to check how linked files are effected).

I am hoping for a simpler way since I want to run this on all the projects in my office as part of a health dashboard.

Thanks for your input Jeff I will look at the journals and see how it can help. If I find any more information I will post it back here.

Steven


#4

You can also get the GUID of the model and use that to get the correct model from your collaboration cache. Note that this is effectively asking for the size of the local and that the size on the Amazon server may be different, specifically if users are actively in the project due to the lag in the system plus the cache isn’t necessarily current (how long since you started fresh?).


#5

After about 2 hours of culling the web I finally found it. I get a warning though with the code I wrote. Do you have any Idea?

http://www.revitapidocs.com/2016/93287b85-2c12-ff55-177e-2a419fa893df.htm

Warning: IronPythonEvaluator.EvaluateIronPythonScript operation failed.
Traceback (most recent call last):
File “”, line 15, in
TypeError: Guid is not callable

import clr


clr.AddReference("RevitAPI")
from Autodesk.Revit.DB import *


clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

doc = DocumentManager.Instance.CurrentDBDocument

doc.WorksharingCentralGUID()

OUT = doc

Some extra references.


#6

WorksharingCentralGUID is a property, not a method, which is why you get the error that it is not callable. Remove the parentheses so your code reads: OUT = doc.WorksharingCentralGUID


#7

Thanks @awilliams,

Here is the code to get the file size of a locally stored C4R model. Like @JacobSmall said the file in the cloud maybe different but this should be close.

Does anyone know how to get the project GUID? I looked through the API but could not find anything. With project and file GUID the file path could be created rather than having to search the whole directory for the file. I only have two C4R projects on this computer but Directory.Contents+ returns over 6,000 file paths. Dynamo eats them up really quick but still a lot of extra work.

C4R File Size.dyn (19.9 KB)


#8

GUID can be obtained by looking in the journals, which oddly enough have a “file Size On Open” line which allows for pulling the size directly without having to compare GUIDs to find the correct locally saved version. I am unsure if this also takes into account loaded links into account so it’s unclear if this helps with comparing to the rule of twenty. Certainly helpful to note changes in file size though.