---
title: "Интерфейс IMacroObjects3D"
type: interface
api: [api7]
domain: [3d]
tags: [interface, api7, 3d, imacroobjects3d]
sources:
  - imacroobjects3d.html
---

*API интерфейсов. Версия 7 > Документ 3D  > Макрообъекты 3D *


## Интерфейс IMacroObjects3D

Интерфейс коллекции макроэлементов 3D.
Иерархия:
IDispatch
IKompasAPIObject
IKompasCollection
IModelObjects
IMacroObjects3D
Данный интерфейс можно получить, используя свойство контейнера трехмерных объектов IModelContainer::MacroObjects3D.
КОМПАС версия v18


## Add - Создает новый элемент и добавляет его в коллекцию

Синтаксис Automation:
```
LPDISPATCH Add();
```
Синтаксис COM:
```
HRESULT Add( IMacroObject3D ** Result );
Возвращаемое значение:
- указатель на интерфейс IMacroObject3D.
```
Примечания:
Метод позволяет создать новый интерфейс макрообъекта.
После получения нового интерфейса нужно задать параметры объекта и вызвать метод IModelObject::Update.


## MacroObject3D - Возвращает элемент, заданный по индексу

Тип данных: Указатель на интерфейс IMacroObject3D.
Синтаксис Automation:
```
MacroObject3D = Object.MacroObject3D( Index );    Получить свойство (* )
MacroObject3D = Object.GetMacroObject3D( Index );    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_MacroObject3D( Index, &MacroObject3D );    Получить свойство
Входные параметры:
VARIANT Index    - индекс или имя элемента.
```
Примечание:
Свойство доступно только для чтения.
