---
title: "Геометрия"
type: interface
api: [api7]
domain: [2d]
tags: [interface, api7, 2d, bb2333035]
sources:
  - bb2333035.html
  - idrawingcontainer.html
  - iboundariesobject.html
  - iarcs.html
  - iarcslots.html
  - ibeziers.html
  - icircles.html
  - icolourings.html
  - iconiccurves.html
  - idrawingcontours.html
  - iellipsearcs.html
  - iellipses.html
  - iequidistants.html
  - ihatches.html
  - ilines.html
  - ilinesegments.html
  - imultilines.html
  - inurbses.html
  - ipoints.html
  - ipolylines2d.html
  - irasters.html
  - irectangles.html
  - iregularpolygons.html
  - istraightslots.html
  - iarc.html
  - iarcslot.html
  - ibezier.html
  - icircle.html
  - icolouring.html
  - iconiccurve.html
  - idrawingcontour.html
  - iellipse.html
  - iellipsearc.html
  - iequidistant.html
  - ihatch.html
  - iline.html
  - ilinesegment.html
  - imultiline.html
  - inurbs.html
  - inurbsbypoints.html
  - ipoint.html
  - ipolyline2d.html
  - irectangle.html
  - iregularpolygon.html
  - iraster.html
  - istraightslot.html
  - icontour.html
  - icontoursegment.html
  - icurve2d.html
---

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




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

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


## Arcs - Коллекция дуг

Тип данных: указатель на интерфейс коллекции дуг IArcs
Синтаксис Automation:
```
IArcs = iObject.Arcs;    Получить свойство(* )
IArcs = iObject.GetArcs();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Arcs(&Arcs);    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## ArcSlots - Коллекция пазов дуговых

Тип данных: указатель на интерфейс IArcSlots
Синтаксис Automation:
```
ArcSlots = Object.ArcSlots    Получить свойство(* )
ArcSlots = Object.GetArcSlots()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ArcSlots( &ArcSlots )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия Компас v23


## Beziers - Коллекция Bezier-сплайнов

Тип данных: указатель на интерфейс IBeziers
Синтаксис Automation:
```
Beziers = Object.Beziers    Получить свойство(* )
Beziers = Object.GetBeziers()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Beziers( &Beziers )    Получить свойство
Свойство позволяет получать интерфейс коллекции Bezier-сплайнов.
```
Примечание:
Свойство доступно только для чтения.


## Circles - Коллекция окружностей

Тип данных: указатель на интерфейс ICircles
Синтаксис Automation:
```
Circles = Object.Circles    Получить свойство(* )
Circles = Object.GetCircles()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Circles( &Circles )    Получить свойство
Свойство позволяет получать интерфейс коллекции окружностей.
```
Примечание:
Свойство доступно только для чтения.


## Colourings - Коллекция заливок

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


## ConicCurves - Коллекция конических кривых

Тип данных: Указатель на интерфейс IConicCurves.
Синтаксис Automation:
```
ConicCurves = Object.ConicCurves    Получить свойство(* )
ConicCurves = Object.GetConicCurves()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ConicCurves( &ConicCurves )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия Компас v18.1


## DrawingContours - Коллекция контуров

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


## DrawingTexts - Коллекция текстов на чертеже

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


## EllipseArcs - Коллекция дуг эллипсов

Тип данных: указатель на интерфейс IEllipseArcs
Синтаксис Automation:
```
EllipseArcs = Object.EllipseArcs    Получить свойство(* )
EllipseArcs = Object.GetEllipseArcs()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_EllipseArcs( &EllipseArcs )    Получить свойство
Свойство позволяет получать интерфейс коллекции дуг эллипсов.
```
Примечание:
Свойство доступно только для чтения.


## Ellipses - Коллекция эллипсов

Тип данных: указатель на интерфейс IEllipses
Синтаксис Automation:
```
Ellipses = Object.Ellipses    Получить свойство(* )
Ellipses = Object.GetEllipses()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Ellipses( &Ellipses )    Получить свойство
Свойство позволяет получать интерфейс коллекции эллипсов.
```
Примечание:
Свойство доступно только для чтения.


## Equidistants - Коллекция эквидистант

Тип данных: указатель на интерфейс IEquidistants
Синтаксис Automation:
```
Equidistants = Object.Equidistants    Получить свойство(* )
Equidistants = Object.GetEquidistants()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Equidistants( &Equidistants )    Получить свойство
Свойство позволяет получать интерфейс коллекции эквидистант.
```
Примечание:
Свойство доступно только для чтения.


## Hatches - Коллекция штриховок

Тип данных: указатель на интерфейс IHatches
Синтаксис Automation:
```
Hatches = Object.Hatches    Получить свойство(* )
Hatches = Object.GetHatches()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Hatches( &Hatches )    Получить свойство
Свойство позволяет получать интерфейс коллекции штриховок.
```
Примечание:
Свойство доступно только для чтения.


## InsertionObjects - Коллекция вставок фрагментови видов другого чертежа

Тип данных: указатель на интерфейс IInsertionObjects
Синтаксис Automation:
```
InsertionObjects = Object.InsertionObjects    Получить свойство(* )
InsertionObjects = Object.GetInsertionObjects()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_InsertionObjects( &InsertionObjects )    Получить свойство
Свойство позволяет получать интерфейс коллекции вставок фрагментов и видов другого чертежа.
```
Примечание:
Свойство доступно только для чтения.


## Lines - Коллекция линий

Тип данных: указатель на интерфейс ILines
Синтаксис Automation:
```
Lines = Object.Lines    Получить свойство(* )
Lines = Object.GetLines()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Lines( &Lines )    Получить свойство
```
Примечание:
1. Свойство позволяет получать интерфейс коллекции линий.
2. Свойство доступно только для чтения.


## LineSegments - Коллекция отрезков

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


## MacroObjects - Коллекция макроэлементов

Тип данных: указатель на интерфейс IMacroObjects
Синтаксис Automation:
```
MacroObjects = Object.MacroObjects    Получить свойство(* )
MacroObjects = Object.GetMacroObjects()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_MacroObjects( &MacroObjects )    Получить свойство
Свойство позволяет получать интерфейс коллекции макроэлементов.
```
Примечание:
Свойство доступно только для чтения.


## Multilines - Коллекция мультилиний

Тип данных: указатель на интерфейс коллекции дуг IMultilines
Синтаксис Automation:
```
IMultilines = iObject.Multilines;    Получить свойство(* )
IMultilines = iObject.GetMultilines();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Multilines(&Multilines);    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## Nurbses - Коллекция Nurbs-сплайнов

Тип данных: указатель на интерфейс INurbses
Синтаксис Automation:
```
Nurbses = Object.Nurbses    Получить свойство(* )
Nurbses = Object.GetNurbses    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Nurbses( &Nurbses )    Получить свойство
Свойство позволяет получать интерфейс коллекции Nurbs-сплайнов.
```
Примечание:
Свойство доступно только для чтения.


## NurbsesByPoints - Получить коллекцию NURBS-кривых по точкам

Тип данных: указатель на интерфейс INurbses
Синтаксис Automation:
```
NurbsesByPoints = Object.NurbsesByPoints    Получить свойство(* )
NurbsesByPoints = Object.GetNurbsesByPoints    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_NurbsesByPoints( &NurbsesByPoints )    Получить свойство
Свойство позволяет получать интерфейс коллекции Nurbs-сплайнов.
```
Примечание:
Свойство доступно только для чтения.


## Objects - Массив SAFEARRAY объектов, входящих в состав данного объекта вида

Массив SAFEARRAY объектов, входящих в состав данного объекта вида.
Тип данных: VARIANT
Синтаксис Automation:
```
Objects = iObject.Objects( ObjType )    Получить свойство(* )
Objects = iObject.GetObjects( ObjType )    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Objects(&Objects( ObjType )    Получить свойство
Входные параметры:
ObjType    - тип 2D объектов из перечисления DrawingObjectTypeEnum или KompasAPIObjectTypeEnum.
```
Примечание:
1.Свойство доступно только для чтения.
2.Коллекция объектов возвращается в виде массива SAFEARRAY объектов LPDISPATCH (VT_ARRAY | VT_DISPATCH). Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.
3.В качестве типа объекта может передаваться одно значение (VT_I4) или массив типов объектов (VT_ARRAY| VT_I4).
Типы объектов могут быть из перечислений DrawingObjectTypeEnum и KompasAPIObjectTypeEnum.
Если тип передается DrawingObjectTypeEnum::ksAllObj – возвращаются все объекты.


## OleDrawingObjects - Коллекция OLE-объектов

Тип данных: указатель на интерфейс IOleDrawingObjects
Синтаксис Automation:
```
OleDrawingObjects = Object.OleDrawingObjects    Получить свойство(* )
OleDrawingObjects = Object.GetOleDrawingObjects()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_OleDrawingObjects( &OleDrawingObjects )    Получить свойство
```
Примечание:
1. Свойство позволяет получать интерфейс коллекции OLE-объектов.
2. Свойство доступно только для чтения.


## Points - Коллекция точек

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


## PolyLines2D - Коллекция 2D-ломаных

Тип данных: указатель на интерфейс IPolyLines2D
Синтаксис Automation:
```
PolyLines2D = Object.PolyLines2D    Получить свойство(* )
PolyLines2D = Object.GetPolyLines2D()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_PolyLines2D( &PolyLines2D )    Получить свойство
Свойство позволяет получать интерфейс коллекции 2D-ломаных.
```
Примечание:
Свойство доступно только для чтения.


## Rasters - Коллекция растровых объектов

Тип данных: указатель на интерфейс IRasters
Синтаксис Automation:
```
Rasters = Object.Rasters    Получить свойство(* )
Rasters = Object.GetRasters()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Rasters( &Rasters )    Получить свойство
```
Примечание:
1. Свойство позволяет получать интерфейс коллекции растровых объектов.
2. Свойство доступно только для чтения.


## Rectangles - Коллекция прямоугольников

Тип данных: указатель на интерфейс IRectangles
Синтаксис Automation:
```
Rectangles = Object.Rectangles    Получить свойство(* )
Rectangles = Object.GetRectangles()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Rectangles( &Rectangles )    Получить свойство
Свойство позволяет получать интерфейс коллекции прямоугольников.
```
Примечание:
Свойство доступно только для чтения.


## RegularPolygons - Коллекция многоугольников

Тип данных: указатель на интерфейс IRegularPolygons
Синтаксис Automation:
```
RegularPolygons = Object.RegularPolygons    Получить свойство(* )
RegularPolygons = Object.GetRegularPolygons()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_RegularPolygons( &RegularPolygons )    Получить свойство
Свойство позволяет получать интерфейс коллекции многоугольников.
```
Примечание:
Свойство доступно только для чтения.


## StraightSlots - Коллекция пазов

Тип данных: Указатель на интерфейс IStraightSlots
Синтаксис Automation:
```
StraightSlots = Object.StraightSlots    Получить свойство(* )
StraightSlots = Object.GetStraightSlots()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_StraightSlots( &StraightSlots )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия Компас v23


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

Интерфейс объекта с границами.
Иерархия:
IDispatch
IBoundariesObject
Описание:
Позволяет редактировать границы объекта. Дополнительный интерфейс штриховки IHatch, заливки IColouring и растрового объекта IRaster.
Примечание:
Данный интерфейс можно получить с помощью метода IUnknown::QueryInterface.


## AddBoundaries - Добавить объекты в границу

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


## Boundaries - Получить копию границ

Тип данных: массив SAFEARRAY | VT_DISPATCH
Синтаксис Automation:
```
Boundaries = Object.Boundaries    Получить свойство(* )
Boundaries = Object.GetBoundaries()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Boundaries( &Boundaries )    Получить свойство
```
Примечание:
1. Свойство позволяет получать копию границ объекта.
2. Свойство доступно только для чтения.


## Clear - Удалить все границы

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


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

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


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

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


## Arc - Дуга, заданная по индексу

Тип данных: указатель на интерфейс дуги IArc.
Синтаксис Automation:
```
Arc = iObject.Arc( Index );    Получить свойство(* )
Arc = iObject.GetArc( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Arc( Index, &Arc )    Получить свойство
Входные параметры:
Index (Variant)    - Индекс отрезка в коллекции. Поддерживаются следующие типы: – VT_I4 - индекс объекта, – reference объекта.
```
Примечание:
1. Свойство доступно только для чтения.
2. В качестве индекса могут использоваться следующие типы:
•Индекс объекта в коллекции,
•Ссылка на объект (reference),


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

Интерфейс коллекции пазов дуговых.
Иерархия:
IDispatch
IKompasAPIObject
IKompasCollection
IDrawingObjects
IArcSlots
Примечание:
Данный интерфейс можно получить у интерфейса IDrawingContainer, используя свойство IDrawingContainer::ArcSlots.
Версия Компас v23


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

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


## ArcSlot - Возвращает элемент, заданный по индексу

Тип данных: Указатель на интерфейс IArcSlot
Синтаксис Automation:
```
ArcSlot = Object.ArcSlot( Index )    Получить свойство(* )
ArcSlot = Object.GetArcSlot( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ArcSlot( Index, &ArcSlot )    Получить свойство
Входные параметры:
Index (Variant)    - индекс паза в коллекции, поддерживаются следующие типы: • VT_I4 - индекс объекта,• reference объекта.
```
Примечание:
Свойство доступно только для чтения.


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

Коллекция кривых Безье.
Иерархия:
IKompasAPIObject
IKompasCollection
IDrawingObjects
IBeziers
Описание:
Позволяет создавать и получать кривые Безье на чертеже.
Примечание:
Получить интерфейс можно, используя метод контейнера графических объектов IDrawingContainer::Beziers.


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

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


## Bezier - Кривая Безье, заданная по индексу

Тип данных: указатель на интерфейс кривой Безье на чертеже Bezier
Синтаксис Automation:
```
Bezier = iObject.Bezier( Index );    Получить свойство(* )
Bezier = iObject.GetBezier( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Bezier( Index, &Bezier )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

Коллекция окружностей.
Иерархия:
IKompasAPIObject
IKompasCollection
IDrawingObjects
ICircles
Описание:
Интерфейс позволяет создавать и получать окружности на чертеже.
Примечание:
Получить интерфейс можно используя метод контейнера графических объектов IDrawingContainer::Circles.


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

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


## Circle - Окружность, заданная по индексу

Тип данных: указатель на интерфейс окружности на чертеже ICircle
Синтаксис Automation:
```
Circle = iObject.Circle( Index );    Получить свойство(* )
Circle = iObject.GetCircle( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Circle( Index, &Circle )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

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


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

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


## Colouring - Заливка, заданная по индексу

Тип данных: указатель на интерфейс заливки IColouring
Синтаксис Automation:
```
Colouring = iObject.Colouring ( Index );    Получить свойство(* )
Colouring = iObject.GetColouring( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Hatch( Index, &Hatch )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

Интерфейс коллекции конических кривых.
Иерархия:
IDispatch
IKompasAPIObject
IKompasCollection
IDrawingObjects
IConicCurves
Данный интерфейс можно получить, используя свойство контейнера объектов 2D IDrawingContainer::ConicCurves.
Версия Компас v18.1


## ConicCurve3D - Возвращает элемент, заданный по индексу

Тип данных: указатель на интерфейс IConicCurve3D
Синтаксис Automation:
```
ConicCurve3D = Object.ConicCurve3D( Index )    Получить свойство (* )
ConicCurve3D = Object.GetConicCurve3D( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ConicCurve3D( Index, &ConicCurve3D )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

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


## ConicCurve - Возвращает элемент, заданный по индексу или по имени

Тип данных: Указатель на интерфейс IConicCurve.
Синтаксис Automation:
```
ConicCurve = Object.ConicCurve( Index )    Получить свойство (* )
ConicCurve = Object.GetConicCurve( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ConicCurve( Index, &ConicCurve )    Получить свойство
Входные параметры:
VARIANT Index    - индекс или reference элемента.
```
Примечание:
Свойство доступно только для чтения.


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

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


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

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


## AddBooleanResultContours - Булева операция над замкнутыми и не самопересекающимися кривыми

Синтаксис Automation:
```
VARIANT AddBooleanResultContours( IDrawingObject * Contour1,IDrawingObject * Contour2, ksBooleanType BooleanType );
```
Синтаксис COM:
```
HRESULT AddBooleanResultContours( IDrawingObject * Contour1,IDrawingObject * Contour2, ksBooleanType BooleanType,VARIANT * Result );
Возвращаемое значение:
- Массив контуров IDrawingContour в виде SAFEARRAY DISPATCH - VT_ARRAY    VT_DISPATCH.
Входные параметры:
Contour1    - 1-й контур или кривая,
Contour2    - 2-й контур или кривая,
BooleanType    - тип булевой операции из перечисления ksBooleanType.
Метод позволяет выполнять над контурами операции пересечения, вычитания и объединения.
```
Примечание:
1. Кривые должны быть замкнутыми и не иметь самопересечений.
2. Если кривые не подходят или не пересекаются, вернется пустой массив.
3. Если возвращается один объект, то тип VARIANT будет VT_DISPATCH.
4. Если возвращается несколько объектов, то тип VARIANT будет VT_ARRAY | VT_DISPATCH.


## DrawingContour - Контур, заданный по индексу

Тип данных: указатель на интерфейс контура IDrawingContour
Синтаксис Automation:
```
DrawingContour = iObject.DrawingContour( Index );    Получить свойство(* )
DrawingContour = iObject.GetDrawingContour( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_DrawingContour( Index, &DrawingContour )    Получить свойство
Входные параметры:
Index (Variant)    - Индекс узла в коллекции. Поддерживаются следующие типы: - VT_I4 - индекс линии разреза/сечения.
```
Примечание:
1. Свойство доступно только для чтения.
2. В качестве индекса может использоваться индекс в коллекции и reference объекта.


## MakeEncloseContours - Вернуть временную группу контуров, охватывающих точку

Синтаксис Automation:
```
LPDISPATCH MakeEncloseContours( VARIANT Objects, double X, double Y, BOOL ForHatch );
```
Синтаксис COM:
```
HRESULT MakeEncloseContours( VARIANT Objects, double X, double Y, BOOL ForHatch, IDrawingGroup * * Result );
Возвращаемое значение:
- Указатель на интерфейс IDrawingGroup.
Входные параметры:
Objects    - cписок объектов в виде SAFEARRAY'я DISPATCH - VT_ARRAY    VT_DISPATCH,
X, Y    - точка внутри контура,
ForHatch    - признак создания контура для штриховки.
```
Примечание:
Если список объектов не задан для построения контура, используются все объекты вида:
•При cоздании контуров для штриховки используются объекты со стилем основная и утолщенная, объекты других стилей не учитываются.
•При cоздании простого контура с использованием любых стилей линий.
Версия КОМПАС v22


## MakeOutersContours - Вернуть временную группу внешних контуров

Синтаксис Automation:
```
LPDISPATCH MakeOutersContours( VARIANT Objects, BOOL ForHatch );
```
Синтаксис COM:
```
HRESULT MakeOutersContours( VARIANT Objects, BOOL ForHatch, IDrawingGroup * * Result );
Возвращаемое значение:
- Указатель на интерфейс IDrawingGroup.
Входные параметры:
Objects    - cписок объектов в виде SAFEARRAY'я DISPATCH - VT_ARRAY    VT_DISPATCH,
ForHatch    - признак создания контура для штриховки.
```
Примечание:
Если список объектов не задан для построения контура, используются все объекты вида:
•При cоздании контуров для штриховки используются объекты со стилем основная и утолщенная, объекты других стилей не учитываются.
•При cоздании простого контура с использованием любых стилей линий.
Версия КОМПАС v22


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

Интерфейс коллекции дуг эллипсов.
Иерархия:
IKompasAPIObject
IKompasCollection
IDrawingObjects
IEllipseArcs
Описание:
Позволяет создавать и получать дуги эллипсов на чертеже.
Примечание:
Получить интерфейс можно, используя метод контейнера графических объектов IDrawingContainer::EllipseArcs.


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

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


## IEllipseArcs - Дуга эллипса, заданная по индексу

Тип данных: указатель на интерфейс дуги эллипса на чертеже IEllipseArc
Синтаксис Automation:
```
EllipseArc = iObject.EllipseArc ( Index );    Получить свойство(* )
EllipseArc = iObject.GetEllipseArc( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_EllipseArc( Index, &EllipseArc )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

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


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

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


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

Тип данных: указатель на интерфейс эллипса на чертеже IEllipse
Синтаксис Automation:
```
Ellipse = iObject.Ellipse ( Index );    Получить свойство(* )
Ellipse = iObject.GetEllipse( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Ellipse( Index, &Ellipse )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

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


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

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


## Equidistant - Эквидистанта, заданная по индексу

Тип данных: указатель на интерфейс эквидистанты IEquidistant
Синтаксис Automation:
```
Equidistant = iObject.Equidistant ( Index );    Получить свойство(* )
Equidistant = iObject.GetEquidistant( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Equidistant( Index, &Equidistant )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

Интерфейс коллекции эквидистант.
Иерархия:
IKompasAPIObject
IKompasCollection
IDrawingObjects
IHatches
Описание:
Позволяет создавать и получать штриховки.
Примечание:
Получить интерфейс можно, используя метод контейнера графических объектов IDrawingContainer::Hatches.


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

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


## Hatch - Штриховка, заданная по индексу

Тип данных: указатель на интерфейс штриховки IHatch
Синтаксис Automation:
```
Hatch = iObject.Hatch ( Index );    Получить свойство(* )
Hatch = iObject.GetHatch( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Hatch( Index, &Hatch )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

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


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

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


## Line - Линия, заданная по индексу

Тип данных: указатель на интерфейс линии на чертеже ILine
Синтаксис Automation:
```
Line = iObject.Line ( Index );    Получить свойство(* )
Line = iObject.GetLine( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Line( Index, &Line )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

Интерфейс коллекции отрезков.
Иерархия:
IKompasAPIObject
IKompasCollection
IDrawingObjects
ILineSegments
Описание:
Интерфейс позволяет получить коллекции отрезков.
Примечание:
Данный интерфейс можно получить у интерфейса IDrawingContainer, используя свойство IDrawingContainer::LineSegments.


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

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


## LineSegment - Отрезок, заданный по индексу

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


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

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


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

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


## Multiline - Мультилиния, заданная по индексу

Тип данных: указатель на интерфейс мультилинии IMultiline
Синтаксис Automation:
```
Multiline = iObject.Multiline( Index );    Получить свойство(* )
Multiline = iObject.GetMultiline( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Multiline( Index, &Multiline )    Получить свойство
Входные параметры:
Index (Variant)    - Индекс узла в коллекции. Поддерживаются следующие типы: - VT_I4 - индекс линии разреза/сечения.
```
Примечание:
1. Свойство доступно только для чтения.
2. В качестве индекса может использоваться индекс в коллекции и reference объекта.


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

Интерфейс коллекции NURBS-кривых.
Иерархия:
IKompasAPIObject
IKompasCollection
IDrawingObjects
INurbses
Описание:
Позволяет создавать и получать NURBS-сплайны.
Примечание:
Получить интерфейс можно, используя метод контейнера графических объектов IDrawingContainer::Nurbses.


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

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


## Convert - Преобразовать кривую в NURBS-кривую и добавить в коллекцию

Синтаксис Automation:
```
LPDISPATCH Convert( LPDISPATCH * Curve );
```
Синтаксис COM:
```
HRESULT Convert( IDrawingObject * Curve,
INurbs ** Result);
Входные параметры:
Curve    - указатель на интерфейс кривой, которую надо преобразовать в NURBS.
Возвращаемое значение:
- Указатель на интерфейс NURBS-кривой INurbs.
```


## Nurbs - NURBS-кривая, заданная по индексу

Тип данных: указатель на интерфейс NURBS-кривой INurbs
Синтаксис Automation:
```
Nurbs = iObject.Nurbs ( Index );    Получить свойство(* )
Nurbs = iObject.GetNurbs( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Nurbs( Index, &Nurbs )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## PickObjects - Собрать объекты по лучу

Синтаксис Automation:
```
LPDISPATCH ConvertEx( LPDISPATCH Curve, ksNurbsByPointsAproximationTypeEnum AproximationType, double Step );
```
Синтаксис COM:
```
HRESULT ConvertEx( [in]IDrawingObject * Curve, ksNurbsByPointsAproximationTypeEnum AproximationType, double Step, INurbs ** Result);
Входные параметры:
Curve    - указатель на кривую,
AproximationType    - способ аппроксимации,
Step    - шаг аппроксимации.
Возвращаемое значение:
- Указатель на интерфейс кривой в случае успешного завершения.
```


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

Коллекция точек.
Иерархия:
IKompasAPIObject
IKompasCollection
IDrawingObjects
IPoints
Описание:
Интерфейс позволяет создавать и получать окружности на чертеже.
Примечание:
Получить интерфейс можно, используя метод контейнера графических объектов IDrawingContainer::Points.


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

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


## Point - Точка, заданная по индексу

Тип данных: указатель на интерфейс точки на чертеже IPoint
Синтаксис Automation:
```
Point = iObject.Point( Index );    Получить свойство(* )
Point = iObject.GetPoint( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Point( Index, &Point )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

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


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

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


## PolyLine2D - Полилиния, заданная по индексу

Тип данных: указатель на интерфейс полилинии IPolyLine2D.
Синтаксис Automation:
```
PolyLine2D = iObject.PolyLine2D ( Index );    Получить свойство(* )
PolyLine2D = iObject.GetPolyLine2D( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_PolyLine2D( Index, &PolyLine2D )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

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


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

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


## CalcRasterScale - Рассчитать масштаб для вставки растра в прямоугольник заданных габаритов

Синтаксис Automation:
```
double CalcRasterScale( BSTR FileName, double Width, double Height );
```
Синтаксис COM:
```
HRESULT CalcRasterScale( BSTR FileName, double Width, double Height, double * Result );
Возвращаемое значение:
- Масштаб.
Входные параметры:
FileName    - путь к файлу,
Width, Height    - требуемые габариты вставки растра.
КOMPAS v24
```


## Raster - Растровый объект, заданный по индексу

Тип данных: указатель на интерфейс растрового объекта IRaster
Синтаксис Automation:
```
Raster = iObject.Raster ( Index );    Получить свойство(* )
Raster = iObject.GetRaster( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Raster( Index, &Raster )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

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


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

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


## Rectangle - Прямоугольник, заданный по индексу

Тип данных: указатель на интерфейс прямоугольника IRectangle
Синтаксис Automation:
```
Rectangle = iObject.Rectangle ( Index );    Получить свойство(* )
Rectangle = iObject.GetRectangle( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Rectangle( Index, &Rectangle )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

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


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

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


## RegularPolygon - Многоугольник, заданный по индексу

Тип данных: указатель на интерфейс многоугольника IRegularPolygon
Синтаксис Automation:
```
RegularPolygon = iObject.RegularPolygon ( Index );    Получить свойство(* )
RegularPolygon = iObject.GetRegularPolygon( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_RegularPolygon( Index, &RegularPolygon )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

Интерфейс коллекции пазов.
Иерархия:
IDispatch
IKompasAPIObject
IKompasCollection
IDrawingObjects
IStraightSlots
Примечание:
Данный интерфейс можно получить у интерфейса IDrawingContainer, используя свойство IDrawingContainer::StraightSlots.
Версия Компас v23
IStraightSlots - свойcтва


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

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


## StraightSlot - Возвращает элемент, заданный по индексу

Тип данных: указатель на интерфейс IStraightSlot
Синтаксис Automation:
```
StraightSlot = Object.StraightSlot( Index )    Получить свойство(* )
StraightSlot = Object.GetStraightSlot( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_StraightSlot( Index, &StraightSlot )    Получить свойство
Входные параметры:
Index (Variant)    - индекс отрезка в коллекции, поддерживаются следующие типы: VT_I4 - индекс объекта, reference объекта.
```
Примечание:
Свойство доступно только для чтения.


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

Интерфейс дуги.
Иерархия:
IKompasAPIObject
IDrawingObject
IArc
Описание:
Интерфейс позволяет получить дугу.
Примечание:
1. Интерфейс можно получить у коллекции дуг, используя свойство IArcs::Arc или метод IArcs::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    - против часовой стрелки.
```
Примечание:
Свойство позволяет получить и установить направление построения дуги.


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

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


## Style - Стиль линии

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


## 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.


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

Интерфейс паза дугового.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
IArcSlot
Примечание:
Интерфейс можно получить у коллекции пазов, используя свойство IArcSlots::ArcSlot или метод IArcSlots::Add.
Версия Компас v23


## Angle - Угол поворота

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


## BeginAngle - Начальный угол

Тип данных: double
Синтаксис Automation:
```
BeginAngle = Object.BeginAngle    Получить свойство(* )
Object.BeginAngle = BeginAngle    Установить свойство (* )
BeginAngle = Object.GetBeginAngle()    Получить свойство (**)
Object.SetBeginAngle( BeginAngle )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BeginAngle( &BeginAngle )    Получить свойство
Object.put_BeginAngle( BeginAngle )    Установить свойство
```


## BuildingType - Способ построения паза

Тип данных: ksArcSlotBuildingType
Синтаксис Automation:
```
BuildingType = Object.BuildingType    Получить свойство(* )
Object.BuildingType = BuildingType    Установить свойство (* )
BuildingType = Object.GetBuildingType()    Получить свойство (**)
Object.SetBuildingType( BuildingType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BuildingType( &BuildingType )    Получить свойство
Object.put_BuildingType( BuildingType )    Установить свойство
```


## Direction - Направление построения

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


## EndAngle - Конечный угол

Тип данных: double
Синтаксис Automation:
```
EndAngle = Object.EndAngle    Получить свойство(* )
Object.EndAngle = EndAngle    Установить свойство (* )
EndAngle = Object.GetEndAngle()    Получить свойство (**)
Object.SetEndAngle( EndAngle )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_EndAngle( &EndAngle )    Получить свойство
Object.put_EndAngle( EndAngle )    Установить свойство
```


## GetPoint - Получить координату точки

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


## MirrorPosition - Изменить положение паза на симметричное

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


## OpeningAngle - Угол раствора

Тип данных: double
Синтаксис Automation:
```
OpeningAngle = Object.OpeningAngle    Получить свойство(* )
Object.OpeningAngle = OpeningAngle    Установить свойство (* )
OpeningAngle = Object.GetOpeningAngle()    Получить свойство (**)
Object.SetOpeningAngle( OpeningAngle )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_OpeningAngle( &OpeningAngle )    Получить свойство
Object.put_OpeningAngle( OpeningAngle )    Установить свойство
```


## Radius - Радиус

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


## SetPoint - Установить координату точки

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


## Style - Стиль линии

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


## Width - Ширина паза

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


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

Интерфейс кривой Безье.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
IBezier
Примечание:
1. Интерфейс можно получить, используя свойство коллекции кривых Безье IBeziers::Bezier или метод IBeziers::Add.
2. После задания параметров окружности требуется вызвать метод IDrawingObject::Update.


## AddPoint - Добавить узел

Интерфейс..
Синтаксис Automation:
```
BOOL AddPoint( long Index,
double XBase,
double YBase,
double * XLeft,
double * YLeft,
double * XRight,
double * YRight )
```
Синтаксис COM:
```
HRESULT AddPoint( long Index,
double XBase,
double YBase,
double * XLeft,
double * YLeft,
double * XRight,
double * YRight,
BOOL * Result )
Входные параметры:
Index    - индекс добавляемого узла,
XBase, YBase    - координаты опорной точки узла,
XLeft, YLeft    - координаты левой точки узла,
XRight, YRight    - координаты правой точки узла.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет добавить узел в кривую Безье.


## Clear - Удалить все узлы

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


## Closed - Замкнутость

Интерфейс..
Тип данных: BOOL
Синтаксис Automation:
```
Closed = Object.Closed    Получить свойство(* )
Object.Closed = Closed    Установить свойство (* )
Closed = Object.GetClosed()    Получить свойство (**)
Object.SetClosed( Closed )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Closed( &Closed )    Получить свойство
Object.put_Closed( Closed )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать замкнутость кривой.


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

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


## GetPoint - Получить параметры узла

Синтаксис Automation:
```
BOOL GetPoint( long Index,
double XBase,
double YBase,
double * XLeft,
double * YLeft,
double * XRight,
double * YRight )
```
Синтаксис COM:
```
HRESULT GetPoint( long Index,
double XBase,
double YBase,
double * XLeft,
double * YLeft,
double * XRight,
double * YRight,
BOOL * Result )
Входные параметры:
Index    - индекс узла,
Выходные параметры:
XBase, YBase    - координаты опорной точки узла,
XLeft, YLeft    - координаты левой точки узла,
XRight, YRight    - координаты правой точки узла.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет получить параметры узла кривой Безье.


## Points - Параметры узлов в виде SAFEARRAY | VT_R8

Интерфейс..
Тип данных: VARIANT типа VT_ARRAY | VT_R8
Синтаксис Automation:
```
Points = Object.Points( AllPoints )    Получить свойство(* )
Object.Points( AllPoints ) = Points    Установить свойство (* )
Points = Object.GetPoints( AllPoints )    Получить свойство (**)
Object.SetPoints( AllPoints, Points )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Points( AllPoints, &Points )    Получить свойство
Object.put_Points( AllPoints, Points )    Установить свойство
Входные параметры:
BOOL AllPoints    - TRUE - узел в массиве Points представлен опорной точкой и двумя крайними, - FALSE - узел в массиве Points представлен только опорной точкой.
```
Примечание:
Свойство позволяет устанавливать и получать параметры узлов кривой.


## PointsCount - Количество опорных точек

Интерфейс..
Тип данных: long
Синтаксис Automation:
```
PointsCount = Object.PointsCount    Получить свойство(* )
PointsCount = Object.GetPointsCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_PointsCount( &PointsCount )    Получить свойство
```
Примечание:
1. Свойство позволяет получать количество опорных точек.
2. Свойство доступно только для чтения.


## ReadFromFile - Прочитать файл с данными

Синтаксис Automation:
```
BOOL ReadToFile( LPCTSTR FileName );
```
Синтаксис COM:
```
HRESULT ReadToFile( BSTR FileName, BOOL * Result );
Входные параметры:
FileName    - полное имя файла с данными.
Возвращаемое значение:
TRUE    - в случае удачи.
```


## Style - Cтиль линии

Интерфейс..
Тип данных: long
Синтаксис Automation:
```
Style = Object.Style    Получить свойство(* )
Object.Style = Style    Установить свойство (* )
Style = Object.GetStyle()    Получить свойство (**)
Object.SetStyle( Style )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Style( &Style )    Получить свойство
Object.put_Style( Style )    Установить свойство
```
Примечание:
1. Свойство позволяет устанавливать и получать стиль линии кривой.
2. Системные стили линий берутся из перечисления ksCurveStyleEnum.


## WriteToFile - Записать файл с данными

Синтаксис Automation:
```
BOOL WriteToFile( LPCTSTR FileName );
```
Синтаксис COM:
```
HRESULT WriteToFile( BSTR FileName, BOOL * Result );
Входные параметры:
FileName    - полное имя файла с данными.
Возвращаемое значение:
TRUE    - в случае удачи.
```


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

Интерфейс окружности.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
ICircle
Примечание:
1. Интерфейс можно получить, используя свойство коллекции окружностей ICircles::Circle или метод ICircles::Add.
2. После задания параметров окружности требуется вызвать метод IDrawingObject::Update.


## Radius - Радиус окружности

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


## Style - Cтиль линии

Тип данных: long
Синтаксис Automation:
```
Style = Object.Style    Получить свойство(* )
Object.Style = Style    Установить свойство (* )
Style = Object.GetStyle()    Получить свойство (**)
Object.SetStyle( Style )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Style( &Style )    Получить свойство
Object.put_Style( Style )    Установить свойство
```
Примечание:
1. Свойство позволяет устанавливать и получать стиль линии окружности.
2. Системные стили линий берутся из перечисления ksCurveStyleEnum.


## X - Координата точки на окружности по оси X

Тип данных: double
Синтаксис Automation:
```
X = Object.X    Получить свойство(* )
Object.X = X    Установить свойство (* )
X = Object.GetX()    Получить свойство (**)
Object.SetXc( X )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_X( &X )    Получить свойство
Object.put_X( X )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать координату точки на окружности по оси X.


## Xc - Координата центра окружности по оси Х

Тип данных: double
Синтаксис Automation:
```
Xc = Object.Xc    Получить свойство(* )
Object.Xc = Xc    Установить свойство (* )
Xc = Object.GetXc()    Получить свойство (**)
Object.SetXc( Xc )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Xc( &Xc )    Получить свойство
Object.put_Xc( Xc )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать координату центра окружности по оси Х.


## Y - Координата точки на окружности по оси Y

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


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

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


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

Интерфейс заливки.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
IColouring
IBoundariesObject
Описание:
Интерфейс позволяет задавать параметры заливки.
Примечание:
1. Интерфейс можно получить у коллекции заливок, используя свойство IColourings::Colouring или метод IColourings::Add.
2. После задания параметров штриховки требуется вызвать метод IDrawingObject::Update.
3. Посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif) у данного интерфейса можно получить дополнительный интерфейс IBoundariesObject.


## AddGradation - Добавить переход цвета

Синтаксис Automation:
```
long AddGradation( long Position,
long Color,
long Transparency,
BOOL Interpolation );
```
Синтаксис COM:
```
HRESULT AddGradation( long Position,
long Color,
long Transparency,
BOOL Interpolation,
long * Result );
Входные параметры:
Position    - положение перехода относительно начальной точки заливки в процентах,
Color    - цвет перехода,
Transparency    - прозрачность перехода,
Interpolation    - значений опции Интерполирование для перехода.
Возвращаемое значение:
- индекс перехода.
```
Примечание:
Метод позволяет установить параметры переход цвета.


## ClearGradations - Удалить промежуточные переходы цвета

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


## Color1 - Цвет или начальный цвет

Тип данных: long
Синтаксис Automation:
```
Color1 = Object.Color1    Получить свойство(* )
Object.Color1 = Color1    Установить свойство (* )
Color1 = Object.GetColor1()    Получить свойство (**)
Object.SetColor1( Color1 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Color1( &Color1 )    Получить свойство
Object.put_Color1( Color1 )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать начальный цвет заливки.


## Color2 - Цвет или конечный цвет

Тип данных: long
Синтаксис Automation:
```
Color2 = Object.Color2    Получить свойство(* )
Object.Color2 = Color2    Установить свойство (* )
Color2 = Object.GetColor2()    Получить свойство (**)
Object.SetColor2( Color2 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Color2( &Color2 )    Получить свойство
Object.put_Color2( Color2 )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать конечный цвет заливки.


## ColouringType - Тип заливки

Тип данных: из перечисления ksColouringTypeEnum
Синтаксис Automation:
```
ColouringType = Object.ColouringType    Получить свойство(* )
Object.ColouringType = ColouringType    Установить свойство (* )
ColouringType = Object.GetColouringType()    Получить свойство (**)
Object.SetColouringType( ColouringType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ColouringType( &ColouringType )    Получить свойство
Object.put_ColouringType( ColouringType )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать тип заливки.


## DeleteGradation - Удалить переход цвета по индексу

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


## FindPosition - Получить индекс позиции

Синтаксис Automation:
```
long FindPosition( long Position );
```
Синтаксис COM:
```
HRESULT FindPosition( long Position,
long * Result );
Входные параметры:
Position    - положение перехода относительно начальной точки заливки в процентах.
Возвращаемое значение:
- индекс перехода.
```
Примечание:
Метод позволяет получить индекс позиции перехода цвета.


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

Синтаксис Automation:
```
BOOL GetGradation( long Index,
long * Position,
long * Color,
long * Transparency,
BOOL * Interpolation );
```
Синтаксис COM:
```
HRESULT GetGradation( long Index,
long * Position,
long * Color,
long * Transparency,
BOOL * Interpolation,
BOOL * Result );
Входные параметры:
Index    - индекс перехода.
Выходные параметры:
Position    - положение перехода относительно начальной точки заливки в процентах,
Color    - цвет перехода,
Transparency    - прозрачность перехода,
Interpolation    - значений опции Интерполирование для перехода.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет получить параметры перехода цвета по индексу.


## GetGradations - Получить параметры переходов цвета

Синтаксис Automation:
```
BOOL GetGradations( VARIANT * Positions,
VARIANT * Colors,
VARIANT * Transparences,
VARIANT * Interpolations );
```
Синтаксис COM:
```
HRESULT GetGradations( VARIANT * Positions,
VARIANT * Colors,
VARIANT * Transparences,
VARIANT * Interpolations,
BOOL * Result );
Выходные параметры:
Positions    - массив SAFEARRAY    VT_I4 положений переходов относительно начальной точки заливки в процентах,
Colors    - массив SAFEARRAY    VT_I4 цветов переходов,
Transparences    - массив SAFEARRAY    VT_I4 прозрачностей переходов,
Interpolations    - массив SAFEARRAY    VT_BOOL значений опции Интерполирование для переходов.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет получить параметры переходов цветов.


## GradationsCount - Количество переходов цвета

Тип данных: long
Синтаксис Automation:
```
GradationsCount = Object.GradationsCount    Получить свойство(* )
GradationsCount = Object.GetGradationsCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_GradationsCount( &GradationsCount )    Получить свойство
```
Примечание:
1. Свойство позволяет получать количество переходов цвета.
2. Свойство доступно только для чтения.


## GradientAngle - Угол поворота линий градиента

Тип данных: double
Синтаксис Automation:
```
GradientAngle = Object.GradientAngle    Получить свойство(* )
Object.GradientAngle = GradientAngle    Установить свойство (* )
GradientAngle = Object.GetGradientAngle()    Получить свойство (**)
Object.SetGradientAngle( GradientAngle )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_GradientAngle( &GradientAngle )    Получить свойство
Object.put_GradientAngle( GradientAngle )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать угол поворота линий градиента.


## GradientCount - Количество шагов

Тип данных: BOOL
Значения свойства:
| TRUE | - плавное изменение цвета, |
| --- | --- |
| FALSE | - заданное количество шагов. |
Синтаксис Automation:
```
GradientCount = Object.GradientCount    Получить свойство(* )
Object.GradientCount = GradientCount    Установить свойство (* )
GradientCount = Object.GetGradientCount()    Получить свойство (**)
Object.SetGradientCount( GradientCount )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_GradientCount( &GradientCount )    Получить свойство
Object.put_GradientCount( GradientCount )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать количество шагов градиентной заливки.


## GradientType - Тип градиента

Тип данных: BOOL
Значения свойства:
| TRUE | - плавное изменение цвета, |
| --- | --- |
| FALSE | - заданное количество шагов. |
Синтаксис Automation:
```
GradientType = Object.GradientType    Получить свойство(* )
Object.GradientType = GradientType    Установить свойство (* )
GradientType = Object.GetGradientType()    Получить свойство (**)
Object.SetGradientType( GradientType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_GradientType( &GradientType )    Получить свойство
Object.put_GradientType( GradientType )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать тип градиентной заливки.


## SetGradation - Установить параметры перехода цвета по индексу

Синтаксис Automation:
```
BOOL SetGradation( long Index,
long * Position,
long * Color,
long * Transparency,
BOOL * Interpolation );
```
Синтаксис COM:
```
HRESULT SetGradation( long Index,
long * Position,
long * Color,
long * Transparency,
BOOL * Interpolation,
BOOL * Result );
Входные параметры:
Index    - индекс перехода,
Position    - положение перехода относительно начальной точки заливки в процентах,
Color    - цвет перехода,
Transparency    - прозрачность перехода,
Interpolation    - значений опции Интерполирование для перехода.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет установить параметры перехода цвета по индексу.


## SetGradations - Установить параметры переходов цвета

Синтаксис Automation:
```
BOOL SetGradations( VARIANT * Positions,
VARIANT * Colors,
VARIANT * Transparences,
VARIANT * Interpolations );
```
Синтаксис COM:
```
HRESULT SetGradations( VARIANT * Positions,
VARIANT * Colors,
VARIANT * Transparences,
VARIANT * Interpolations,
BOOL* Result );
Входные параметры:
Positions    - массив SAFEARRAY    VT_I4 положений переходов относительно начальной точки заливки в процентах,
Colors    - массив SAFEARRAY    VT_I4 цветов переходов,
Transparences    - массив SAFEARRAY    VT_I4 прозрачностей переходов,
Interpolations    - массив SAFEARRAY    VT_BOOL значений опции Интерполирование для переходов.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет установить параметры переходов цветов.


## Transparency1 - Начальная прозрачность

Тип данных: long
Синтаксис Automation:
```
Transparency1 = Object.Transparency1    Получить свойство(* )
Object.Transparency1 = Transparency1    Установить свойство (* )
Transparency1 = Object.GetTransparency1()    Получить свойство (**)
Object.SetTransparency1( Transparency1 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Transparency1( &Transparency1 )    Получить свойство
Object.put_Transparency1( Transparency1 )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать начальную прозрачность в процентах.


## Transparency2 - Конечная прозрачность

Тип данных: long
Синтаксис Automation:
```
Transparency2 = Object.Transparency2    Получить свойство(* )
Object.Transparency2 = Transparency2    Установить свойство (* )
Transparency2 = Object.GetTransparency2()    Получить свойство (**)
Object.SetTransparency2( Transparency2 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Transparency2( &Transparency2 )    Получить свойство
Object.put_Transparency2( Transparency2 )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать конечную прозрачность в процентах.


## Xc - Координата положения центра заливки по оси X

Тип данных: double
Синтаксис Automation:
```
Xc = Object.Xc    Получить свойство(* )
Object.Xc = Xc    Установить свойство (* )
Xc = Object.GetXc()    Получить свойство (**)
Object.SetXc( Xc )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Xc( &Xc )    Получить свойство
Object.put_Xc( Xc )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать координату положения центра заливки по оси Х в процентах относительно габарита области.


## Yc - Координата положения центра заливки по оси Y

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


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

Интерфейс параметров конической кривой.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
IConicCurve
Данный интерфейс можно получить с помощью метода коллекции конических кривых IConicCurves::Add или свойства IConicCurves::ConicCurve.
Версия Компас v18.1


## Angle1 - Угол наклона первой кривой

Тип данных: double
Синтаксис Automation:
```
Angle1 = Object.Angle1    Получить свойство(* )
Object.Angle1 = Angle1    Установить свойство (* )
Angle1 = Object.GetAngle1()    Получить свойство (**)
Object.SetAngle1( Angle1 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Angle1( &Angle1 )    Получить свойство
Object.put_Angle1( Angle1 )    Установить свойство
```


## Angle2 - Угол наклона второй кривой

Тип данных: double
Синтаксис Automation:
```
Angle2 = Object.Angle2    Получить свойство(* )
Object.Angle2 = Angle2    Установить свойство (* )
Angle2 = Object.GetAngle2()    Получить свойство (**)
Object.SetAngle2( Angle2 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Angle2( &Angle2 )    Получить свойство
Object.put_Angle2( Angle2 )    Установить свойство
```


## Coefficient - Коэффициент

Тип данных: double
Синтаксис Automation:
```
Coefficient = Object.Coefficient    Получить свойство(* )
Object.Coefficient = Coefficient    Установить свойство (* )
Coefficient = Object.GetCoefficient()    Получить свойство (**)
Object.SetCoefficient( Coefficient )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Coefficient( &Coefficient )    Получить свойство
Object.put_Coefficient( Coefficient )    Установить свойство
```


## GetPoint - Получить точку пересечения

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


## Height - Высота

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


## SetPoint - Установить точку пересечения

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


## Style - Cтиль линии

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


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

Интерфейс контура.
Иерархия:
IKompasAPIObject
IDrawingObject
IDrawingContour
IContour
Примечание:
1. Интерфейс позволяет получить и задать свойства объекта "контур".
2. Получить интерфейс можно, используя свойство IDrawingContours::DrawingContour или метод IDrawingContours::Add интерфейса коллекции контуров.
3. После задания параметров объекта требуется вызвать метод IDrawingObject::Update.
4. Интерфейс IContour являются дополнительным. Его можно получить с помощью метода IUnknown::QueryInterface.


## Style - Стиль линии

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


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

Интерфейс эллипса.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
IEllipse
Описание:
Интерфейс позволяет получить и задать свойства эллипса.
Примечание:
1. Интерфейс можно получить, используя свойство коллекции эллипсов IEllipses::Ellipse или метод IEllipses::Add.
2. После задания параметров эллипса требуется вызвать метод IDrawingObject::Update.


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

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


## SemiAxisA - Длина первой полуоси

Тип данных: double
Синтаксис Automation:
```
SemiAxisA = Object.SemiAxisA    Получить свойство(* )
Object.SemiAxisA = SemiAxisA    Установить свойство (* )
SemiAxisA = Object.GetSemiAxisA()    Получить свойство (**)
Object.SetSemiAxisA( SemiAxisA )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SemiAxisA( &SemiAxisA )    Получить свойство
Object.put_SemiAxisA( SemiAxisA )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать длину первой полуоси эллипса.


## SemiAxisB - Длина второй полуоси

Тип данных: double
Синтаксис Automation:
```
SemiAxisB = Object.SemiAxisB    Получить свойство(* )
Object.SemiAxisB = SemiAxisB    Установить свойство (* )
SemiAxisB = Object.GetSemiAxisB()    Получить свойство (**)
Object.SetSemiAxisB( SemiAxisB )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SemiAxisB( &SemiAxisB )    Получить свойство
Object.put_SemiAxisB( SemiAxisB )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать длину второй полуоси эллипса.


## Style - Cтиль линии

Тип данных: long
Синтаксис Automation:
```
Style = Object.Style    Получить свойство(* )
Object.Style = Style    Установить свойство (* )
Style = Object.GetStyle()    Получить свойство (**)
Object.SetStyle( Style )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Style( &Style )    Получить свойство
Object.put_Style( Style )    Установить свойство
```
Примечание:
1. Свойство позволяет устанавливать и получать стиль линии эллипса.
2. Системные стили линий берутся из перечисления ksCurveStyleEnum.


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

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


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

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


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

Тип данных:double.
Синтаксис Automation:
```
Xc = Object.Xc    Получить свойство(* )
Object.Xc = Xc    Установить свойство (* )
Xc = Object.GetXc()    Получить свойство (**)
Object.SetXc( Xc )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Xc( &Xc )    Получить свойство
Object.put_Xc( Xc )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать координату центра эллипса по оси X.


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

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


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

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


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

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


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

Интерфейс дуги эллипса.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
IEllipseArc
Описание:
Интерфейс позволяет получить и задать свойства дуги эллипса.
Примечание:
1. Интерфейс можно получить, используя свойство коллекции дуг эллипсов IEllipseArcs::EllipseArc или метод IEllipseArcs::Add.
2. После задания параметров дуги эллипса требуется вызвать метод IDrawingObject::Update.


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

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


## Angle1 - Начальный угол дуги к первой полуоси

Тип данных: double
Синтаксис Automation:
```
Angle1 = Object.Angle1    Получить свойство(* )
Object.Angle1 = Angle1    Установить свойство (* )
Angle1 = Object.GetAngle1()    Получить свойство (**)
Object.SetAngle1( Angle1 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Angle1( &Angle1 )    Получить свойство
Object.put_Angle1( Angle1 )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать начальный угол дуги к первой полуоси эллипса.


## Angle2 - Конечный угол дуги к первой полуоси

Тип данных: double
Синтаксис Automation:
```
Angle2 = Object.Angle2    Получить свойство(* )
Object.Angle2 = Angle2    Установить свойство (* )
Angle2 = Object.GetAngle2()    Получить свойство (**)
Object.SetAngle2( Angle2 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Angle2( &Angle2 )    Получить свойство
Object.put_Angle2( Angle2 )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать конечный угол дуги к первой полуоси эллипса.


## Direction - Направление построения

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


## SemiAxisA - Длина первой полуоси

Тип данных: double
Синтаксис Automation:
```
SemiAxisA = Object.SemiAxisA    Получить свойство(* )
Object.SemiAxisA = SemiAxisA    Установить свойство (* )
SemiAxisA = Object.GetSemiAxisA()    Получить свойство (**)
Object.SetSemiAxisA( SemiAxisA )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SemiAxisA( &SemiAxisA )    Получить свойство
Object.put_SemiAxisA( SemiAxisA )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать длину первой полуоси дуги эллипса.


## SemiAxisB - Длина второй полуоси

Тип данных: double
Синтаксис Automation:
```
SemiAxisB = Object.SemiAxisB    Получить свойство(* )
Object.SemiAxisB = SemiAxisB    Установить свойство (* )
SemiAxisB = Object.GetSemiAxisB()    Получить свойство (**)
Object.SetSemiAxisB( SemiAxisB )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SemiAxisB( &SemiAxisB )    Получить свойство
Object.put_SemiAxisB( SemiAxisB )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать длину второй полуоси дуги эллипса.


## Style - Cтиль линии

Тип данных: long
Синтаксис Automation:
```
Style = Object.Style    Получить свойство(* )
Object.Style = Style    Установить свойство (* )
Style = Object.GetStyle()    Получить свойство (**)
Object.SetStyle( Style )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Style( &Style )    Получить свойство
Object.put_Style( Style )    Установить свойство
```
Примечание:
1. Свойство позволяет устанавливать и получать стиль линии дуги эллипса.
2. Системные стили линий берутся из перечисления ksCurveStyleEnum.


## T1 - Начальное значение параметра

Тип данных: double
Синтаксис Automation:
```
T1 = Object.T1    Получить свойство(* )
Object.T1 = T1    Установить свойство (* )
T1 = Object.GetT1()    Получить свойство (**)
Object.SetT1( T1 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_T1( &T1 )    Получить свойство
Object.put_T1( T1 )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать начальное значение параметра.


## T2 - Конечное значение параметра

Тип данных: double
Синтаксис Automation:
```
T2 = Object.T2    Получить свойство(* )
Object.T2 = T2    Установить свойство (* )
T2 = Object.GetT2()    Получить свойство (**)
Object.SetT2( T2 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_T2( &T2 )    Получить свойство
Object.put_T2( T2 )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать конечное значение параметра.


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

Тип данных: double
Синтаксис Automation:
```
Xc = Object.Xc    Получить свойство(* )
Object.Xc = Xc    Установить свойство (* )
Xc = Object.GetXc()    Получить свойство (**)
Object.SetXc( Xc )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Xc( &Xc )    Получить свойство
Object.put_Xc( Xc )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать координату центра дуги эллипса по оси X.


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

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


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

Интерфейс эквидистанты.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
IEquidistant
Описание:
Интерфейс позволяет задавать параметры эквидистанты.
Примечание:
1. Интерфейс можно получить у коллекции эквидистант, используя свойство IEquidistants::Equidistant или метод IEquidistants::Add.
2. После задания параметров эквидистанты требуется вызвать метод IDrawingObject::Update.


## BaseObject - Базовая кривая

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


## CutMode - Обход угла

Тип данных – BOOL.
Значения свойства:
| TRUE | - обход дугой, |
| --- | --- |
| FALSE | - обход срезом. |
Синтаксис Automation:
```
CutMode = Object.CutMode    Получить свойство(* )
Object.CutMode = CutMode    Установить свойство (* )
CutMode = Object.GetCutMode()    Получить свойство (**)
Object.SetCutMode( CutMode )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CutMode( &CutMode )    Получить свойство
Object.put_CutMode( CutMode )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать способ обхода угла кривой.


## DegenerateSegment - Режим отрисовки вырожденных участков

Тип данных: BOOL
Значения свойства:
| TRUE | - вырожденные сегменты разрешены, |
| --- | --- |
| FALSE | - вырожденные сегменты запрещены. |
Синтаксис Automation:
```
DegenerateSegment = Object.DegenerateSegment    Получить свойство(* )
Object.DegenerateSegment = DegenerateSegment    Установить свойство (* )
DegenerateSegment = Object.GetDegenerateSegment()    Получить свойство (**)
Object.SetDegenerateSegment( DegenerateSegment )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DegenerateSegment( &DegenerateSegment )    Получить свойство
Object.put_DegenerateSegment( DegenerateSegment )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать режим отрисовки вырожденных участков.


## LeftRadius - Радиус эквидистанты слева

Тип данных: double
Синтаксис Automation:
```
LeftRadius = Object.LeftRadius    Получить свойство(* )
Object.LeftRadius = LeftRadius    Установить свойство (* )
LeftRadius = Object.GetLeftRadius()    Получить свойство (**)
Object.SetLeftRadius( LeftRadius )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_LeftRadius( &LeftRadius )    Получить свойство
Object.put_LeftRadius( LeftRadius )DegenerateSegment )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать радиус эквидистанты слева.


## RightRadius - Радиус эквидистанты справа

Тип данных: double
Синтаксис Automation:
```
RightRadius = Object.RightRadius    Получить свойство(* )
Object.RightRadius = RightRadius    Установить свойство (* )
RightRadius = Object.GetRightRadius()    Получить свойство (**)
Object.SetRightRadius( RightRadius )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_RightRadius( &RightRadius )    Получить свойство
Object.put_RightRadius( RightRadius )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать радиус эквидистанты справа.


## SetCorner - Установить параметры скругления/усечения угла

Синтаксис Automation:
```
BOOL SetCorner( long Index,
long * Type,
double * L1,
double * L2 );
```
Синтаксис COM:
```
HRESULT SetCorner( long Index,
ksCornerTypeEnum * Type,
double * L1,
double * L2,
BOOL* Result );
Входные параметры:
Index    - индекс угла.
Type    - тип угла из перечисления ksCornerTypeEnum,
L1    - длина фаски первого сегмента или радиус скругления,
L2    - длина фаски второго сегмента.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет установить параметры скругления/усечения угла многоугольника.


## Side - Тип построения

Тип данных – из перечисления ksEquidistantTypeEnum.
Синтаксис Automation:
```
Side = Object.Side    Получить свойство(* )
Object.Side = Side    Установить свойство (* )
Side = Object.GetSide()    Получить свойство (**)
Object.SetSide( Side )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Side( &Side )    Получить свойство
Object.put_Side( Side )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать тип построения эквидистанты.


## Style - Cтиль линии

Тип данных: long
Синтаксис Automation:
```
Style = Object.Style    Получить свойство(* )
Object.Style = Style    Установить свойство (* )
Style = Object.GetStyle()    Получить свойство (**)
Object.SetStyle( Style )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Style( &Style )    Получить свойство
Object.put_Style( Style )    Установить свойство
```
Примечание:
1. Свойство позволяет устанавливать и получать стиль линии окружности.
2. Системные стили линий берутся из перечисления ksCurveStyleEnum.


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

Интерфейс штриховки.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
IHatch
IHatchParam
IBoundariesObject
Описание:
Интерфейс позволяет задавать параметры штриховки.
Примечание:
1. Интерфейс можно получить у коллекции штриховок, используя свойство IHatches::Hatch или метод IHatches::Add.
2. После задания параметров штриховки требуется вызвать метод IDrawingObject::Update.
3. Посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif) у данного интерфейса можно получить дополнительные интерфейсы:
•IHatchParam,
•IBoundariesObject.


## Side - Расположение штриховки

Тип данных: BOOL
Значения свойства:
| TRUE | - сторона 1. |
| --- | --- |
Синтаксис Automation:
```
Side = Object.Side    Получить свойство(* )
Object.Side = Side    Установить свойство (* )
Side = Object.GetSide()    Получить свойство (**)
Object.SetSide( Side )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Side( &Side )    Получить свойство
Object.put_Side( Side )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать расположение штриховки.


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

Тип данных: double
Синтаксис Automation:
```
X = Object.X    Получить свойство(* )
Object.X = X    Установить свойство (* )
X = Object.GetX()    Получить свойство (**)
Object.SetX( X )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_X( &X )    Получить свойство
Object.put_X( X )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать координату базовой точки штриховки по оси Х.


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

Тип данных: double
Синтаксис Automation:
```
Y = Object.Y    Получить свойство(* )
Object.Y = Y    Установить свойство (* )
Y = Object.GetY()    Получить свойство (**)
Object.SetY( Y )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Y( &Y )    Получить свойство
Object.put_Y( Y )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать координату базовой точки штриховки по оси Y.


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

Интерфейс линии.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
ILine
Описание:
Интерфейс позволяет получить и задать свойства прямой линии.
Примечание:
1. Интерфейс можно получить, используя свойство коллекции линий ILines::Line или метод ILines::Add.
2. После задания параметров линии требуется вызвать метод IDrawingObject::Update.


## Angle - Угол между линией и осью OX в текущей системе координат

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


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

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


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

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


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

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


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

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


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

Интерфейс отрезка.
Иерархия:
IKompasAPIObject
IDrawingObject
ILineSegment
Описание:
Примечание:
1. Интерфейс можно получить у коллекции отрезков, используя свойство ILineSegments::LineSegment или метод ILineSegments::Add.
2. При создании отрезка можно использовать несколько типов построения:
2.1. по координатам (требуется задать координаты точек (X1; Y1), (X2; Y2).
2.2. По точке 1 (X1; Y1), длине Length и углу Angle,-
По точке 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 );    Установить свойство
```
Примечание:
Свойство позволяет получить и установить угол наклона отрезка.


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

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


## Style - Стиль линии

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


## 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.


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

Интерфейс мультилинии.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
IMultiline
Примечание:
1. Интерфейс позволяет получить и задать свойства объекта "мультилиния". Для создания объекта должен быть задан базовый контур и хотя бы одна линия.
2. Получить интерфейс можно, используя свойство IMultilines::MultiLine или метод IMultilines::Add интерфейса коллекции мультилиний.
3. После задания параметров объекта требуется вызвать метод IDrawingObject::Update.


## AddLine - Добавить линию

Синтаксис Automation:
```
BOOL AddLine( double Offset, long Style );
```
Синтаксис COM:
```
HRESULT AddLine( [in]double Offset,
[in]long Style,
[out, retval] VARIANT_BOOL * PVal );
Входные параметры:
Offset    - смещение линии относительно базового контура,
Style    - стиль линии из перечисления ksCurveStyleEnum.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
```


## BaseContour - Базовый контур

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


## Closed - Замкнутость

Тип данных: BOOL
Значения свойства:
| TRUE | - мультилиния замкнута, |
| --- | --- |
| FALSE | - мультилиния разомкнута. |
Синтаксис Automation:
```
Closed = iObject.Closed;    Получить свойство(* )
iObject.Closed = Closed;    Установить свойство (* )
Closed = iObject.GetClosed();    Получить свойство (**)
iObject.SetClosed(Closed);    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Closed( &Closed )    Получить свойство
iObject->put_Closed( Closed )    Установить свойство
```
Примечание:
1. Свойство позволяет устанавливать и получать замкнутость.
2. Если при создании замкнутой линии не совпадают точки начала и конца, будет создан дополнительный сегмент.
3. Ограничители у замкнутой мультилинии не учитываются.


## DeleteLine - Удалить линию

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


## EndLimiter - Типы ограничений на концах мультилинии

Тип данных: из перечисления ksMlEndLimiterEnum
Синтаксис Automation:
```
EndLimiter = iObject.EndLimiter( First );    Получить свойство(* )
iObject.EndLimiter( First ) = EndLimiter;    Установить свойство (* )
EndLimiter = iObject.GetEndLimiter( First );    Получить свойство (**)
iObject.SetEndLimiter( First, EndLimiter );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_EndLimiter( First, &EndLimiter )    Получить свойство
iObject->put_EndLimiter( First, EndLimiter )    Установить свойство
Входные параметры:
First    - номер ограничителя (TRUE - первая, FALSE - вторая).
```
Примечание:
Свойство позволяет устанавливать и получать типы ограничений на концах мультилинии.


## EndParameter - Параметр ограничителя в %(0-100)

Тип данных: double
Синтаксис Automation:
```
EndParameter = iObject.EndParameter( First );    Получить свойство(* )
iObject.EndParameter( First ) = EndParameter;    Установить свойство (* )
EndParameter = iObject.EndParameter( First );    Получить свойство (**)
iObject.EndParameter( First, EndParameter );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_EndParameter( First, &EndParameter )    Получить свойство
iObject->put_EndParameter( First, EndParameter )    Установить свойство
Входные параметры:
First    - номер ограничителя (TRUE - первая, FALSE - вторая).
```
Примечание:
Свойство позволяет устанавливать и получать параметр ограничителя в процентах от ширины мультилинии.


## EndStyle - Стиль линии кривой в ограничителе

Тип данных: long (соответствует перечислению ksCurveStyleEnum)
Синтаксис Automation:
```
EndStyle = iObject.EndStyle( First );    Получить свойство(* )
iObject.EndStyle( First ) = EndStyle;    Установить свойство (* )
EndStyle = iObject.GetEndStyle( First );    Получить свойство (**)
iObject.SetEndStyle( First, EndStyle );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_EndStyle( First, &EndStyle )    Получить свойство
iObject->put_EndStyle( First, EndStyle )    Установить свойство
Входные параметры:
First    - номер ограничителя (TRUE - первая, FALSE - вторая).
```
Примечание:
Свойство позволяет устанавливать и получать стиль линии в ограничителе.


## FindLine - Найти индекс линии по смещению

Синтаксис Automation:
```
long FindLine( double Offset );
```
Синтаксис COM:
```
HRESULT FindLine( [in]double Offset,
[out, retval] long * Result );
Входные параметры:
Offset    - смещение линии относительно базового контура.
Возвращаемое значение:
- индекс линии, имеющей указанное смещение.
```


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

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


## LineOffset - Смещение линии

Тип данных: double
Синтаксис Automation:
```
LineOffset = iObject.LineOffset( LineIndex );    Получить свойство(* )
iObject.LineOffset( LineIndex ) = LineOffset;    Установить свойство (* )
LineOffset = iObject.GetLineOffset( LineIndex );    Получить свойство (**)
iObject.SetLineOffset( LineIndex, LineOffset ););    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_LineOffset( LineIndex, &LineOffset )    Получить свойство
iObject->put_LineOffset( LineIndex, LineOffset )    Установить свойство
Входные параметры:
long LineIndex    - индекс линии.
```
Примечание:
Свойство позволяет устанавливать смещение линии относительно базового контура.


## LineOffsets - Массив смещений в виде массива SAFEARRAY double - VT_ARRAY | VT_R8

Тип данных: VARIANT
Значения свойства:
| | Массив SafeArray типа VT_ARRAY | VT_R8. |
| --- | --- |
Синтаксис Automation:
```
LineOffsets = iObject.LineOffsets;    Получить свойство(* )
LineOffsets = iObject.GetLineOffsets();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_LineOffsets( &LineOffsets )    Получить свойство
```
Примечание:
1. Свойство позволяет получить массив SAFEARRAY смещения всех линий.
2. Свойство доступно только для чтения.


## LineStyle - Стиль линии

Тип данных: long (соответствует перечислению ksCurveStyleEnum)
Синтаксис Automation:
```
LineStyle = iObject.LineStyle( LineIndex );    Получить свойство(* )
iObject.LineStyle( LineIndex ) = LineStyle;    Установить свойство (* )
LineStyle = iObject.GetLineStyle( LineIndex );    Получить свойство (**)
iObject.SetLineStyle( LineIndex, LineStyle );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_LineStyle( LineIndex, &LineStyle )    Получить свойство
iObject->put_LineStyle( LineIndex, LineStyle )    Установить свойство
Входные параметры:
long LineIndex    - индекс линии.
```
Примечание:
Свойство позволяет устанавливать и получать стиль линии.


## TrackingType - Тип обхода вершины

Тип данных: из перечисления ksMlVertexTrackingEnum
Синтаксис Automation:
```
TrackingType = iObject.TrackingType( LineIndex );    Получить свойство(* )
iObject.TrackingType( LineIndex ) = TrackingType;    Установить свойство (* )
TrackingType = iObject.GetTrackingType( LineIndex );    Получить свойство (**)
iObject.SetTrackingType( LineIndex, TrackingType );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_TrackingType( LineIndex, &TrackingType )    Получить свойство
iObject->put_TrackingType( LineIndex, TrackingType )    Установить свойство
Входные параметры:
long LineIndex    - индекс линии.
```
Примечание:
Свойство позволяет устанавливать и получать тип обхода вершины мультилинии.


## VertexCount - Количество вершин без учета концов

Тип данных: указатель на интерфейс контура IContour
Синтаксис Automation:
```
VertexCount = iObject.VertexCount();    Получить свойство(* )
VertexCount = iObject.GetVertexCount();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_VertexCount( &VertexCount )    Получить свойство
```
Примечание:
1. Свойство позволяет получить количество вершин мультилинии.
2. Свойство доступно только для чтения.


## VertexDirection - Направление дуги в вершине

Тип данных: BOOL
Значения свойства:
| TRUE | - по часовой стрелке, |
| --- | --- |
| FALSE | - против часовой стрелки. |
Синтаксис Automation:
```
VertexDirection = iObject.VertexDirection( VertexIndex );    Получить свойство(* )
iObject.VertexDirection( VertexIndex ) = VertexDirection;    Установить свойство (* )
VertexDirection = iObject.GetVertexDirection( VertexIndex );    Получить свойство (**)
iObject.SetVertexDirection( VertexIndex, VertexDirection );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_VertexDirection( VertexIndex, &VertexDirection )    Получить свойство
iObject->put_VertexDirection( VertexIndex, VertexDirection )    Установить свойство
Входные параметры:
long VertexIndex    - индекс вершины.
```
Примечание:
1. Свойство позволяет устанавливать и получать направление дуги в вершине мультилинии.
2. Свойство доступно только при типе обхода вершины ksMTrShear (ksMlEndLimiterEnum).


## VertexLimiter - Типы ограничений в вершинах мультилинии

Тип данных: из перечисления ksMlVertexLimiterEnum
Синтаксис Automation:
```
VertexLimiter = iObject.VertexLimiter( VertexIndex );    Получить свойство(* )
iObject.VertexLimiter( VertexIndex ) = VertexLimiter;    Установить свойство (* )
VertexLimiter = iObject.GetVertexLimiter( VertexIndex );    Получить свойство (**)
iObject.SetVertexLimiter( VertexIndex, VertexLimiter );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_VertexLimiter( VertexIndex, &VertexLimiter )    Получить свойство
iObject->put_VertexLimiter( VertexIndex, VertexLimiter )    Установить свойство
Входные параметры:
long VertexIndex    - индекс вершины.
```
Примечание:
1. Свойство позволяет устанавливать и получать тип ограничения в вершине мультилинии.
2. Свойство доступно только при типе обхода вершины ksMTrShear (ksMlEndLimiterEnum).


## VertexRadius - Радиус дуги в вершине

Тип данных: double
Синтаксис Automation:
```
VertexRadius = iObject.VertexRadius( VertexIndex );    Получить свойство(* )
iObject.VertexRadius( VertexIndex ) = VertexRadius;    Установить свойство (* )
VertexRadius = iObject.GetVertexRadius( VertexIndex );    Получить свойство (**)
iObject.SetVertexRadius( VertexIndex, VertexRadius );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_VertexRadius( VertexIndex, &VertexRadius )    Получить свойство
iObject->put_VertexRadius( VertexIndex, VertexRadius )    Установить свойство
Входные параметры:
long VertexIndex    - индекс вершины.
```
Примечание:
1. Свойство позволяет устанавливать и получать радиус дуги в вершине мультилинии.
2. Свойство доступно только при типе обхода вершины ksMTrShear (ksMlEndLimiterEnum).


## VertexStyle - Стиль кривой в вершине

Тип данных: long (соответствует перечислению ksCurveStyleEnum)
Синтаксис Automation:
```
VertexStyle = iObject.VertexStyle( VertexIndex );    Получить свойство(* )
iObject.VertexStyle( VertexIndex ) = VertexStyle;    Установить свойство (* )
VertexStyle = iObject.GetVertexStyle( VertexIndex );    Получить свойство (**)
iObject.SetVertexStyle( VertexIndex, VertexStyle );    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_VertexStyle( VertexIndex, &VertexStyle )    Получить свойство
iObject->put_VertexStyle( VertexIndex, VertexStyle )    Установить свойство
Входные параметры:
long VertexIndex    - индекс вершины.
```
Примечание:
1. Свойство позволяет устанавливать и получать тип ограничения в вершине мультилинии.
2. Свойство доступно только при типе обхода вершины ksMTrShear (ksMlEndLimiterEnum).


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

Интерфейс NURBS-кривой.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
INurbs
Описание:
Интерфейс позволяет задавать параметры NURBS-кривой.
Примечание:
1. Интерфейс можно получить у коллекции NURBS-кривых, используя свойство INurbses::Nurbs или метод INurbses::Add.
2. После задания параметров NURBS-кривой требуется вызвать метод IDrawingObject::Update.


## AddPoint - Добавить точку

Синтаксис Automation:
```
BOOL AddPoint( long Index,
double X,
double Y
double Weight );
```
Синтаксис COM:
```
HRESULT AddPoint( long Index,
double X,
double Y,
double Weight,
BOOL * Result );
Входные параметры:
Index    - индекс добавляемой точки,
X, Y    - координаты добавляемой точки,
Weight    - вес точки.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет добавить точку в NURBS-кривую.


## Clear - Удалить все точки

Синтаксис Automation:
```
BOOL Clear();
```
Синтаксис COM:
```
HRESULT Clear( BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет удалить все точки NURBS-кривой.


## Closed - Замкнутость

Тип данных: BOOL
Синтаксис Automation:
```
Closed = Object.Closed    Получить свойство(* )
Object.Closed = Closed    Установить свойство (* )
Closed = Object.GetClosed()    Получить свойство (**)
Object.SetClosed( Closed )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Closed( &Closed )    Получить свойство
Object.put_Closed( Closed )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать признак замкнутости NURBS-кривой.


## Degree - Порядок кривой

Тип данных: long
Синтаксис Automation:
```
Degree = Object.Degree    Получить свойство(* )
Object.Degree = Degree    Установить свойство (* )
Degree = Object.GetDegree()    Получить свойство (**)
Object.SetDegree( Degree )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Degree( &Degree )    Получить свойство
Object.put_Degree( Degree )    Установить свойство
В англоязычной специализированной литературе, документациях и различных API для систем автоматизированного проектирования (САПР) можно встретить использование термина degree для обозначения степени сплайна, а термина order — для обозначения порядка сплайна. Соответственно, order = degree + 1. Обратите внимание на то, что в интерфейсах КОМПАС-3D API термин degree используется для обозначения порядка сплайна (степень + 1).
```
Примечание:
Свойство позволяет устанавливать и получать порядок NURBS-кривой.
Для изменения порядка NURBS-кривой нужно, чтобы количество точек было равно или больше устанавливаемого значения, см. Пример...


## DeletePoint - Удалить точку

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


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

Синтаксис Automation:
```
BOOL GetNurbsParams( VARIANT * Points,
VARIANT * Weight,
VARIANT * Knots );
```
Синтаксис COM:
```
HRESULT GetNurbsParams( VARIANT * Points,
VARIANT * Weight,
VARIANT * Knots,
BOOL * Result );
Выходные параметры:
Points    - массив SAFEARRAY    VT_R8 координат точек кривой,
Weight    - массив SAFEARRAY    VT_R8 весов точек,
Knots    - массив SAFEARRAY    VT_R8 узлов сплайна.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет получить параметры NURBS-кривой в виде массивов SAFEARRAY | VT_R8.


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

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


## Periodic - Порядок кривой

Тип данных: BOOL
Синтаксис Automation:
```
Periodic = Object.Periodic    Получить свойство(* )
Periodic = Object.Periodic    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Degree( &Degree )    Получить свойство
```
Примечание:
1. Свойство позволяет получить признак периодичности NURBS-кривой.
2. Свойство доступно только для чтения.


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

Тип данных: long
Синтаксис Automation:
```
PointsCount = Object.PointsCount    Получить свойство(* )
PointsCount = Object.GetPointsCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_PointsCount( &PointsCount )    Получить свойство
```
Примечание:
1. Свойство позволяет получить количество точек NURBS-кривой.
2. Свойство доступно только для чтения.


## ReadFromFile - Прочитать файл с данными

Синтаксис Automation:
```
BOOL ReadFromFile( LPCTSTR FileName );
```
Синтаксис COM:
```
HRESULT ReadFromFile( BSTR FileName, BOOL * Result );
Входные параметры:
FileName    - полное имя файла с данными.
Возвращаемое значение:
TRUE    - в случае удачи.
```


## SetNurbsParams - Установить параметры NURBS-кривой

Синтаксис Automation:
```
BOOL SetNurbsParams( VARIANT Points,
VARIANT Weight,
VARIANT Knots,
long Degree,
BOOL Closed );
```
Синтаксис COM:
```
HRESULT SetNurbsParams( VARIANT Points,
VARIANT Weight,
VARIANT Knots,
long Degree,
BOOL Closed,
BOOL * Result );
Входные параметры:
Points    - массив SAFEARRAY    VT_R8 координат точек кривой,
Weight    - массив SAFEARRAY    VT_R8 весов точек,
Knots    - массив SAFEARRAY    VT_R8 узлов сплайна,
Degree    - порядок кривой,
Closed    - признак замкнутости (нужно задавать после задания точек).
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
В англоязычной специализированной литературе, документациях и различных API для систем автоматизированного проектирования (САПР) можно встретить использование термина degree для обозначения степени сплайна, а термина order — для обозначения порядка сплайна. Соответственно, order = degree + 1. Обратите внимание на то, что в интерфейсах КОМПАС-3D API термин degree используется для обозначения порядка сплайна (степень + 1).
```
Примечание:
Метод позволяет установить параметры NURBS-кривой в виде массивов SAFEARRAY | VT_R8.


## Style - Cтиль линии

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


## WriteToFile - Записать файл с данными

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


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

Интерфейс NURBS-кривой по точкам.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
INurbs
INurbsByPoints
Интерфейс можно получить у коллекции NUTBS-кривых, полученной с помощью свойства IDrawingContainer::NurbsesByPoints.


## AddPointByParam - Добавить новую точку с параметрами

Синтаксис Automation:
```
BOOL AddPointByParam( long Index, double X, double Y,
ksNurbsByPointsPointConstraintsEnum ConstraintsType,
double * DerivativeLenght, double * DerivativeAngle, double * Curvature );
```
Синтаксис COM:
```
HRESULT AddPointByParam( long Index, double X, double Y,
ksNurbsByPointsPointConstraintsEnum ConstraintsType, double * DerivativeLenght,
double * DerivativeAngle, double * Curvature, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Index    - индекс добавляемой точки,
X    - координата точки по X,
Y    - координата точки по Y,
ConstraintsType    - вариант управления точкой сплайна,
DerivativeLenght    - длина вектора производной,
DerivativeAngle    - угол вектора производной,
Curvature    - величина кривизны.
```


## CurvatureInPoint - Величина кривизны в указанной точке

Тип данных: double
Синтаксис Automation:
```
CurvatureInPoint = Object.CurvatureInPoint( PointIndex )    Получить свойство(* )
Object.CurvatureInPoint( PointIndex ) = CurvatureInPoint    Установить свойство (* )
CurvatureInPoint = Object.GetCurvatureInPoint( PointIndex )    Получить свойство (**)
Object.SetCurvatureInPoint( PointIndex, CurvatureInPoint )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CurvatureInPoint( PointIndex, &CurvatureInPoint )    Получить свойство
Object.put_CurvatureInPoint( PointIndex, CurvatureInPoint )    Установить свойство
Входные параметры:
long    - PointIndex - индекс точки.
```


## DerivativeAngleInPoint - Угол вектора производной в указанной точке

Тип данных: double
Синтаксис Automation:
```
DerivativeAngleInPoint = Object.DerivativeAngleInPoint( PointIndex )    Получить свойство(* )
Object.DerivativeAngleInPoint( PointIndex ) = DerivativeAngleInPoint    Установить свойство (* )
DerivativeAngleInPoint = Object.GetDerivativeAngleInPoint( PointIndex )    Получить свойство (**)
Object.SetDerivativeAngleInPoint( PointIndex, DerivativeAngleInPoint )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DerivativeAngleInPoint( PointIndex, &DerivativeAngleInPoint )    Получить свойство
Object.put_DerivativeAngleInPoint( PointIndex, DerivativeAngleInPoint )    Установить свойство
Входные параметры:
long    - PointIndex - индекс точки.
```


## DerivativeLenghtInPoint - Длина вектора производной в указанной точке

Тип данных: double
Синтаксис Automation:
```
DerivativeLenghtInPoint = Object.DerivativeLenghtInPoint( PointIndex )    Получить свойство(* )
Object.DerivativeLenghtInPoint( PointIndex ) = DerivativeLenghtInPoint    Установить свойство (* )
DerivativeLenghtInPoint = Object.GetDerivativeLenghtInPoint( PointIndex )    Получить свойство (**)
Object.SetDerivativeLenghtInPoint( PointIndex, DerivativeLenghtInPoint )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DerivativeLenghtInPoint( PointIndex, &DerivativeLenghtInPoint )    Получить свойство
Object.put_DerivativeLenghtInPoint( PointIndex, DerivativeLenghtInPoint )    Установить свойство
Входные параметры:
long    - PointIndex - индекс точки.
```


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

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


## PointConstraints - Вариант управления точкой сплайна

Тип данных: из перечисления ksNurbsByPointsPointConstraintsEnum
Синтаксис Automation:
```
PointConstraints = Object.PointConstraints( PointIndex )    Получить свойство(* )
Object.PointConstraints( PointIndex ) = PointConstraints    Установить свойство (* )
PointConstraints = Object.GetPointConstraints( PointIndex )    Получить свойство (**)
Object.SetPointConstraints( PointIndex, PointConstraints )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_PointConstraints( PointIndex, &PointConstraints )    Получить свойство
Object.put_PointConstraints( PointIndex, PointConstraints )    Установить свойство
Входные параметры:
long    - PointIndex - индекс точки.
```


## PointsBuildingType - Способ формирования точек сплайна

Тип данных: из перечисления ksNurbsByPointsBuildingTypeEnum
Синтаксис Automation:
```
PointsBuildingType = Object.PointsBuildingType    Получить свойство(* )
Object.PointsBuildingType = PointsBuildingType    Установить свойство (* )
PointsBuildingType = Object.GetPointsBuildingType()    Получить свойство (**)
Object.SetPointsBuildingType( PointsBuildingType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_PointsBuildingType( &PointsBuildingType )    Получить свойство
Object.put_PointsBuildingType( PointsBuildingType )    Установить свойство
```


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

Интерфейс точки.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
IPoint
Примечание:
1. Интерфейс можно получить, используя свойство коллекции точек IPoints::Point или метод IPoints::Add.
2. После задания параметров окружности требуется вызвать метод IDrawingObject::Update.


## Angle - Угол для точки со стрелкой

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


## Style - Cтиль точки

Тип данных: long
Синтаксис Automation:
```
Style = Object.Style    Получить свойство(* )
Object.Style = Style    Установить свойство (* )
Style = Object.GetStyle()    Получить свойство (**)
Object.SetStyle( Style )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Style( &Style )    Получить свойство
Object.put_Style( Style )    Установить свойство
```
Примечание:
1. Свойство позволяет устанавливать и получать стиль точки.
2. Стили точек берутся из перечисления ksAnnotationSymbolEnum.


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

Тип данных: double
Синтаксис Automation:
```
X = Object.X    Получить свойство(* )
Object.X = X    Установить свойство (* )
X = Object.GetX()    Получить свойство (**)
Object.SetXc( X )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_X( &X )    Получить свойство
Object.put_X( X )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать координату точки по оси X.


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

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


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

Интерфейс полилинии (ломаной).
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
IPolyLine2D
Описание:
Интерфейс позволяет задавать параметры ломаной.
Примечание:
1. Интерфейс можно получить у коллекции полилиний, используя свойство IPolyLines2D::PolyLine2D или метод IPolyLines2D::Add.
2. После задания параметров полилинии требуется вызвать метод IDrawingObject::Update.


## AddPoint - Добавить точку

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


## Clear - Удалить все точки

Синтаксис Automation:
```
BOOL Clear();
```
Синтаксис COM:
```
HRESULT Clear();
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет удалить все точки полилинии.


## Closed - Замкнутость

Тип данных: BOOL
Синтаксис Automation:
```
Closed = Object.Closed    Получить свойство(* )
Object.Closed = Closed    Установить свойство (* )
Closed = Object.GetClosed()    Получить свойство (**)
Object.SetClosed( Closed )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Closed( &Closed )    Получить свойство
Object.put_Closed( Closed )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать признак замкнутости полилинии.


## DeletePoint - Удалить точку

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


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

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


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

Тип данных: VARIANT типа VT_ARRAY | VT_R8
Синтаксис Automation:
```
Points = Object.Points    Получить свойство(* )
Object.Points = Points    Установить свойство (* )
Points = Object.GetPoints()    Получить свойство (**)
Object.SetPoints( Points )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Points( &Points )    Получить свойство
Object.put_Points( Points )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать массив координат точек полилинии.


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

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


## ReadFromFile - Прочитать файл с данными

Синтаксис Automation:
```
BOOL ReadFromFile( LPCTSTR FileName );
```
Синтаксис COM:
```
HRESULT ReadFromFile( BSTR FileName, BOOL * Result );
Входные параметры:
FileName    - полное имя файла с данными.
Возвращаемое значение:
TRUE    - в случае удачи.
```


## Style - Cтиль линии

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


## WriteToFile - Записать файл с данными

Синтаксис Automation:
```
BOOL WriteToFile( LPCTSTR FileName );
```
Синтаксис COM:
```
HRESULT WriteToFile( BSTR FileName, BOOL * Result );
Входные параметры:
FileName    - полное имя файла с данными.
Возвращаемое значение:
TRUE    - в случае удачи.
```


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

Интерфейс прямоугольника.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
IRectangle
Описание:
Интерфейс позволяет задавать параметры прямоугольника.
Примечание:
1. Интерфейс можно получить у коллекции прямоугольников, используя свойство IRectangles::Rectangle или метод IRectangles::Add.
2. После задания параметров прямоугольника требуется вызвать метод IDrawingObject::Update.


## Angle - Угол наклона стороны прямоугольника, выходящей из базовой точки

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


## ContourSegmentsPoints - Координаты точек сегментов контура многоугольника

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


## GetCorner - Получить параметры скругления/усечения угла

Синтаксис Automation:
```
BOOL GetCorner( long Index,
long * Type,
double * L1,
double * L2 );
```
Синтаксис COM:
```
HRESULT GetCorner( long Index,
ksCornerTypeEnum * Type,
double * L1,
double * L2,
BOOL* Result );
Входные параметры:
Index    - индекс угла.
Выходные параметры:
Type    - тип угла из перечисления ksCornerTypeEnum,
L1    - длина фаски первого сегмента или радиус скругления,
L2    - длина фаски второго сегмента.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет получить параметры скругления/усечения угла прямоугольника.


## Height - Высота прямоугольника

Тип данных: double
Синтаксис Automation:
```
Height = Object.Height    Получить свойство(* )
Object.Height = Height    Установить свойство (* )
Height = Object.GetHeight()    Получить свойство (**)
Object.SetHeight( Height )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Height( &Height )    Получить свойство
Object.put_Height( Height )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать высоту прямоугольника.


## SetCorner - Установить параметры скругления/усечения угла

Синтаксис Automation:
```
BOOL SetCorner( long Index,
long Type,
double L1,
double L2 );
```
Синтаксис COM:
```
HRESULT SetCorner( long Index,
ksCornerTypeEnum Type,
double L1,
double L2,
BOOL * Result );
Входные параметры:
Index    - индекс угла,
Type    - тип угла из перечисления ksCornerTypeEnum,
L1    - длина фаски первого сегмента или радиус скругления,
L2    - длина фаски второго сегмента.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет установить параметры скругления/усечения угла прямоугольника.


## Style - Cтиль линии

Тип данных: long
Синтаксис Automation:
```
Style = Object.Style    Получить свойство(* )
Object.Style = Style    Установить свойство (* )
Style = Object.GetStyle()    Получить свойство (**)
Object.SetStyle( Style )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Style( &Style )    Получить свойство
Object.put_Style( Style )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать стиль линии прямоугольника.


## Width - Ширина прямоугольника

Тип данных: double
Синтаксис Automation:
```
Width = Object.Width    Получить свойство(* )
Object.Width = Width    Установить свойство (* )
Width = Object.GetWidth()    Получить свойство (**)
Object.SetWidth( Width )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Width( &Width )    Получить свойство
Object.put_Width( Width )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать ширину прямоугольника.


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

Тип данных: double
Синтаксис Automation:
```
X = Object.X    Получить свойство(* )
Object.X = X    Установить свойство (* )
X = Object.GetX()    Получить свойство (**)
Object.SetX( X )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_X( &X )    Получить свойство
Object.put_X( X )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать координату базовой точки прямоугольника по оси X.


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

Тип данных: double
Синтаксис Automation:
```
Y = Object.Y    Получить свойство(* )
Object.Y = Y    Установить свойство (* )
Y = Object.GetY()    Получить свойство (**)
Object.SetY( Y )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Y( &Y )    Получить свойство
Object.put_Y( Y )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать координату базовой точки прямоугольника по оси Y.


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

Интерфейс многоугольника.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
IRegularPolygon
Описание:
Интерфейс позволяет задавать параметры многоугольника.
Примечание:
1. Интерфейс можно получить у коллекции многоугольников, используя свойство IRegularPolygons::RegularPolygon или метод IRegularPolygons::Add.
2. После задания параметров многоугольника требуется вызвать метод IDrawingObject::Update.


## Angle - Угол радиус-вектора, направленного от центра к первой вершине

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


## Count - Количество вершин многоугольника

Тип данных: long
Синтаксис Automation:
```
Count = Object.Count    Получить свойство(* )
Count = Object.GetCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Count( &Count )    Получить свойство
```
Примечание:
1. Свойство позволяет получить количество вершин многоугольника.
2. Свойство доступно только для чтения.


## Describe - Признак построения по описанной или вписанной окружности

Тип данных: BOOL
Синтаксис Automation:
```
Describe = Object.Describe    Получить свойство(* )
Object.Describe = Describe    Установить свойство (* )
Describe = Object.GetDescribe()    Получить свойство (**)
Object.SetDescribe( Describe )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Describe( &Describe )    Получить свойство
Object.put_Describe( Describe )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать признак построения по описанной или вписанной окружности.


## GetCorner - Получить параметры скругления/усечения угла

Синтаксис Automation:
```
BOOL GetCorner( long Index,
long * Type,
double * L1,
double * L2 );
```
Синтаксис COM:
```
HRESULT GetCorner( long Index,
ksCornerTypeEnum * Type,
double * L1,
double * L2,
BOOL* Result );
Входные параметры:
Index    - индекс угла.
Выходные параметры:
Type    - тип угла из перечисления ksCornerTypeEnum,
L1    - длина фаски первого сегмента или радиус скругления,
L2    - длина фаски второго сегмента.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет получить параметры скругления/усечения угла многоугольника.


## Radius - Радиус вписанной или описанной окружности

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


## SetCorner - Установить параметры скругления/усечения угла

Синтаксис Automation:
```
BOOL SetCorner( long Index,
long * Type,
double * L1,
double * L2 );
```
Синтаксис COM:
```
HRESULT SetCorner( long Index,
ksCornerTypeEnum * Type,
double * L1,
double * L2,
BOOL* Result );
Входные параметры:
Index    - индекс угла,
Type    - тип угла из перечисления ksCornerTypeEnum,
L1    - длина фаски первого сегмента или радиус скругления,
L2    - длина фаски второго сегмента.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет установить параметры скругления/усечения угла многоугольника.


## Style - Cтиль линии

Тип данных: long
Синтаксис Automation:
```
Style = Object.Style    Получить свойство(* )
Object.Style = Style    Установить свойство (* )
Style = Object.GetStyle()    Получить свойство (**)
Object.SetStyle( Style )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Style( &Style )    Получить свойство
Object.put_Style( Style )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать стиль линии многоугольника.


## Xc - Координата точки центра вписанной или описанной окружности по оси X

Тип данных: double
Синтаксис Automation:
```
Xc = Object.Xc    Получить свойство(* )
Object.Xc = Xc    Установить свойство (* )
Xc = Object.GetXc()    Получить свойство (**)
Object.SetXc( Xc )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Xc( &Xc )    Получить свойство
Object.put_Xc( Xc )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать координату точки центра вписанной или описанной окружности по оси X.


## Yc - Координата точки центра вписанной или описанной окружности по оси Y

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


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

Интерфейс растрового объекта.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
IRaster
IBoundariesObject
Описание:
Интерфейс позволяет задавать параметры растрового объекта.
Примечание:
1. Интерфейс можно получить у коллекции растровых объектов, используя свойство IRasters::Raster или метод IRasters::Add.
2. После задания параметров растрового объекта требуется вызвать метод IDrawingObject::Update.
3. Посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif) у данного интерфейса можно получить дополнительный интерфейс IBoundariesObject.
4. Для задания границы обрезки растра нужно использовать IBoundariesObject::AddBoundaries. В качестве границы обрезки может быть задан только один замкнутый контур.


## DisplayModePartial - Режим отрисовки

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


## FileName - Имя файла растрового объекта

Тип данных: BSTR
Синтаксис Automation:
```
FileName = Object.FileName    Получить свойство(* )
Object.FileName = FileName    Установить свойство (* )
FileName = Object.GetFileName()    Получить свойство (**)
Object.SetFileName( FileName )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_FileName( &FileName )    Получить свойство
Object.put_FileName( FileName )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать имя файла растрового объекта.


## GetPlacement - Получить местоположение растрового объекта

Синтаксис Automation:
```
BOOL GetPlacement( double * X,
double * Y,
double * Angle,
BOOL * MirrorSymmetry );
```
Синтаксис COM:
```
HRESULT GetPlacement( double * X,
double * Y,
double * Angle,
BOOL * MirrorSymmetry,
BOOL * Result );
Входные параметры:
X, Y    - координаты точки привязки,
Angle    - угол поворота объекта,
MirrorSymmetry    - признак зеркальной симметрии объекта.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
1. Метод позволяет получить точку привязки и угол поворота растрового объекта.
2. После применения к растровому объекту операции Симметрия его признак зеркальной симметрии автоматически инвертируется.


## Height - Высота вставки

Тип данных: double
Синтаксис Automation:
```
Height = Object.Height    Получить свойство(* )
Object.Height = Height    Установить свойство (* )
Height = Object.GetHeight()    Получить свойство (**)
Object.SetHeight( Height )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Height( &Height )    Получить свойство
Object.put_Height( Height )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать высоту вставки растрового объекта.


## InsertionType - Способ вставки растрового объекта

Тип данных: BOOL
Значения свойства:
| TRUE | - внедрить в документ,(* ) |
| --- | --- |
| FALSE | - вставлять ссылкой. |
Синтаксис Automation:
```
InsertionType = Object.InsertionType    Получить свойство(* )
Object.InsertionType = InsertionType    Установить свойство (* )
InsertionType = Object.GetInsertionType()    Получить свойство (**)
Object.SetInsertionType( InsertionType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_InsertionType( &InsertionType )    Получить свойство
Object.put_InsertionType( InsertionType )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать способ вставки растрового объекта.


## IsCutBoundarySet - Признак задания границы

Тип данных: BOOL
Синтаксис Automation:
```
IsCutBoundarySet = Object.IsCutBoundarySet    Получить свойство(* )
IsCutBoundarySet = Object.GetIsCutBoundarySet()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IsCutBoundarySet( &IsCutBoundarySet )    Получить свойство
```
Примечание:
1. Свойство позволяет получать признак задания границы растрового объекта.
2. Свойство доступно только для чтения.


## IsEnableChangeResolution - Доступность изменения разрешения

Тип данных: BOOL
Синтаксис Automation:
```
IsEnableChangeResolution = Object.IsEnableChangeResolution    Получить свойство(* )
IsEnableChangeResolution = Object.GetIsEnableChangeResolution()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IsEnableChangeResolution( &IsEnableChangeResolution )    Получить свойство
```
Примечание:
1. Свойство позволяет получать признак доступности изменения разрешения растрового объекта.
2. Свойство доступно только для чтения.


## Palette - Цветовая палитра (Количество разрядов)

Тип данных: long
Синтаксис Automation:
```
Palette = Object.Palette    Получить свойство(* )
Palette = Object.GetPalette()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Palette( &Palette )    Получить свойство
```
Примечание:
1. Свойство позволяет получать количество разрядов цветовой палитры растрового объекта.
2. Свойство доступно только для чтения


## Resolution - Разрешение растра

Тип данных: double
Синтаксис Automation:
```
Resolution = Object.Resolution    Получить свойство(* )
Object.Resolution = Resolution    Установить свойство (* )
Resolution = Object.GetResolution()    Получить свойство (**)
Object.SetResolution( Resolution )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Resolution( &Resolution )    Получить свойство
Object.put_Resolutione( Resolution )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать разрешение растра.


## Scale - Масштаб

Тип данных: double
Синтаксис Automation:
```
Scale = Object.Scale    Получить свойство(* )
Object.Scale = Scale    Установить свойство (* )
Scale = Object.GetScale()    Получить свойство (**)
Object.SetScale( Scale )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Scale( &Scale )    Получить свойство
Object.put_Scale( Scale )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать масштаб растрового объекта.


## SetPlacement - Установить местоположение растрового объекта

Синтаксис Automation:
```
BOOL SetPlacement( double X,
double Y,
double Angle,
BOOL * MirrorSymmetry );
```
Синтаксис COM:
```
HRESULT SetPlacement( double X,
double Y,
double Angle,
BOOL MirrorSymmetry,
BOOL * Result );
Входные параметры:
X, Y    - координаты точки привязки,
Angle    - угол поворота объекта,
MirrorSymmetry    - признак зеркальной симметрии объекта.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
1. Метод позволяет установить точку привязки и угол поворота растрового объекта.
2. После применения к растровому объекту операции Симметрия его признак зеркальной симметрии автоматически инвертируется.


## SourceHeight - Высота источника

Тип данных: double
Синтаксис Automation:
```
SourceHeight = Object.SourceHeight    Получить свойство(* )
SourceHeight = Object.GetSourceHeight()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_SourceHeight( &SourceHeight )    Получить свойство
```
Примечание:
1. Свойство позволяет получать значение высоты источника.
2. Свойство доступно только для чтения.


## SourceWidth - Ширина источника

Тип данных: double
Синтаксис Automation:
```
SourceWidth = Object.SourceWidth    Получить свойство(* )
SourceWidth = Object.GetSourceWidth()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_SourceWidth( &SourceWidth )    Получить свойство
```
Примечание:
1. Свойство позволяет получать значение ширины источника.
2. Свойство доступно только для чтения.


## Width - Ширина вставки

Тип данных: double
Синтаксис Automation:
```
Width = Object.Width    Получить свойство(* )
Object.Width = Width    Установить свойство (* )
Width = Object.GetWidth()    Получить свойство (**)
Object.SetWidth( Width )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Width( &Width )    Получить свойство
Object.put_Width( Width )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать ширину вставки растрового объекта.


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

Интерфейс паза прямого.
Иерархия:
IDispatch
IKompasAPIObject
IDrawingObject
IStraightSlot
Примечание:
Интерфейс можно получить у коллекции пазов, используя свойство IStraightSlots::StraightSlot или метод IStraightSlots::Add.
Версия Компас v23


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

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


## BuildingType - Способ построения паза

Тип данных: из перечисления ksStraightSlotBuildingType
Синтаксис Automation:
```
BuildingType = Object.BuildingType    Получить свойство(* )
Object.BuildingType = BuildingType    Установить свойство (* )
BuildingType = Object.GetBuildingType()    Получить свойство (**)
Object.SetBuildingType( BuildingType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BuildingType( &BuildingType )    Получить свойство
Object.put_BuildingType( BuildingType )    Установить свойство
```


## FullLength - Полная длина. Длина по габариту

Тип данных: double
Синтаксис Automation:
```
FullLength = Object.FullLength    Получить свойство(* )
Object.FullLength = FullLength    Установить свойство (* )
FullLength = Object.GetFullLength()    Получить свойство (**)
Object.SetFullLength( FullLength )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_FullLength( &FullLength )    Получить свойство
Object.put_FullLength( FullLength )    Установить свойство
```


## GetPoint - Получить координату точки

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


## Length - Длина по центрам. Расстояние между центрами

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


## SetPoint - Установить координату точки

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


## Style - Стиль линии

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


## Width - Ширина паза

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


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

Интерфейс контура.
Иерархия:
IDispatch
IKompasAPIObject
IContour
Описание:
Позволяет создавать и редактировать контур.
Примечание:
1. Интерфейс можно получить у интерфейса мультилинии с помощью свойства IMultiline::BaseContour.
2. Интерфейс IContour является дополнительным для интерфейса IDrawingContour. Его можно получить с помощью метода IUnknown::QueryInterface.
3. После задания параметров объекта требуется вызвать метод IDrawingObject::Update у мультилинии.


## AddSegment - Добавить сегмент

Синтаксис Automation:
```
LPDISPATCH Add( long type );
```
Синтаксис COM:
```
HRESULT Add( [in]ksContourSegmentEnum Type,
IMultiline ** Result);
Входные параметры:
type    - тип сегмента.
Возвращаемое значение:
- указатель на интерфейс сегмента контура IContourSegment.
```
Примечание:
Метод позволяет добавить сегмент в контур.


## Clear - Очистить контур

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


## Closed - Замкнутость

Тип данных: BOOL
Значения свойства:
| TRUE | - контур замкнут, |
| --- | --- |
| FALSE | - контур разомкнут. |
Синтаксис Automation:
```
Closed = iObject.Closed;    Получить свойство(* )
iObject.Closed = Closed;    Установить свойство (* )
Closed = iObject.GetClosed();    Получить свойство (**)
iObject.SetClosed(Closed);    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Closed( &Closed )    Получить свойство
iObject->put_Closed( Closed )    Установить свойство
```
Примечание:
1. Свойство позволяет устанавливать и получать замкнутость мультилинии.
2. Если мультилиния замкнута, то контур тоже замкнут.


## CopyCurve - Добавить сегмент

Синтаксис Automation:
```
BOOL CopyCurve( LPDISPATCH Curve,
BOOL DeleteSource );
```
Синтаксис COM:
```
HRESULT CopyCurve( [in] IDrawingObject * Curve,
[in] VARIANT_BOOL DeleteSource,
[out, retval] VARIANT_BOOL* Result );
Входные параметры:
Curve    - объект для добавления в контур,
DeleteSource    - удалить исходный объект.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
```
Примечание:
После добавления сегментов в контур требуется вызов метода IDrawingObject::Update, в котором эти сегменты будут добавлены в 2D кривую. (При условии совпадения точек сегментов с точностью до 1e-3).


## CopySegments - Объекты вида для добавления в контур в виде SAFEARRAY'я DISPATCH - VT_ARRAY | VT_DISPATCH

Синтаксис Automation:
```
BOOL CopySegments( VARIANT Val,
BOOL DeleteSource );
```
Синтаксис COM:
```
HRESULT CopySegments( [in] VARIANT Val,
[in] VARIANT_BOOL DeleteSource,
[out, retval] VARIANT_BOOL * PVal );
Входные параметры:
Val    - массив SAFEARRAY типа VT_ARRAY    VT_DISPATCH, содержащий объекты вида (отрезки, дуги и т. п.) для добавления в контур,
DeleteSource    - удалить исходные объекты.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
```


## Count - Количество сегментов

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


## RemoveContourGaps - Устранить разрывы в контуре

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


## Segment - Получить сегмент

Тип данных: указатель на интерфейс IKompasAPIObject
Синтаксис Automation:
```
Segment = iObject.Segment(Index);    Получить свойство(* )
Segment = iObject.GetSegment(Index);    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Segment(Index, &Segment )    Получить свойство
```
Примечание:
1. Свойство позволяет получить интерфейс сегмента контура IContourSegment.
2. Свойство доступно только для чтения.


## TmpObjects - Временные объекты из сегментов в виде SAFEARRAY'я DISPATCH - VT_ARRAY | VT_DISPATCH

Тип данных: VARIANT
Значения свойства:
| Массив SafeArray типа VT_ARRAY | VT_DISPATCH. | |
| --- | --- |
Синтаксис Automation:
```
TmpObjects = iObject.TmpObjects;    Получить свойство(* )
TmpObjects = iObject.GetTmpObjects();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_TmpObjects( &TmpObjects )    Получить свойство
```
Примечание:
1. Свойство позволяет получить массив SAFEARRAY временных объектов, входящих в контур.
2. Свойство доступно только для чтения.


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

Интерфейс сегмента контура.
Иерархия:
IDispatch
IKompasAPIObject
IContourSegment
Описание:
Интерфейс позволяет редактировать сегмент контура.
Примечание:
1. Интерфейс можно получить у интерфейса контура с помощью свойства IContour::Segment или метода IContour::AddSegment.
2. Имеет следующие дополнительные интерфейсы, которые можно получить с помощью метода IUnknown::QueryInterface:
•IContourLineSegment,
•IContourArc.


## Curve2D - Математическая кривая

Тип данных: указатель на интерфейс математической кривой ICurve2D
Синтаксис Automation:
```
Curve2D = iObject.Curve2D();    Получить свойство(* )
Curve2D = iObject.GetCurve2D();    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Curve2D( &Curve2D )    Получить свойство
```
Примечание:
1. Свойство позволяет получить математическую кривую.
2. Свойство доступно только для чтения.


## SegmentType - Тип сегмента

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


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

Интерфейс математической кривой 2D.
Иерархия:
IDispatch
IKompasAPIObject
ICurve2D
Описание:
Позволяет создавать и редактировать математическую кривую 2D.
Примечание:
Интерфейс можно получить у интерфейса сегмента контура с помощью свойства IContourSegment::Curve2D.


## BaseCurveType - Тип базовой 2D кривой

Тип данных: из перечисления ksMathCurve2DTypeEnum
Синтаксис Automation:
```
Length = BaseCurveType()    Получить свойство(* )
Length = Object.GetBaseCurveType()    Получить свойство (**)
```
Синтаксис COM:
```
Object. get_BaseCurveType( &BaseCurveType )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия КОМПАС v22


## CalculatePolygonByStep - Выдать массив отрисовочных точек с заданной стрелкой прогиба

Синтаксис Automation:
```
VARIANT CalculatePolygonByStep( double sag );
```
Синтаксис COM:
```
HRESULT CalculatePolygonByStep( double sag,VARIANT * Result );
Входные параметры:
Sag    - максимальная величина прогиба.
Возвращаемое значение:
Массив SAFEARRAY точек VT_ARRAY    VT_R8.
```
Примечание:
Метод позволяет получить массив отрисовочных точек с заданной стрелкой прогиба.


## CouplingCurvCurv - Расчет скруглений для двух кривых

Синтаксис Automation:
```
VARIANT CouplingCurvCurv( LPDISPATCH * Curve2,
double Radius );
```
Синтаксис COM:
```
HRESULT CouplingCurvCurv( ICurve2D * Curve2,
double Radius,
VARIANT * Result );
Входные параметры:
Curve2    - указатель на интерфейс второй кривой,
Radius    - радиус скругления.
Возвращаемое значение:
- Массив SAFEARRAY структуры сопряжения VT_ARRAY    VT_R8. Данные возвращаются в следующей последовательности: • double xc, yc - координаты центра сопрягающей окружности,• double x1, y1 - координаты первой точки сопряжения,• double x2, y2 - координаты второй точки сопряжения.
```
Примечание:
Метод позволяет рассчитать скругления для двух кривых.


## CurveType - Тип 2D кривой

Тип данных: из перечисления ksMathCurve2DTypeEnum
Синтаксис Automation:
```
Length = CurveType()    Получить свойство(* )
Length = Object.GetCurveType()    Получить свойство (**)
```
Синтаксис COM:
```
Object. get_CurveType( &CurveType )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия КОМПАС v22


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

Синтаксис Automation:
```
double GetDistancePointPoint( double X1,
double Y1,
double X2,
double Y2 );
```
Синтаксис COM:
```
HRESULT GetDistancePointPoint( double X1,
double Y1,
double X2,
double Y2,
double * Result );
Входные параметры:
X1, Y1    - координаты первой точки,
X2, Y2    - координаты второй точки.
Возвращаемое значение:
- Расстояние между двумя точками.
```
Примечание:
Метод позволяет получить расстояние между двумя точками на кривой.


## GetDistanceToPoint - Получить расстояние между точкой и проекцией точки на кривую

Синтаксис Automation:
```
double GetDistanceToPoint( double X,
double Y );
```
Синтаксис COM:
```
HRESULT GetDistanceToPoint( double X,
double Y,
double * Result );
Входные параметры:
X, Y    - координаты точки.
Возвращаемое значение:
- Расстояние между точкой и ее проекцией на кривую.
```
Примечание:
Метод позволяет получить расстояние между точкой и проекцией точки на кривую.


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

Синтаксис Automation:
```
double GetMetricLength( double T1,
double T2 );
```
Синтаксис COM:
```
HRESULT GetMetricLength( double T1,
double T2,
double * Result );
Входные параметры:
Т1, Т2    - параметры кривой.
Возвращаемое значение:
- Метрическая длина кривой.
```
Примечание:
Метод позволяет получить метрическую длину кривой.


## GetNormalAngle - Получить угол нормали к кривой в заданной точке

Синтаксис Automation:
```
double GetNormalAngle( double X, double Y );
```
Синтаксис COM:
```
HRESULT GetNormalAngle( double X, double Y, double * Result );
Возвращаемое значение:
- Значение угла нормали к кривой в заданной точке.
Входные параметры:
X, Y    - координаты точки на кривой.
```
Примечание
Если точка не лежит на кривой, предварительно выполняется получение проекции точки на кривую.
КOMPAS v24


## GetNormalAngleByT - Получить угол нормали к кривой в точке заданной параметром кривой T

Синтаксис Automation:
```
double GetNormalAngleByT( double T );
```
Синтаксис COM:
```
HRESULT GetNormalAngleByT( double T, double * Result );
Возвращаемое значение:
- Значение угла нормали к кривой в точке заданной параметром кривой T.
Входные параметры:
T    - параметр кривой.
КOMPAS v24
```


## GetNurbsParams - Получить параметры в NURBS-представлении

Синтаксис Automation:
```
BOOL GetNurbsParams( BOOL UnClamped,
VARIANT * Points,
VARIANT * Weights,
VARIANT * Knots,
double * TMin,
double * TMax );
```
Синтаксис COM:
```
HRESULT GetNurbsParams( BOOL UnClamped,
VARIANT * Points,
VARIANT * Weights,
VARIANT * Knots,
double * TMin,
double * TMax,
BOOL * Result );
Входные параметры:
UnClamped    - TRUE - вернуть параметры точек для замкнутого представления, - FALSE - вернуть параметры точек для разомкнутого представления.
Выходные параметры:
Points    - SAFEARRAY координат точек VT_ARRAY    VT_R8,
Weights    - SAFEARRAY весов точек VT_ARRAY    VT_R8,
Knots    - SAFEARRAY узлов точек VT_ARRAY    VT_R8,
TMin    - минимальный параметр кривой,
TMax    - максимальный параметр кривой.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет получить параметры кривой в NURBS-представлении.


## GetNurbsParamsEx - Получить параметры в NURBS-представлении

Синтаксис Automation:
```
BOOL GetNurbsParamsEx( BOOL Closed, long * Degree, VARIANT * Points, VARIANT * Weights, VARIANT * Knots, double * TMin, double * TMax );
```
Синтаксис COM:
```
HRESULT GetNurbsParamsEx( BOOL Closed, long * Degree, VARIANT * Points, VARIANT * Weights, VARIANT * Knots, double * TMin, double * TMax, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
Входные параметры:
Closed    - признак того, что запрашивается замкнутое представление.
Выходные параметры:
Degree    - порядок сплайна (степень + 1),
Points    - массив координат вершин,
Weights    - массив весов точек,
Knots    - массив узлов сплайна,
TMin, TMax    - минимальное и максимальное значение параметра кривой.
КOMPAS v24
```


## GetPointLocation - Положение точки относительно кривой

Синтаксис Automation:
```
ksPointLocationTypeEnum GetPointLocation( double X, double Y );
```
Синтаксис COM:
```
HRESULT GetPointLocation( double X, double Y, ksPointLocationTypeEnum * Result );
Возвращаемое значение:
Result    - положение двумерной точки относительно двумерной кривой ksPointLocationTypeEnum.
Входные параметры:
X    - первая координата точки,
Y    - вторая координата точки.
```


## GetSelfIntersectPoints - Получить точки самопересечения

Синтаксис Automation:
```
VARIANT GetSelfIntersectPoints();
```
Синтаксис COM:
```
HRESULT GetSelfIntersectPoints( VARIANT * Result );
Возвращаемое значение:
- массив SAFEARRAY точек VT_ARRAY    VT_R8,
Версия КОМПАС v22
```


## GetSelfIntersectPointsEx - Получить точки самопересечения

Синтаксис Automation:
```
BOOL GetSelfIntersectPointsEx( double Epsilon, VARIANT * Points, VARIANT * T, VARIANT * IntersectForms );
```
Синтаксис COM:
```
HRESULT GetSelfIntersectPointsEx( double Epsilon, VARIANT * Points, VARIANT * T, VARIANT *IntersectForms, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
Входные параметры:
Epsilon    - погрешность вычисления.
Выходные параметры:
Points    - массив SAFEARRAY точек VT_ARRAY    VT_R8,
T    - массив SAFEARRAY параметров кривой VT_ARRAY    VT_R8,
IntersectForms    - массив SAFEARRAY типов самопересечения из перечисления ksCurvesIntersectFormEnum VT_ARRAY    VT_I4.
Версия КОМПАС v22
```


## Intersect - Пересечение двух кривых

Синтаксис Automation:
```
VARIANT Intersect( LPDISPATCH * Curve2 );
```
Синтаксис COM:
```
HRESULT Intersect( ICurve2D * Curve2,
VARIANT * Result );
Входные параметры:
Curve2    - указатель на интерфейс кривой, которая пересекает данную кривую.
Возвращаемое значение:
- Массив SAFEARRAY точек пересечений VT_ARRAY    VT_R8
```
Примечание:
Метод позволяет получить координаты точек пересечения двух кривых.


## IntersectEx - Пересечение двух кривых

Синтаксис Automation:
```
BOOL IntersectEx( ICurve2D * Curve2, double Epsilon, BOOL TouchInclude, VARIANT * Points, VARIANT * T1, VARIANT * T2, VARIANT *IntersectForms );
```
Синтаксис COM:
```
HRESULT IntersectEx( ICurve2D * Curve2, double Epsilon, BOOL TouchInclude, VARIANT * Points, VARIANT * T1, VARIANT * T2, VARIANT * IntersectForms, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
Входные параметры:
Curve2    - вторая кривая ICurve2D,
Epsilon    - погрешность вычисления,
TouchInclude    - возвращать точки касания.
Выходные параметры:
Points    - массив SAFEARRAY точек VT_ARRAY    VT_R8,
T1    - массив SAFEARRAY параметров для первой кривой VT_ARRAY    VT_R8,
T2    - массив SAFEARRAY параметров для первой кривой VT_ARRAY    VT_R8,
IntersectForms    - массив SAFEARRAY типов самопересечения из перечисления ksCurvesIntersectFormEnum VT_ARRAY    VT_I4.
Версия КОМПАС v22
```


## IsClosed - Замкнутость кривой

Тип данных: BOOL
Синтаксис Automation:
```
IsClosed = Object.IsClosed()    Получить свойство(* )
IsClosed = Object.GetIsClosed()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IsClosed( &IsClosed )    Получить свойство
```
Примечание:
1. Свойство позволяет получать признак замкнутости кривой.
2. Свойство доступно только для чтения.


## IsSelfIntersect - Самопересечение кривой

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


## Length - Длина кривой

Тип данных: double
Синтаксис Automation:
```
Length = Object.Length()    Получить свойство(* )
Length = Object.GetLength()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Length( &Length )    Получить свойство
```
Примечание:
1. Свойство позволяет получать длину кривой.
2. Свойство доступно только для чтения.


## MovePoint - Сдвинуть точку на расстояние Lenght по кривой

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


## ParamMax - Максимальный параметр

Тип данных: double
Синтаксис Automation:
```
ParamMax = Object.ParamMaxLength()    Получить свойство(* )
ParamMax = Object.GetParamMax()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ParamMax( &ParamMax )    Получить свойство
```
Примечание:
1. Свойство позволяет получать максимальный параметр кривой.
2. Свойство доступно только для чтения.


## ParamMin - Минимальный параметр

Тип данных: double
Синтаксис Automation:
```
ParamMin = Object.ParamMin()    Получить свойство(* )
ParamMin = Object.GetParamMin()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ParamMin( &ParamMin )    Получить свойство
```
Примечание:
1. Свойство позволяет получать минимальный параметр кривой.
2. Свойство доступно только для чтения.


## Periodic - Периодичность кривой

Тип данных: BOOL
Синтаксис Automation:
```
Periodic = Object.Periodic Получить свойство (*)    Получить свойство(* )
Periodic = Object.GetPeriodic() Получить свойство (**)    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Periodic( &Periodic ) Получить свойство    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
КOMPAS v24


## PointOn - Получить координаты точки по параметру t

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


## PointProjection - Проекция точки на кривую

Синтаксис Automation:
```
BOOL PointProjection( double X,
double Y,
double * Kx,
double * Ky,
double * T,
double * Angle );
```
Синтаксис COM:
```
HRESULT PointProjection( double X,
double Y,
double * Kx,
double * Ky,
double * T,
double * Angle,
BOOL * Result );
Входные параметры:
X, Y    - координаты точки.
Выходные параметры:
Kx, Ky    - координаты проекции точки,
Т    - параметр кривой,
Angle    - угол нормали.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет построить проекцию точки на кривую.


## Tangent - Касательные для двух кривых

Синтаксис Automation:
```
BOOL Tangent( LPDISPATCH * Curve2,
VARIANT * Curve1Points,
VARIANT * Curve2Points );
```
Синтаксис COM:
```
HRESULT Tangent( ICurve2D * Curve2,
VARIANT * Curve1Points,
VARIANT * Curve2Points,
BOOL * Result );
Входные параметры:
Curve2    - указатель на интерфейс второй кривой.
Выходные параметры:
Curve1Points    - массив SAFEARRAY точек на первой кривой VT_ARRAY    VT_R8,
Curve2Points    - массив SAFEARRAY точек на второй кривой VT_ARRAY    VT_R8.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет получить касательные для двух кривых.


## TangentLineAngle - Расчет касательных к кривой под заданным углом

Синтаксис Automation:
```
VARIANT TangentLineAngle( double Angle );
```
Синтаксис COM:
```
HRESULT TangentLineAngle( double Angle, VARIANT * Result );
Возвращаемое значение:
- Массив координат точек.
Входные параметры:
Angle    - угол.
КOMPAS v24
```


## TangentLinePoint - Точки касания кривой и прямой из заданной точки

Синтаксис Automation:
```
VARIANT TangentLinePoint( double X,
double Y );
```
Синтаксис COM:
```
HRESULT TangentLinePoint( double X,
double Y,
VARIANT * Result );
Входные параметры:
X, Y    - координаты точки.
Возвращаемое значение:
- Массив SAFEARRAY точек на кривой VT_ARRAY    VT_R8.
```
Примечание:
Метод позволяет получить координаты точек касания кривой и прямой из заданной точки.
