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

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


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

Интерфейс вида графического документа.
Иерархия:
IKompasAPIObject
IDrawingObject
IView
IViewDesignation
IDrawingContainer
IBuildingContainer
ISymbols2DContainer
IBreakViewParam
ICutViewParam
IView1
Описание:
Типы видов описаны в перечислении LtViewType.
В графическом документе всегда присутствует системный вид, который формируется автоматически при создании документа, и может быть только один. В документе типа Фрагмент может быть только один вид - системный.
Посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif) у данного интерфейса можно получить дополнительные интерфейсы вида:
•Интерфейс обозначения вида IViewDesignation.
•Интерфейс контейнера объектов вида графического документа IDrawingContainer.
•Интерфейс контейнера объектов СПДС IBuildingContainer.
•Интерфейс контейнера условных обозначений ISymbols2DContainer.
•Интерфейс параметров разрыва вида IBreakViewParam. Этот интерфейс может быть получен для видов всех типов, кроме системного.
•Интерфейс параметров разреза вида ICutViewParam. Этот интерфейс может быть получен для видов всех типов, кроме системного.
•Интерфейс для получения коллекции ЛСК и признака редактирования макроэлемента IView1.
Примечание:
Данный интерфейс можно получить следующими способами:
•через коллекцию видов IViews,
•с помощью свойства IViews::View, IViews::ViewByNumber или метода IViews::Add, либо с помощью свойства IDrawingObjects::Item с последующим приведением к данному интерфейсу с помощью метода IUnknown QueryInterface,
•от интерфейса группы слоев ILayerGroup с помощью свойства ILayerGroup::OwnerView,


## Angle - Угол поворота вида

Тип данных: double
Синтаксис Automation:
```
Angle = iObject.Angle    Получить свойство (* )
iObject.Angle = Angle    Установить свойство (* )
iObject.Angle = Angle    Получить свойство (**)
iObject.SetAngle (Angle)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Angle (&Angle)    Получить свойство
iObject->put_Angle (Angle)    Установить свойство
```
Примечание:
1. Позволяет получить и установить угол поворота вида.
2. Свойство вступает в силу после вызова метода IDrawingObject::Update.


## Background - Состояние вида - фоновый

Тип данных: BOOL
Синтаксис Automation:
```
Background = iObject.Background    Получить свойство (* )
iObject.Background = Background    Установить свойство (* )
Background = iObject.GetBackground()    Получить свойство (**)
iObject.SetBackground (Background)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Background (&Background)    Получить свойство
iObject->put_Background (Background)    Установить свойство
```
Примечание:
1. Позволяет получить и установить свойство слоя - фоновый.
2. Свойство вступает в силу после вызова метода IDrawingObject::Update.


## Color - Цвет вида

Тип данных: long
Синтаксис Automation:
```
Color = iObject.Color    Получить свойство (* )
iObject.Color = Color    Установить свойство (* )
Color = iObject.GetColor()    Получить свойство (**)
iObject.SetColor( Color )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Color( &Color )    Получить свойство
iObject->put_Color( Color )    Установить свойство
```
Примечание:
1. Позволяет получить и установить цвет вида.
2. Свойство вступает в силу после вызова метода IDrawingObject::Update.


## Comment - Примечание

Тип данных: BSTR
Синтаксис Automation:
```
Comment = iObject.Comment    Получить свойство (* )
iObject.Comment = Comment    Установить свойство (* )
Comment = iObject.GetComment()    Получить свойство (**)
iObject.SetComment (Comment)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Comment (&Comment)    Получить свойство
iObject->put_Comment (Comment)    Установить свойство
```
Примечание:
1. Позволяет получить и установить примечание.
2. Свойство вступает в силу после вызова метода IDrawingObject::Update.


## Current - Состояние вида - текущий

Тип данных: BOOL
Синтаксис Automation:
```
Current = iObject.Current    Получить свойство (* )
iObject.Current = Current    Установить свойство (* )
Current = iObject.GetCurrent()    Получить свойство (**)
iObject.SetCurrent (Current)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Current (&Current)    Получить свойство
iObject->put_Current (Current)    Установить свойство
```
Примечание:
1. Позволяет узнать, является ли вид текущим или сделать его текущим.
2. Установить свойство "текущий" можно только равным TRUE.
3. Новый вид всегда создается текущим.
4. Свойство вступает в силу после вызова метода IDrawingObject::Update.


## Layers - Коллекция слоев

Тип данных: указатель на интерфейс ILayers коллекции слоев.
Синтаксис Automation:
```
Layers = iObject.Layers    Получить свойство (* )
Layers = iObject.GetLayers()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Layers( &Layers )    Получить свойство
```
Примечание:
1. Позволяет получить коллекцию слоев вида.
2. Свойство доступно только для чтения.


## Name - Имя вида

Тип данных: BSTR (строка)
Синтаксис Automation:
```
Name = iObject.Name    Получить свойство (* )
iObject.Name = Name    Установить свойство (* )
Name = iObject.GetName()    Получить свойство (**)
iObject.SetName (Name)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Name (&Name)    Получить свойство
iObject->put_Name (Name)    Установить свойство
```
Примечание:
1. Для нового вида, полученного методом IViews::Add, имя должно быть обязательно установлено до вызова метода IDrawingObject::Update.
2. Свойство вступает в силу после вызова метода IDrawingObject::Update.


## Number - Номер вида

Тип данных: long
Синтаксис Automation:
```
Number = iObject.Number    Получить свойство (* )
iObject.Number = Number    Установить свойство (* )
Number = iObject.GetNumber()    Получить свойство (**)
iObject.SetNumber (Number)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Number (&Number)    Получить свойство
iObject->put_Number (Number)    Установить свойство
```
Примечание:
Номер вида "0" зарезервирован для системного вида. Номер должен быть уникальным в документе. Для нового вида, полученного методом IViews::Add, можно задать номер "-1" или не задавать номер. В этом случае при вызове метода IDrawingObject::Update для данного вида номер будет задан автоматически.


## ObjectCount - Количество объектов в виде

Тип данных: long
Синтаксис Automation:
```
ObjectCount = iObject.ObjectCount    Получить свойство (* )
ObjectCount = iObject.GetObjectCount()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_ObjectCount (&ObjectCount)    Получить свойство
```
Примечание:
1. Позволяет получить количество объектов в виде.
2. Свойство доступно только для чтения.


## Scale - Масштаб вида

Тип данных: double
Синтаксис Automation:
```
Scale = iObject.Scale    Получить свойство (* )
iObject.Scale = Scale    Установить свойство (* )
Scale = iObject.GetScale()    Получить свойство (**)
iObject.SetScale (Scale)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Scale (&Scale)    Получить свойство
iObject->put_Scale (Scale)    Установить свойство
```
Примечание:
1. Позволяет получить и установить масштаб вида.
2. Свойство вступает в силу после вызова метода IDrawingObject::Update.


## Variable - Получить параметрическую переменную по имени, индексу или указателю на размер

Тип данных: указатель на интерфейс параметрической переменной IVariable7
Синтаксис Automation:
```
Variable = Object.Variable (VARIANT Index)    Получить свойство (* )
Variable = Object.GetVariable (VARIANT Index)    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Variable(VARIANT Index, &Variable)    Получить свойство
Входные параметры:
Index    - индекс, имя или указатель на размер параметрической переменной.
Свойство позволяет получать интерфейс параметрической переменной.
```
Примечание:
Свойство доступно только для чтения.


## Variables - Получить массив параметрических переменных

Тип данных: массив SAFEARRAY VT_DISPATCH
Синтаксис Automation:
```
Variables = Object.Variables    Получить свойство (* )
Variables = Object.GetVariables()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Variables (&Variables)    Получить свойство
Свойство позволяет получать массив параметрических переменных.
```
Примечание:
Свойство доступно только для чтения.


## VariablesCount - Получить количество параметрических переменных

Тип данных: long
Синтаксис Automation:
```
VariablesCount = Object.VariablesCount    Получить свойство (* )
VariablesCount = Object.GetVariablesCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_VariablesCount (&VariablesCount)    Получить свойство
Свойство позволяет получать количество параметрических переменных.
```
Примечание:
Свойство доступно только для чтения.


## ViewType - Тип вида

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


## Visible - Состояние вида - видимый или погашенный

Тип данных: BOOL
Синтаксис Automation:
```
Visible = iObject.Visible    Получить свойство (* )
iObject.Visible = Visible    Установить свойство (* )
Visible = iObject.GetVisible()    Получить свойство (**)
iObject.SetVisible (Visible)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Visible (&Visible)    Получить свойство
iObject->put_Visible (Visible)    Установить свойство
```
Примечание:
1. Позволяет получить и установить свойство вида - видимый или погашенный.
2. Свойство вступает в силу после вызова метода IDrawingObject::Update.


## X - Координата привязки по X

Тип данных: double
Синтаксис Automation:
```
X = iObject.X    Получить свойство (* )
iObject.X = X    Установить свойство (* )
X = iObject.GetX()    Получить свойство (**)
iObject.SetX (X)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_X (&X)    Получить свойство
iObject->put_X (X)    Установить свойство
```
Примечание:
1. Позволяет получить и установить координату привязки вида по оси X.
2. Свойство вступает в силу после вызова метода IDrawingObject::Update.


## Y - Координата привязки по Y

Тип данных: double
Синтаксис Automation:
```
Y = iObject.Y    Получить свойство (* )
iObject.Y = Y    Установить свойство (* )
Y = iObject.GetY()    Получить свойство (**)
iObject.SetY (Y)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Y (&Y)    Получить свойство
iObject->put_Y (Y)    Установить свойство
```
Примечание:
1. Позволяет получить и установить координату привязки вида по оси Y.
2. Свойство вступает в силу после вызова метода IDrawingObject::Update.
