---
title: "Ломаная ( Интерфейсы ksPolyLineDefinition и IPolygonalLineDefinition)"
type: interface
api: [api7]
domain: [2d]
tags: [interface, api7, 2d, kspolylinedefinition]
sources:
  - kspolylinedefinition.html
---

*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Объект модели (Интерфейсы ksEntity и IEntity)  > Интерфейсы ksEntity и iEntity - Интерфейс элемента модели (оси, плоскости, формообразующего элемента)  > Интерфейсы пространственных кривых *


## Ломаная ( Интерфейсы ksPolyLineDefinition и IPolygonalLineDefinition)

Интерфейс параметров ломаной.
| ksPolyLineDefinition | - интерфейс Automation |
| --- | --- |
| IPolygonalLineDefinition | - интерфейс COM |
Примечание:
Интерфейс может быть получен от интерфейса ksEntity или IEntity с помощью метода ksEntity::GetDefinition или IEntity::GetDefinition и последующим приведением объекта типа IDispatch или IUnknown к интерфейсу типа ksPolyLineDefinition или IPolygonalLineDefinition соответственно.


## AddPointWithParams - Создать новую вершину

Синтаксис Automation:
```
LPDISPATCH AddPointWithParams( int index );
```
Синтаксис COM:
```
LPPOLYGONALLINEVERTEXPARAM AddPointWithParams( int index );
Входные параметры:
index    - индекс новой вершины.
Возвращаемое значение:
- указатель на интерфейс параметров вершины ломаной IPolygonalLineVertexParam или ksPolyLineVertexParam,
```
Примечание:
Если индекс равен-1, вершина добавляется в конец.


## AddVertex - Добавить вершину

Синтаксис Automation:
```
BOOL AddVertex (double x,
double y,
double z,
double radius);
```
Синтаксис COM:
```
BOOL AddVertex (double x,
double y,
double z,
double radius);
Входные параметры:
X    - x координата вершины,
Y    - y координата вершины,
Z    - z координата вершины,
Radius    - радиус скругления в вершине.
Возвращаемое значение:
TRUE    - в случае успешного завершения.
```


## Closed - Признак замкнутости ломаной

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


## DeleteVertex - Удалить вершину с указанным индексом

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


## EdgeCollection - Получить массив ребер

Синтаксис Automation:
```
LPDISPATCH EdgeCollection();
```
Синтаксис COM:
```
LPEDGECOLLECTION EdgeCollection();
Возвращаемое значение:
Указатель на интерфейс ksEdgeCollection или IEdgeCollection,    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Ребра в коллекции лежат по порядку следования в ломаной.


## Flush - Очистить массив вершин ломаной

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


## GetCountVertex - Получить количество вершин ломаной

Синтаксис Automation:
```
long GetCountVertex();
```
Синтаксис COM:
```
long GetCountVertex();
Возвращаемое значение:
- Количество вершин.
```


## GetCurve3D - Получить указатель на интерфейс математической кривой

Синтаксис Automation:
```
LPDISPATCH GetCurve3D();
```
Синтаксис COM:
```
LPCURVE3D GetCurve3D();
Возвращаемое значение:
- интерфейс математической кривой ksCurve3D или ICurve3D.
```


## GetParamVertex - Получить параметры вершины с указанным индексом

Синтаксис Automation:
```
BOOL GetParamVertex (long index,
double* x,
double* y,
double* z,
double* radius);
```
Синтаксис COM:
```
BOOL GetParamVertex (long index,
double* x,
double* y,
double* z,
double* radius);
Входной параметр:
Index    - индекс вершины в массиве.
Выходные параметры:
X    - x координата вершины,
Y    - y координата вершины,
Z    - z координата вершины,
Radius    - радиус скругления в вершине.
Возвращаемое значение:
TRUE    - в случае успешного завершения.
```


## GetPointParams - Получить параметры вершины ломаной

Синтаксис Automation:
```
LPDISPATCH GetPointParams( int index );
```
Синтаксис COM:
```
LPPOLYGONALLINEVERTEXPARAM GetPointParams( int index );
Входные параметры:
index    - индекс вершины.
Возвращаемое значение:
- указатель на интерфейс параметров вершины ломаной IPolygonalLineVertexParam или ksPolyLineVertexParam,
```


## InsertVertex - Вставить вершину перед указанной

Синтаксис Automation:
```
BOOL InsertVertex (long index,
double x,
double y,
double z,
double radius);
```
Синтаксис COM:
```
BOOL InsertVertex (long index,
double x,
double y,
double z,
double radius);
Входные параметры:
Index    - индекс вершины в массиве,
X    - x координата вершины,
Y    - y координата вершины,
Z    - z координата вершины,
Radius    - радиус скругления в вершине.
Возвращаемое значение:
TRUE    - в случае успешного завершения.
```


## ReadFromFile - Прочитать параметры вершин из текстового файла

Синтаксис Automation:
```
BOOL ReadFromFile (BSTR fileName);
```
Синтаксис COM:
```
BOOL ReadFromFile (LPOLESTR fileName);
Входной параметр:
fileName    - имя файла.
Возвращаемое значение:
TRUE    - в случае успешного завершения.
```
Примечание:
См. также WriteToFile


## VertexVisible - Признак отображения свободных вершин

Тип данных: BOOL
Синтаксис:
```
vertexVisible = Object.vertexVisible    Получить свойство (* )
Object.vertexVisible = vertexVisible    Установить свойство(* )
vertexVisible = Object.GetVertexVisible()    Получить свойство (**)
Object.SetVertexVisible( vertexVisible )    Установить свойство (**)
```


## WriteToFile - Записать параметры вершин в текстовый файл

Синтаксис Automation:
```
BOOL WriteToFile (LPCTSTR fileName);
```
Синтаксис COM:
```
BOOL WriteToFile (LPOLESTR fileName);
Входной параметр:
fileName    - имя файла.
Возвращаемое значение:
TRUE    - в случае успешного завершения.
```
Примечание:
См. также ReadFromFile
