如何在仅知道文件名、文件夹 ID 和过程 ID 的情况下获取 Revit Cloud 文件的 ModelPath 或 ModelGUID?没有锻造

问题描述 投票:0回答:1

我有一种方法,可以获取新创建的 Revit 文件,并将其另存为 Cloud Workshared 模型并返回其模型路径。 当文件夹中已有同名的 Revit 文件时,我收到 Autodesk.Revit.Exceptions.RevitServerModelAlreadyExistsException。我想捕获该异常并返回现有文件的模型路径,但无法找到不使用 Forge 来获取它的方法。

public static ModelPath SaveAsCloud(Document currentDocument, string modelName, string folderId)
{
    Guid account = new Guid(accountId);
    Guid project = new Guid(projectId);
    try
    {
        currentDocument.SaveAsCloudModel(account, project, folderId, modelName); //Doesnt work if the model already exists
        currentDocument.EnableCloudWorksharing();
        ModelPath modelPath = currentDocument.GetCloudModelPath();
        return modelPath;
    }
    catch (RevitServerModelAlreadyExistsException)
    {
        ModelPath modelPathExisting = ModelPathUtils.ConvertCloudGUIDsToCloudPath(ModelPathUtils.CloudRegionUS, project, modelGuid); //Missing the modelGuid!!
        return modelPathExisting;
    }

}

我正在考虑使用 ConvertCloudGUIDsToCloudPath() 来获取 cloudPath,但我缺少最后一个参数,即 modelGUID。有没有办法用我已经拥有的信息而不是 Forge 来检索它?

c# autodesk-forge revit-api autodesk-bim360
1个回答
0
投票

好吧,如果使用 APS(Forge) 没问题,那么您可以使用搜索 API https://aps.autodesk.com/en/docs/data/v2/reference/http/projects-project_id-folders-folder_id-搜索-GET/,只需过滤[attributes.displayName]-contains="fileName"。

但是如果仅使用Revit API,我认为没有办法通过Revit API从名称中获取Revit云模型信息。

© www.soinside.com 2019 - 2024. All rights reserved.