Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/ipolyline.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

276 lines
10 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.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Интерфейс IPolyLine"
type: interface
api: [api7]
tags: [interface, api7, ipolyline]
sources:
- ipolyline.html
---
*API интерфейсов. Версия 7 > Документ 3D  > Вспомогательные объекты, 3D-кривые и элементы тела  > 3D-кривые и элементы тела  > Интерфейс IModelObjects  > IModelObjects - свойства *
## Интерфейс IPolyLine
Интерфейс пространственной ломаной.
Иерархия:
IKompasAPIObject
IModelObject
IPolyLine
ILocalCSObject
Примечание:
1. Интерфейс можно получить у коллекции пространственных ломаных, используя свойство IPolyLines::PolyLine или метод IPolyLines::Add.
2. После задания параметров объекта требуется вызвать метод IModelObject::Update.
3. С помощью метода IUnknown::QueryInterface у интерфейса можно получить интерфейс подчиненного объекта ЛСК ILocalCSObject.
## AddVertex - Создать новую вершину
Синтаксис Automation:
```
LPDISPATCH AddVertex( long Index );
```
Синтаксис COM:
```
HRESULT AddVertex( [in] long Index,
[out, retval] ICurveVertexParam ** Result);
Возвращаемое значение:
ICurveVertexParam - указатель на интерфейс параметров вершины ломаной.
```
## 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) Установить свойство
Примечание.
Свойство позволяет получить/установить разомкнутую или замкнутую ломаную.
```
## DeleteVertex - Удалить вершину с указанным индексом
Синтаксис Automation:
```
BOOL DeleteVertex( long Index );
```
Синтаксис COM:
```
HRESULT DeleteVertex([in] long Index,
[out, retval] VARIANT_BOOL * Result );
Входные параметры:
Index - индекс вершины.
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
```
## Edges - Массив ребер 3D ломаной
Тип данных: VARIANT
Синтаксис Automation:
```
Edges = iObject.Edges; Получить свойство (* )
iObject.Edges = Edges; Установить свойство (* )
Edges = iObject.GetEdges(); Получить свойство (**)
iObject.SetEdges( Edges ); Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Edges( &Edges ); Получить свойство
iObject->put_Edges( Edges ); Установить свойство
Примечание.
Свойство позволяет получать массив ребер 3D ломаной. Массив возвращается в виде массива SAFEARRAY рёбер LPDISPATCH (VT_ARRAY | VT_DISPATCH).
```
## ErrorIndexes - Массив не скругленных вершин SAFEARRAY - VT_ARRAY | VT_I4
Тип данных: VARIANT
Синтаксис Automation:
```
ErrorIndexes = Object.ErrorIndexes; Получить свойство (* )
ErrorIndexes = Object.GetErrorIndexes(); Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ErrorIndexes( &ErrorIndexes ) Получить свойство
Примечание.
Свойство доступно только для чтения.
```
## Flush - Очистить массив вершин
Синтаксис Automation:
```
BOOL Flush();
```
Синтаксис COM:
```
HRESULT Flush([out, retval] VARIANT_BOOL * Result);
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
```
## GetVertexCoordinatesArray - Получить массив координат и радиусов вершин в виде SAFEARRAY double - VT_ARRAY | VT_R8
Синтаксис Automation:
```
BOOL GetVertexCoordinatesArray( VARIANT * Coordinates,
VARIANT * Radiuses );
```
Синтаксис COM:
```
HRESULT GetVertexCoordinatesArray([out] VARIANT * Coordinates,
[out] VARIANT * Radiuses,
[out, retval] VARIANT_BOOL * Result);
Входные параметры:
Coordinates - массив SafeArray типа VT_ARRAY VT_R8 координат точек всех вершин,
Radiuses - массив SafeArray типа VT_ARRAY VT_R8 радиусов при вершинах кривой.
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Примечание.
1. Параметры Coordinates и Radiuses не являются обязательными. В функцию достаточно передать один из указателей на VARIANT.
2. Массивы являются согласованными:
Координаты точек в массиве Coordinates лежат в следующей последовательности:
x0, y0, z0, x1, y1, z1 ...xi, yi, zi,
Радиусы при вершинах кривой в массиве Radiuses лежат в последовательности:
radius0, radius1, ...radiusi.
```
## ReadFromFile - Прочитать параметры вершин из текстового файла
Синтаксис Automation:
```
BOOL ReadFromFile( BSTR fileName );
```
Синтаксис COM:
```
HRESULT ReadFromFile( [in] BSTR fileName,
[out, retval] VARIANT_BOOL * Result);
Входные параметры:
fileName - имя файла.
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Примечание.
См. также IPolyLine::WriteToFile.
```
## VertexCount - Количество вершин
Тип данных: long
Синтаксис Automation:
```
VertexCount = iObject.VertexCount; Получить свойство (* )
VertexCount = iObject.GetVertexCount( ); Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_VertexCount( &VertexCount ) Получить свойство
Примечание.
Свойство доступно только для чтения.
```
## VertexParams - Параметры вершины ломаной
Тип данных: указатель на интерфейс параметров вершины ломанной ICurveVertexParam
Синтаксис Automation:
```
VertexParams = iObject.VertexParams( Index ); Получить свойство (* )
VertexParams = iObject.GetVertexParams( Index ); Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_VertexParams( Index, &VertexParams ) Получить свойство
Входные параметры:
Index - индекс вершины.
Примечание.
Свойство доступно только для чтения.
```
## VertexParamsArray - Массив параметров вершин в виде SAFEARRAY DISPATCH - VT_ARRAY | VT_DISPATCH
Тип данных: VARIANT
Значения свойства:
| Массив SafeArray типа VT_ARRAY | VT_DISPATCH. | |
| --- | --- |
Синтаксис Automation:
```
VertexParamsArray = iObject.VertexParamsArray; Получить свойство (* )
VertexParamsArray = iObject.GetVertexParamsArray(); Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_VertexParamsArray( &VertexParamsArray ) Получить свойство
Примечание.
1. Свойство доступно только для чтения.
2. Свойство позволяет получить массив SAFEARRAY параметров всех вершин. Массив VT_DISPATCH, которые можно преобразовать в интерфейсы ICurveVertexParam.
```
## VertexVisible - Видимость свободных вершин 3D ломаной
Тип данных: BOOL
Значения свойства:
| TRUE | - вершины видимые, |
| --- | --- |
| FALSE | - вершины невидимые. |
Синтаксис Automation:
```
VertexVisible = iObject.VertexVisible; Получить свойство (* )
iObject.VertexVisible = VertexVisible; Установить свойство (* )
VertexVisible = iObject.GetVertexVisible(); Получить свойство (**)
iObject.SetVertexVisible(VertexVisible); Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_VertexVisible (&VertexVisible) Получить свойство
iObject->put_VertexVisible (VertexVisible) Установить свойство
Примечание.
Свойство позволяет получить/установить видимость свободных вершин 3D ломаной.
```
## WriteToFile - Записать параметры вершин в текстовый файл
Синтаксис Automation:
```
BOOL WriteToFile( BSTR fileName );
```
Синтаксис COM:
```
HRESULT WriteToFile( [in] BSTR fileName,
[out, retval] VARIANT_BOOL * Result);
Входные параметры:
fileName - имя файла.
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Примечание.
См. также IPolyLine::ReadFromFile.
```