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>
10 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|
| Интерфейс IPolyLine | interface |
|
|
|
*API интерфейсов. Версия 7 > Документ 3D > Вспомогательные объекты, 3D-кривые и элементы тела > 3D-кривые и элементы тела > Интерфейс IModelObjects > IModelObjects - свойства *
Интерфейс IPolyLine
Интерфейс пространственной ломаной. Иерархия: IKompasAPIObject IModelObject IPolyLine ILocalCSObject Примечание:
- Интерфейс можно получить у коллекции пространственных ломаных, используя свойство IPolyLines::PolyLine или метод IPolyLines::Add.
- После задания параметров объекта требуется вызвать метод IModelObject::Update.
- С помощью метода 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.