CentralFileCommunicationException при использовании OpenAndActivateDocument - PullRequest
0 голосов
/ 21 февраля 2020

Мы получаем модель 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.

1 Ответ

0 голосов
/ 22 февраля 2020

Вы можете попробовать три уровня Обнаружение и обработка диалогов и сбоев . Может быть, поможет Failure API или подход ловушки API JtClicker Windows.

...