Закрытие открытых проектов в Revit

Автор Тема: Закрытие открытых проектов в Revit  (Прочитано 19838 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Всем, добрый день!

Ищу ответ на вопрос: как закрыть проект семейства, который я программно открыл...

Может я что-то не так делаю, но ...

Код - vb.net [Выбрать]
  1.     Private myCD As ExternalCommandData
  2.  
  3.     Public Sub Transfer_Single_Project(ByVal Project_Path As String)
  4.         ' Открываем требуемый документ
  5.         myCD.Application.OpenAndActivateDocument(Project_Path)
  6.         ' Объявляем переменные
  7.         Dim App As Autodesk.Revit.UI.UIApplication = myCD.Application()
  8.         Dim UIDoc As UIDocument = App.ActiveUIDocument
  9.         Dim Doc As Document = App.ActiveUIDocument.Document
  10.  
  11.         ' Здесь собственно код работы модуля
  12.         ' •••••••••••••••••••••••••••••••••••
  13.  
  14.         'Doc.Close(True) ' Не работает
  15.         'Doc.Close() ' Не работает
  16.  
  17.         UIDoc.SaveAndClose() ' Не работает
  18.  
  19.     End Sub

не работает.

Сохранение работает нормально, а вот закрытие проекта семейства никак!!! Что я еще не знаю про этот простой, на первый взгляд, процесс???

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13923
  • Карма: 1793
  • Рыцарь ObjectARX
  • Skype: rivilis
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13923
  • Карма: 1793
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Закрытие открытых проектов в Revit
« Ответ #2 : 17-03-2016, 08:32:25 »
Альтернатива - переключиться на другой документ, а этот закрыть.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Re: Закрытие открытых проектов в Revit
« Ответ #3 : 17-03-2016, 08:34:14 »
Александр Ривилис, Вы хоть представляете как я себя ужасно чувствую когда читаю это??? Я же пытаюсь закрыть проект из модального окна. Отправка нажатия клавиш вообще не вариант!!!

Ужас!!! Я даже не верю. Кто-то так пошутил?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13923
  • Карма: 1793
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Закрытие открытых проектов в Revit
« Ответ #4 : 17-03-2016, 08:36:56 »
Ну тогда ждите. Возможно у Виктора есть альтернативное решение.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Re: Закрытие открытых проектов в Revit
« Ответ #5 : 17-03-2016, 09:08:19 »
Альтернатива - переключится на другой документ, а этот закрыть.

Наверное это единственное решение в таком случае.

В моей задаче идет пакетная обработка семейств, она срочная и потому ждать нельзя ))) Спасибо за подсказку. Надеюсь, неактивный документ закрывать можно?

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Re: Закрытие открытых проектов в Revit
« Ответ #6 : 17-03-2016, 09:11:33 »
Александр Ривилис, а Вам не кажется странным, что метод есть, а использовать его нельзя? Это я так шучу :)

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13923
  • Карма: 1793
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Закрытие открытых проектов в Revit
« Ответ #7 : 17-03-2016, 09:19:07 »
Александр Ривилис, а Вам не кажется странным, что метод есть, а использовать его нельзя?
Его (как я понимаю) использовать можно, но (!!!) не с активным документом. В AutoCAD'е аналогично. Закрывать активный документ - это тоже самое, что пилить сук на котором сидишь. Это я так шучу.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Re: Закрытие открытых проектов в Revit
« Ответ #8 : 17-03-2016, 09:23:24 »
Закрывать активный документ - это тоже самое, что пилить сук на котором сидишь. Это я так шучу.

Смешно :)

Но я-то не из «дерева» сделан:
1. Чтобы открыть модальное окно, я, предварительно, все равно хоть какой-то проект открываю (и он остается всегда открытым)
2. Я закрываю только то, что открыл.

И вот обломчик...

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Re: Закрытие открытых проектов в Revit
« Ответ #9 : 17-03-2016, 09:24:15 »
В AutoCAD'е аналогично.

Да, ладно? Ну есть же этому какое-то объяснение... Хотя бы ограничение сделали - НЕ ЗАКРЫВАТЬ хотя бы один-последний документ. У меня пользователи сейчас под потолок от этой новости будут прыгать от злости, что им пока придется это вручную закрывать )))

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13923
  • Карма: 1793
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Закрытие открытых проектов в Revit
« Ответ #10 : 17-03-2016, 09:45:34 »
И вот обломчик...
Так чего же обломчик, если ты можешь переключится на предыдущий проект перед тем как закрывать активный.
Цитата: Александр Ривилис от 17-03-2016, 08:19:07

    В AutoCAD'е аналогично.


Да, ладно?
Угу. Т.е. закрыть можно, но достаточно извращенным способом, зависящим от версии AutoCAD. При этом определённые вещи в AutoCAD работать не будут. Всё это называется zero document state
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Re: Закрытие открытых проектов в Revit
« Ответ #11 : 17-03-2016, 09:47:23 »
Спасибо за информацию, Александр Наумович!!!

Попробую, отпишусь )))

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13923
  • Карма: 1793
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Закрытие открытых проектов в Revit
« Ответ #12 : 17-03-2016, 09:56:01 »
Кстати, если бы ты пользовался поиском, то возможно нашёл и проверил бы такой вариант: http://thebuildingcoder.typepad.com/blog/2012/12/closing-the-active-document.html
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 694
  • Карма: 111
  • Skype: chekalin-v
Re: Закрытие открытых проектов в Revit
« Ответ #13 : 17-03-2016, 09:59:37 »
Ну тогда ждите. Возможно у Виктора есть альтернативное решение.
Нет, альтернативные решения мне не встречались.
Справедливости ради хочу заметить, что мне тоже не понятно решение запретить закрывать активный документ. В принципе, в этом нет ничего противоестественного. Думаю это просто как то связанно с архитектурой API, и исторически так сложилось, что нельзя.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13923
  • Карма: 1793
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Закрытие открытых проектов в Revit
« Ответ #14 : 17-03-2016, 10:02:17 »
Думаю это просто как то связанно с архитектурой API, и исторически так сложилось, что нельзя.
В AutoCAD это однозначно так. Он изначально был однодокументным до версии 2000 и этот режим сохранён в нём до сих пор.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение