e1337e4016
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>
276 lines
10 KiB
Markdown
276 lines
10 KiB
Markdown
---
|
||
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.
|
||
```
|