使用OpenAndActivateDocument时出现CentralFileCommunicationException

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

我们从其他公司收到Revit模型,因此这些模型不是中央模型或本地模型,也不具有访问其中央模型位置的权限。我认为,我创建了一个简单的例程来打开接收的模型(分离),因此我可以将其另存为网络上的新中央模型。

ModelPath path = ModelPathUtils.ConvertUserVisiblePathToModelPath(@"C:\Temp\received model.rvt");

OpenOptions opts = new OpenOptions();
opts.Audit = true;
opts.AllowOpeningLocalByWrongUser = true;
opts.DetachFromCentralOption = DetachFromCentralOption.DetachAndPreserveWorksets;
opts.SetOpenWorksetsConfiguration(new WorksetConfiguration(WorksetConfigurationOption.OpenAllWorksets));

UIDocument uidoc = this.OpenAndActivateDocument(path, opts, false);

除了一种情况外,该代码在所有情况下均按预期工作:当收到的文件具有“指定...”的工作集配置时。无论我使用什么WorksetConfiguration尝试打开文档,都会出现异常。

当我查看日志文件时,打开失败,我收到此消息:

Observable::getWorksetConfigForLoading 'Specify' = askUser

我尝试使用WorksetConfigurationOption.OpenAllWorksets,WorksetConfigurationOption.CloseAllWorksets和WorksetConfigurationOption.OpenLastViewed。我正在使用Revit 2016、2018和2020。

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

您可以尝试Detecting and Handling Dialogues and Failures的三个等级。也许Failure API会有所帮助,或者JtClicker Windows API挂钩方法。

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