---
title: "Обозначения"
type: interface
api: [api7]
domain: [3d]
tags: [interface, api7, 3d, bc2275772]
sources:
  - bc2275772.html
  - idesignation3d.html
  - ibases3d.html
  - ileaders3d.html
  - iroughs3d.html
  - itolerances3d.html
  - ibase3d.html
  - ibaseleader3d.html
  - irough3d.html
  - itolerance3d.html
  - ibranchs3d.html
  - iuserdesignationcompobj.html
---

*API интерфейсов. Версия 7 > Документ 3D  > Оформление *




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

Интерфейс обозначения 3D.
Иерархия:
IDispatch
IDesignation3D
Примечание:
Интерфейс является дополнительным для 3D обозначений.
Версия Компас v21


## GetDesignationPoint - Получить координаты точек размера

Синтаксис Automation:
```
BOOL GetDesignationPoint( ksDesignationPointEnum DimensionPoint, long PointIndex, double * X, double * Y, double * Z );
```
Синтаксис COM:
```
HRESULT GetDesignationPoint( ksDesignationPointEnum DimensionPoint, long PointIndex, double * X, double * Y, double * Z, BOOL * Result );
Входные параметры:
DimensionPoint    - тип точки из перечисления ksDesignationPointEnum,
PointIndex    - индекс точки.
Выходные параметры:
X, Y, Z    - координаты точки.
```


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

Интерфейс коллекции обозначений базы 3D.
Иерархия:
IKompasAPIObject
IKompasCollection
IModelObjects
IBases3D
Описание:
Интерфейс позволяет получить обозначение базы 3D.
Примечание:
Получить интерфейс коллекции можно используя свойство контейнера условных обозначений ISymbols3DContainer::Bases3D.


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

Синтаксис Automation:
```
LPDISPATCH Add;
```
Синтаксис COM:
```
HRESULT Add( IBase3D ** Result);
Возвращаемое значение:
- Указатель на интерфейс базы 3D IBase3D.
```


## Base3D - Обозначение базы, заданное по индексу

Тип данных: указатель на интерфейс IBase3D
Синтаксис Automation:
```
Base3D = iObject.Base3D( Index );    Получить свойство (* )
Base3D = iObject.GetBase3D( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Base3D( Index, &Base3D )    Получить свойство
Входные параметры:
Index    VT_BSTR - имя объекта, VT_I4 - индекс объекта.
```
Примечание:
1. В качестве индекса может использоваться индекс в коллекции и reference объекта.
2. Свойство доступно только для чтения.


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

Интерфейс коллекции линий-выносок 3D.
Иерархия:
IDispatch
IKompasAPIObject
IKompasCollection
IModelObjects
ILeaders3D
Примечание:
Получить интерфейс коллекции можно, используя свойство контейнера условных обозначений 3D ISymbols3DContainer::Leaders3D.


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

Синтаксис Automation:
```
LPDISPATCH Add( ksObj3dTypeEnum DimType );
```
Синтаксис COM:
```
HRESULT Add( ksObj3dTypeEnum DimType, IBaseLeader3D ** Result );
Входные параметры:
DimType    - тип линии-выноски.
Типы линий-выносок:
o3d_leader3D    86    Линия-выноска 3D,
o3d_markLeader3D    87    Знак маркировки 3D,
o3d_positionLeader3D    89    Обозначение позиции 3D,
o3d_brandLeader3D    90    Знак клеймения 3D.
Возвращаемое значение:
- Указатель на интерфейс линии-выноски IBaseLeader3D.
Возвращаемое значение:
- Указатель на интерфейс присоединительной точки IConjunctivePoint.
```
Примечание:
1. Метод позволяет создать новый интерфейс присоединительной точки.
2. После получения нового интерфейса нужно задать параметры и вызвать метод IModelObject::Update.


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

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


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

Интерфейс коллекции обозначений шероховатости 3D.
Иерархия:
IKompasAPIObject
IKompasCollection
IModelObjects
IRoughs3D
Описание:
Позволяет получать и создавать обозначение 3D шероховатости.
Примечание:
Получить интерфейс коллекции можно, используя свойство контейнера условных обозначений ISymbols3DContainer::Roughs3D.


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

Синтаксис Automation:
```
LPDISPATCH Add;
```
Синтаксис COM:
```
HRESULT Add( IRough3D ** Result);
Возвращаемое значение:
- Указатель на интерфейс шероховатости 3D IRough3D.
```


## Rough3D - Обозначение шероховатости 3D, заданное по индексу

Тип данных: указатель на интерфейс IRough3D
Синтаксис Automation:
```
Rough3D = iObject.Rough3D( Index );    Получить свойство (* )
Rough3D = iObject.GetRough3D( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Rough3D( Index, &Rough3D )    Получить свойство
Входные параметры:
Index    VT_BSTR - имя объекта, VT_I4 - индекс объекта.
```
Примечание:
1. В качестве индекса может использоваться индекс в коллекции и reference объекта.
2. Свойство доступно только для чтения.


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

Интерфейс коллекции допусков формы 3D.
Иерархия:
IKompasAPIObject
IKompasCollection
IModelObjects
ITolerances3D
Описание:
Позволяет получать и создавать обозначения допуска формы 3D.
Примечание:
Получить интерфейс коллекции можно используя свойство контейнера условных обозначений ISymbols3DContainer::Tolerances3D.


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

Синтаксис Automation:
```
LPDISPATCH Add();
```
Синтаксис COM:
```
HRESULT Add( ITolerance3D ** Result);
Возвращаемое значение:
- Указатель на интерфейс допуска формы Itolerance3D.
```


## Tolerance3D - Указатель на допуск формы 3D, заданный по индексу

Тип данных: указатель на интерфейс ITolerance
Синтаксис Automation:
```
Tolerance = iObject.Tolerance( Index );    Получить свойство (* )
Tolerance = iObject.GetTolerance( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Tolerance( Index, &Tolerance )    Получить свойство
Входные параметры:
Index    - VT_BSTR - имя объекта, VT_I4 - индекс объекта.
```
Примечание:
1. В качестве индекса может использоваться индекс в коллекции и reference объекта.
2. Свойство доступно только для чтения.


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

Интерфейс обозначения базы 3D.
Иерархия:
IKompasAPIObject
IModelObject
IBase3D
Примечание:
Интерфейс можно получить у коллекции обозначений базы 3D, используя свойство IBases3D::Base3D или метод IBases3D::Add.


## AutoSorted - Автосортировка

Тип данных: BOOL
Значения свойства:
| TRUE | - включить опцию, |
| --- | --- |
| FALSE | - отключить опцию. |
Синтаксис Automation:
```
AutoSorted = Object.AutoSorted    Получить свойство (* )
Object.AutoSorted = AutoSorted    Установить свойство (* )
AutoSorted = Object.GetAutoSorted()    Получить свойство (**)
Object.SetAutoSorted( AutoSorted )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AutoSorted( &AutoSorted )    Получить свойство
Object.put_AutoSorted( AutoSorted )    Установить свойство
Примечание.
1. По умолчанию значение свойства равно TRUE.
2. При отключенной опции доступно редактирование текста 3D базы с помощью свойства IBase3D::Text.
```


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

Тип данных: указатель на интерфейс IModelObject
Синтаксис Automation:
```
BaseObject = Object.BaseObject    Получить свойство (* )
BaseObject = Object.GetBaseObject()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_BaseObject( &BaseObject )    Получить свойство
Примечание.
Свойство доступно только для чтения.
```


## BasePlane - Базовая плоскость

Тип данных: из перечисления ksObj3dTypeEnum
Синтаксис Automation:
```
BasePlane = Object.BasePlane    Получить свойство (* )
Object.BasePlane = BasePlane    Установить свойство (* )
BasePlane = Object.GetBasePlane()    Получить свойство (**)
Object.SetBasePlane( BasePlane )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BasePlane( &BasePlane )    Получить свойство
Object.put_BasePlane( BasePlane )    Установить свойство
Примечание.
Свойство позволяет устанавливать и получать тип плоскости, в которой располагается объект, из перечисления ksObj3dTypeEnum.
```


## DrawType - Способ отрисовки обозначения базы

Тип данных: BOOL
Значения свойства:
| TRUE | - перпендикулярно к объекту, |
| --- | --- |
| FALSE | - произвольное расположение. |
Синтаксис Automation:
```
DrawType = Object.DrawType    Получить свойство (* )
Object.DrawType = DrawType    Установить свойство (* )
DrawType = Object.GetDrawType()    Получить свойство (**)
Object.SetDrawType( DrawType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DrawType( &DrawType )    Получить свойство
Object.put_DrawType( DrawType )    Установить свойство
Примечание.
По умолчанию значение свойства равно TRUE.
```


## GetBranchBeginPoint - Получить точку привязки обозначения базы на поверхности

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


## GetBranchEndPoint - Получить точку положения надписи обозначения базы

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


## GetPosition - Получить точку, задающую положение плоскости объекта

Синтаксис Automation:
```
BOOL GetPosition ( double * x,
double * x,
double * z );
```
Синтаксис COM:
```
HRESULT GetPosition( double * x,
double * y
double * z
BOOL* Result);
Выходные параметры:
x, y, z    - координаты точки, задающей положения объекта.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
```


## PositionObject - Положение плоскости обозначения

Тип данных: указатель на интерфейс IModelObject
Синтаксис Automation:
```
PositionObject = Object.PositionObject    Получить свойство (* )
Object.PositionObject = PositionObject    Установить свойство (* )
PositionObject = Object.GetPositionObject()    Получить свойство (**)
Object.SetPositionObject( PositionObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_PositionObject( &PositionObject )    Получить свойство
Object.put_PositionObject( PositionObject )    Установить свойство
Примечание.
Свойство позволяет устанавливать и получать объект, на котором будет располагаться плоскость.
```


## SetBranchBeginPoint - Установить точку привязки обозначения базы на поверхности

Синтаксис Automation:
```
BOOL SetBranchBeginPoint( double x,
double x,
double z );
```
Синтаксис COM:
```
HRESULT SetBranchBeginPoint( double x,
double y,
double z,
IModelObject * Object,
BOOL * Result);
Входные параметры:
x, y, z    - координаты точки привязки обозначения базы на поверхности.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
```


## SetBranchEndPoint - Установить точку положения надписи обозначения базы

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


## SetPosition - Получить точку, задающую положение плоскости объекта

Синтаксис Automation:
```
BOOL SetPosition ( double x,
double x,
double z );
```
Синтаксис COM:
```
HRESULT SetPosition( double x,
double y
double z
BOOL * Result);
Входные параметры:
x, y, z    - координаты точки, задающей положения объекта;
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
```


## Text - Текст базы

Синтаксис Automation:
```
Text = Object.Text    Получить свойство (* )
Text = Object.GetText()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Text( &Text )    Получить свойство
Примечание.
1. Свойство доступно только для чтения.
2. Свойство позволяет получить указатель на интерфейс текста IText для редактирования текста 3D базы. Указатель на интерфейс IText вернётся только в случае отключенной опции "Автосортировка". Если автосортировка текста включена, свойство вернёт NULL.
```


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

Интерфейс обозначения линии-выноски 3D.
Иерархия:
IDispatch
IKompasAPIObject
IModelObject
IBaseLeader3D
ILeader
IPositionLeader
IBrandLeader
IMarkLeader
IBranchs3D
IChangeLeader
Примечание:
1. Интерфейс можно получить у коллекции линий выносок 3D, используя свойство ILeaders3D::Leader3D или метод ILeaders3D::Add.
2. Посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif) интерфейс позволяет получить следующие дополнительные интерфейсы:
| Тип линии-выноски | ksObj3dTypeEnum | Интерфейс, |
| --- | --- | --- |
| Простая линия-выноска | o3d_leader3D | ILeader, |
| Линия-выноска для обозначения позиции | o3d_positionLeader3D | IPositionLeader, |
| Линия-выноска для для обозначения клеймения | o3d_brandLeader3D | IBrandLeader, |
| Линия-выноска для обозначения маркирования | o3d_markLeader3D | IMarkLeader, |
| Знак изменения | | IChangeLeader, |
| Ответвления | | IBranchs3D. |
3. После задания параметров обозначения требуется вызвать метод IModelObject::Update.


## ArrowType - Тип стрелки линии-выноски

Тип данных: из перечисления ksArrowEnum
Синтаксис Automation:
```
ArrowType = Object.ArrowType    Получить свойство (* )
Object.ArrowType = ArrowType    Установить свойство (* )
ArrowType = Object.GetArrowType()    Получить свойство (**)
Object.SetArrowType( ArrowType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ArrowType( &ArrowType )    Получить свойство
Object.put_ArrowType( ArrowType )    Установить свойство
Входные параметры:
Index    - индекс ответвления ( long ).
Примечание.
Свойство позволяет устанавливать и получать тип стрелки ответвления.
```


## BasePlane - Базовая плоскость

Тип данных: из перечисления ksObj3dTypeEnum
Значения свойства:
| o3d_unknown | 0 | Неизвестный |
| --- | --- | --- |
| o3d_planeXOY | 1 | Плоскость XOY |
| o3d_planeXOZ | 2 | Плоскость XOZ |
| o3d_planeYOZ | 3 | Плоскость YOZ |
Синтаксис Automation:
```
BasePlane = Object.BasePlane    Получить свойство (* )
Object.BasePlane = BasePlane    Установить свойство (* )
BasePlane = Object.GetBasePlane()    Получить свойство (**)
Object.SetBasePlane( BasePlane )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BasePlane( &BasePlane )    Получить свойство
Object.put_BasePlane( BasePlane )    Установить свойство
Примечание.
Свойство позволяет устанавливать и получать тип плоскости из перечисления ksObj3dTypeEnum, в которой располагается объект.
```


## GetPosition - Получить точку, задающую положение объекта

Синтаксис Automation:
```
BOOL GetPosition ( double * x,
double * y,
double * z );
```
Синтаксис COM:
```
HRESULT GetPosition( double * x,
double * y
double * z
BOOL * Result);
Выходные параметры:
x, y, z    - координаты точки, задающей положение объекта.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
```


## PositionObject - Объект, задающий положение плоскости обозначения

Тип данных: указатель на интерфейс IModelObject
Синтаксис Automation:
```
PositionObject = Object.PositionObject    Получить свойство (* )
Object.PositionObject = PositionObject    Установить свойство (* )
PositionObject = Object.GetPositionObject()    Получить свойство (**)
Object.SetPositionObject( PositionObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_PositionObject( &PositionObject )    Получить свойство
Object.put_PositionObject( PositionObject )    Установить свойство
Примечание.
Свойство позволяет устанавливать и получать объект, на котором будет располагаться плоскость объекта.
```


## SetPosition - Установить точку, задающую положение объекта

Синтаксис Automation:
```
BOOL SetPosition ( double x,
double y,
double z );
```
Синтаксис COM:
```
HRESULT SetPosition( double x,
double y
double z
BOOL * Result);
Входные параметры:
x, y, z    - координаты точки, задающей положение объекта.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
```


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

Интерфейс обозначения шероховатости 3D.
Иерархия:
IDispatch
IKompasAPIObject
IModelObject
IRough3D
IRoughParams
Примечание:
1. Интерфейс можно получить у коллекции обозначений шероховатости 3D, используя свойство IRoughs3D::Rough3D или метод IRoughs3D::Add.
2. После задания параметров объекта требуется вызвать метод IModelObject_Update.
3. Интерфейс IRoughParams является дополнительным, его можно получить с помощью метода IUnknown::QueryInterface.


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

Тип данных: указатель на интерфейс IModelObject
Синтаксис Automation:
```
BaseObject = Object.BaseObject    Получить свойство (* )
BaseObject = Object.GetBaseObject()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_BaseObject( &BaseObject )    Получить свойство
Примечание.
Свойство доступно только для чтения.
```


## BasePlane - Базовая плоскость

Тип данных: из перечисления ksObj3dTypeEnum
Синтаксис Automation:
```
BasePlane = Object.BasePlane    Получить свойство (* )
Object.BasePlane = BasePlane    Установить свойство (* )
BasePlane = Object.GetBasePlane()    Получить свойство (**)
Object.SetBasePlane( BasePlane )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BasePlane( &BasePlane )    Получить свойство
Object.put_BasePlane( BasePlane )    Установить свойство
Примечание.
Свойство позволяет устанавливать и получать тип плоскости, в которой располагается объект, из перечисления ksObj3dTypeEnum.
```


## GetBasePosition - Получить точку начала выносной линии или привязки знака

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


## GetPosition - Получить точку, задающую положение плоскости объекта

Синтаксис Automation:
```
BOOL GetPosition ( double * x,
double * x,
double * z );
```
Синтаксис COM:
```
HRESULT GetPosition( double * x,
double * y
double * z
BOOL * Result);
Выходные параметры:
x, y, z    - координаты точки, задающей положения объекта.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
```


## GetShelfPosition - Получить точку начала полки

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


## PositionObject - Положение плоскости обозначения

Тип данных: указатель на интерфейс IModelObject
Синтаксис Automation:
```
PositionObject = Object.PositionObject    Получить свойство (* )
Object.PositionObject = PositionObject    Установить свойство (* )
PositionObject = Object.GetPositionObject()    Получить свойство (**)
Object.SetPositionObject( PositionObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_PositionObject( &PositionObject )    Получить свойство
Object.put_PositionObject( PositionObject )    Установить свойство
Примечание.
Свойство позволяет устанавливать и получать объект, на котором будет располагаться плоскость объекта.
```


## BasePosition - Установить точку начала выносной линии или привязки знака

Синтаксис Automation:
```
BOOL SetBasePosition( double * x,
double * x,
double * z );
```
Синтаксис COM:
```
HRESULT SetBasePosition( double * x,
double * y,
double * z,
IModelObject * Object,
BOOL * Result);
Входные параметры:
x, y, z    - координаты точки начала выносной линии или привязки знака.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
```


## SetPosition - Установить точку, задающую положение плоскости объекта

Синтаксис Automation:
```
BOOL SetPosition ( double x,
double x,
double z );
```
Синтаксис COM:
```
HRESULT SetPosition( double * x,
double * y
double * z
BOOL * Result);
Входные параметры:
x, y, z    - координаты точки, задающей положения объекта.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
```


## SetShelfPosition - Установить точку начала полки

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


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

Интерфейс обозначения допуска формы 3D.
Иерархия:
IDispatch
IKompasAPIObject
IModelObject
ITolerance3D
IToleranceParam
IBranchs3D
ITable
Примечание:
1. Интерфейс можно получить у коллекции обозначений допуска формы 3D, используя свойство ITolerances3D::Tolerance3D или метод ITolerances3D::Add.
2. Посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif) интерфейс позволяет получить следующие дополнительные интерфейсы:
•IToleranceParam - интерфейс параметров допуска формы,
•IBranchs3D - интерфейс для работы с ответвлениями в 3D,
•ITable - интерфейс таблицы.
3. После задания параметров обозначения требуется вызвать метод IModelObject::Update.


## ArrowType - Тип стрелки ответвления

Тип данных: BOOL
Значения свойства:
| TRUE | - стрелка, |
| --- | --- |
| FALSE | - треугольник. |
Синтаксис Automation:
```
ArrowType = Object.ArrowType( Index )    Получить свойство (* )
Object.ArrowType( Index ) = ArrowType    Установить свойство (* )
ArrowType = Object.GetArrowType( Index )    Получить свойство (**)
Object.SetArrowType( Index, ArrowType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ArrowType( Index, &ArrowType )    Получить свойство
Object.put_ArrowType( Index, ArrowType )    Установить свойство
Входные параметры:
Index    - индекс ответвления ( long ).
Примечание.
Свойство позволяет устанавливать и получать тип стрелки ответвления.
```


## BasePlane - Базовая плоскость

Тип данных: из перечисления ksObj3dTypeEnum
Значения свойства:
| o3d_unknown | 0 | Неизвестный |
| --- | --- | --- |
| o3d_planeXOY | 1 | Плоскость XOY |
| o3d_planeXOZ | 2 | Плоскость XOZ |
| o3d_planeYOZ | 3 | Плоскость YOZ |
Синтаксис Automation:
```
BasePlane = Object.BasePlane    Получить свойство (* )
Object.BasePlane = BasePlane    Установить свойство (* )
BasePlane = Object.GetBasePlane()    Получить свойство (**)
Object.SetBasePlane( BasePlane )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BasePlane( &BasePlane )    Получить свойство
Object.put_BasePlane( BasePlane )    Установить свойство
Примечание.
Свойство позволяет устанавливать и получать тип плоскости из перечисления ksObj3dTypeEnum, в которой располагается объект.
```


## BranchPos - Положение ножки

Тип данных: из перечисления ksTablePointEnum
Синтаксис Automation:
```
BranchPos = Object.BranchPos( Index )    Получить свойство (* )
Object.BranchPos( Index ) = BranchPos    Установить свойство (* )
BranchPos = Object.GetBranchPos( Index )    Получить свойство (**)
Object.SetBranchPos( Index, BranchPos )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BranchPos( Index, &BranchPos )    Получить свойство
Object.put_BranchPos( Index, BranchPos )    Установить свойство
Входные параметры:
long Index    - индекс ответвления.
```


## FormatTolerance - Форматировать таблицу допуска формы

Синтаксис Automation :
BOOL FormatTolerance();
Синтаксис COM :
HRESULT FormatTolerance( BOOL * Result );
Возвращаемое значение:
| TRUE | - в случае удачного завершения, |
| --- | --- |
| FALSE | - в случае неудачи. |
Примечание:
Функция выполняет обновление таблицы допуска формы.
Пустые столбцы и строки в начале и в конце таблицы будут удалены.
Границы пустых граничных ячеек в непустых столбцах будут удалены.
Версия: Компас v20


## GetPosition - Получить точку, задающую положение объекта

Синтаксис Automation:
```
BOOL GetPosition ( double * x,
double * y,
double * z );
```
Синтаксис COM:
```
HRESULT GetPosition( double * x,
double * y
double * z
BOOL * Result);
Выходные параметры:
x, y, z    - координаты точки, задающей положение объекта.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
```


## PositionObject - Положение плоскости обозначения

Тип данных: указатель на интерфейс IModelObject
Синтаксис Automation:
```
PositionObject = Object.PositionObject    Получить свойство (* )
Object.PositionObject = PositionObject    Установить свойство (* )
PositionObject = Object.GetPositionObject()    Получить свойство (**)
Object.SetPositionObject( PositionObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_PositionObject( &PositionObject )    Получить свойство
Object.put_PositionObject( PositionObject )    Установить свойство
Примечание.
Свойство позволяет устанавливать и получать объект, на котором будет располагаться плоскость объекта.
```


## SetPosition - Установить точку, задающую положение объекта

Синтаксис Automation:
```
BOOL SetPosition ( double x,
double y,
double z );
```
Синтаксис COM:
```
HRESULT SetPosition( double x,
double y
double z
BOOL * Result);
Входные параметры:
x, y, z    - координаты точки, задающей положение объекта.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
```


## ToleranceArrowType - Тип стрелки ответвления

Тип данных: из перечисления ksToleranceArrowType
Синтаксис Automation:
```
ToleranceArrowType = Object.ToleranceArrowType( Index )    Получить свойство (* )
Object.ToleranceArrowType( Index ) = ToleranceArrowType    Установить свойство (* )
ToleranceArrowType = Object.GetToleranceArrowType( Index )    Получить свойство (**)
Object.SetToleranceArrowType( Index, ToleranceArrowType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ToleranceArrowType( Index, &ToleranceArrowType )    Получить свойство
Object.put_ToleranceArrowType( Index, ToleranceArrowType )    Установить свойство
Входные параметры:
Index    - индекс ответвления.
```


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

Интерфейс для работы с ответвлениями.
Иерархия:
IDispatch
IBranchs3D
Примечание:
Интерфейс можно получить посредством вызова метода IUnknown::QueryInterface у интерфейсов IBaseLeader3D, ITolerance3D, IMarkLeader, IPositionLeader, IChangeLeader, IBrandLeader.


## AddBranch - Добавить ответвление

Синтаксис Automation:
```
BOOL AddBranch( VARIANT Points,
LPDISPATCH Object );
```
Синтаксис COM:
```
HRESULT AddBranch( VARIANT Points,
IModelObject * Object,
BOOL * Result );
Входные параметры:
Object    - объект, на который указывает ответвление,
Points    - массив SafeArray типа VT_ARRAY    VT_R8 координат точек.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
1. Координаты точек в массиве лежат в следующей последовательности: x0, y0, z0, x1, y1, z1 ...xi, yi, zi.
2. При задании точек координаты будут спроецированы на плоскость объекта.


## AddBranchByPoint - Добавить прямолинейное ответвление

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


## BranchCount - Число ответвлений

Тип данных: long
Синтаксис Automation:
```
BranchCount = Object.BranchCount    Получить свойство (* )
BranchCount = Object.GetBranchCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_BranchCount( &BranchCount )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## BranchEndPoints - Массив SAFEARRAY координат точек целеуказания

Тип данных: VARIANT типа VT_ARRAY | VT_R8
Синтаксис Automation:
```
BranchEndPoints = Object.BranchEndPoints    Получить свойство (* )
BranchEndPoints = Object.GetBranchEndPoints()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_BranchEndPoints( &BranchEndPoints )    Получить свойство
Свойство позволяет получить массив координат конечных точек ответвлений.
```
Примечание:
1. Свойство доступно только для чтения.
2. Координаты точек в массиве лежат в следующей последовательности: x0, y0, z0, x1, y1, z1,...xi, yi, zi.


## BranchObject - Объект, на который указывает «ножка»

Тип данных: указатель на интерфейс IModelObject
Синтаксис Automation:
```
BranchObject = Object.BranchObject( Index )    Получить свойство (* )
BranchObject = Object.GetBranchObject( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_BranchObject( Index, &BranchObject )    Получить свойство
Входные параметры
long Index    - номер ответвления.
```
Примечание:
Свойство доступно только для чтения.


## BranchObjects - Массив SAFEARRAY объектов, на которые указывают «ножки»

Тип данных: VARIANT типа VT_ARRAY | VT_DISPATCH
Синтаксис Automation:
```
BranchObjects = Object.BranchObjects    Получить свойство (* )
BranchObjects = Object.GetBranchObjects()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_BranchObjects( &BranchObjects )    Получить свойство
```
Примечание:
1. Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.
2. Свойство доступно только для чтения.


## BranchPoints - Массив SAFEARRAY координат точек ответвления

Тип данных: VARIANT типа VT_ARRAY | VT_R8
Синтаксис Automation:
```
BranchPoints = Object.BranchPoints( Index )    Получить свойство (* )
Object.BranchPoints( Index ) = BranchPoints    Установить свойство (* )
BranchPoints = Object.GetBranchPoints( Index )    Получить свойство (**)
Object.SetBranchPoints( Index, BranchPoints )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BranchPoints( Index, &BranchPoints )    Получить свойство
Object.put_BranchPoints( Index, BranchPoints )    Установить свойство
Входные параметры
long Index    - номер ответвления.
Свойство позволяет получить массив координат точек ответвления, заданного по номеру.
```
Примечание:
1. Координаты точек в массиве лежат в следующей последовательности: x0, y0, z0, x1, y1, z1,...xi, yi, zi.
2. При задании точек координаты будут спроецированы на плоскость объекта.


## BranchPointsCount - Число точек в ответвлении

Тип данных: long
Синтаксис Automation:
```
BranchPointsCount = Object.BranchPointsCount    Получить свойство (* )
BranchPointsCount = Object.GetBranchPointsCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_BranchPointsCount( &BranchPointsCount )    Получить свойство
Входные параметры
long Index    - номер ответвления.
```
Примечание:
Свойство доступно только для чтения.


## DeleteBranch - Удалить ответвление

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


## GetBranchBeginPoint - Получить координаты начала полки или точки привязки

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


## GetBranchEndPoint - Получить координаты конечной точки ответвления

Синтаксис Automation:
```
BOOL GetBranchBeginPoint( long Index,
double * X,
double * Y,
double * Z );
```
Синтаксис COM:
```
HRESULT GetBranchBeginPoint( long Index,
double * X,
double * Y,
double * Z,
BOOL * Result );
Входные параметры:
Index    - индекс ответвления.
Выходные параметры:
x, y, z    - координаты точки.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
Метод позволяет получить координаты конечной точки ответвления.
```


## SetBranchBeginPoint - Установить координаты начала полки или точки привязки

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


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

Синтаксис Automation:
```
BOOL SetBranchEndPoint( long Index,
double X,
double Y,
double Z );
```
Синтаксис COM:
```
HRESULT SetBranchEndPoint( long Index,
double X,
double Y,
double Z,
BOOL * Result );
Входные параметры:
Index    - индекс ответвления,
x, y, z    - координаты точки.
Возвращаемое значение:
TRUE    - в случае успеха.
FALSE    - в случае неудачи.
Метод позволяет установить координаты конечной точки ответвления.
```


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

Составной объект для пользовательских объектов обозначений 3D.
Иерархия:
IDispatch
IKompasAPIObject
IModelObject
IUserDesignationCompObj
КОМПАС версия v18


## SetObjects - Задать объекты

Синтаксис Automation:
```
BOOL SetObjects( VARIANT Objects );
```
Синтаксис COM:
```
HRESULT SetObjects( VARIANT Objects, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Objects    - массив SafeArray (VT_ARRAY    VT_DISPATCH) объектов.
```
