---
title: "Интерфейс IViews"
type: interface
api: [api7]
domain: [drawing]
tags: [interface, api7, drawing, iviews]
sources:
  - iviews.html
---

*API интерфейсов. Версия 7 > Документ 2D  > Виды и слои  > Интерфейс IDrawingObjects  > IDrawingObjects - свойства *


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

Интерфейс коллекции видов графического документа.
Иерархия:
IKompasAPIObject
IKompasCollection
IDrawingObjects
IViews
Описание:
Типы видов описаны в перечислении LtViewType.
В документе типа Фрагмент есть только один системный вид.
В документе типа Чертеж обязательно есть системный вид (только один) и могут быть до 254 видов любого типа из перечисления LtViewType, кроме системного.
Примечание:
Данный интерфейс можно получить от интерфейса менеджера видов и слоев IViewsAndLayersManager с помощью свойства IViewsAndLayersManager::Views.


## ActiveView - Активный вид

Тип данных: указатель на интерфейс вида IView
Синтаксис Automation:
```
ActiveView = iObject.ActiveView    Получить свойство (* )
ActiveView = iObject.GetActiveView    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_ActiveView (&ActiveView)    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## Add - Создать вид (добавляет вид в коллекцию)

Синтаксис Automation:
```
LPDISPATCH Add (long ViewType);
```
Синтаксис COM:
```
HRESULT Add ([in] LtViewType ViewType, [out, retval] IView** Result);
Входные параметры:
ViewType    - тип создаваемого вида из перечисления LtViewType.
Возвращаемое значение:
- Указатель на интерфейс вида IView.
```
Примечание:
1. Системный вид создается автоматически при создании документа. Создавать второй системный вид (тип vt_System) нельзя.
2. После вызова этого метода вид будет добавлен в коллекцию, но в документе не появится.
3. Для отображения вида в документе нужно задать его параметры и вызвать метод IDrawingObject::Update.


## AddStandartViews - Создать группу стандартных ассоциативных видов (добавить виды в коллекцию)

Синтаксис Automation:
```
BOOL AddStandartViews (BSTR FileName,
BSTR ProjectionName,
VARIANT ProjectionsTypes,
double X,
double Y,
double Scale,
double DX,
double DY );
```
Синтаксис COM:
```
HRESULT AddStandartViews (BSTR FileName,
BSTR ProjectionName,
VARIANT ProjectionsTypes,
double X,
double Y,
double Scale,
double DX,
double DY,
BOOL * Result);
Входные параметры:
FileName    - имя файла модели-источника для проекции,
ProjectionName    - ориентация модели,
ProjectionsTypes    - массив SAFEARRAY VT    VT_I4 типов проекций,
X, Y    - точка привязки группы видов,
Scale    - масштаб,
DX, DY    - расстояние между видами.
Возвращаемое значение:
TRUE    - в случае удачи.
```


## View - Вид, заданный по имени, ссылке или по индексу

Тип данных: указатель на интерфейс вида IView
Синтаксис Automation:
```
View = iObject.View (Index)    Получить свойство (* )
View = iObject.GetView (Index)    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_View (Index, &View)    Получить свойство
Входные параметры:
index    - индекс вида в коллекции, ссылка на вид или имя вида; тип VARIANT.
```
Примечание:
Свойство доступно только для чтения.


## ViewByNumber - Вид, заданный по номеру

Тип данных: указатель на интерфейс вида IView
Синтаксис Automation:
```
View = iObject.ViewByNumber (number)    Получить свойство (* )
View = iObject.GetViewByNumber (number)    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_ViewByNumber (number, &View)    Получить свойство
Входные параметры:
number    - номер вида; тип long.
```
Примечание:
Свойство доступно только для чтения.
