Как программно перейти на конкретный лист или на модель?

Автор Тема: Как программно перейти на конкретный лист или на модель?  (Прочитано 9195 раз)

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

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Появился еще один вопрос. Как программно перейти на конкретный лист или на модель?

Отмечено как Решение Борис_С 27-05-2021, 18:42:17

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Код - C# [Выбрать]
  1. LayoutManager.Current.CurrentLayout = "имя листа";
или
Код - C# [Выбрать]
  1. LayoutManager.Current.SetCurrentLayoutId(acLayout.ObjectId);
Второй вариант предпочтительней.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Программа не находит метод LayoutManager.Current.SetCurrentLayoutId

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
А 1-ый вариант просто не работает.
Я написал оператор LayoutManager.Current.CurrentLayout = layout.LayoutName;
Он не поменял активную закладку.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Программа не находит метод LayoutManager.Current.SetCurrentLayoutId
Какая версия AutoCAD?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Я написал оператор LayoutManager.Current.CurrentLayout = layout.LayoutName;
Это нужно выполнять вне транзакции. И нужно блокировать активный документ.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Программа не находит метод LayoutManager.Current.SetCurrentLayoutId
Какая версия AutoCAD?
Версия 2020

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Я написал оператор LayoutManager.Current.CurrentLayout = layout.LayoutName;
Это нужно выполнять вне транзакции. И нужно блокировать активный документ.
Да, это работает. Спасибо.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Программа не находит метод LayoutManager.Current.SetCurrentLayoutId
Какая версия AutoCAD?
Версия 2020
Быть не может. Перепроверь:




Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
В какой библиотеке он сидит?
Object Browser не подойдет?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
AcDbMgd.dll (надеюсь, что используется правильная версия, соответствующая версии AutoCAD)
LayoutManager.SetCurrentLayoutId(Autodesk.AutoCAD.DatabaseServices.ObjectId)


Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Посмотрел в моей библиотеке. Там действительно этого метода нет.
У меня версия библиотеки 20.0.0.0

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Посмотрел в моей библиотеке. Там действительно этого метода нет.
У меня версия библиотеки 20.0.0.0
Издеваешься? И это ты используешь для AutoCAD 2020? Должна быть версия 23.1.0.0 из ObjectARX SDK 2020 или из AutoCAD 2020.
Иначе возникнет огромное количество проблем.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Ты прав. Теперь все работает.

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3