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

12 KiB

title, type, api, tags, sources
title type api tags sources
Интерфейс IViewProjectionManager interface
api7
interface
api7
iviewprojectionmanager
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 )    Установить свойство