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