---
title: "Интерфейс IUserFolder"
type: interface
api: [api7]
tags: [interface, api7, iuserfolder]
sources:
  - iuserfolder.html
---

*API интерфейсов. Версия 7 > Документ 3D  > Вспомогательные объекты, 3D-кривые и элементы тела  > 3D-кривые и элементы тела  > Интерфейс IModelObjects  > IModelObjects - свойства *


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

Интерфейс пользовательской директории.
Иерархия:
IDispatch
IKompasAPIObject
IModelObject
IUserFolder
Данный интерфейс можно получить с помощью метода IUserFolders::Add.
Версия: КОМПАС v18.


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

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


## GetObjects - Получить набор объектов в виде SAFEARRAY DISPATCH - VT_ARRAY | VT_DISPATCH

Синтаксис Automation:
```
VARIANT GetObjects();
```
Синтаксис COM:
```
HRESULT GetObjects( VARIANT * Result );
Возвращаемое значение:
Коллекция объектов возвращается в виде массива SAFEARRAY объектов LPDISPATCH (VT_ARRAY | VT_DISPATCH).
Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.
```


## SetObjects - Задать объекты

Синтаксис Automation:
```
BOOL SetObjects( VARIANT Objects );
```
Синтаксис COM:
```
HRESULT SetObjects( VARIANT Objects, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
Входные параметры:
Objects    - набор объектов.
```
Примечание:
•Если требуется передать один объект в наборе, его можно передать как VT_DISPATCH.
•Если требуется передать несколько объектов в наборе, то нужно передать их как массив VT_ARRAY | VT_DISPATCH.
