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