Сообщество программистов Autodesk в СНГ

ADN Club => Revit API => Тема начата: Bazinga от 16-10-2017, 14:12:26

Название: Исключение в методе OpenDocumentFile(String)
Отправлено: Bazinga от 16-10-2017, 14:12:26
Проблема возникает при использовании
Код - C# [Выбрать]
  1.  private UIApplication applic = commandData.Application;
  2.  Document doc = applic.Application.OpenDocumentFile(fim.FullName);

в fim.FullName содержится полный путь к файлу (@"D:\inWT\ish\Антураж\123.rfa"). Генерирует исключение InvalidOperationException (согласно мануалу файл не может быть открыт или открытие временно недоступно). В чем может быть проблема?
В примерах SDK такая же ошибка генерируется.

Название: Re: Исключение в методе OpenDocumentFile(String)
Отправлено: Виктор Чекалин от 16-10-2017, 14:48:29
(согласно мануалу файл не может быть открыт или открытие временно недоступно). В чем может быть проблема?
Файл может быть недоступен или не существовать. А если перед открытием выполнить
var res = File.Exists(fim.FullName); каков будет результат?
Название: Re: Исключение в методе OpenDocumentFile(String)
Отправлено: Bazinga от 16-10-2017, 14:55:00
var res = File.Exists(fim.FullName); каков будет результат?
true возвращает.
Название: Re: Исключение в методе OpenDocumentFile(String)
Отправлено: Александр Ривилис от 16-10-2017, 18:01:09
Bazinga
1. Открываемый файл сохранён в той же версии Revit?
2. Открываемый файл не открыт в данный момент в Revit (или в какой-то другой программе)?
3. Допустим ли контекст для открытия файла и создания документа?
Название: Re: Исключение в методе OpenDocumentFile(String)
Отправлено: Виктор Чекалин от 17-10-2017, 17:01:56
Bazinga,
Проверил код. Метод для открытия файла семейства верный. Открывает файл в любом случае, даже если это семейство открыто в Revit.
Для начала я бы попробовал два варианта:
1) Попробовать открыть другой файл семейства. Желательно из стандартной библиотеке Revit
2) Скопировать это семейство в другое место и попробовать открыть по новому пути.

И вопросы Александра не стоит игнорировать. Правда я проверил, если открыть файл более поздней версии, то возникает исключение CorruptModelException
Судя по коду вроде как вызываете код из команды, контекст должен быть верный, но все же стоит уточнить, верный ли контекст. Полный текст команды тоже не помешает.
Название: Re: Исключение в методе OpenDocumentFile(String)
Отправлено: Alxd от 15-12-2017, 10:41:34
3. А каким может быть контекст?