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

ADN Club => AutoCAD .NET API => Тема начата: Дмитрий Загорулькин от 16-07-2013, 17:34:41

Название: .NET Как выполнить Zoom Extents в документе?
Отправлено: Дмитрий Загорулькин от 16-07-2013, 17:34:41
Копирую объекты текущего чертежа в новый чертеж методом 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 чертеже экспортированных объектов не видно на экране.
Что посоветуете?
Название: Re: .NET Как выполнить Zoom Extents в документе?
Отправлено: Дмитрий Загорулькин от 17-07-2013, 11:01:25
Вопрос решен.
Добавил команде флаг Session. Сделал новый документ активным. Для модификации объектов понадобилось добавить блокировку документа методом LockDocument.
p.s.
Код из мануала явно требует оптимизации.