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

10 KiB
Raw Blame History

title, type, api, tags, sources
title type api tags sources
Интерфейс IPolyLine interface
api7
interface
api7
ipolyline
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.