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

*API интерфейсов. Версия 7 > Управление изображением модели*


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

Менеджер проекций отображения модели в окне.
Иерархия:
IDispatch
IKompasAPIObject
IViewProjectionManager
Примечание:
Интерфейс можно получить, используя свойство IKompasDocument3D1::ViewProjectionManager.
Версия КОМПАС v22


## Add - Добавить новую пользовательскую проекцию

Интерфейс
Синтаксис Automation:
```
LPDISPATCH Add();
```
Синтаксис COM:
```
HRESULT Add( IViewProjection7 * * Result );
Возвращаемое значение:
- Указатель на интерфейс новой пользовательской проекцииIViewProjection7
```
Примечания:
Метод позволяет создать новый интерфейс стиля.


## AddUnfoldProjection - Добавить проекцию отображения - развертка

Интерфейс
Синтаксис Automation:
```
LPDISPATCH AddUnfoldProjection( VARIANT place );
```
Синтаксис COM:
```
HRESULT AddUnfoldProjection( VARIANT place, IViewProjection7 * * Result );
Возвращаемое значение:
- Указатель на интерфейс проекции IViewProjection7.
Входные параметры:
Place    - динамический массив SAFEARRAY double (VT_ARRAY    VT_R8),
```
Примечания:
В массиве должны лежать 16 элементов, которые представляют собой матрицу размера 4х4.


## BaseUserOrientation - Матрица базовой ориентации модели

Интерфейс
Тип данных: VARIANT
Синтаксис Automation:
```
BaseUserOrientation = Object.BaseUserOrientation    Получить свойство (* )
Object.BaseUserOrientation = BaseUserOrientation    Установить свойство (* )
BaseUserOrientation = Object.GetBaseUserOrientation()    Получить свойство (**)
Object.SetBaseUserOrientation( BaseUserOrientation )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BaseUserOrientation( &BaseUserOrientation )    Получить свойство
Object.put_BaseUserOrientation( BaseUserOrientation )    Установить свойство
```
Примечание
1.Элементы матрицы возвращаются в виде одномерного массива из 16 элементов SafeAttray типа (VT_ARRAY | VT_R8).. Матрица имеет размер 4х4.
2.Метод позволяет получить матрицу, которая может использоваться для отображения вида спереди.
3.По умолчанию используется единичная матрица без смещения.


## Count - Количество проекций

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


## Matrix3D - Текущая матрица отображения в окне документа

Интерфейс
Тип данных:VARIANT
Синтаксис Automation:
```
Matrix3D = Object.Matrix3D    Получить свойство (* )
Matrix3D = Object.GetMatrix3D()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Matrix3D( &Matrix3D )    Получить свойство
```
Примечание:
1.Свойство доступно только для чтения.
2.Для изменения текущей ориентации используется метод IViewProjection7_SetMatrix3D.
3.Элементы матрицы возвращаются в виде одномерного массива из 16 элементов SafeAttray типа (VT_ARRAY | VT_R8). Матрица имеет размер 4х4.


## OrientationNormalTo - Нормаль к...

Интерфейс
Синтаксис Automation:
```
BOOL OrientationNormalTo( IModelObject * NormalObject );
```
Синтаксис COM:
```
HRESULT OrientationNormalTo( IModelObject * NormalObject, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Входные параметры:
NormalObject    - указатель на плоский объект IModelObject.
```
Примечания:
В качестве плоского объекта может использоваться:
•плоская грань,
•координатная или вспомогательная плоскость,
•эскиз.
Версия Компас v23


## OrientationNormalToAndAling - Повернуть нормаль и выровнять

Интерфейс
Синтаксис Automation:
```
BOOL OrientationNormalToAndAling( IModelObject * NormalObject, BOOL Inverse, BOOL Horizontally, IModelObject * DirectionObject );
```
Синтаксис COM:
```
HRESULT OrientationNormalToAndAling( IModelObject * NormalObject, BOOL Inverse, BOOL Horizontally, IModelObject * DirectionObject, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Входные параметры:
NormalObject    - указатель на плоский объект IModelObject (плоская грань, координатная или вспомогательная плоскость, эскиз),
Inverse    - направление,
Horizontally    - TRUE - горизонтально, FALSE - вертикально,
DirectionObject    - направляющий объект.
```
Примечания:
В качестве плоского объекта может использоваться:
•плоская грань,
•координатная или вспомогательная плоскость,
•эскиз.
Направляющим объектом может быть:
•линия (пространственная кривая, линия эскиза, ребро), проекцией которой на выбранный плоский объект является прямая,
•плоский объект (плоскость, плоская грань, эскиз), который пересекается с выбранным плоским объектом (в случае выбора грани или эскиза, построенного на грани, пересечение должно быть в пределах этой грани).
В соответствии с выбранным вариантом модель после указания направляющего объекта повернется так, чтобы его проекция на выбранный ранее плоский объект (линия пересечения этих объектов) заняла горизонтальное или вертикальное положение.
Версия Компас v23


## Scale - Масштаб, установленный в текущем окне документа

Интерфейс
Тип данных: double
Синтаксис Automation:
```
Scale = Object.Scale    Получить свойство (* )
Object.Scale = Scale    Установить свойство (* )
Scale = Object.GetScale()    Получить свойство (**)
Object.SetScale( Scale )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Scale( &Scale )    Получить свойство
Object.put_Scale( Scale )    Установить свойство
```


## SetMatrix3D - Установить систему координат отображения модели в окне по матрице и масштабу

Интерфейс
Синтаксис Automation:
```
BOOL SetMatrix3D( VARIANT Matrix3D, double Scale );
```
Синтаксис COM:
```
HRESULT SetMatrix3D( VARIANT Matrix3D, double Scale, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Matrix3D    - динамический массив SAFEARRAY double (VT_ARRAY    VT_R8),
Scale    - масштаб.
```
Примечания:
В массиве должны лежать 16 элементов, которые представляют собой матрицу размера 4х4.


## ShowDynamicSection - Отображать сохраненные динамическое сечение

Интерфейс
Тип данных: BOOL
Синтаксис Automation:
```
ShowDynamicSection = Object.ShowDynamicSection    Получить свойство (* )
Object.ShowDynamicSection = ShowDynamicSection    Установить свойство (* )
ShowDynamicSection = Object.GetShowDynamicSection()    Получить свойство (**)
Object.SetShowDynamicSection( ShowDynamicSection )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ShowDynamicSection( &ShowDynamicSection )    Получить свойство
Object.put_ShowDynamicSection( ShowDynamicSection )    Установить свойство
```


## ShowLayersStates - Отображать сохраненные состояния слоев

Интерфейс
Тип данных: BOOL
Синтаксис Automation:
```
ShowLayersStates = Object.ShowLayersStates    Получить свойство (* )
Object.ShowLayersStates = ShowLayersStates    Установить свойство (* )
ShowLayersStates = Object.GetShowLayersStates()    Получить свойство (**)
Object.SetShowLayersStates( ShowLayersStates )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ShowLayersStates( &ShowLayersStates )    Получить свойство
Object.put_ShowLayersStates( ShowLayersStates )    Установить свойство
```


## ViewProjection - Получить интерфейс проекции по индексу или имени

Интерфейс
Тип данных: Указатель на интерфейс IViewProjection7
Синтаксис Automation:
```
ViewProjection = Object.ViewProjection( Index )    Получить свойство (* )
ViewProjection = Object.GetViewProjection( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ViewProjection( Index, &ViewProjection )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## ViewProjectionScheme - Текущая схема ориентаций модели

Интерфейс
Тип данных: ksViewProjectionScheme
Синтаксис Automation:
```
ViewProjectionScheme = Object.ViewProjectionScheme    Получить свойство (* )
Object.ViewProjectionScheme = ViewProjectionScheme    Установить свойство (* )
ViewProjectionScheme = Object.GetViewProjectionScheme()    Получить свойство (**)
Object.SetViewProjectionScheme( ViewProjectionScheme )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ViewProjectionScheme( &ViewProjectionScheme )    Получить свойство
Object.put_ViewProjectionScheme( ViewProjectionScheme )    Установить свойство
```
