Интерфейс макроэлемента (ksMacro3DDefinition, IMacro3DDefinition) |
Scroll |
Интерфейс макроэлемента документа-модели.
ksMacro3DDefinition |
- интерфейс Automation |
IMacro3DDefinition |
- интерфейс COM |
Описание:
Является 3D объектом, объединяющим в себе другие 3D объекты, в том числе и другие макроэлементы 3D, с возможностью скрывать свой состав, сохранять дополнительные пользовательские параметры и редактировать данный объект через библиотеку (если задано имя файла, имя библиотеки и команда редактирования).
Последовательность создания макроэлементов через API.
Создание макроэлемента с последующим добавлением объектов в его состав.
1. Создание пустого макроэлемента:
•Создание у компонента макроэлемента (ksPart::NewEntity соответствующего типа).
•Установка свойств макроэлемента (Видимость состава StaffVisible).
•Создание макро в модели ksEntity::Create.
•Установка пользовательских параметров SetUserParam.
2. Добавление существующих объектов в создаваемый макроэлемент:
•Добавление объектов в коллекцию объектов, входящих в макро ksFeatureCollection; при этом в модели ничего не происходит.
•Обновление макроэлемента ksEntity::Update; все новые объекты будут перенесены в макро в модели, у самих объектов тоже будут вызваны методы Update,
3. Создание новых объектов и добавление в макро:
•Создание нового объекта (NewEntity).
•Задание свойств нового объекта.
•Добавление объекта в коллекцию объектов, входящих в макро, при этом в модели ничего не происходит.
•Обновление макро ksEntity::Update - все новые, не созданные объекты, создадутся; у них вызовется ksEntity::Create.
Создание макроэлемента с одновременным наполнением его объектами.
•Создание у компонента макроэлемента (NewEntity соответствующего типа).
•Задание свойств макроэлемента.
•Создание при необходимости новых объектов (NewEntity) и задание их свойства (Create не вызывать), иначе переход к следующему пункту,
•Добавление объектов в коллекцию объектов, входящих в макро, в модели ничего не происходит,
•Создание макро в модели (ksEntity::Create) - все новые объекты создадутся, у них вызовется метод ksEntity::Create. Существующие объекты будут обновлены, у них вызовется метод ksEntity::Update.
4. Данный интерфейс можно получить, используя метод интерфейса элемента модели ksEntity::GetDefinition или IEntity::GetDefinition.
Подразделы: