---
title: "Обозначения для строительства"
type: interface
api: [api7]
domain: [2d]
tags: [interface, api7, 2d, bb2362006]
sources:
  - bb2362006.html
  - ibuildingcontainer.html
  - ibraces.html
  - ibuildingaxes.html
  - imarks.html
  - icutunitmarkings.html
  - imultitextleaders.html
  - iunitmarkings.html
  - iunitnumbers.html
  - imarknodes.html
  - ibuildingaxis.html
  - iarcaxis.html
  - icircleaxis.html
  - istraightaxis.html
  - ibrace.html
  - icutunitmarking.html
  - imark.html
  - imultitextleader.html
  - iunitmarking.html
  - iunitnumber.html
  - iaxisjut.html
  - imarknode.html
---

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




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

Контейнер объектов СПДС.
Иерархия:
IDispatch
IBuildingContainer
Описание:
Позволяет получить доступ к коллекциям объектов СПДС.
Примечание:
Дополнительный интерфейс вида. Данный интерфейс можно получить у вида IView посредством вызова метода IUnknown::QueryInterface (const GUID far& IID, void** pif).


## Braces - Интерфейс коллекции фигурных скобок

Тип данных: указатель на интерфейс коллекции фигурных скобок IBraces
Синтаксис Automation:
```
IBraces = iObject.Braces;    Получить свойство(* )
IBraces = iObject.GetBraces();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Braces( &Braces );    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Коллекция позволяет получать и создавать фигурные скобки.


## BuildingAxes - Интерфейс коллекции строительных осей

Тип данных: указатель на интерфейс IBuildingAxes коллекции строительных осей
Синтаксис Automation:
```
BuildingAxes = iObject.BuildingAxes    Получить свойство(* )
BuildingAxes = iObject.GetBuildingAxes()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_BuildingAxes(&BuildingAxes)    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Коллекция позволяет получать и создавать строительные оси.


## BuildingCutLines - Коллекция линий разреза для СПДС

Тип данных: указатель на интерфейс ICutLines
Синтаксис Automation:
```
BuildingCutLines = Object.BuildingCutLines    Получить свойство(* )
BuildingCutLines = Object.GetBuildingCutLines()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_BuildingCutLines( &BuildingCutLines )    Получить свойство
Свойство позволяет получать интерфейс коллекции линий разреза/сечения для СПДС.
```
Примечание:
Свойство доступно только для чтения.


## CutUnitMarkings - Интерфейс коллекции обозначений узла в сечении

Тип данных: указатель на интерфейс коллекции обозначений узла в сечении ICutUnitMarkings
Синтаксис Automation:
```
CutUnitMarkings = iObject.CutUnitMarkings    Получить свойство(* )
CutUnitMarkings = iObject.GetCutUnitMarkings()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_CutUnitMarkings(&CutUnitMarkings)    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Коллекция позволяет получать и создавать обозначения узла в сечении.


## Marks - Интерфейс коллекции марок

Тип данных: указатель на интерфейс коллекции марок IMarks
Синтаксис Automation:
```
Marks = iObject.Marks    Получить свойство(* )
Marks = iObject.GetMarks()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Marks(&Marks)    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Коллекция позволяет получать и создавать марки.


## MultiTextLeaders - Интерфейс коллекции выносных надписей к многослойным конструкциям

Тип данных: указатель на интерфейс коллекции надписей к многослойным конструкциям IMultiTextLeaders
Синтаксис Automation:
```
MultiTextLeaders = iObject.MultiTextLeaders    Получить свойство(* )
MultiTextLeaders = iObject.GetMultiTextLeaders()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_MultiTextLeaders(&MultiTextLeaders)    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Коллекция позволяет получать и создавать надписи к многослойным конструкциям.


## UnitMarkings - Интерфейс коллекции обозначений узлов

Тип данных: указатель на интерфейс коллекции обозначений узлов IUnitMarkings
Синтаксис Automation:
```
UnitMarkings = iObject.UnitMarkings    Получить свойство(* )
UnitMarkings = iObject.GetUnitMarkings()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_UnitMarkings(&UnitMarkings)    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Коллекция позволяет получать и создавать обозначения узлов.


## UnitNumbers - Интерфейс коллекции номеров узла

Тип данных: указатель на интерфейс коллекции номеров узла IUnitNumbers
Синтаксис Automation:
```
IUnitNumbers = iObject.UnitNumbers;    Получить свойство(* )
IUnitNumbers = iObject.GetUnitNumbers();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_UnitNumbers( &UnitNumbers );    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Коллекция позволяет получать и создавать номера узла.


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

Интерфейс коллекции фигурных скобок.
Иерархия:
IKompasAPIObject
IKompasCollection
IDrawingObjects
IBraces
Описание:
Интерфейс позволяет получить доступ к фигурным скобкам на чертеже.
Примечание:
Получить интерфейс коллекции фигурных скобок можно, используя метод контейнера объектов СПДС IBuildingContainer::Braces.


## Add - Создать фигурную скобку

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


## Brace - Фигурная скобка, заданная по индексу, ссылке или имени и номеру

Тип данных: указатель на интерфейс фигурной скобки IBrace
Синтаксис Automation:
```
Brace = iObject.Brace( index )    Получить свойство(* )
Brace = iObject.GetBrace( index )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Brace( index, &Brace )    Получить свойство
Входные параметры:
Index (Variant)    Индекс.
```
Примечание:
1. Свойство доступно только для чтения.
2. В качестве индекса могут использоваться следующие типы:
•индекс объекта в коллекции,
•ссылка на объект (reference),
•строковое значение текста IBrace::Text.
Пример:
```vb
Brace = iBraces.Brace("Text");
где "Brace" - текст на фигурной скобке.
```


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

Интерфейс коллекции строительных (координационных) осей.
Иерархия:
IKompasAPIObject
IKompasCollection
IDrawingObjects
IBuildingAxes
Описание:
Интерфейс позволяет получать и создавать объекты СПДС "строительные оси".
Примечание:
Получить интерфейс коллекции строительных осей можно, используя метод контейнера объектов СПДС IBuildingContainer::BuildingAxes.


## Add - Создать ось

Синтаксис Automation:
```
LPDISPATH Add( DrawingObjectTypeEnum type );
```
Синтаксис COM:
```
HRESULT Add( DrawingObjectTypeEnum type, IBuildingAxis** Result);
Входные параметры:
type - тип объекта из перечисления DrawingObjectTypeEnum.
Возможные значения type:
ksDrStraightAxis    56    IStraightAxis Прямая ось,
ksDrCircleAxis    58    ICircleAxis Круговая ось,
ksDrArcAxis    59    IArcAxis Дуговая ось.
Возвращаемое значение:
Result    - Указатель на базовый интерфейс для строительных осей IBuildingAxis.
```
Примечание:
Метод позволяет создать новый интерфейс строительной оси. После получения нового интерфейса нужно задать параметры марки и вызвать метод IDrawingObject::Update.


## BuildingAxis - Ось, заданная по индексу, ссылке или имени

Тип данных: указатель на интерфейс оси IBuildingAxis
Синтаксис Automation:
```
Axis = iObject.BuildingAxis(index)    Получить свойство(* )
Axis = iObject.GetBuildingAxis(index)    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_BuildingAxis(index, &Axis)    Получить свойство
Входные параметры:
Index (Variant)    Индекс.
```
Примечание:
1. Свойство доступно только для чтения.
2. В качестве индекса могут использоваться следующие типы:
•Индекс объекта в коллекции,
•Ссылка на объект (reference),
•Строковое значение текста строительной оси IBuildingAxis::Text.
Пример:
```vb
axis = iBuildingAxes.BuildingAxis("A1")
где "А1" - текст оси
```


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

Интерфейс коллекции марок (содержит марки всех типов).
Иерархия:
IKompasAPIObject
IKompasCollection
IDrawingObjects
IMarks
Описание:
Интерфейс позволяет получить доступ к маркам на чертеже.
Примечание:
Получить интерфейс коллекции марок можно, используя метод контейнера объектов СПДС IBuildingContainer::Marks.


## Add - Создать марку

Синтаксис Automation:
```
LPDISPATH Add( DrawingObjectTypeEnum MarkType );
```
Синтаксис COM:
```
HRESULT Add([in] DrawingObjectTypeEnum MarkType,
[out, retval] IMark** Result);
Входные параметры:
MarkType    - тип объекта из перечисления DrawingObjectTypeEnum.
Возможные значения MarkType
ksDrMarkOnLeader    52    IMarkOnLeader - Марка/позиционное обозначение с линией-выноской.
ksDrMarkOnLine    53    IMarkOnLine - Марка/позиционное обозначение на линии.
ksDrMarkInsideForm    54    IMarkInsideForm - Марка/позиционное обозначение без линии-выноски.
Возвращаемое значение:
Result    - указатель на базовый интерфейс для марок IMark.
```
Примечание:
Метод позволяет создать новый интерфейс марки. После получения нового интерфейса нужно задать параметры марки и вызвать метод IDrawingObject::Update.


## Mark - Марка, заданная по индексу, ссылке или имени и номеру

Тип данных: указатель на интерфейс марки IMark
Синтаксис Automation:
```
Mark = iObject.Mark(index)    Получить свойство(* )
Mark = iObject.GetMark(index)    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Mark(index, &Mark)    Получить свойство
Входные параметры:
Index (Variant)    - Индекс.
```
Примечание:
1. Свойство доступно только для чтения.
2. В качестве индекса могут использоваться следующие типы:
•Индекс объекта в коллекции,
•Сcылка на объект (reference),
•Cуммарная строка – имя (IMark::Name) + номер марки (IMark::Number) без дополнительных разделителей.
Пример:
```vb
mark = iMarks.Mark("A1");
где "А" - имя марки
"1" - номер марки
```


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

Интерфейс коллекции обозначений узла в сечении.
Иерархия:
IKompasAPIObject
IKompasCollection
IDrawingObjects
ICutUnitMarkings
Описание:
Интерфейс позволяет получить коллекции обозначений узла в сечении.
Примечание:
Данный интерфейс можно получить у интерфейса контейнера объектов СПДС, используя метод IBuildingContainer::CutUnitMarkings.


## Add - Создать обозначение узла в сечении и добавить его в коллекцию

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


## CutUnitMarking - Обозначение узла в сечении, заданное по индексу, ссылке или тексту

Тип данных: указатель на интерфейс ICutUnitMarking
Синтаксис Automation:
```
CutUnitMarking = iObject.CutUnitMarking(index)    Получить свойство(* )
CutUnitMarking = iObject.GetCutUnitMarking(index)    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_CutUnitMarking(index, &CutUnitMarking)    Получить свойство
Входные параметры:
Index (Variant)    - Индекс обозначения узла в коллекции. Поддерживаются следующие типы: - VT_I4 - индекс объекта, - reference объекта - строковое значение текста сверху ICutUnitMarking::TextUp.
```
Пример:
```vb
mark = iMarks.Mark("A1");
где "А1" - текст сверху
```
Примечание:
Свойство доступно только для чтения.


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

Интерфейс коллекции выносных надписей к многослойным конструкциям.
Иерархия:
IKompasAPIObject
IKompasCollection
IDrawingObjects
IMultiTextLeaders
Описание:
Интерфейс позволяет получить доступ к выносным надписям к многослойным конструкциям для данного вида, а также позволяет создавать новые выносные надписи к многослойным конструкциям.
Примечание:
Получить интерфейс можно, используя свойство IBuildingContainer::MultiTextLeaders.


## Add - Создать выносную надпись к многослойным конструкциям (Добавить объект в коллекцию)

Синтаксис Automation:
```
LPDISPATCH Add();
```
Синтаксис COM:
```
HRESULT Add([out, retval] IMultiTextLeader** Result);
Возвращаемое значение:
- указатель на интерфейс IMultiTextLeader
```
Примечание:
После получения нового интерфейса нужно задать параметры объекта и вызвать метод IDrawingObject::Update. Объект в модели появится после вызова этого метода.


## MultiTextLeader - Выносная надпись к многослойным конструкциям, заданная по индексу

Тип данных: указатель на интерфейс IMultiTextLeader
Синтаксис Automation:
```
MultiTextLeader = iObject.MultiTextLeader(Index)    Получить свойство(* )
MultiTextLeader = iObject.GetMultiTextLeader(Index)    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_MultiTextLeader(Index, &MultiTextLeader)    Получить свойство
Входные параметры:
Index (Variant)    - Индекс узла в коллекции. Поддерживаются следующие типы: - VT_I4 - индекс объекта, reference объекта.
Значения свойства:
указатель на интерфейс IMultiTextLeader    - в случае успеха,
NULL    - в случае неудачи.
```
Примечание:
Свойство доступно только для чтения.


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

Интерфейс коллекции обозначений узла.
Иерархия:
IKompasAPIObject
IKompasCollection
IDrawingObjects
IUnitMarkings
Описание:
Интерфейс позволяет получить коллекции обозначений узла.
Примечание:
Данный интерфейс можно получить у интерфейса контейнера объектов СПДС, используя метод IBuildingContainer::UnitMarkings.


## Add - Создать обозначение узла и добавить его в коллекцию

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


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

Тип данных: указатель на интерфейс IUnitMarking
Синтаксис Automation:
```
UnitMarking = iObject.UnitMarking(index)    Получить свойство(* )
UnitMarking = iObject.GetUnitMarking(index)    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_UnitMarking(index, &UnitMarking)    Получить свойство
Входные параметры:
Index (Variant)    - Индекс обозначения узла в коллекции. Поддерживаются следующие типы: - VT_I4 - индекс объекта, - reference объекта - строковое значение текста сверху IUnitMarking::TextUp.
```
Пример:
```vb
UnitMarking = iUnitMarkings.UnitMarking("A1");
где "А1" - текст сверху
```
Примечание:
Свойство доступно только для чтения.


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

Интерфейс коллекции номеров узла.
Иерархия:
IKompasAPIObject
IKompasCollection
IDrawingObjects
IUnitNumbers
Описание:
Интерфейс позволяет получить доступ к номерам узла на чертеже.
Примечание:
Получить интерфейс коллекции номеров узла можно, используя метод контейнера объектов СПДС IBuildingContainer::UnitNumbers.


## Add - Создать номер узла

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


## UnitNumber - Номер узла, заданный по индексу, или ссылке

Тип данных: указатель на интерфейс марки IUnitNumber
Синтаксис Automation:
```
UnitNumber = iObject.UnitNumber( index )    Получить свойство(* )
UnitNumber = iObject.GetUnitNumber( index )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_UnitNumber( index, &UnitNumber )    Получить свойство
Входные параметры:
Index (Variant)    - Индекс.
```
Примечание:
1. Свойство доступно только для чтения.
2. В качестве индекса могут использоваться следующие типы:
•индекс объекта в коллекции,
•ссылка на объект (reference),
•строковое значение текста сверху IUnitNumber::TextUp.
Пример:
```vb
UnitNumber = iUnitNumbers.UnitNumber("TextUp");
Где "TextUp" - верхний текст номера узла.
```


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

Интерфейс коллекции узлов для вставки дополнительных марок.
Иерархия:
IKompasAPIObject
IKompasCollection
IMarkNodes
Описание:
Интерфейс позволяет получать и создавать дополнительные узлы для вставки марок.
Примечание:
Получить интерфейс коллекции марок можно, используя методы IStraightAxis::MarkNodes, IArcAxis::MarkNodes, IMarkNode::MarkNodes.


## Add - Создать узел (добавить узел в коллекцию)

Синтаксис Automation:
```
LPDISPATH Add( ksMarkNodeEnum Type,
VARIANT Index );
```
Синтаксис COM:
```
HRESULT Add( ksMarkNodeEnum Type,
VARIANT Index, IMarkNode** Result);
Входные параметры:
Type    - тип марки из перечисления ksMarkNodeEnum,
Index    - индекс узла для вставки марки. Поддерживаются следующие типы: VT_I4 - добавление узла по индексу, -1 - добавление в конец списка, VT_BSTR - добавление узла перед элементом с заданным именем, VT_DISPATCH - добавление узла перед заданным.
Возвращаемое значение:
- Указатель на интерфейс узла IMarkNode.
```
Примечание:
Метод позволяет создать дополнительные узлы для марок.


## Clear - Очистить коллекцию

Синтаксис Automation:
```
BOOL Clear();
```
Синтаксис COM:
```
HRESULT Clear( BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет удалить дополнительные узлы для марок, при этом узлы удаляются из коллекции. Из объекта узлы будут удалены после вызова метода IDrawingObject::Update.


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

Тип данных: указатель на интерфейс узла IMarkNode
Синтаксис Automation:
```
Item = iObject.Item(Index)    Получить свойство(* )
Item = iObject.GetItem(Index)    Получить свойство (**)
```
Синтаксис COM:
```
Item = iObject->get_Item(Index)    Получить свойство
Входные параметры:
Index (Variant)    - Индекс узла в коллекции. Поддерживаются следующие типы: - VT_I4 - индекс узла, - VT_BSTR - имя узла.
```
Описание:
Индекс равный 0 позволяет получить указатель на узел, являющийся маркой оси.
Примечание:
Свойство доступно только для чтения.


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

Cтроительная ось (базовый интерфейс для строительных осей).
Иерархия:
IKompasAPIObject
IDrawingObject
IBuildingAxis
Описание:
Интерфейс позволяет получать и изменять общие свойства для строительных осей.
Примечание:
Получить интерфейс строительной оси можно, используя методы коллекции строительных осей IBuildingAxes::BuildingAxis, IBuildingAxes::Add.


## AddNodeByPoint - Добавить узел марки по координатам

Синтаксис Automation:
```
LPDISPATCH AddNodeByPoint( ksMarkNodeEnum Type,
double X,
double Y );
```
Синтаксис COM:
```
HRESULT AddNodeByPoint( ksMarkNodeEnum Type,
double X,
double Y,
IMarkNode ** PVal );
Входные параметры:
Type    - тип узла для марки из ksMarkNodeEnum,
X, Y    - координаты для подключения узла.
Возвращаемое значение:
Указатель на интерфейс IMarkNode    - если узел подключен,
NULL    - в случае неудачи.
```
Примечание:
Значения координат и направлений пересчитываются в зависимости от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.


## AutoStroke - Автоопределение длины штриха

Тип данных: BOOL
Синтаксис Automation:
```
AutoStroke = iObject.AutoStroke    Получить свойство(* )
iObject.AutoStroke = AutoStroke    Установить свойство (* )
AutoStroke = iObject.GetAutoStroke()    Получить свойство (**)
iObject.SetAutoStroke(AutoStroke)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_AutoStroke(&AutoStroke)    Получить свойство
iObject->put_AutoStroke( AutoStroke)    Установить свойство
```


## DottedLength - Длина пунктира

Тип данных: double
Синтаксис Automation:
```
DottedLength = iObject.DottedLength    Получить свойство(* )
iObject.DottedLength = DottedLength    Установить свойство (* )
iObject.GetDottedLength()    Получить свойство (**)
iObject.SetDottedLength(DottedLength)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_DottedLength(&DottedLength)    Получить свойство
iObject->put_DottedLength( DottedLength)    Установить свойство
```


## DoubleMark - Тип марки

Тип данных: BOOL
Синтаксис Automation:
```
DoubleMark = iObject.DoubleMark    Получить свойство(* )
iObject.DoubleMark = DoubleMark    Установить свойство (* )
DoubleMark = iObject.GetDoubleMark()    Получить свойство (**)
iObject.SetDoubleMark(DoubleMark)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_DoubleMark(&DoubleMark)    Получить свойство
iObject->put_DoubleMark( DoubleMark)    Установить свойство
Значения свойства:
TRUE    - двойная,
FALSE    - одинарная.
```
Примечание:
Свойство позволяет получить и установить тип марки.


## GetInsertionPoints - Получить координаты точек для вставки дополнительных элементов

Синтаксис Automation:
```
BOOL GetInsertionPoints( BOOL First,
VARIANT * Points,
VARIANT * Directions,
VARIANT * Nodes,
BOOL * RetVal );
```
Синтаксис COM:
```
HRESULT GetInsertionPoints( BOOL First,
VARIANT * Points,
VARIANT * Directions,
VARIANT * Nodes,
BOOL * RetVal );
Входные параметры:
First    - вернуть координаты точек TRUE - для первого ответвления, FALSE - для второго ответвления.
Выходные параметры:
Points    - массив SafeArray типа VT_ARRAY    VT_R8 координат точек для подключения дополнительных узлов марок,
Directions    - массив SafeArray типа VT_ARRAY    VT_R8 направлений (углы относительно центра родительского узла),
Nodes    - массив SafeArray типа VT_ARRAY    VT_DISPATCH родительские узлы для точек подключения.
Возвращаемое значение:
TRUE    - координаты получены,
FALSE    - в случае неудачи.
```
Примечание:
1. Параметры Points, Directions и Nodes не являются обязательными. В функцию достаточно передать один из указателей на VARIANT.
2. Массивы являются согласованными.
Координаты точек в массиве Points лежат в следующей последовательности:
x0, y0, x1, y1, ...xi, yi
Направления в масиве Directions лежат в последовательности:
angle0, angle1, ...anglei
В массиве Nodes лежат указатели на интерфейсы узлов для вставок марок IMarkNode.
3. У узла может быть от 1 до 3 точек для подключения дополнительных узлов в зависимости от типа узла и его расположения. Так как массивы координат и узлов должны быть согласованы, то один и тот же указатель на интерфейс может встречаться в массиве более одного раза.
4. Значения координат и направлений пересчитываются в зависимости от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.
5. Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.


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

Синтаксис Automation:
```
LPDISPATCH GetNodeByPoint( double X, double Y, double Limit );
```
Синтаксис COM:
```
HRESULT GetNodeByPoint( double X, double Y, double Limit, IMarkNode ** PVal );
Входные параметры:
X, Y    - координаты точки,
Limit    - максимальное расстояние от точки до узла при поиске.
Возвращаемое значение:
Указатель на интерфейс IMarkNode    - если узел найден,
NULL    - в случае неудачи.
```
Примечание:
1. Значения координат и направлений пересчитываются в зависимости от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType
2. Подключить узел можно только к точкам подключения, координаты которых возвращаются функциями IBuildingAxis::GetInsertionPoints и IMarkNode::GetInsertionPoints.
3. После добавления узла координаты и список доступных точек для подключения новых узлов может измениться.


## Interval - Длина промежутка

Тип данных: double
Синтаксис Automation:
```
Interval = iObject.Interval    Получить свойство(* )
iObject.Interval = Interval    Установить свойство (* )
Interval = iObject.GetInterval()    Получить свойство (**)
iObject.SetInterval(Interval)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Interval(&Interval)    Получить свойство
iObject->put_Interval( Interval)    Установить свойство
```


## MarkSize - Размер марки

Тип данных: double
Синтаксис Automation:
```
MarkSize = iObject.MarkSize    Получить свойство(* )
iObject.MarkSize = MarkSize    Установить свойство (* )
MarkSize = iObject.GetMarkSize()    Получить свойство (**)
iObject.SetMarkSize(MarkSize)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_MarkSize(&MarkSize)    Получить свойство
iObject->put_MarkSize( MarkSize)    Установить свойство
```
Примечание:
Значения параметра пересчитываются в зависимости от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.


## Stroke - Длина штриха

Тип данных: double
Синтаксис Automation:
```
Stroke = iObject.Stroke    Получить свойство(* )
iObject.Stroke = Stroke    Установить свойство (* )
Stroke = iObject.GetStroke()    Получить свойство (**)
iObject.SetStroke(Stroke)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Stroke(&Stroke)    Получить свойство
iObject->put_Stroke( Stroke)    Установить свойство
```


## Text - Текст

Тип данных: указатель на интерфейс IText
Синтаксис Automation:
```
Text = iObject.Text    Получить свойство(* )
Text = iObject.GetText()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Text(&Text)    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Значение свойства можно использовать для поиска марки в коллекции строительных осей IBuildingAxes, а также для поиска в функции IDrawingObjects::Item или IBuildingAxes::BuildingAxis строкового значения текста.
Пример:
```vb
axis = iBuildingAxes.Axis("A1");
```


## ТextAfter - Текст после

Тип данных: указатель на интерфейс IText
Синтаксис Automation:
```
Text = iObject.TextAfter    Получить свойство(* )
Text = iObject.GetTextAfter()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_TextAfter(&Text)    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## TextBefore - Текст до

Тип данных: указатель на интерфейс IText
Синтаксис Automation:
```
Text = iObject.TextBefore    Получить свойство(* )
Text = iObject.GetTextBefore()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_TextBefore(&Text)    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

Интерфейс дуговой координационной оси.
Иерархия:
IKompasAPIObject
IDrawingObject
IBuildingAxis
IArcAxis
Описание:
Интерфейс позволяет получать и изменять свойства дуговой строительной оси.
Примечание:
1. Получить интерфейс строительной оси можно, используя методы коллекции строительных осей IBuildingAxes::BuildingAxis, IBuildingAxes::Add.
2. При создании дуговой оси можно использовать несколько способов построения.
•По координатам,
•По трем точкам,
•По углам,
•По точке и углу,
•По углу, точке и радиусу,
•По конечным точкам и углу,
•Плавающий центр, вариант 1,
•Плавающий центр, вариант 2.
3. После задания параметров оси требуется вызвать метод IDrawingObject::Update.
4. При изменении параметров зависимые параметры пересчитываются после вызова метода IDrawingObject::Update.


## Angle1 - Угол между осью 0X и отрезком, соединяющим первую точку дуги с началом координат

Тип данных: double
Синтаксис Automation:
```
Angle1 = iObject.Angle1;    Получить свойство(* )
iObject.Angle1 = Angle1;    Установить свойство (* )
Angle1 = iObject.GetAngle1();    Получить свойство (**)
iObject.SetAngle1( Angle1 );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Angle1( &Angle1 )    Получить свойство
iObject->put_Angle1( Angle1 )    Установить свойство
```
Примечание:
Свойство позволяет получить и установить угол между осью 0X и отрезком, соединяющим первую точку дуги с началом координат.


## Angle2 - Угол между осью 0X и отрезком, соединяющим вторую точку дуги с началом координат

Тип данных: double
Синтаксис Automation:
```
Angle2 = iObject.Angle2;    Получить свойство(* )
iObject.Angle2 = Angle2;    Установить свойство (* )
Angle2 = iObject.GetAngle2();    Получить свойство (**)
iObject.SetAngle2( Angle2 );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Angle2( &Angle2 )    Получить свойство
iObject->put_Angle2( Angle2 )    Установить свойство
```
Примечание:
Свойство позволяет получить и установить угол между осью 0X и отрезком, соединяющим вторую точку дуги с началом координат.


## 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    - против часовой стрелки.
```
Примечание:
Свойство позволяет получить и установить направление построения дуги.


## Jut - Получить выступ

Тип данных: указатель на интерфейс выступа IAxisJut
Синтаксис Automation:
```
Jut = iObject.Jut( First );    Получить свойство(* )
Jut = iObject.GetJut( First );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Jut(First, &Jut);    Получить свойство
Входные параметры:
First    - признак порядка выступа на оси, BOOL, TRUE- первый выступ, FALSE - второй.
```
Примечание:
Свойство доступно только для чтения.


## MarkNodes - Коллекция узлов марок

Тип данных: указатель на интерфейс коллекции IMarkNodes
Синтаксис Automation:
```
MarkNodes = iObject.MarkNodes;    Получить свойство(* )
MarkNodes = iObject.GetMarkNodes();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_MarkNodes( &MarkNodes );    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Узлы правого и левого выступа имеют одинаковые параметры, поэтому редактирование осуществляется через одну коллекцию.


## Radius - Радиус дуги

Тип данных: double
Синтаксис Automation:
```
Radius = iObject.Radius;    Получить свойство(* )
iObject.Radius = Radius;    Установить свойство (* )
Radius = iObject.GetRadius();    Получить свойство (**)
iObject.SetRadius( Radius );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Radius( &Radius );    Получить свойство
iObject->put_Radius( Radius );    Установить свойство
```
Примечание:
Свойство позволяет получить и установить радиус дуги.


## X1 - Координата первой точки по X

Тип данных: double
Синтаксис Automation:
```
X1 = iObject.X1;    Получить свойство(* )
iObject.X1 = X1;    Установить свойство (* )
X1 = iObject.GetX1();    Получить свойство (**)
iObject.SetX1( X1 );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_X1( &X1 );    Получить свойство
iObject->put_X1( X1 );    Установить свойство
```
Примечание:
Свойство позволяет получить и установить координату первой точки дуги X1.


## X2 - Координата второй точки по X

Тип данных: double
Синтаксис Automation:
```
X2 = iObject.X2;    Получить свойство(* )
iObject.X2 = X2;    Установить свойство (* )
X2 = iObject.GetX2();    Получить свойство (**)
iObject.SetX2( X2 );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_X2( &X2 );    Получить свойство
iObject->put_X2( X2 );    Установить свойство
```
Примечание:
Свойство позволяет получить и установить координату первой точки дуги X2.


## X3 - Координата средней точки, лежащей на дуге по X

Тип данных: double
Синтаксис Automation:
```
X3 = iObject.X3;    Получить свойство(* )
iObject.X3 = X3;    Установить свойство (* )
X3 = iObject.GetX3();    Получить свойство (**)
iObject.SetX3( X3 );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_X3( &X3 );    Получить свойство
iObject->put_X3( X3 );    Установить свойство
```
Примечание:
Свойство позволяет получить и установить координату средней точки, лежащей на дуге по X.


## Xc - Координата X центра дуги

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


## Y1 - Координата первой точки по Y

Тип данных: double
Синтаксис Automation:
```
Y1 = iObject.Y1;    Получить свойство(* )
iObject.Y1 = Y1;    Установить свойство (* )
Y1 = iObject.GetY1();    Получить свойство (**)
iObject.SetY1( Y1 );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Y1( &Y1 );    Получить свойство
iObject->put_Y1( Y1 );    Установить свойство
```
Примечание:
Свойство позволяет получить и установить координату первой точки дуги Y1.


## Y2 - Координата второй точки по Y

Тип данных: double
Синтаксис Automation:
```
Y2 = iObject.Y2;    Получить свойство(* )
iObject.Y2 = Y2;    Установить свойство (* )
Y2 = iObject.GetY2();    Получить свойство (**)
iObject.SetY2( Y2 );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Y2( &Y2 );    Получить свойство
iObject->put_Y2( Y2 );    Установить свойство
```
Примечание:
Свойство позволяет получить и установить координату второй точки дуги Y2.


## Y3 - Координата средней точки, лежащей на дуге по Y

Тип данных: double
Синтаксис Automation:
```
Y3 = iObject.Y3;    Получить свойство(* )
iObject.Y3 = Y3;    Установить свойство (* )
Y3 = iObject.GetY3();    Получить свойство (**)
iObject.SetY3( Y3 );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Y3( &Y3 );    Получить свойство
iObject->put_Y3( Y3 );    Установить свойство
```
Примечание:
Свойство позволяет получить и установить координату средней точки, лежащей на дуге по Y.


## Yc - Координата Y центра дуги

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


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

Интерфейс круговой координационной оси.
Иерархия:
IKompasAPIObject
IDrawingObject
IBuildingAxis
ICircleAxis
Описание:
Интерфейс позволяет получать и изменять свойства круговой строительной оси.
Примечание:
1. Получить интерфейс строительной оси можно, используя методы коллекции строительных осей IBuildingAxes::BuildingAxis, IBuildingAxes::Add.
2. При создании дуговой оси необходимо задать следующие параметры:
•координаты центра XC; YC,
•радиус Radius.
3. После задания параметров оси требуется вызвать метод IDrawingObject::Update.
4. При изменении параметров зависимые параметры пересчитываются после вызова метода IDrawingObject::Update.


## BaseMarkNode - Базовый узел для марки

Тип данных: указатель на интерфейс IMarkNode
Синтаксис Automation:
```
MarkNode = iObject.BaseMarkNode;    Получить свойство(* )
MarkNode = iObject.GetBaseMarkNode();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_BaseMarkNode(&MarkNode);    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Интерфейс IMarkNode позволяет задать параметры основного узла марки оси. Позволяет добавлять и удалять дополнительные узлы.


## MarkAngle - Угол привязки марки

Тип данных: double
Синтаксис Automation:
```
MarkAngle = iObject.MarkAngle    Получить свойство(* )
iObject.MarkAngle = MarkAngle    Установить свойство (* )
MarkAngle = iObject.GetMarkAngle()    Получить свойство (**)
iObject.SetMarkAngle( MarkAngle )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_MarkAngle(&MarkAngle)    Получить свойство
iObject->put_MarkAngle( MarkAngle)    Установить свойство
```
Примечание:
Свойство позволяет получить и установить угол между осью 0X и отрезком, соединяющим центр оси с маркой.


## MarkOn - Марка вкючена\выключена

Тип данных: BOOL
Синтаксис Automation:
```
MarkOn = iObject.MarkOn    Получить свойство(* )
iObject.MarkOn = MarkOn    Установить свойство (* )
MarkOn = iObject.GetMarkOn()    Получить свойство (**)
iObject.SetMarkOn( MarkOn )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_MarkOn(&MarkOn)    Получить свойство
iObject->put_MarkOn( MarkOn)    Установить свойство
```
Примечание:
Свойство позволяет управлять отображением марки на координационной оси.


## Radius - Радиус

Тип данных: double
Синтаксис Automation:
```
Radius = iObject.Radius;    Получить свойство(* )
iObject.Radius = Radius;    Установить свойство (* )
Radius = iObject.GetRadius();    Получить свойство (**)
iObject.SetRadius( Radius );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Radius( &Radius );    Получить свойство
iObject->put_Radius( Radius );    Установить свойство
```
Примечание:
Свойство позволяет получить и установить радиус дуги.


## Xc - Координата центра по X

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


## Yc - Координата центра по Y

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


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

Интерфейс прямой координационной оси.
Иерархия:
IKompasAPIObject
IDrawingObject
IBuildingAxis
IStraightAxis
Описание:
Интерфейс позволяет получать и изменять свойства прямой строительной оси.
Примечание:
1. Получить интерфейс строительной оси можно, используя методы коллекции строительных осей IBuildingAxes::BuildingAxis, IBuildingAxes::Add.
2. При создании прямой оси можно использовать несколько типов построения:
2.1. по координатам (требуется задать координаты точек X1; Y1, X2; Y2).
2.2. По точке 1 (X1; Y1), длине Length и углу Angle,
2.3. По точке 2 (X2; Y2), длине Length и углу Angle относительно точки 1.
3. После задания параметров оси требуется вызвать метод IDrawingObject::Update.
4. При изменении параметров зависимые параметры пересчитываются после вызова метода IDrawingObject::Update.


## Angle - Угол наклона

Тип данных: double
Синтаксис Automation:
```
Angle = iObject.Angle;    Получить свойство(* )
iObject.Angle = Angle;    Установить свойство (* )
Angle = iObject.GetAngle();    Получить свойство (**)
iObject.SetAngle( Angle );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Angle(&Angle)    Получить свойство
iObject->put_Angle( Angle );    Установить свойство
```
Примечание:
Свойство позволяет получить и установить угол наклона отрезка.


## Jut - Выступ

Тип данных: указатель на интерфейс IAxisJut
Синтаксис Automation:
```
Jut = iObject.Jut( First );    Получить свойство(* )
Jut = iObject.GetJut( First );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Jut(First, &Jut);    Получить свойство
Входные параметры:
First    - тип данных BOOL (TRUE - первый выступ, FALSE - второй).
```
Примечание:
Свойство доступно только для чтения.


## Length - Длина отрезка

Тип данных: double
Синтаксис Automation:
```
Length = iObject.Length;    Получить свойство(* )
iObject.Length = Length;    Установить свойство (* )
Length = iObject.GetLength();    Получить свойство (**)
iObject.SetLength( Length );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Length(&Length);    Получить свойство
iObject->put_Length( Length );    Установить свойство
```
Примечание:
Свойство позволяет получить и установить длину отрезка.


## MarkNodes - Коллекция узлов марок

Тип данных: указатель на интерфейс IMarkNodes
Синтаксис Automation:
```
MarkNodes = iObject.MarkNodes;    Получить свойство(* )
MarkNodes = iObject.GetMarkNodes();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_MarkNodes( &MarkNodes );    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Узлы правого и левого выступа имеют одинаковые параметры, поэтому редактирование осуществляется через одну коллекцию.


## X1 - Координата первой точки по оси X

Тип данных: double
Синтаксис Automation:
```
X1 = iObject.X1;    Получить свойство(* )
iObject.X1 = X1;    Установить свойство (* )
X1 = iObject.GetX1();    Получить свойство (**)
iObject.SetX1( X1 );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_X1(&X1);    Получить свойство
iObject->put_X1( X1 );    Установить свойство
```
Примечание:
Свойство позволяет получить и установить координату первой точки отрезка по оси X.


## X2 - Координата второй точки по оси X

Тип данных: double
Синтаксис Automation:
```
X2 = iObject.X2;    Получить свойство(* )
iObject.X2 = X2;    Установить свойство (* )
X2 = iObject.GetX2();    Получить свойство (**)
iObject.SetX2( X2 );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_X2(&X2);    Получить свойство
iObject->put_X2( X2 );    Установить свойство
```
Примечание:
Свойство позволяет получить и установить координату второй точки отрезка по оси X.


## Y1 - Координата первой точки по оси Y

Тип данных: double
Синтаксис Automation:
```
Y1 = iObject.Y1;    Получить свойство(* )
iObject.Y1 = Y1;    Установить свойство (* )
Y1 = iObject.GetY1();    Получить свойство (**)
iObject.SetY1( Y1 );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Y1(&Y1);    Получить свойство
iObject->put_Y1( Y1 );    Установить свойство
```
Примечание:
Свойство позволяет получить и установить координату первой точки отрезка по оси Y.


## Y2 - Координата второй точки по оси Y

Тип данных: double
Синтаксис Automation:
```
Y2 = iObject.Y2;    Получить свойство(* )
iObject.Y2 = Y2;    Установить свойство (* )
Y2 = iObject.GetY2();    Получить свойство (**)
iObject.SetY2( Y2 );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Y2(&Y2);    Получить свойство
iObject->put_Y2( Y2 );    Установить свойство
```
Примечание:
Свойство позволяет получить и установить координату второй точки отрезка по оси Y.


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

Интерфейс фигурной скобки.
Иерархия:
IKompasAPIObject
IDrawingObject
IBrace
Описание:
Интерфейс позволяет получать и изменять свойства фигурных скобок.
Примечание:
Получить интерфейс марки можно, используя свойство интерфейса коллекции фигурных скобок IBraces::Brace или метод IBraces::Add.


## Alignment - Ориентация фигурной скобки

Тип данных: тип ориентации из перечисления ksAlignmentTypeEnum
Синтаксис Automation:
```
Alignment = iObject.Alignment    Получить свойство(* )
iObject.Alignment = Alignment    Установить свойство (* )
Alignment = iObject.GetAlignment()    Получить свойство (**)
iObject.SetAlignment( Alignment )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Alignment( &Alignment )    Получить свойство
iObject->put_Alignment( Alignment )    Установить свойство
```


## Angle - Угол наклона фигурной скобки

Тип данных: double
Синтаксис Automation:
```
Angle = iObject.Angle    Получить свойство(* )
iObject.Angle = Angle    Установить свойство (* )
Angle = iObject.GetAngle()    Получить свойство (**)
iObject.SetAngle( Angle )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Angle( &Angle )    Получить свойство
iObject->put_Angle( Angle )    Установить свойство
```


## 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    - перевернутая.
```


## Length - Длина фигурной скобки

Тип данных: double
Синтаксис Automation:
```
Length = iObject.Length    Получить свойство(* )
iObject.Length = Length    Установить свойство (* )
Length = iObject.GetLength()    Получить свойство (**)
iObject.SetLength( Length )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Length( &Length )    Получить свойство
iObject->put_Length( Length )    Установить свойство
```


## Radius - Радиус скругления скобки

Тип данных: double
Синтаксис Automation:
```
Radius = iObject.Radius    Получить свойство(* )
iObject.Radius = Radius    Установить свойство (* )
Radius = iObject.GetRadius()    Получить свойство (**)
iObject.SetRadius( Radius )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Radius( &Radius )    Получить свойство
iObject->get_Radius( &Radius )    Установить свойство
```


## ShelfDirection - Положение полки

Тип данных: Тип положения полки из перечисления ksShelfDirectionEnum
Синтаксис Automation:
```
ShelfDirection = iObject.ShelfDirection    Получить свойство(* )
iObject.ShelfDirection = ShelfDirection    Установить свойство (* )
ShelfDirection = iObject.GetShelfDirection()    Получить свойство (**)
iObject.SetShelfDirection( ShelfDirection )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ShelfDirection( &ShelfDirection )    Получить свойство
iObject->put_ShelfDirection( ShelfDirection)    Установить свойство
```


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

Тип данных: VARIANT типа VT_ARRAY | VT_R8
Синтаксис Automation:
```
ShelfPoints = Object.ShelfPoints    Получить свойство(* )
Object.ShelfPoints = ShelfPoints    Установить свойство (* )
ShelfPoints = Object.GetShelfPoints()    Получить свойство (**)
Object.SetShelfPoints( ShelfPoints )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ShelfPoints( &ShelfPoints )    Получить свойство
Object.put_ShelfPoints( ShelfPoints )    Установить свойство
```


## ShelfX - Координата X начала полки

Тип данных: double
Синтаксис Automation:
```
ShelfX = iObject.ShelfX    Получить свойство(* )
iObject.ShelfX = ShelfX    Установить свойство (* )
ShelfX = iObject.GetShelfX()    Получить свойство (**)
iObject.SetShelfX( ShelfX )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ShelfX( &ShelfX )    Получить свойство
iObject->put_ShelfX( ShelfX )    Установить свойство
```
Примечание:
При попытке получить координату полки, которой нет, свойство вернёт 0.0.


## ShelfY - Координата Y начала полки

Тип данных: double
Синтаксис Automation:
```
ShelfY = iObject.ShelfY    Получить свойство(* )
iObject.ShelfY = ShelfY    Установить свойство (* )
ShelfY = iObject.GetShelfY()    Получить свойство (**)
iObject.SetShelfY( ShelfY )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ShelfY( &ShelfY )    Получить свойство
iObject->put_ShelfY( ShelfY )    Установить свойство
```
Примечание:
При попытке получить координату полки, которой нет, свойство вернёт 0.0.


## Style - Стиль линии фигурной скобки

Тип данных: long
Синтаксис Automation:
```
Style = iObject.Style    Получить свойство(* )
iObject.Style = Style    Установить свойство (* )
Style = iObject.GetStyle()    Получить свойство (**)
iObject.SetStyle( Style )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Style( &Style )    Получить свойство
iObject->put_Style( Style )    Установить свойство
```


## Text - Текст фигурной скобки

Тип данных: указатель на интерфейс текста IText
Синтаксис Automation:
```
Text = iObject.Text    Получить свойство(* )
Text = iObject.GetText()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Text( &Text )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Текст можно использовать для поиска фигурной скобки в коллекции IBraces. Для поиска в функции IDrawingObjects::Item или IBraces::Brace нужно передать строковое значение текста.
Пример:
```vb
Brace = iBraces.Brace("Text");
где "Text" - текст на фигурной скобке;
```


## X1 - Координата первой точки по Х

Тип данных: double
Синтаксис Automation:
```
X1 = iObject.X1;    Получить свойство(* )
iObject.X1 = X1;    Установить свойство (* )
X1 = iObject.GetX1();    Получить свойство (**)
iObject.SetX1( X1 );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_X1(&X1);    Получить свойство
iObject->put_X1( X1 );    Установить свойство
```
Примечание:
Значение параметра зависит от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.


## X2 - Координата второй точки по Х

Тип данных: double
Синтаксис Automation:
```
X2 = iObject.X2;    Получить свойство(* )
iObject.X2 = X2;    Установить свойство (* )
X2 = iObject.GetX2();    Получить свойство (**)
iObject.SetX2( X2 );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_X2(&X2);    Получить свойство
iObject->put_X2( X2 );    Установить свойство
```
Примечание:
Значение параметра зависит от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.


## Y1 - Координата первой точки по Y

Тип данных: double
Синтаксис Automation:
```
Y1 = iObject.Y1;    Получить свойство(* )
iObject.Y1 = Y1;    Установить свойство (* )
Y1 = iObject.GetY1();    Получить свойство (**)
iObject.SetY1(Y1);    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Y1(&Y1);    Получить свойство
iObject->put_Y1(Y1);    Установить свойство
```
Примечание:
Значение параметра зависит от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.


## Y2 - Координата второй точки по Y

Тип данных: double
Синтаксис Automation:
```
Y2 = iObject.Y2;    Получить свойство(* )
iObject.Y2 = Y2;    Установить свойство (* )
Y2 = iObject.GetY2();    Получить свойство (**)
iObject.SetY2(Y2);    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Y2(&Y2);    Получить свойство
iObject->put_Y2(Y2);    Установить свойство
```
Примечание:
Значение параметра зависит от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.


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

Интерфейс обозначения узла в сечении.
Иерархия:
IKompasAPIObject
IDrawingObject
ICutUnitMarking
Примечание:
Получить интерфейс можно, используя свойство интерфейса коллекции ICutUnitMarkings::CutUnitMarking или метод ICutUnitMarkings::Add.


## AddStroke - Добавить штрих

Синтаксис Automation:
```
BOOL AddStoke( double X,
double Y,
double Length );
```
Синтаксис COM:
```
HRESULT AddStoke( double X,
double Y,
double Length,
BOOL * Result );
Входные параметры:
X, Y    - координаты точки привязки штриха,
Length    - длина.
Возвращаемое значение:
TRUE    - штрих добавлен,
FALSE    - в случае неудачи.
```
Примечание:
Значения координат зависят от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType


## Angle - Угол наклона

Тип данных: double
Синтаксис Automation:
```
Angle = iObject.Angle    Получить свойство(* )
iObject.Angle = Angle    Установить свойство (* )
Angle = iObject.GetAngle()    Получить свойство (**)
iObject.SetAngle( Angle )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Angle(&Angle)    Получить свойство
iObject->put_Angle( Angle)    Установить свойство
```


## DeleteStroke - Удалить штрих

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


## ShelfDirection - Направление полки

Тип данных: из перечисления ksShelfDirectionEnum
Синтаксис Automation:
```
ShelfDirection = iObject.ShelfDirection    Получить свойство(* )
iObject.ShelfDirection = ShelfDirection    Установить свойство (* )
ShelfDirection = iObject.GetShelfDirection()    Получить свойство (**)
iObject.SetShelfDirection( ShelfDirection )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ShelfDirection(&ShelfDirection)    Получить свойство
iObject->put_ShelfDirection( ShelfDirection)    Установить свойство
```


## ShelfX - Координата начала полки по оси X

Тип данных: double
Синтаксис Automation:
```
ShelfX = iObject.ShelfX    Получить свойство(* )
iObject.ShelfX = ShelfX    Установить свойство (* )
ShelfX = iObject.GetShelfX()    Получить свойство (**)
iObject.SetShelfX( ShelfX )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ShelfX(&ShelfX)    Получить свойство
iObject->put_ShelfX( ShelfX)    Установить свойство
```


## ShelfY - Координата начала полки по оси Y

Тип данных: double
Синтаксис Automation:
```
ShelfY = iObject.StrokeY    Получить свойство(* )
iObject.ShelfY = StrokeY    Установить свойство (* )
ShelfY = iObject.GetShelfY()    Получить свойство (**)
iObject.SetShelfY( ShelfY )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ShelfY(&ShelfY)    Получить свойство
iObject->put_ShelfY( ShelfY)    Установить свойство
```


## Stroke - Длина штриха

Тип данных: double
Синтаксис Automation:
```
Stroke = iObject.Stroke( Index )    Получить свойство(* )
iObject.Stroke( Index ) = Stroke    Установить свойство (* )
Stroke = iObject.GetStroke( Index )    Получить свойство (**)
iObject.SetStroke( Index, Stroke )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Stroke( Index, &Stroke )    Получить свойство
iObject->put_Stroke( Index, Stroke )    Установить свойство
Входные параметры:
Index (long)    - индекс штриха.
```


## StrokeCount - Число штрихов

Тип данных: long
Синтаксис Automation:
```
Count = iObject.StrokeCount    Получить свойство(* )
iObject.StrokeCount = Count    Установить свойство (* )
Count = iObject.GetStrokeCount()    Получить свойство (**)
iObject.SetStrokeCount( Count )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_StrokeCount(&Count)    Получить свойство
iObject->put_StrokeCount( Count)    Установить свойство
```


## StrokeX - Координата точки привязки штриха по оси X

Тип данных: double
Синтаксис Automation:
```
StrokeX = iObject.StrokeX( Index )    Получить свойство(* )
iObject.StrokeX( Index ) = StrokeX    Установить свойство (* )
StrokeX = iObject.GetStrokeX( Index )    Получить свойство (**)
iObject.SetStrokeX( Index, StrokeX )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_StrokeX( Index, &StrokeX )    Получить свойство
iObject->put_StrokeX( Index, StrokeX )    Установить свойство
Входные параметры:
Index (long)    - индекс штриха.
```


## StrokeY - Координата точки привязки штриха по оси Y

Тип данных: double
Синтаксис Automation:
```
StrokeY = iObject.StrokeY( Index )    Получить свойство(* )
iObject.StrokeY( Index ) = StrokeY    Установить свойство (* )
StrokeY = iObject.GetStrokeY( Index )    Получить свойство (**)
iObject.SetStrokeY( Index, StrokeY )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_StrokeY( Index, &StrokeY )    Получить свойство
iObject->put_StrokeY( Index, StrokeY )    Установить свойство
Входные параметры:
Index (long)    - индекс штриха.
```


## TextDown - Текст внизу

Тип данных: указатель на интерфейс IText
Синтаксис Automation:
```
TextDown = iObject.TextDown    Получить свойство(* )
TextDown = iObject.GetTextDown()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_TextDown(&TextDown)    Получить свойство
Примечание.
Свойство доступно только для чтения.
```


## TextUp - Текст вверху

Тип данных: указатель на интерфейс IText
Синтаксис Automation:
```
TextUp = iObject.TextUp    Получить свойство(* )
TextUp = iObject.GetTextUp()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_TextUp(&TextUp)    Получить свойство
Описание.
Свойство Текст вверху можно использовать для поиска обозначения узла в сечении в коллекции ICutUnitMarkings. Для поиска в функции IDrawingObjects::Item или ICutUnitMarkings::CutUnitMarking нужно передать строковое значение текста.
```
Пример:
```vb
сutUnitMarking = iCutUnitMarkings.CutUnitMarking("A1");
где "A1" - Текст вверху
Примечание.
Свойство доступно только для чтения.
```


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

Марка - базовый интерфейс для марок.
Иерархия:
IKompasAPIObject
IDrawingObject
IMark
Описание:
Интерфейс позволяет получать и изменять общие свойства для марок.
Примечание:
Получить интерфейс марки можно, используя методы интерфейса коллекции марок IMarks::Mark и IMarks::Add.


## AutoNumber - Автонумерация марок и позиционных обозначений

Тип данных: BOOL
Синтаксис Automation:
```
AutoNumber = iObject.AutoNumber    Получить свойство(* )
iObject.AutoNumber = AutoNumber    Установить свойство (* )
AutoNumber = iObject.GetAutoNumber()    Получить свойство (**)
iObject.SetAutoNumber(AutoNumber)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_AutoNumber(&AutoNumber)    Получить свойство
iObject->put_AutoNumber( AutoNumber)    Установить свойство
```


## Comment - Текст комментария

Тип данных: BSTR
Синтаксис Automation:
```
Comment = iObject.Comment    Получить свойство(* )
iObject.Comment = Comment    Установить свойство (* )
Comment = iObject.GetComment()    Получить свойство (**)
iObject.SetComment(Comment)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Comment(&Comment)    Получить свойство
iObject->put_Comment( Comment)    Установить свойство
```
Примечание:
Свойство позволяет получить и установить текст комментария.


## Name - Имя марки

Тип данных: указатель на интерфейс IText
Синтаксис Automation:
```
Name = iObject.Name    Получить свойство(* )
Name = iObject.GetName()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Name(&Name)    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Имя марки и номер марки IMark::Number можно использовать для поиска марки в коллекции марок IMarks.
3. Для поиска в функции IDrawingObjects::Item или IMarks::Mark нужно передать суммарную строку, включающую в себя имя марки + номер марки без дополнительных разделителей.
Пример:
```vb
mark = iMarks.Mark("A1");
где "А" - имя марки
"1" - номер марки
```


## Number - Номер марки

Тип данных: указатель на интерфейс IText
Синтаксис Automation:
```
Number = iObject.Number    Получить свойство(* )
Number = iObject.GetNumber()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Number(&Number)    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Имя марки IMark::Name и номер марки можно использовать для поиска марки в коллекции марок IMarks.
3. Для поиска в функции IDrawingObjects::Item или IMarks::Mark нужно передать суммарную строку, включающую в себя имя марки + номер марки без дополнительных разделителей.
Пример:
```vb
mark = iMarks.Mark("A1");
где "А" - имя марки
"1" - номер марки
```


## TextAfter - Текст после

Тип данных: указатель на интерфейс IText
Синтаксис Automation:
```
TextAfter = iObject.TextAfter    Получить свойство(* )
TextAfter = iObject.GetTextAfter()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_TextAfter(&TextAfter)    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## TextBefore - Текст до

Тип данных: указатель на интерфейс IText
Синтаксис Automation:
```
TextBefore = iObject.TextBefore    Получить свойство(* )
TextBefore = iObject.GetTextBefore()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_TextBefore(&TextBefore)    Получить свойство
```
Примечание:
Своство доступно только для чтения.


## TextUnder - Текст под

Тип данных: указатель на интерфейс IText
Синтаксис Automation:
```
TextUnder = iObject.TextUnder    Получить свойство(* )
TextUnder = iObject.GetTextUnder()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_TextUnder(&TextUnder)    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## X - Координата точки привязки по Х

Тип данных: double
Синтаксис Automation:
```
X = iObject.X;    Получить свойство(* )
iObject.X = X;    Установить свойство (* )
X = iObject.GetX();    Получить свойство (**)
iObject.SetX( X );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_X(&X);    Получить свойство
iObject->put_X( X );    Установить свойство
```
Примечание:
Значение параметра зависит от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.


## 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);    Установить свойство
```
Примечание:
Значение параметра зависит от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.
Интерфейс IMarkOnLeader
Интерфейс IMarkInsideForm
Интерфейс IMarkOnLine


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

Интерфейс выносной надписи к многослойным конструкциям.
Иерархия:
IKompasAPIObject
IDrawingObject
IMultiTextLeader
Описание:
Интерфейс позволяет получить доступ к выносной надписи к многослойным конструкциям. С помощью интерфейса можно получить и отредактировать параметры объекта.
Примечание:
1. Получить интерфейс можно, используя свойство интерфейса коллекции IMultiTextLeaders::MultiTextLeader или метод IMultiTextLeaders::Add.
2. Новые параметры вступят в силу после вызова метода IDrawingObject::Update.


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

Синтаксис Automation:
```
BOOL AddBranch( long index,
VARIANT Points );
```
Синтаксис COM:
```
HRESULT AddBranch( long index,
VARIANT Points,
BOOL * Result );
Входные параметры:
index    - индекс, с которым добавляется ответвление,
Points    - массив SafeArray координат точек.
Возвращаемое значение:
TRUE    - ответвление добавлено,
FALSE    - в случае неудачи.
```
Примечание:
1. Координаты точек в массиве лежат в следующей последовательности: x0, y0, x1, y1, ...xi, yi.
2. Значения координат пересчитываются в зависимости от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.
3. Если index = -1, ответвление добавляется в конец массива ответвлений.


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

Синтаксис Automation:
```
BOOL AddBranchByPoint( long index,
double x, double y );
```
Синтаксис COM:
```
HRESULT AddBranchByPoint( long index,
double x,
double y,
BOOL * Result );
Входные параметры:
index    - индекс, с которым добавляется ответвление,
x, y    - координаты конца ответвления.
Возвращаемое значение:
TRUE    - ответвление добавлено,
FALSE    - в случае неудачи.
```
Примечание:
1. Значения координат пересчитываются в зависимости от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.
2. Если index = -1, ответвление добавляется в конец массива ответвлений.


## Align - Выравнивание

Тип данных: BOOL
Синтаксис Automation:
```
VFormat = iObject.VFormat;    Получить свойство (* )
iObject.VFormat = VFormat;    Установить свойство (* )
VFormat = iObject.GetVFormat( );    Получить свойство (**)
iObject.SetVFormat( VFormat );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_VFormat( &VFormat );    Получить свойство
iObject->put_VFormat( VFormat );    Установить свойство
Значения свойства:
TRUE    - полки одинаковой длины,
FALSE    - полки по длине текста.
```
Примечание:
Свойство позволяет установить и получить выравнивание полок.


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

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


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

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


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

Тип данных: VARIANT ( VT_ARRAY | VT_R8 )
Синтаксис Automation:
```
BranchPoints = iObject.BranchPoints    Получить свойство (* )
BranchPoints = iObject.GetBranchPoints( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_BranchPoints( &BranchPoints )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Свойство позволяет получить SAFEARRAY координат точек ответвления. В массиве последовательно собраны координаты X и Y для каждой точки ответвления: x0, y0, x1, y1, ...xi, yi.


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

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


## BranchX - Координата конечной точки ответвления по оси X

Тип данных: double
Синтаксис Automation:
```
BranchX = iObject.BranchX( Index )    Получить свойство (* )
iObject.BranchX = BranchX( Index )    Установить свойство (* )
BranchX = iObject.GetBranchX( Index )    Получить свойство (**)
iObject.SetBranchX( Index, BranchX )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_BranchX( Index, &BranchX )    Получить свойство
iObject->put_BranchX( Index, BranchX )    Установить свойство
Входные параметры:
Index    - индекс объекта ( long ).
```
Примечание:
1. Свойство позволяет установить и получить координату конечной точки ответвления по оси Х.
2. Значения координат пересчитываются в зависимости от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.


## BranchY - Координата конечной точки ответвления по оси Y

Тип данных: double
Синтаксис Automation:
```
BranchY = iObject.BranchY( Index )    Получить свойство (* )
iObject.BranchY = BranchY( Index )    Установить свойство (* )
BranchY = iObject.GetBranchY( Index )    Получить свойство (**)
iObject.SetBranchY( Index, BranchY )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_BranchY( Index, &BranchY )    Получить свойство
iObject->put_BranchY( Index, BranchY )    Установить свойство
Входные параметры:
Index    - индекс объекта (long ).
```
Примечание:
1. Свойство позволяет установить и получить координату конечной точки ответвления по оси Y.
2. Значения координат пересчитываются в зависимости от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.


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

Синтаксис Automation:
```
BOOL DeleteBranch( long index );
```
Синтаксис COM:
```
HRESULT DeleteBranch( long Index,
VARIANT_BOOL * Result );
Входные параметры:
index    - индекс удаляемого ответвления.
Возвращаемое значение:
TRUE    - ответвление удалено,
FALSE    - в случае неудачи.
```
Примечание:
1. Значения координат пересчитываются в зависимости от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.
2. Если index = -1, ответвление добавляется в конец массива ответвлений.


## Form - Тип формы

Тип данных: BOOL
Синтаксис Automation:
```
Form = iObject.Form    Получить свойство (* )
iObject.Form = Form    Установить свойство (* )
Form = iObject.GetForm( )    Получить свойство (**)
iObject.SetForm( Form )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Form( &Form )    Получить свойство
iObject->put_Form( Form )    Установить свойство
Значения свойства:
TRUE    - с выступом,
FALSE    - без выступа.
```
Примечание:
Свойство позволяет установить и получить тип формы.


## ShelfDirection - Направление полки

Тип данных: из перечисления ksShelfDirectionEnum
Синтаксис Automation:
```
ShelfDirection = iObject.ShelfDirection    Получить свойство (* )
iObject.ShelfDirection = ShelfDirection    Установить свойство (* )
ShelfDirection = iObject.GetShelfDirection( )    Получить свойство (**)
iObject.SetShelfDirection( ShelfDirection )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ShelfDirection( &ShelfDirection )    Получить свойство
iObject->put_ShelfDirection( ShelfDirection )    Установить свойство
Значения свойства:
ksLSLeft    -1    - влево,
ksLSRight    1    - вправо.
```
Примечание:
Свойство позволяет установить и получить направление полки.


## ShelfX - Координата начала полки по оси X

Тип данных: double
Синтаксис Automation:
```
ShelfX = iObject.ShelfX    Получить свойство (* )
iObject.ShelfX = ShelfX    Установить свойство (* )
ShelfX = iObject.GetShelfX( )    Получить свойство (**)
iObject.SetShelfX( ShelfX )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ShelfX( &ShelfX )    Получить свойство
iObject->put_ShelfX( ShelfX )    Установить свойство
```
Примечание:
1. Свойство позволяет установить и получить координату начала полки по Х.
2. Значения координат пересчитываются в зависимости от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.


## ShelfY - Координата начала полки по оси Y

Тип данных: double
Синтаксис Automation:
```
ShelfY = iObject.ShelfY    Получить свойство (* )
iObject.ShelfY = ShelfY    Установить свойство (* )
ShelfY = iObject.GetShelfY( )    Получить свойство (**)
iObject.SetShelfY( ShelfY )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ShelfY( &ShelfY )    Получить свойство
iObject->put_ShelfY( ShelfY )    Установить свойство
```
Примечание:
1. Свойство позволяет установить и получить координату начала полки по Y.
2. Значения координат пересчитываются в зависимости от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.


## Text - Текст

Тип данных: указатель на интерфейс IText
Синтаксис Automation:
```
Text = iObject.Text    Получить свойство (* )
Text = iObject.GetText( )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Text( &Text )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Свойство позволяет получить текст объекта.


## TextDirection - Направление текста

Тип данных: BOOL
Синтаксис Automation:
```
TextDirection = iObject.TextDirection    Получить свойство (* )
iObject.TextDirection = TextDirection    Установить свойство (* )
TextDirection = iObject.GetTextDirection( )    Получить свойство (**)
iObject.SetTextDirection( TextDirection )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_TextDirection( &TextDirection )    Получить свойство
iObject->put_TextDirection( TextDirection )    Установить свойство
Значения свойства:
TRUE    - вверх,
FALSE    - вниз.
```
Примечание:
Свойство позволяет установить и получить направление текста.


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

Интерфейс обозначения узла.
Иерархия:
IKompasAPIObject
IDrawingObject
IUnitMarking
Примечание:
Получить интерфейс можно, используя свойство IUnitMarkings::UnitMarking или метод IUnitMarkings::Add интерфейса коллекции обозначений узла.


## FilletRadius - Радиус скругления прямоугольного контура

Тип данных: double
Синтаксис Automation:
```
FilletRadius = iObject.FilletRadius    Получить свойство(* )
iObject.FilletRadius = FilletRadius    Установить свойство (* )
FilletRadius = iObject.GetFilletRadius()    Получить свойство (**)
iObject.SetFilletRadius( FilletRadius )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_FilletRadius( &FilletRadius )    Получить свойство
iObject->put_FilletRadius( FilletRadius )    Установить свойство
```


## Form - Форма контура

Тип данных: тип формы из перечисления ksContourFormEnum
Синтаксис Automation:
```
Form = iObject.Form    Получить свойство(* )
iObject.Form = Form    Установить свойство (* )
Form = iObject.GetForm()    Получить свойство (**)
iObject.SetForm( Form )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Form( &Form )    Получить свойство
iObject->put_Form( Form )    Установить свойство
```


## Height - Высота контура

Тип данных: double
Синтаксис Automation:
```
Height = iObject.Height    Получить свойство(* )
iObject.Height = Height    Установить свойство (* )
Height = iObject.GetHeight()    Получить свойство (**)
iObject.SetHeight( Height )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Height( &Height )    Получить свойство
iObject->put_Height( Height )    Установить свойство
```


## Radius - Радиус контура обозначения узла

Тип данных: double
Синтаксис Automation:
```
Radius = iObject.Radius    Получить свойство(* )
iObject.Radius = Radius    Установить свойство (* )
Radius = iObject.GetRadius()    Получить свойство (**)
iObject.SetRadius( Radius )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Radius( &Radius )    Получить свойство
iObject->put_Radius( Radius )    Установить свойство
```


## ShelfDirection - Направление полки

Тип данных: тип направления полки из перечисления ksShelfDirectionEnum
Синтаксис Automation:
```
ShelfDirection = iObject.ShelfDirection    Получить свойство(* )
iObject.ShelfDirection = ShelfDirection    Установить свойство (* )
ShelfDirection = iObject.GetShelfDirection()    Получить свойство (**)
iObject.SetShelfDirection( ShelfDirection )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ShelfDirection( &ShelfDirection )    Получить свойство
iObject->put_ShelfDirection( ShelfDirection)    Установить свойство
```


## ShelfX - Координата начала полки по оси X

Тип данных: double
Синтаксис Automation:
```
ShelfX = iObject.ShelfX    Получить свойство(* )
iObject.ShelfX = ShelfX    Установить свойство (* )
ShelfX = iObject.GetShelfX()    Получить свойство (**)
iObject.SetShelfX( ShelfX )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ShelfX(&ShelfX)    Получить свойство
iObject->put_ShelfX( ShelfX)    Установить свойство
```


## ShelfY - Координата начала полки по оси Y

Тип данных: double
Синтаксис Automation:
```
ShelfY = iObject.ShelfY    Получить свойство(* )
iObject.ShelfY = ShelfY    Установить свойство (* )
ShelfY = iObject.GetShelfY()    Получить свойство (**)
iObject.SetShelfY( ShelfY )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ShelfY(&ShelfY)    Получить свойство
iObject->put_ShelfY( ShelfY)    Установить свойство
```


## TextDown - Текст внизу

Тип данных: указатель на интерфейс IText
Синтаксис Automation:
```
TextDown = iObject.TextDown    Получить свойство(* )
TextDown = iObject.GetTextDown()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_TextDown(&TextDown)    Получить свойство
Примечание.
Свойство доступно только для чтения.
```


## TextUp - Текст вверху

Тип данных: указатель на интерфейс IText
Синтаксис Automation:
```
TextUp = iObject.TextUp    Получить свойство(* )
TextUp = iObject.GetTextUp()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_TextUp(&TextUp)    Получить свойство
Описание.
Свойство Текст вверху можно использовать для поиска обозначения узла в коллекции IUnitMarkings. Для поиска в функции IDrawingObjects::Item или IUnitMarkings::UnitMarking нужно передать строковое значение текста.
```
Пример:
```vb
UnitMarking = IUnitMarkings.UnitMarking("A1");
где "A1" - Текст вверху
Примечание.
Свойство доступно только для чтения.
```


## Width - Ширина контура

Тип данных: double
Синтаксис Automation:
```
Width = iObject.Width    Получить свойство(* )
iObject.Width = Width    Установить свойство (* )
Width = iObject.GetWidth()    Получить свойство (**)
iObject.SetWidth( Width )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Width( &Width )    Получить свойство
iObject->put_Width( Width )    Установить свойство
```


## Xc - Координата X центра контура

Тип данных: double
Синтаксис Automation:
```
Xc = iObject.Xc    Получить свойство(* )
iObject.Xc = Xc    Установить свойство (* )
Xc = iObject.GetXc()    Получить свойство (**)
iObject.SetXc( Xc )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Xc( &Xc )    Получить свойство
iObject->put_Xc( Xc )    Установить свойство
```


## Yc - Координата Y центра контура

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


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

Интерфейс номера узла.
Иерархия:
IKompasAPIObject
IDrawingObject
IUnitNumber
Описание:
Интерфейс позволяет получать и изменять свойства номеров узлов на чертеже.
Примечание:
Интерфейс можно получить с помощью метода коллекции номеров узла IUnitNumbers::Add или свойства IUnitNumbers::UnitNumber.


## TextDown - Текст снизу

Тип данных: указатель на интерфейс текста IText
Синтаксис Automation:
```
TextDown = iObject.TextDown    Получить свойство(* )
TextDown = iObject.TextDown()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_TextDown( &TextDown)    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## TextUp - Текст сверху

Тип данных: указатель на интерфейс текста IText
Синтаксис Automation:
```
TextUp = iObject.TextUp    Получить свойство(* )
TextUp = iObject.TextUp()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_TextUp( &TextUp)    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Текст можно использовать для поиска номера узла в коллекции IUnitNumbers. Для поиска в функции IDrawingObjects::Item или IUnitNumbers::UnitNumber нужно передать строковое значение текста.
Пример:
```vb
UnitNumber = iUnitNumbers.UnitNumber("TextUp"),
где "TextUp" - текст сверху номера узла.
```


## X - Координата номера узла по Х

Тип данных: double
Синтаксис Automation:
```
X = iObject.X;    Получить свойство(* )
iObject.X = X;    Установить свойство (* )
X = iObject.GetX();    Получить свойство (**)
iObject.SetX( X );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_X(&X);    Получить свойство
iObject->put_X( X );    Установить свойство
```
Примечание:
1. Значение параметра зависит от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.
2. Свойство позволяет считывать и устанавливать координату номера узла по X.


## 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);    Установить свойство
```
Примечание:
1. Значение параметра зависит от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType.
2. Свойство позволяет считывать и устанавливать координату номера узла по Y.


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

Интерфейс выступа строительной оси.
Иерархия:
IDispatch
IKompasAPIObject
IAxisJut
Описание:
Интерфейс позволяет задавать параметры выступов для прямой и дуговой строительных осей.
Примечание:
Интерфейс можно получить с помощью свойств IStraightAxis::Jut и IArcAxis::Jut.


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

Тип данных: BOOL
Синтаксис Automation:
```
BreakDirection = iObject.BreakDirection    Получить свойство(* )
iObject.BreakDirection = BreakDirection    Установить свойство (* )
BreakDirection = iObject.GetBreakDirection()    Получить свойство (**)
iObject.SetBreakDirection( BreakDirection )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_BreakDirection(&BreakDirection)    Получить свойство
iObject->put_BreakDirection( BreakDirection)    Установить свойство
Значения свойства:
TRUE    - смещение вправо,
FALSE    - смещение влево.
```


## BreakOffset - Cмещение излома

Тип данных: double
Синтаксис Automation:
```
BreakOffset = iObject.BreakOffset    Получить свойство(* )
iObject.BreakOffset = BreakOffset    Установить свойство (* )
BreakOffset = iObject.GetBreakOffset()    Получить свойство (**)
iObject.SetBreakOffset( BreakOffset )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_BreakOffset(&BreakOffset)    Получить свойство
iObject->put_BreakOffset( BreakOffset)    Установить свойство
```
Примечание:
Значение свойства рассчитывается в процентах от длины выступа.


## Length - Длина выступа

Тип данных: double
Синтаксис Automation:
```
Length = iObject.Length    Получить свойство(* )
iObject.Length = Length    Установить свойство (* )
Length = iObject.GetLength()    Получить свойство (**)
iObject.SetLength( Length )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Length(&Length)    Получить свойство
iObject->put_Length( Length)    Установить свойство
```
Примечание:
Свойство позволяет получить и установить координату центра дуги Xc.


## MarkOffset - Cмещение марки

Тип данных: double
Синтаксис Automation:
```
MarkOffset = iObject.MarkOffset    Получить свойство(* )
iObject.MarkOffset = MarkOffset    Установить свойство (* )
MarkOffset = iObject.GetMarkOffset()    Получить свойство (**)
iObject.SetMarkOffset( MarkOffset )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_MarkOffset(&MarkOffset)    Получить свойство
iObject->put_MarkOffset( MarkOffset)    Установить свойство
```
Примечание:
Свойство позволяет получить и установить расстояние от марки до оси.


## MarkOn - Марка включена\выключена

Тип данных: BOOL
Синтаксис Automation:
```
MarkOn = iObject.MarkOn    Получить свойство(* )
iObject.MarkOn = MarkOn    Установить свойство (* )
MarkOn = iObject.GetMarkOn()    Получить свойство (**)
iObject.SetMarkOn( MarkOn )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_MarkOn(&MarkOn)    Получить свойство
iObject->put_MarkOn( MarkOn)    Установить свойство
```
Примечание:
Свойство позволяет управлять отображением марки на координационной оси.


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

Интерфейс узла для вставки дополнительных марок.
Примечание:
Интерфейс можно получить с помощью методов IMarkNodes::Item, IMarkNodes::Add, ICircleAxis::BaseMarkNode.


## Delete - Удалить узел

Синтаксис Automation:
```
BOOL Delete();
```
Синтаксис COM:
```
HRESULT Delete( BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечание:
1. Метод позволяет удалить дополнительные узлы для марок.
2. Из объекта узлы удалятся после вызова метода IDrawingObject::Update.


## DoubleMark - Признак марки

Тип данных: BOOL
Синтаксис Automation:
```
DoubleMark = iObject.DoubleMark    Получить свойство(* )
iObject.DoubleMark = DoubleMark    Установить свойство (* )
DoubleMark = iObject.GetDoubleMark()    Получить свойство (**)
iObject.SetDoubleMark( DoubleMark )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_DoubleMark(&DoubleMark)    Получить свойство
iObject->put_DoubleMark( DoubleMark)    Установить свойство
Значения свойства:
TRUE    - двойная окружность,
FALSE    - одинарная.
```
Примечание:
Свойство используется для узлов типов ksMarkCirle и ksMarkRefCirle из перечисления ksMarkNodeEnum.


## GetInsertionPoints - Получить координаты точек для вставки дополнительных элементов

Синтаксис Automation:
```
BOOL GetInsertionPoints( BOOL LeftJut,
VARIANT * Points,
VARIANT * Directions );
```
Синтаксис COM:
```
HRESULT GetInsertionPoints( BOOL LeftJut,
VARIANT * Points,
VARIANT * Directions, BOOL * RetVal );
Входные параметры:
LeftJut    - TRUE координаты точек для левого ответвления, - FALSE - для правого. Для круглой оси нужно передавать LeftJut = TRUE.
Выходные параметры:
Points    - массив SafeArray типа VT_ARRAY    VT_R8 координат точек для подключения дополнительных узлов марок,
Directions    - массив SafeArray типа VT_ARRAY    VT_R8 направлений (углы относительно центра родительского узла).
Возвращаемое значение:
TRUE    - координаты получены,
FALSE    - в случае неудачи.
```
Примечание:
1. Параметры Points, Directions не являются обязательными.
2. В функцию достаточно передать один из указателей на VARIANT.
3. Массивы являются согласованными.
4. Координаты точек в массиве Points лежат в следующей последовательности:
x0, y0, x1, y1, ...xi, yi.
5. Направления в массиве Directions лежат в последовательности:
angle0, angle1, ...anglei.
6. Значения координат и направлений пересчитываются в зависимости от текущей системы координат для объекта, задаваемой параметром IDrawingObject::DrawingObjectParamType


## MarkNodes - Коллекция узлов марок

Тип данных: указатель на интерфейс IMarkNodes
Синтаксис Automation:
```
MarkNodes = iObject.MarkNodes( Left )    Получить свойство(* )
MarkNodes = iObject.GetMarkNodes( Left )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_MarkNodes(Left, &MarkNodes)    Получить свойство
Входные параметры:
Left (BOOL)    TRUE - возвращается коллекция узлов слева по направлению оси, FALSE - справа.
```
Примечание:
Свойство доступно только для чтения.


## MarkType - Тип марки

Тип данных: тип марки из перечисления ksMarkNodeEnum
Синтаксис Automation:
```
MarkType = iObject.MarkType    Получить свойство(* )
iObject.MarkType = MarkType    Установить свойство (* )
MarkType = iObject.GetMarkType()    Получить свойство (**)
iObject.SetMarkType( MarkType )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_MarkType(&MarkType)    Получить свойство
iObject->put_MarkType( MarkType)    Установить свойство
```
Примечание:
Свойство позволяет получить и установить тип марки.


## RefLength - Длина указателя

Тип данных: double
Синтаксис Automation:
```
RefLength = iObject.RefLength    Получить свойство(* )
iObject.RefLength = RefLength    Установить свойство (* )
RefLength = iObject.GetRefLength()    Получить свойство (**)
iObject.SetRefLength( RefLength )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_RefLength(&RefLength)    Получить свойство
iObject->put_RefLength( RefLength)    Установить свойство
```
Примечание:
Свойство используется для узлов типа ksMarkRefCirle из перечисления ksMarkNodeEnum.


## Text - Текст

Тип данных: указатель на интерфейс IText
Синтаксис Automation:
```
Text = iObject.Text    Получить свойство(* )
Text = iObject.GetText()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Text(&Text)    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Текст можно использовать для поиска узла марки в коллекции IMarkNodes.
3. Для поиска в функцию IMarkNodes::Item нужно передать строковое значение текста.
Пример:
```vb
node = iMarkNodes.Item("A1");
```
