---
title: "Точки"
type: interface
api: [api7]
domain: [3d, sketch, feature]
tags: [interface, api7, 3d, sketch, feature, bc2284065]
sources:
  - bc2284065.html
  - ipoints3d.html
  - ipoint3d.html
  - ipoint3dparambetweenpoints.html
  - ipoint3dparamcenter.html
  - ipoint3dparamcurve.html
  - ipoint3dparamdisplace.html
  - ipoint3dparamintersect.html
  - ipoint3dparamprojection.html
  - ipoint3dparamsurface.html
  - ipoint3dparambycylinder.html
  - ipoint3dparambysphere.html
---

*API интерфейсов. Версия 7 > Документ 3D  > Операции, массивы, эскизы, точки *




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

Интерфейс коллекции элементов Пространственная точка.
Иерархия:
IDispatch
IKompasAPIObject
IKompasCollection
IModelObjects
IPoints3D
Описание:
Интерфейс позволяет получить коллекции элементов Пространственная точка.
Примечание:
Получить интерфейс коллекции можно используя свойство контейнера трехмерных объектов IModelContainer::Points3D.


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

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


## Point3D - Элемент, заданный по индексу

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


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

Интерфейс пространственной точки.
Иерархия:
IDispatch
IKompasAPIObject
IModelObject
IPoint3D
ILocalCSObject
Примечание:
Интерфейс можно получить с помощью метода коллекции пространственных точек IPoints3D::Add или свойства IPoints3D::Point3D.
С помощью метода IUnknown::QueryInterface у интерфейса можно получить интерфейс подчиненного объекта ЛСК ILocalCSObject.
Наследники - вспомогательные объекты


## AssociationObject - Опорный объект

Тип данных: указатель на интерфейс объекта IModelObject
Синтаксис Automation:
```
AssociationObject = iObject.AssociationObject;    Получить свойство (* )
AssociationObject = iObject.GetAssociationObject();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_AssociationObject( &AssociationObject );    Получить свойство
Примечание.
1. Установить значение свойства можно только при типе параметров "по координатам" IPoint3D::ParameterType.
2. Для установки объекта необходимо вызвать функцию IPoint3D::SetAssociationObject.
```


## Parameters - Интерфейс параметров точки

Тип данных: указатель на интерфейс объекта IKompasAPIObject
Синтаксис Automation:
```
Parameters = iObject.Parameters;    Получить свойство (* )
Parameters = iObject.GetParameters();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Parameters( &Parameters );    Получить свойство
Примечание.
В зависимости от типа IPoint3D::ParameterType, интерфейс параметров должен приводиться к одному из следующих вариантов:
•ksPDisplace - IPoint3DParamDisplace - Интерфейс параметров пространственной точки, заданной по смещению от опорного объекта,
•ksPIntersect - IPoint3DParamIntersect - Интерфейс параметров пространственной точки, заданной на пересечении опорных объектов,
•ksPCenter - IPoint3DParamCenter - Интерфейс параметров пространственной точки, заданной в центре опорного объекта,
•ksPCurve - IPoint3DParamCurve - Интерфейс параметров пространственной точки, заданной на кривой со смещением,
•ksPSurface - IPoint3DparamSurface - Интерфейс параметров пространственной точки, заданной на поверхности,
•ksPProjection - IPoint3DParamProjection - Интерфейс параметров пространственной точки, заданной проецированием,
•ksPBetweenPoints - IPoint3DParamBetweenPoints -  Интерфейс параметров пространственной точки между точками.
```


## ParameterType - Тип параметров построения точки

Тип данных: из перечисления ksPoint3DTypeEnum
Синтаксис Automation:
```
ParameterType = iObject.ParameterType;    Получить свойство (* )
iObject.ParameterType = ParameterType;    Установить свойство (* )
ParameterType = iObject.GetParameterType();    Получить свойство (**)
iObject.SetParameterType( ParameterType );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ParameterType( &ParameterType );    Получить свойство
iObject->put_ParameterType( ParameterType );    Установить свойство
```


## SetAssociationObject - Установить опорный объект

Синтаксис Automation:
```
BOOL SetAssociationObject( LPDISPATCH obj );
```
Синтаксис COM:
```
HRESULT SetAssociationObject([in] IModelObject* obj, [out, retval] VARIANT_BOOL * Result );
Входные параметры:
obj    - указатель на опорный объект.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет установить опорный объект только для типа точки по координатам (IPoint3D::ParameterType).


## Symbol - Стиль отображения

Тип данных: из перечисления ksAnnotationSymbolEnum
Синтаксис Automation:
```
Symbol = iObject.Symbol;    Получить свойство (* )
iObject.Symbol = Symbol;    Установить свойство (* )
Symbol = iObject.GetSymbol();    Получить свойство (**)
iObject.SetSymbol( Symbol );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Symbol( &Symbol );    Получить свойство
iObject->put_Symbol( Symbol );    Установить свойство
```


## X - Координата X

Тип данных: double
Синтаксис Automation:
```
X = iObject.X;    Получить свойство (* )
iObject.X = X;    Установить свойство (* )
X = iObject.GetX();    Получить свойство (**)
iObject.SetX( X );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_X( &X );    Получить свойство
iObject->put_X( X );    Установить свойство
Примечание.
Установить значение свойства можно только при типе параметров "по координатам" IPoint3D::ParameterType.
```


## Y - Координата Y

Тип данных: double
Синтаксис Automation:
```
Y = iObject.Y;    Получить свойство (* )
iObject.Y = Y;    Установить свойство (* )
Y = iObject.GetY();    Получить свойство (**)
iObject.SetY( Y );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Y( &Y );    Получить свойство
iObject->put_Y( Y );    Установить свойство
Примечание.
Установить значение свойства можно только при типе параметров "по координатам" IPoint3D::ParameterType.
```


## Z - Координата Z

Тип данных: double
Синтаксис Automation:
```
Z = iObject.Z;    Получить свойство (* )
iObject.Z = Z;    Установить свойство (* )
Z = iObject.GetZ();    Получить свойство (**)
iObject.SetZ( Z );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Z( &Z );    Получить свойство
iObject->put_Z( Z );    Установить свойство
Примечание.
Установить значение свойства можно только при типе параметров "по координатам" IPoint3D::ParameterType.
```


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

Интерфейс параметров пространственной точки между точками.
Иерархия:
IDispatch
IKompasAPIObject
IPoint3DParamBetweenPoints
Примечание:
Интерфейс можно получить с помощью свойства интерфейса пространственной точки IPoint3D::Parameters.
Версия КОМПАС v22


## Curve - Кривая

Тип данных: Указатель на интерфейс IModelObject
Синтаксис Automation:
```
Curve = Object.Curve    Получить свойство (* )
Object.Curve = Curve    Установить свойство (* )
Curve = Object.GetCurve()    Получить свойство (**)
Object.SetCurve( Curve )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Curve( &Curve )    Получить свойство
Object.put_Curve( Curve )    Установить свойство
```


## Direction - Направление

Тип данных: BOOL
Синтаксис Automation:
```
Direction = Object.Direction    Получить свойство (* )
Object.Direction = Direction    Установить свойство (* )
Direction = Object.GetDirection()    Получить свойство (**)
Object.SetDirection( Direction )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Direction( &Direction )    Получить свойство
Object.put_Direction( Direction )    Установить свойство
```


## Offset - Величина смещения

Тип данных: double
Синтаксис Automation:
```
Offset = Object.Offset    Получить свойство (* )
Object.Offset = Offset    Установить свойство (* )
Offset = Object.GetOffset()    Получить свойство (**)
Object.SetOffset( Offset )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Offset( &Offset )    Получить свойство
Object.put_Offset( Offset )    Установить свойство
```
Примечание:
1.Для типа смещения ksOffsetByU свойство определяет величину смещения в % от длины кривой (0...100).
2.Для типа смещения ksOffsetByLen свойство определяет длину сегмента.
3.Для типа смещения ksOffsetByAngle свойство определяет центральный угол дуги.


## OffsetType - Тип задания смещения

Тип данных: из перечисления ksPoint3DCurveParamTypeEnum
Синтаксис Automation:
```
OffsetType = Object.OffsetType    Получить свойство (* )
Object.OffsetType = OffsetType    Установить свойство (* )
OffsetType = Object.GetOffsetType()    Получить свойство (**)
Object.SetOffsetType( OffsetType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_OffsetType( &OffsetType )    Получить свойство
Object.put_OffsetType( OffsetType )    Установить свойство
```


## Point1 - Точка 1

Тип данных: Указатель на интерфейс IModelObject
Синтаксис Automation:
```
Point1 = Object.Point1    Получить свойство (* )
Object.Point1 = Point1    Установить свойство (* )
Point1 = Object.GetPoint1()    Получить свойство (**)
Object.SetPoint1( Point1 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Point1( &Point1 )    Получить свойство
Object.put_Point1( Point1 )    Установить свойство
```


## Point2 - Точка 2

Тип данных: Указатель на интерфейс IModelObject
Синтаксис Automation:
```
Point2 = Object.Point2    Получить свойство (* )
Object.Point2 = Point2    Установить свойство (* )
Point2 = Object.GetPoint2()    Получить свойство (**)
Object.SetPoint2( Point2 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Point2( &Point2 )    Получить свойство
Object.put_Point2( Point2 )    Установить свойство
```


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

Интерфейс параметров пространственной точки заданной в центре опорного объекта.
Иерархия:
IDispatch
IKompasAPIObject
IPoint3DParamCenter
Примечание:
Интерфейс можно получить с помощью свойства пространственной точки IPoint3D::Parameters.


## Object - Получить объект

Тип данных: указатель на интерфейс объекта IModelObject
Синтаксис Automation:
```
Object = iObject.Object;    Получить свойство (* )
Object = iObject.GetObject();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Object( &Object );    Получить свойство
```


## SetObject - Установить объект

Синтаксис Automation:
```
LPDISPATCH obj );
```
Синтаксис COM:
```
HRESULT SetObject([in] IModelObject* obj, [out, retval] VARIANT_BOOL * Result );
Входные параметры:
obj    - объект, имеющий центр.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Объект должен иметь центр.


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

Интерфейс параметров пространственной точки, заданной на кривой со смещением.
Иерархия:
IDispatch
IKompasAPIObject
IPoint3DParamCurve
Примечание:
Интерфейс можно получить с помощью свойства пространственной точки IPoint3D::Parameters.


## CurveObject - Получить кривую

Тип данных: указатель на интерфейс объекта IModelObject
Синтаксис Automation:
```
CurveObject = iObject.CurveObject;    Получить свойство (* )
CurveObject = iObject.GetCurveObject();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_CurveObject( &CurveObject );    Получить свойство
```


## Direction - Направление смещения

Тип данных: BOOL
Синтаксис Automation:
```
Direction = iObject.Direction;    Получить свойство (* )
iObject.Direction = Direction;    Установить свойство (* )
Direction = iObject.GetDirection();    Получить свойство (**)
iObject.SetDirection( Direction );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Direction( &Direction );    Получить свойство
iObject->put_Direction( Direction );    Установить свойство
Значения свойства:
TRUE    - прямое направление,
FALSE    - обратное направление.
```


## Offset - Величина смещения

Тип данных: double
Синтаксис Automation:
```
Offset = iObject.Offset;    Получить свойство (* )
iObject.Offset = Offset;    Установить свойство (* )
Offset = iObject.GetOffset();    Получить свойство (**)
iObject.SetOffset( Offset );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Offset( &Offset );    Получить свойство
iObject->put_Offset( Offset );    Установить свойство
```
Примечание:
1.Для типа смещения ksOffsetByU свойство определяет величину смещения в % от длины кривой (0...100).
2.Для типа смещения ksOffsetByLen свойство определяет длину сегмента.
3.Для типа смещения ksOffsetByAngle свойство определяет центральный угол дуги.


## OffsetType - Тип задания смещения

Тип данных: из перечисления ksPoint3DCurveParamTypeEnum
Синтаксис Automation:
```
OffsetType = iObject.OffsetType;    Получить свойство (* )
iObject.OffsetType = OffsetType;    Установить свойство (* )
OffsetType = iObject.GetOffsetType();    Получить свойство (**)
iObject.SetOffsetType( OffsetType );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_OffsetType( &OffsetType );    Получить свойство
iObject->put_OffsetType( OffsetType );    Установить свойство
```


## SetCurveObject - Установить объект

Синтаксис Automation:
```
BOOL SetCurveObject( LPDISPATCH obj );
```
Синтаксис COM:
```
HRESULT SetCurveObject([in] IModelObject* obj, [out, retval] VARIANT_BOOL * Result );
Входные параметры:
obj    - кривая.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


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

Интерфейс параметров пространственной точки, заданной по смещению от опорного объекта.
Иерархия:
IDispatch
IKompasAPIObject
IPoint3DParamDisplace
Примечание:
Интерфейс можно получить с помощью свойства пространственной точки IPoint3D::Parameters.


## AssociationVertex - Интерфейс опорной точки

Тип данных: указатель на интерфейс объекта IModelObject
Синтаксис Automation:
```
AssociationVertex = iObject.AssociationVertex;    Получить свойство (* )
AssociationVertex = iObject.GetAssociationVertex();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_AssociationVertex( &AssociationVertex );    Получить свойство
```


## Distance - Расстояние от опорного объекта

Тип данных: double
| Distance = iObject.Distance; | Получить свойство (* ) |
| --- | --- |
| iObject.Distance = Distance; | Установить свойство (* ) |
| Distance = iObject.GetDistance(); | Получить свойство (**) |
| iObject.SetDistance( Distance ); | Установить свойство (**) |
Синтаксис COM:
```
iObject->get_Distance( &Distance );    Получить свойство
iObject->put_Distance( Distance );    Установить свойство
```


## DX - Смещение по X

Тип данных: double
Синтаксис Automation:
```
DX = iObject.DX;    Получить свойство (* )
iObject.DX = DX;    Установить свойство (* )
DX = iObject.GetDX();    Получить свойство (**)
iObject.SetDX( DX );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_DX( &DX );    Получить свойство
iObject->put_DX( DX );    Установить свойство
```


## DY - Смещение по Y

Тип данных: double
Синтаксис Automation:
```
DY = iObject.DY;    Получить свойство (* )
iObject.DY = DY;    Установить свойство (* )
DY = iObject.GetDY();    Получить свойство (**)
iObject.SetDY( DY );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_DY( &DY );    Получить свойство
iObject->put_DY( DY );    Установить свойство
```


## DZ - Смещение по Z

Тип данных: double
Синтаксис Automation:
```
DZ = iObject.DZ;    Получить свойство (* )
iObject.DZ = DZ;    Установить свойство (* )
DZ = iObject.GetDZ();    Получить свойство (**)
iObject.SetDZ( DZ );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_DZ( &DZ );    Получить свойство
iObject->put_DZ( DZ );    Установить свойство
```


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

Тип данных: указатель на интерфейс объекта IModelObject
Синтаксис Automation:
```
GuidingObject = iObject.GuidingObject;    Получить свойство (* )
GuidingObject = iObject.GetGuidingObject();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_GuidingObject( &GuidingObject );    Получить свойство
```


## PositionObject - Точка привязки

Тип данных: Указатель на интерфейс IModelObject
| PositionObject = Object.PositionObject | Получить свойство (* ) |
| --- | --- |
| Object.PositionObject = PositionObject | Установить свойство (* ) |
| PositionObject = Object.GetPositionObject() | Получить свойство (**) |
| Object.SetPositionObject( PositionObject ) | Установить свойство (**) |
Синтаксис COM:
```
Object.get_PositionObject( &PositionObject )    Получить свойство
Object.put_PositionObject( PositionObject )    Установить свойство
Версия КОМПАС v22
```


## SetAssociationVertex - Установить опорную точку

Синтаксис Automation:
```
BOOL SetAssociationVertex( LPDISPATCH obj );
```
Синтаксис COM:
```
HRESULT SetAssociationVertex([in] IModelObject* obj, [out, retval] VARIANT_BOOL * Result );
Входные параметры:
obj    - опорная точка.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


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

Синтаксис Automation:
```
BOOL SetGuidingObject( LPDISPATCH obj );
```
Синтаксис COM:
```
HRESULT SetGuidingObject([in] IModelObject* obj, [out, retval] VARIANT_BOOL * Result );
Входные параметры:
obj    - опорная точка.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## Vector3D - Получить параметры вектора

Тип данных: указатель на интерфейс IVector3D
Синтаксис Automation:
```
Vector3D = Object.Vector3D    Получить свойство (* )
Vector3D = Object.GetVector3D()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Vector3D( &Vector3D )    Получить свойство
Свойство позволяет получить интерфейс вектора, задающего направление смещения точки.
```
Примечание:
Свойство доступно только для чтения.


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

Интерфейс параметров пространственной точки, заданной на пересечении опорных объектов.
Иерархия:
IDispatch
IKompasAPIObject
IPoint3DParamIntersect
Примечание:
Интерфейс можно получить с помощью свойства пространственной точки IPoint3D::Parameters.


## CartPointArray - Массив координат точек пересечения кривой и поверхности в виде SAFEARRAY VT_R8 - VT_ARRAY | VT_R8

Тип данных: VARIANT
Синтаксис Automation:
```
CartPointArray = iObject.CartPointArray;    Получить свойство (* )
CartPointArray = iObject.GetCartPointArray();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_CartPointArray( &CartPointArray );    Получить свойство
Примечание.
Массив SafeArray типа VT_ARRAY | VT_R8 координат точек для пересечения.
```


## CurveObject - Получить кривую

Тип данных: указатель на интерфейс объекта IModelObject
Синтаксис Automation:
```
CurveObject = iObject.CurveObject;    Получить свойство (* )
CurveObject = iObject.GetCurveObject();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_CurveObject( &CurveObject );    Получить свойство
```


## Index - Индекс точки пересечения

Тип данных: double
Синтаксис Automation:
```
Index = iObject.Index;    Получить свойство (* )
iObject.Index = Index;    Установить свойство (* )
Index = iObject.GetIndex();    Получить свойство (**)
iObject.SetIndex( Index );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Index( &Index );    Получить свойство
iObject->put_Index( Index );    Установить свойство
```
Примечание:
Индекс нужной точки можно вычислить из IPoint3DParamIntersect::CartPointArray.


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

Синтаксис Automation:
```
BOOL SetCurveObject( LPDISPATCH obj );
```
Синтаксис COM:
```
HRESULT SetCurveObject([in] IModelObject* obj, [out, retval] VARIANT_BOOL * Result);
Входные параметры:
obj    - кривая.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## SetSurfaceObject - Установить поверхность

Синтаксис Automation:
```
BOOL SetSurfaceObject( LPDISPATCH obj );
```
Синтаксис COM:
```
HRESULT SetSurfaceObject([in] IModelObject* obj, [out, retval] VARIANT_BOOL * Result );
Входные параметры:
obj    - поверхность.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## SurfaceObject - Получить поверхность

Тип данных: указатель на интерфейс объекта IModelObject
Синтаксис Automation:
```
SurfaceObject = iObject.SurfaceObject;    Получить свойство (* )
SurfaceObject = iObject.GetSurfaceObject();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_SurfaceObject( &SurfaceObject );    Получить свойство
```


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

Интерфейс параметров пространственной точки, заданной проецированием.
Иерархия:
IDispatch
IKompasAPIObject
IPoint3DParamProjection
Примечание:
Интерфейс можно получить с помощью свойства пространственной точки IPoint3D::Parameters.


## AssociationVertex - Получить опорную точку

Тип данных: указатель на интерфейс объекта IModelObject
Синтаксис Automation:
```
AssociationVertex = iObject.AssociationVertex    Получить свойство (* )
AssociationVertex = iObject.GetAssociationVertex()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_AssociationVertex( &AssociationVertex )    Получить свойство
```


## GuidingObject - Получить направляющий объект

Тип данных: указатель на интерфейс объекта IModelObject
Синтаксис Automation:
```
GuidingObject = iObject.GuidingObject;    Получить свойство (* )
GuidingObject = iObject.GetGuidingObject();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_GuidingObject( &GuidingObject );    Получить свойство
```


## SetAssociationVertex - Установить опорную точку

Синтаксис Automation:
```
BOOL SetAssociationVertex( LPDISPATCH obj );
```
Синтаксис COM:
```
HRESULT SetAssociationVertex([in] IModelObject* obj, [out, retval] VARIANT_BOOL * Result );
Входные параметры:
obj    - опорная точка.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


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

Синтаксис Automation:
```
BOOL SetGuidingObject( LPDISPATCH obj );
```
Синтаксис COM:
```
HRESULT SetGuidingObject([in] IModelObject* obj, [out, retval] VARIANT_BOOL * Result );
Входные параметры:
obj    - опорная точка.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## SetSurfaceObject - Установить объект1

Синтаксис Automation:
```
BOOL SetSurfaceObject( LPDISPATCH obj );
```
Синтаксис COM:
```
HRESULT SetSurfaceObject([in] IModelObject* obj, [out, retval] VARIANT_BOOL * Result );
Входные параметры:
obj    - поверхность.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## SurfaceObject - Получить поверхность

Тип данных: указатель на интерфейс объекта IModelObject
Синтаксис Automation:
```
SurfaceObject = iObject.SurfaceObject;    Получить свойство (* )
SurfaceObject = iObject.GetSurfaceObject();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_SurfaceObject( &SurfaceObject );    Получить свойство
```


## Vector3D - Получить параметры вектора

Тип данных: указатель на интерфейс IVector3D
Синтаксис Automation:
```
Vector3D = Object.Vector3D    Получить свойство (* )
Vector3D = Object.GetVector3D()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Vector3D( &Vector3D )    Получить свойство
```
Примечание:
1. Свойство позволяет получить интерфейс вектора, задающего направление проецирования точки.
2. Свойство доступно только для чтения.


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

Интерфейс параметров пространственной точки, заданной на поверхности.
Иерархия:
IDispatch
IKompasAPIObject
IPoint3DParamSurface
Примечание:
Интерфейс можно получить с помощью свойства пространственной точки IPoint3D::Parameters.


## AllowBoundaries - TRUE - Учитывать границы

Тип данных: BOOL
Синтаксис Automation:
```
AllowBoundaries = Object.AllowBoundaries    Получить свойство (* )
Object.AllowBoundaries = AllowBoundaries    Установить свойство (* )
AllowBoundaries = Object.GetAllowBoundaries()    Получить свойство (**)
Object.SetAllowBoundaries( AllowBoundaries )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AllowBoundaries( &AllowBoundaries )    Получить свойство
Object.put_AllowBoundaries( AllowBoundaries )    Установить свойство
```


## Object1- Получить объект1

Тип данных: указатель на интерфейс объекта IModelObject
Синтаксис Automation:
```
Object1 = iObject.Object1;    Получить свойство (* )
Object1 = iObject.GetObject1();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Object1( &Object1 );    Получить свойство
```


## Object2 - Получить объект2

Тип данных: указатель на интерфейс объекта IModelObject
Синтаксис Automation:
```
Object2 = iObject.Object2;    Получить свойство (* )
Object2 = iObject.GetObject2();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Object2( &Object2 );    Получить свойство
```


## Offset1 - Величина смещения1

Тип данных: double
Синтаксис Automation:
```
Offset1 = iObject.Offset1;    Получить свойство (* )
iObject.Offset1 = Offset1;    Установить свойство (* )
Offset1 = iObject.GetOffset1();    Получить свойство (**)
iObject.SetOffset1( Offset1 );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Offset1( &Offset1 );    Получить свойство
iObject->put_Offset1( Offset1 );    Установить свойство
```
Примечание:
1. Для типа смещения по параметру U и V (ksOffsetByUV) - свойство 0..100 (величина U в %).
2. Для типа смещения по расстояниям от плоских объектов (ksOffsetByLenFromObj) - свойство определяет расстояние от плоского объекта 1.


## Offset2 - Величина смещения2

Тип данных: double
Синтаксис Automation:
```
Offset2 = iObject.Offset2;    Получить свойство (* )
iObject.Offset2 = Offset2;    Установить свойство (* )
Offset2 = iObject.GetOffset2();    Получить свойство (**)
iObject.SetOffset2( Offset2 );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Offset2( &Offset2 );    Получить свойство
iObject->put_Offset2( Offset2 );    Установить свойство
```
Примечание:
1. Для типа смещения по параметру U и V (ksOffsetByUV) - свойство 0..100 (величина V в %).
2. Для типа смещения по расстояниям от плоских объектов (ksOffsetByLenFromObj) - свойство определяет расстояние от плоского объекта 2.


## OffsetType - Тип задания смещения

Тип данных: из перечисления ksPoint3DCurveParamTypeEnum
Синтаксис Automation:
```
OffsetType = iObject.OffsetType;    Получить свойство (* )
iObject.OffsetType = OffsetType;    Установить свойство (* )
OffsetType = iObject.GetOffsetType();    Получить свойство (**)
iObject.SetOffsetType( OffsetType );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_OffsetType( &OffsetType );    Получить свойство
iObject->put_OffsetType( OffsetType );    Установить свойство
```


## SetObject1 - Установить объект1

Синтаксис Automation:
```
BOOL SetObject1( LPDISPATCH obj );
```
Синтаксис COM:
```
HRESULT SetObject1([in] IModelObject* obj, [out, retval] VARIANT_BOOL * Result );
Входные параметры:
obj    - плоский объект.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## SetObject2 - Установить объект2

Синтаксис Automation:
```
BOOL SetObject2( LPDISPATCH obj );
```
Синтаксис COM:
```
HRESULT SetObject2([in] IModelObject* obj, [out, retval] VARIANT_BOOL * Result );
Входные параметры:
obj    - плоский объект.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## SetSurfaceObject - Установить поверхность

Синтаксис Automation:
```
BOOL SetSurfaceObject( LPDISPATCH obj );
```
Синтаксис COM:
```
HRESULT SetSurfaceObject([in] IModelObject* obj, [out, retval] VARIANT_BOOL * Result );
Входные параметры:
obj    - поверхность.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## SurfaceObject - Получить поверхность

Тип данных: указатель на интерфейс объекта IModelObject
Синтаксис Automation:
```
SurfaceObject = iObject.SurfaceObject;    Получить свойство (* )
SurfaceObject = iObject.GetSurfaceObject();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_SurfaceObject( &SurfaceObject );    Получить свойство
```


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

Интерфейс параметров пространственной точки, заданной по цилиндрическим координатам
Иерархия:
IDispatch
IKompasAPIObject
IPoint3DParamByCylinder
Интерфейс можно получить с помощью свойства пространственной точки IPoint3D::Parameters.


## A - Координата A (угол поворота точки)

Тип данных: double
Синтаксис Automation:
```
A = Object.A    Получить свойство (* )
Object.A = A    Установить свойство (* )
A = Object.GetA()    Получить свойство (**)
Object.SetA( A )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_A( &A )    Получить свойство
Object.put_A( A )    Установить свойство
Свойство позволяет устанавливать и получать угол поворота точки.
```


## AssociationObject - Опорный объект

Тип данных: указатель на интерфейс объекта IModelObject
Синтаксис Automation:
```
AssociationObject = Object.AssociationObject    Получить свойство (* )
Object.AssociationObject = AssociationObject    Установить свойство (* )
AssociationObject = Object.GetAssociationObject()    Получить свойство (**)
Object.SetAssociationObject( AssociationObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AssociationObject( &AssociationObject )    Получить свойство
Object.put_AssociationObject( AssociationObject )    Установить свойство
Свойство позволяет связать точку с точечным объектом.
```
Примечание:
Если точка связана с точечным объектом, то координаты недоступны для изменения.


## R - Координата R (радиус цилиндра)

Тип данных: double
Синтаксис Automation:
```
R = Object.R    Получить свойство (* )
Object.R = R    Установить свойство (* )
R = Object.GetR()    Получить свойство (**)
Object.SetR( R )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_R( &R )    Получить свойство
Object.get_R( &R )    Установить свойство
Свойство позволяет устанавливать и получать радиус цилиндра.
```


## RadiusObject - Объект радиуса

Тип данных: указатель на интерфейс объекта IModelObject
Синтаксис Automation:
```
RadiusObject = Object.RadiusObject    Получить свойство (* )
Object.RadiusObject = RadiusObject    Установить свойство (* )
RadiusObject = Object.GetRadiusObject()    Получить свойство (**)
Object.SetRadiusObject( RadiusObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_RadiusObject( &RadiusObject )    Получить свойство
Object.put_RadiusObject( RadiusObject )    Установить свойство
Свойство позволяет устанавливать и получать объект, задающий радиус. Таким объектом может являться ребро или контур в эскизе, имеющий форму окружности или дуги окружности; кривая - окружность или дуга; цилиндрическая или сферическая грань.
```
Примечание:
Если задан объект, определяющий радиус, координата R недоступна для изменения.


## Z - Координата по оси Z

Тип данных: double
Синтаксис Automation:
```
Z = Object.Z    Получить свойство (* )
Object.Z = Z    Установить свойство (* )
Object.Z = Z    Получить свойство (**)
Object.SetZ( Z )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Z( &Z )    Получить свойство
Object.put_Z( Z )    Установить свойство
Свойство позволяет устанавливать и получать координату по оси Z.
```


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

Интерфейс параметров пространственной точки, заданной по сферическим координатам.
Иерархия:
IDispatch
IKompasAPIObject
IPoint3DParamBySphere
Интерфейс можно получить с помощью свойства пространственной точки IPoint3D::Parameters.


## A - Координата A (азимутальный угол)

Тип данных: double
Синтаксис Automation:
```
A = Object.A    Получить свойство (* )
Object.A = A    Установить свойство (* )
A = Object.GetA()    Получить свойство (**)
Object.SetA( A )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_A( &A )    Получить свойство
Object.put_A( A )    Установить свойство
Свойство позволяет устанавливать и получать азимутальный угол.
```


## AssociationObject - Опорный объект

Тип данных: указатель на интерфейс объекта IModelObject
Синтаксис Automation:
```
AssociationObject = Object.AssociationObject    Получить свойство (* )
Object.AssociationObject = AssociationObject    Установить свойство (* )
AssociationObject = Object.GetAssociationObject()    Получить свойство (**)
Object.SetAssociationObject( AssociationObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AssociationObject( &AssociationObject )    Получить свойство
Object.put_AssociationObject( AssociationObject )    Установить свойство
Свойство позволяет связать точку с точечным объектом.
```
Примечание:
Если точка связана с точечным объектом, то координаты недоступны для изменения.


## B - Координата B (зенитный угол)

Тип данных: double
Синтаксис Automation:
```
B = Object.B    Получить свойство (* )
Object.B = B    Установить свойство (* )
B = Object.GetB()    Получить свойство (**)
Object.SetB( B )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_B( &B )    Получить свойство
Object.put_B( B )    Установить свойство
Свойство позволяет устанавливать и получать зенитный угол.
```


## R - Координата R (радиус сферы)

Тип данных: double
Синтаксис Automation:
```
R = Object.R    Получить свойство (* )
Object.R = R    Установить свойство (* )
R = Object.GetR()    Получить свойство (**)
Object.SetR( R )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_R( &R )    Получить свойство
Object.get_R( &R )    Установить свойство
Свойство позволяет устанавливать и получать радиус сферы.
```


## RadiusObject - Объект радиуса

Тип данных: указатель на интерфейс объекта IModelObject
Синтаксис Automation:
```
RadiusObject = Object.RadiusObject    Получить свойство (* )
Object.RadiusObject = RadiusObject    Установить свойство (* )
RadiusObject = Object.GetRadiusObject()    Получить свойство (**)
Object.SetRadiusObject( RadiusObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_RadiusObject( &RadiusObject )    Получить свойство
Object.put_RadiusObject( RadiusObject )    Установить свойство
Свойство позволяет устанавливать и получать объект, задающий радиус. Таким объектом может являться ребро или контур в эскизе, имеющий форму окружности или дуги окружности; кривая - окружность или дуга; цилиндрическая или сферическая грань.
```
Примечание:
Если задан объект, определяющий радиус, координата R недоступна для изменения.
