---
title: "Вспомогательные объекты"
type: interface
api: [api7]
domain: [3d]
tags: [interface, api7, 3d, bc1712124]
sources:
  - bc1712124.html
  - iaxis3d1.html
  - iplane3d1.html
  - iconjunctivepoints.html
  - icontrolpoints.html
  - ilocalcoordinatesystems.html
  - ilocalcsaxesdirectionparam.html
  - ilocalcseulerparam.html
  - ilocalcsorientbyobjectparam.html
  - ilocalcsobject.html
  - iplacement3d.html
---

*API интерфейсов. Версия 7 > Документ 3D  > Вспомогательные объекты, 3D-кривые и элементы тела *




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

Интерфейс вспомогательной оси 3D.
Иерархия:
IDispatch
IAxis3D1
Описание:
Интерфейс является дополнительным к интерфейсу IAxis3D.
Интерфейс можно получить с помощью метода IUnknown::QueryInterface.
Версия: Компас v20


## ShowName - Показывать надпись

Тип данных: BOOL
Синтаксис Automation:
```
ShowName = Object.ShowName    Получить свойство (* )
Object.ShowName = ShowName    Установить свойство (* )
ShowName = Object.GetShowName()    Получить свойство (**)
Object.SetShowName( ShowName )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ShowName( &ShowName )    Получить свойство
Object.put_ShowName( ShowName )    Установить свойство
```


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

Интерфейс плоскости 3D.
Иерархия:
IDispatch
IPlane3D1
Описание:
Интерфейс является дополнительным к интерфейсу плоскости IPlane3D.
Интерфейс можно получить с помощью метода IUnknown::QueryInterface.
Версия: Компас v20


## ParamUMax - Значение параметра U конечное

Тип данных: double
Синтаксис Automation:
```
ParamUMax = Object.ParamUMax    Получить свойство (* )
ParamUMax = Object.GetParamUMax()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ParamUMax( &ParamUMax )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия Компас v21


## ParamUMin - Значение параметра U начальное

Тип данных: double
Синтаксис Automation:
```
ParamUMin = Object.ParamUMin    Получить свойство (* )
ParamUMin = Object.GetParamUMin()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ParamUMin( &ParamUMin )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия Компас v21


## ParamVMax - Значение параметра V конечное

Тип данных: double
Синтаксис Automation:
```
ParamVMax = Object.ParamVMax    Получить свойство (* )
ParamVMax = Object.GetParamVMax()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ParamVMax( &ParamVMax )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия Компас v21


## ParamVMin - Значение параметра V начальное

Тип данных: double
Синтаксис Automation:
```
ParamVMin = Object.ParamVMin    Получить свойство (* )
ParamVMin = Object.GetParamVMin()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ParamVMin( &ParamVMin )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия Компас v21


## ScaleGabarit - Подгонять габарит

Тип данных: BOOL
Синтаксис Automation:
```
ScaleGabarit = Object.ScaleGabarit    Получить свойство (* )
Object.ScaleGabarit = ScaleGabarit    Установить свойство (* )
ScaleGabarit = Object.GetScaleGabarit()    Получить свойство (**)
Object.SetScaleGabarit( ScaleGabarit )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ScaleGabarit( &ScaleGabarit )    Получить свойство
Object.put_ScaleGabarit( ScaleGabarit )    Установить свойство
```


## SetLimit - Установить пределы поверхности

Синтаксис Automation:
```
BOOL SetLimit( double Umin, double Vmin, double Umax, double Vmax );
```
Синтаксис COM:
```
HRESULT SetLimit( double Umin, double Vmin, double Umax, double Vmax, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Umin, Vmin, Umax, Vmax    - новые граничные параметры поверхности.
Версия Компас v21
```


## ShowName - Показывать надпись

Тип данных: BOOL
Синтаксис Automation:
```
ShowName = Object.ShowName    Получить свойство (* )
Object.ShowName = ShowName    Установить свойство (* )
ShowName = Object.GetShowName()    Получить свойство (**)
Object.SetShowName( ShowName )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ShowName( &ShowName )    Получить свойство
Object.put_ShowName( ShowName )    Установить свойство
```


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

Интерфейс коллекции присоединительных точек.
Иерархия:
IDispatch
IKompasAPIObject
IKompasCollection
IModelObjects
IConjunctivePoints
Примечание:
Получить интерфейс коллекции можно, используя свойство контейнера объектов вспомогательной геометрии IAuxiliaryGeomContainer::ConjunctivePoints.


## Add - Создать новый элемент и добавить его в коллекцию

Синтаксис Automation:
```
LPDISPATCH Add();
```
Синтаксис COM:
```
HRESULT Add( IConjunctivePoint ** Result );
Возвращаемое значение:
- Указатель на интерфейс присоединительной точки IConjunctivePoint.
```
Примечание:
1. Метод позволяет создать новый интерфейс присоединительной точки.
2. После получения нового интерфейса нужно задать параметры и вызвать метод IModelObject::Update.


## ConjunctivePoint - Указатель на элемент, заданный по индексу

Тип данных: указатель на интерфейс IConjunctivePoint
Синтаксис Automation:
```
ConjunctivePoint = Object.ConjunctivePoint( Index )    Получить свойство (* )
ConjunctivePoint = Object.GetConjunctivePoint( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ConjunctivePoint( Index, &ConjunctivePoint )    Получить свойство
Входные параметры:
Index    - индекс объекта.
```
Примечание:
1. Свойство доступно только для чтения.
2. В качестве индекса может использоваться индекс в коллекции и reference объекта.


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

Интерфейс коллекции контрольных точек.
Иерархия:
IDispatch
IKompasAPIObject
IKompasCollection
IModelObjects
IControlPoints
Примечание:
Получить интерфейс коллекции можно, используя свойство контейнера объектов вспомогательной геометрии IAuxiliaryGeomContainer::ControlPoints.


## Add - Создать новый элемент и добавить его в коллекцию

Синтаксис Automation:
```
LPDISPATCH Add();
```
Синтаксис COM:
```
HRESULT Add( IControlPoint ** Result);
Возвращаемое значение:
- Указатель на интерфейс контрольной точки IControlPoint.
```
Примечание:
1. Метод позволяет создать новый интерфейс локальной системы координат.
2. После получения нового интерфейса нужно задать параметры и вызвать метод IModelObject::Update.


## ControlPoint - Указатель на элемент, заданный по индексу

Тип данных: указатель на интерфейс IControlPoint
Синтаксис Automation:
```
ControlPoint = Object.ControlPoint( Index )    Получить свойство (* )
ControlPoint = Object.GetControlPoint( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ControlPoint( Index, &ControlPoint )    Получить свойство
Входные параметры:
Index    VT_I4 - индекс объекта.
```
Примечание:
1. Свойство доступно только для чтения.
2. В качестве индекса может использоваться индекс в коллекции и reference объекта.


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

Интерфейс коллекции локальных систем координат.
Иерархия:
IDispatch
IKompasAPIObject
IKompasCollection
IModelObjects
ILocalCoordinateSystems
Примечание:
Получить интерфейс коллекции можно, используя свойство контейнера объектов вспомогательной геометрии IAuxiliaryGeomContainer::LocalCoordinateSystems.


## Add - Создать новый элемент и добавить его в коллекцию

Синтаксис Automation:
```
LPDISPATCH Add();
```
Синтаксис COM:
```
HRESULT Add( ILocalCoordinateSystem** Result);
Возвращаемое значение:
- Указатель на интерфейс ЛСК ILocalCoordinateSystem.
```
Примечание:
1. Метод позволяет создать новый интерфейс локальной системы координат.
2. После получения нового интерфейса нужно задать параметры и вызвать метод IModelObject::Update.


## Current - Указатель на текущую СК

Тип данных: указатель на интерфейс IModelObject
Синтаксис Automation:
```
LocalCoordinateSystem = iObject.Current()    Получить свойство (* )
LocalCoordinateSystems = iObject.GetCurrent()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Current( &LocalCoordinateSystem )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Если на момент получения свойства текущей является ЛСК, то можно привести интерфейс IModelObject, возвращаемый свойством к ILocalCoordinateSystem, с помощью IUnknown::QueryInterface (const GUID far& iid, void** pif). Если же текущей является мировая СК, то привести возвращаемый интерфейс к ILocalCoordinateSystem не удастся.


## LocalCoordinateSystem - Указатель на элемент, заданный по индексу

Тип данных: указатель на интерфейс ILocalCoordinateSystem
Синтаксис Automation:
```
LocalCoordinateSystem = iObject.LocalCoordinateSystem( index )    Получить свойство (* )
LocalCoordinateSystem = iObject.GetLocalCoordinateSystem( index )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_LocalCoordinateSystem( index, &LocalCoordinateSystem )    Получить свойство
Входные параметры:
Index    - VT_I4 - индекс объекта.
```
Примечание:
Свойство доступно только для чтения.


## SetCurrent - Установить ЛСК в качестве текущей СК

Синтаксис Automation:
```
BOOL SetCurrent( ILocalCoordinateSystem * object );
```
Синтаксис COM:
```
HRESULT SetCurrent( ILocalCoordinateSystem * object,
BOOL * Result );
Входные параметры:
- Указатель на интерфейс ЛСК ILocalCoordinateSystem.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
1. Метод позволяет установить ЛСК, передаваемую входным параметром, в качестве текущей СК.
2. Если входным параметром передать NULL, текущей станет мировая СК. См. также ILocalCoordinateSystem::Current.


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

Интерфейс параметров ЛСК для типа ориентации "Направление осей".
Иерархия:
IDispatch
IKompasAPIObject
ILocalCSAxesDirectionParam
Примечание:
Указатель на интерфейс можно получить, используя свойство ЛСК ILocalCoordinateSystem::LocalCSParameters.


## AngleByOwnAxis - Угол поворота вокруг собственной оси

Синтаксис Automation:
```
iObject.AngleByOwnAxis = AngleByOwnAxis( axis );    Установить свойство (* )
iObject.SetAngleByOwnAxis( axis, angle );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->put_AngleByOwnAxis( axis, angle );    Установить свойство
Входные параметры:
axis    - тип оси из перечисления ksObj3dTypeEnum, допустимые значения: - o3d_axisOX - o3d_axisOY - o3d_axisOZ,
angle    - угол поворота.
```
Примечание:
Свойство доступно только для записи.


## DirectingObject - Направляющий объект для оси

Тип данных: указатель на интерфейс модельного объекта IModelObject
Синтаксис Automation:
```
DirectingObject = iObject.DirectingObject( axis );    Получить свойство (* )
DirectingObject = iObject.GetDirectingObject( axis );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_DirectingObject( axis, &DirectingObject );    Получить свойство
Входные параметры:
axis    - тип оси из перечисления ksObj3dTypeEnum, допустимые значения: - o3d_axisOX - o3d_axisOY - o3d_axisOZ.
```
Примечание:
Свойство доступно только для чтения.


## LeadAxis - Ведущая ось

Тип данных: из перечисления ksObj3dTypeEnum
Синтаксис Automation:
```
LeadAxis = Object.LeadAxis    Получить свойство (* )
Object.LeadAxis = LeadAxis    Установить свойство (* )
LeadAxis = Object.GetLeadAxis()    Получить свойство (**)
Object.SetLeadAxis( LeadAxis )    Установить свойство (* )
```
Синтаксис COM:
```
Object.get_LeadAxis( &LeadAxis )    Получить свойство
Object.put_LeadAxis( LeadAxis )    Установить свойство
Версия КОМПАС v22
```


## RotateAxis - Сменить направление оси на противоположное

Синтаксис Automation:
```
BOOL RotateAxis( ksObj3dTypeEnum axis );
```
Синтаксис Automation:
```
HRESULT RotateAxis( ksObj3dTypeEnum axis,
BOOL * Result);
Входные параметры:
axis    - тип оси из перечисления ksObj3dTypeEnum, допустимые значения: - o3d_axisOX - o3d_axisOY - o3d_axisOZ.
Возвращаемое значение:
TRUE    - в случае удачного завершения.
FALSE    - в случае неудачи.
```
Примечание:
1. Метод позволяет менять направления осей на противоположные.
2. Для осей можно выбирать направляющие объекты (см. метод ILocalCSAxesDirectionParam::SetDirectingObject).
3. Можно выбрать направление для двух осей, третья ось ориентируется, исходя из положения двух выбранных. Менять направление на противоположное можно только у выбранных осей.
4. У оси с автоориентацией смена направления на противоположное недоступна.


## SetDirectingObject - Установить направляющий объект для оси

Синтаксис Automation:
```
BOOL SetDirectingObject( ksObj3dTypeEnum axis,
LPDISPATCH obj );
```
Синтаксис Automation:
```
HRESULT SetDirectingObject( ksObj3dTypeEnum axis,
IModelObject * obj,
VARIANT_BOOL * Result );
Входные параметры:
obj    - направляющий объект,
axis    - тип оси из перечисления ksObj3dTypeEnum, допустимые значения: - o3d_axisOX - o3d_axisOY - o3d_axisOZ.
Возвращаемое значение:
TRUE    - в случае удачного завершения.
FALSE    - в случае неудачи.
```
Примечание:
1. Объекты, которые могут определять направление оси: прямолинейные объекты, плоские объекты, цилиндрические и конические поверхности. Также могут быть выбраны произвольные кривые или ребра при условии, что позиция начала ЛСК лежит на этой кривой (ребре).
2. Можно выбрать направление для двух осей. Третья ось ориентируется, исходя из положения двух выбранных. Менять направление на противоположное можно только у выбранных осей. У оси с автоориентацией смена направления на противоположное недоступна.


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

Интерфейс параметров ЛСК для типа ориентации "Система углов Эйлера".
Иерархия:
IDispatch
IKompasAPIObject
ILocalCSEulerParam
Примечание:
Указатель на интерфейс можно получить, используя свойство ЛСК ILocalCoordinateSystem::LocalCSParameters.


## NutationAngle - Угол нутации

Тип данных: double
Синтаксис Automation:
```
NutationAngle = iObject.NutationAngle;    Получить свойство (* )
iObject.NutationAngle = NutationAngle;    Установить свойство (* )
NutationAngle = iObject.GetNutationAngle();    Получить свойство (**)
iObject.SetNutationAngle( NutationAngle );    Установить свойство (* )
```
Синтаксис COM:
```
iObject->get_NutationAngle( &NutationAngle );    Получить свойство
iObject->put_NutationAngle( NutationAngle );    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать угол нутации.


## PrecessionAngle - Угол прецессии

Тип данных: double
Синтаксис Automation:
```
PrecessionAngle = iObject.PrecessionAngle;    Получить свойство (* )
iObject.PrecessionAngle = PrecessionAngle;    Установить свойство (* )
PrecessionAngle = iObject.GetPrecessionAngle();    Получить свойство (**)
iObject.SetPrecessionAngle( PrecessionAngle );    Установить свойство (* )
```
Синтаксис COM:
```
iObject->get_PrecessionAngle( &PrecessionAngle );    Получить свойство
iObject->put_PrecessionAngle( PrecessionAngle );    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать угол прецессии.


## RotationAngle - Угол вращения

Тип данных: double
Синтаксис Automation:
```
RotationAngle = iObject.RotationAngle;    Получить свойство (* )
iObject.RotationAngle = RotationAngle;    Установить свойство (* )
RotationAngle = iObject.GetRotationAngle();    Получить свойство (**)
iObject.SetRotationAngle( RotationAngle );    Установить свойство (* )
```
Синтаксис COM:
```
iObject->get_RotationAngle( &RotationAngle );    Получить свойство
iObject->put_RotationAngle( RotationAngle );    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать угол вращения.
Cм.Рисунок...


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

Интерфейс параметров ЛСК для типа ориентации "По объекту".
Иерархия:
IDispatch
IKompasAPIObject
ILocalCSOrientByObjectParam
Примечание:
Указатель на интерфейс можно получить, используя свойство ЛСК ILocalCoordinateSystem::LocalCSParameters.


## OrientationObject - Получить объект, обладающий ориентацией

Синтаксис Automation:
```
OrientationObject = iObject.OrientationObject();    Получить свойство (* )
OrientationObject = iObject.GetOrientationObject();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_OrientationObject( &OrientationObject );    Получить свойство
Возвращаемое значение:
- Указатель на интерфейс IModelObject
```
Примечание:
Свойство доступно только для чтения.


## SetOrientationObject - Установить объект, обладающий ориентацией

Синтаксис Automation:
```
HRESULT SetOrientationObject( IModelObject * obj, VARIANT_BOOL * Result );
```
Синтаксис Automation:
```
HRESULT SetDirectingObject( ksObj3dTypeEnum axis,
IModelObject * obj,
VARIANT_BOOL * Result );
Входные параметры:
obj    - объект, обладающий ориентацией.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
```


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

Интерфейс подчиненного объекта ЛСК.
Иерархия:
IDispatch
ILocalCSObject
Описание
Интерфейс является дополнительным для следующих объектов:
•IPoint3D - Точка 3D,
•IControlPoint - Контрольная точка,
•IConjunctivePoint - Присоединительная точка,
•ILocalCoordinateSystem - ЛСК,
•ISketch - Эскиз,
•ITablePattern - Массив по таблице,
•IMeshPointsSurface - Поверхность по сети точек,
•ICloudPointsSurface - Поверхность по пласту (облаку) точек,
•IImportedSurface - Импортированная поверхность,
•IArc3D - 3D дуга,
•IPolyLine - Пространственная ломаная,
•ISpline3D - Сплайн,
•IHole3D
Данный интерфейс можно получить от интерфейсов перечисленных объектов посредством вызова метода IUnknown::QueryInterface.
Интерфейс позволяет получать и изменять параметры объектов в удобной для этого системе координат. По умолчанию используется СК компонента.


## CoordinateSystem - СК объекта

Тип данных: Указатель на интерфейс IModelObject
Синтаксис Automation:
```
CoordinateSystem = Object.CoordinateSystem;    Получить свойство (* )
Object.CoordinateSystem = CoordinateSystem;    Установить свойство (* )
CoordinateSystem = Object.GetCoordinateSystem();    Получить свойство (**)
Object.SetCoordinateSystem( CoordinateSystem )    Установить свойство (* )
```
Синтаксис COM:
```
Object.get_CoordinateSystem( &CoordinateSystem )    Получить свойство
Object.put_CoordinateSystem( CoordinateSystem )    Установить свойство
Версия Компас v21
```


## LocalCoordinateSystem - Тип параметров объекта

Тип данных: из перечисления ksModelObjectParamTypeEnum
Синтаксис Automation:
```
LocalCoordinateSystem = Object.LocalCoordinateSystem    Получить свойство (* )
LocalCoordinateSystem = Object.GetLocalCoordinateSystem()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_LocalCoordinateSystem( &LocalCoordinateSystem )    Получить свойство
```
Примечание:
Свойство позволяет получить локальную систему координат объекта.
Если свойство возвращает NULL, объект создан в базовой СК объекта. Для переноса объекта в другую СК используется метод IPart7::TransferObjects.


## ModelObjectParamType - Тип параметров объекта

Тип данных: из перечисления ksModelObjectParamTypeEnum
Синтаксис Automation:
```
ModelObjectParamType = Object.ModelObjectParamType    Получить свойство (* )
Object.ModelObjectParamType = ModelObjectParamType    Установить свойство (* )
ModelObjectParamType = Object.GetModelObjectParamType()    Получить свойство (**)
Object.SetModelObjectParamType( ModelObjectParamType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ModelObjectParamType( &ModelObjectParamType )    Получить свойство
Object.put_ModelObjectParamType( ModelObjectParamType )    Установить свойство
```
Примечание:
Свойство позволяет установить тип параметров объекта.
После установки данного свойства параметры объекта будут выдаваться пересчитанными в установленную систему координат. При установке параметров также будет производиться пересчет параметров. Для правильной работы библиотек требуется установить нужный тип параметров, получить или изменить параметры и вернуть тип параметров ksMOPartAllParam-Параметры в системе координат детали (см. ksModelObjectParamTypeEnum -Тип параметров объекта).


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

Интерфейс локальной системы координат (положение объекта).
Иерархия:
IDispatch
IKompasAPIObject
IPlacement3D


## GetEulerAngles - Получить направления углов Эйлера

Синтаксис Automation:
```
BOOL GetEulerAngles( double * V, double * Fi, double * Fau );
```
Синтаксис COM:
```
HRESULT GetEulerAngles( double * V, double * Fi, double * Fau, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Выходные параметры
V    - угол нутации (в градусах),
Fi    - угол прецессии (в градусах),
Fau    - угол чистого вращения (в градусах).
КOMPAS v24
```


## GetMatrix3D - Получить матрицу системы координат в виде массива. SAFEARRAY double (VT_ARRAY | VT_R8)

Синтаксис Automation:
```
VARIANT GetMatrix3D();
```
Синтаксис COM:
```
HRESULT GetMatrix3D( VARIANT * Result );
Возвращаемое значение:
- массив координат SAFEARRAY double (VT_ARRAY    VT_R8).
```


## GetOrigin - Получить координаты начала локальной системы координат

Синтаксис Automation:
```
BOOL GetOrigin( double * X, double * Y, double * Z );
```
Синтаксис COM:
```
HRESULT GetOrigin( double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Выходные параметры
X    - координата точки по X,
Y    - координата точки по Y,
Z    - координата точки по Z.
```


## GetPoint3D - Получить пространственную точку по точке на плоскости xy

Синтаксис Automation:
```
BOOL GetPoint3D( double XIn, double YIn, double * XOut, double * YOut, double * ZOut );
```
Синтаксис COM:
```
HRESULT GetPoint3D( double XIn, double YIn, double * XOut, double * YOut, double * ZOut, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Входные параметры
XIn    - координата по X на плоскости XY,
YIn    - координата по Y на плоскости XY.
Выходные параметры
YIn    - координата по X в пространстве,
YOut    - координата по Y в пространстве,
ZOut    - координата по Z в пространстве.
```


## GetPointProjectionToXY - Проекция точки на плоскость xy

Синтаксис Automation:
```
BOOL GetPointProjectionToXY( double XIn, double YIn, double ZIn, double * XOut, double * YOut );
```
Синтаксис COM:
```
HRESULT GetPointProjectionToXY( double XIn, double YIn, double ZIn, double * XOut, double * YOut, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Входные параметры
X    - координата точки по X,
Y    - координата точки по Y,
Z    - координата точки по Z.
Выходные параметры
XOut    - координата по X на плоскости XY,
YOut    - координата по Y на плоскости XY.
```


## GetVector - Получить вектор для указанной оси

Синтаксис Automation:
```
BOOL GetVector( ksObj3dTypeEnum Axis, double * X, double * Y, double * Z );
```
Синтаксис COM:
```
HRESULT GetVector( ksObj3dTypeEnum Axis, double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Входные параметры
Axis    - ось.
Выходные параметры
X    - координата точки по X,
Y    - координата точки по Y,
Z    - координата точки по Z.
```


## InitByMatrix3D - Установить систему координат по матрице. SAFEARRAY double (VT_ARRAY | VT_R8)

Синтаксис Automation:
```
BOOL InitByMatrix3D( VARIANT mtr );
```
Синтаксис COM:
```
HRESULT InitByMatrix3D( VARIANT mtr, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Входные параметры
mtr    - массив координат SAFEARRAY double (VT_ARRAY    VT_R8).
```


## Rotate - Повернуть систему координат на угол вокруг оси

Синтаксис Automation:
```
BOOL Rotate( double X0, double Y0, double Z0, double AxisZX, double AxisZXY, double AxisZZ, double Angle );
Синтаксис COM :
HRESULT Rotate( double X0, double Y0, double Z0, double AxisZX, double AxisZXY, double AxisZZ, double Angle, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения.
Входные параметры:
X0    - первая координата точки,
Y0    - вторая координата точки,
Z0    - третья координата точки,
AxisZX    - координата X направляющего ось вектора,
AxisZXY    - координата Y направляющего ось вектора,
AxisZZ    - координата Z направляющего ось вектора,
Angle    - угол поворота.
```


## SetEulerAngles - Установить направления углов Эйлера

Синтаксис Automation:
```
BOOL SetEulerAngles( double V, double Fi, double Fau );
```
Синтаксис COM:
```
HRESULT SetEulerAngles( double V, double Fi, double Fau, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Входные параметры
V    - угол нутации (в градусах),
Fi    - угол прецессии (в градусах),
Fau    - угол чистого вращения (в градусах).
КOMPAS v24
```


## SetOrigin - Установить координаты начала локальной системы координат

Синтаксис Automation:
```
BOOL SetOrigin( double X, double Y, double Z );
```
Синтаксис COM:
```
HRESULT SetOrigin( double X, double Y, double Z, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Входные параметры
X    - координата точки по X,
Y    - координата точки по Y,
Z    - координата точки по Z.
```


## SetVector - Задать вектор для указанной оси

Синтаксис Automation:
```
BOOL SetVector( ksObj3dTypeEnum Axis, double X, double Y, double Z );
```
Синтаксис COM:
```
HRESULT SetVector( ksObj3dTypeEnum Axis, double X, double Y, double Z, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Входные параметры
Axis    - ось,
X    - координата точки по X,
Y    - координата точки по Y,
Z    - координата точки по Z.
```
