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