Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/kspolylinedefinition.md
T
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK
и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало
docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор
tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается.

- .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным
  (safety-net на случай повторной локальной выгрузки).
- CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 20:00:05 +03:00

282 lines
8.7 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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