Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/iviewprojectionmanager.md
T
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK
и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало
docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор
tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается.

- .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным
  (safety-net на случай повторной локальной выгрузки).
- CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 20:00:05 +03:00

282 lines
12 KiB
Markdown

---
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 ) Установить свойство
```