Материалы технической поддержки Autodesk Developer Network: изменение визуального стиля для текущего видового экрана в AutoCAD

07.06.2011
Вопрос:
Я бы хотел изменить визуальный стиль из своей программы, желательно без вызова команды ТЕКВИЗСТИЛЬ (VSCURRENT). Как это можно сделать?

Ответ:
Визуальные стили сохраняются в специальном словаре (Visual Style Dictionary).
Также в каждой записи таблицы видовых экранов (Viewport Table Record) хранится идентификатор визуального стиля.

Для изменения текущего визуального стиля нужно: - найти требуемый стиль в словаре; - указать для требуемого видового экрана идентификатор найденного стиля.

Вот пример на C#:

Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
Database db = HostApplicationServices.WorkingDatabase;
Transaction tr = db.TransactionManager.StartTransaction();

ViewportTable vt = (ViewportTable)tr.GetObject(db.ViewportTableId, OpenMode.ForRead);
ViewportTableRecord vtr = (ViewportTableRecord)tr.GetObject(vt["*Active"], OpenMode.ForWrite);
// Найдем текущий видовой экран
DBDictionary dict = (DBDictionary)tr.GetObject(db.VisualStyleDictionaryId, OpenMode.ForRead);
vtr.VisualStyleId = dict.GetAt("Realistic"); // Найдем реалистичный визуальный стиль
// и назначим его для нашего видового экрана

tr.Commit();
ed.UpdateTiledViewportsFromDatabase();

Другие новости

Все новости Autodesk, СНГ >>>
Размещение рекламы