.NET Как выполнить Zoom Extents в документе?

Автор Тема: .NET Как выполнить Zoom Extents в документе?  (Прочитано 3504 раз)

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

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2268
  • Карма: 625
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Копирую объекты текущего чертежа в новый чертеж методом Wblock. Затем открываю этот чертеж и хочу выполнить зуммирование по границам модели. Зуммирование пытаюсь выполнить "по мануалу": http://docs.autodesk.com/ACD/2014/ENU/files/GUID-FAC1A5EB-2D9E-497B-8FD9-E11D2FF87B93.htm.
Если новый открытый чертеж делать активным, то после активации код перестает выполняться пока снова не активируется документ, из которого он запущен.
Если же чертеж не активировать, то зуммирование в нем не выполняется, т.к. в "мануальном" коде есть ссылки на текущие виды. Когда доходит до их получения, выскакивает ошибка на этой строке:
// Get the current view
using (ViewTableRecord acView = acDoc.Editor.GetCurrentView())
А зуммировать очень хочется, так как в создаваемом с помощью Wblock чертеже экспортированных объектов не видно на экране.
Что посоветуете?

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2268
  • Карма: 625
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Вопрос решен.
Добавил команде флаг Session. Сделал новый документ активным. Для модификации объектов понадобилось добавить блокировку документа методом LockDocument.
p.s.
Код из мануала явно требует оптимизации.