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

721 lines
31 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: "Интерфейс ISpline3D"
type: interface
api: [api7]
domain: [3d]
tags: [interface, api7, 3d, ispline3d]
sources:
- ispline3d.html
---
*API интерфейсов. Версия 7 > Документ 3D  > Вспомогательные объекты, 3D-кривые и элементы тела  > 3D-кривые и элементы тела  > Интерфейс IModelObjects  > IModelObjects - свойства *
## Интерфейс ISpline3D
Интерфейс cплайна.
Иерархия:
IKompasAPIObject
IModelObject
ISpline3D
ILocalCSObject
Примечание:
1. Интерфейс можно получить у коллекции сплайнов, используя свойство ISplines3D::Spline3D или метод ISplines3D::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 - указатель на интерфейс параметров вершины ломаной.
```
## BuildingType - Способ построения
Тип данных: из перечисления ksSplineBuildingTypeEnum
Синтаксис Automation:
```
BuildingType = Object.BuildingType Получить свойство (* )
Object.BuildingType = BuildingType Установить свойство (* )
BuildingType = Object.GetBuildingType() Получить свойство (**)
Object.SetBuildingType( BuildingType ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BuildingType( &BuildingType ) Получить свойство
Object.put_BuildingType( BuildingType ) Установить свойство
Версия КОМПАС v22
```
## CenterPointAssociationObject - Точка привязки центра кривизны
Тип данных: Указатель на интерфейс IModelObject.
Синтаксис Automation:
```
CenterPointAssociationObject = Object.CenterPointAssociationObject( PointIndex ); Получить свойство (* )
Object.CenterPointAssociationObject( PointIndex ) = CenterPointAssociationObject; Установить свойство (* )
CenterPointAssociationObject = Object.GetCenterPointAssociationObject( PointIndex ); Получить свойство (**)
Object.SetCenterPointAssociationObject( PointIndex, CenterPointAssociationObject ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CenterPointAssociationObject( PointIndex, &CenterPointAssociationObject ) Получить свойство
Object.put_CenterPointAssociationObject( PointIndex, CenterPointAssociationObject ) Установить свойство
Входные параметры:
long PointIndex - индекс точки.
```
## CenterPointParams - Получение параметров точки центра кривизны
Тип данных: Указатель на интерфейс IKompasAPIObject.
Синтаксис Automation:
```
CenterPointParams = Object.CenterPointParams( PointIndex ); Получить свойство (* )
CenterPointParams = Object.GetCenterPointParams( PointIndex ); Получить свойство (**)
```
Синтаксис COM:
```
Object.get_CenterPointParams( PointIndex, &CenterPointParams ) Получить свойство
Входные параметры:
long PointIndex - индекс точки.
```
Примечание:
1. Свойство доступно только для чтения.
2. В зависимости от типа ISpline3D::CenterPointType, интерфейс параметров должен приводиться к одному из следующих вариантов:
•ksPDisplace - IPoint3DParamDisplace (интерфейс параметров пространственной точки, заданной по смещению от опорного объекта),
•ksPIntersect - IPoint3DParamIntersect (интерфейс параметров пространственной точки, заданной на пересечении опорных объектов),
•ksPCenter - IPoint3DParamCenter (интерфейс параметров пространственной точки, заданной в центре опорного объекта),
•ksPCurve - IPoint3DParamCurve (интерфейс параметров пространственной точки, заданной на кривой со смещением),
•ksPSurface - IPoint3DparamSurface (интерфейс параметров пространственной точки, заданной на поверхности),
•ksPProjection - IPoint3DParamProjection (интерфейс параметров пространственной точки, заданной проецированием).
## CenterPointType - Установить способ построения точки
Тип данных: Значение из перечисления ksPoint3DTypeEnum.
Синтаксис Automation:
```
CenterPointType = Object.CenterPointType( PointIndex ); Получить свойство (* )
Object.CenterPointType( PointIndex ) = CenterPointType; Установить свойство (* )
CenterPointType = Object.GetCenterPointType( PointIndex ); Получить свойство (**)
Object.SetCenterPointType( PointIndex, CenterPointType ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CenterPointType( PointIndex, &CenterPointType ) Получить свойство
Object.put_CenterPointType( PointIndex, CenterPointType ) Установить свойство
Входные параметры:
long PointIndex - индекс точки.
```
## ClearTangentParameters - Удалить параметры управления во всех точках
Синтаксис Automation:
```
BOOL ClearTangentParameters();
```
Синтаксис COM:
```
HRESULT ClearTangentParameters( BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
```
## 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) Установить свойство
Примечание.
Свойство позволяет получить/установить разомкнутый или замкнутый сплайн.
```
## ConstraintLimitObject - Граница
Тип данных: Указатель на интерфейс IModelObject.
Синтаксис Automation:
```
ConstraintLimitObject = Object.ConstraintLimitObject( PointIndex ); Получить свойство (* )
Object.ConstraintLimitObject( PointIndex ) = ConstraintLimitObject; Установить свойство (* )
ConstraintLimitObject = Object.GetConstraintLimitObject( PointIndex ); Получить свойство (**)
Object.SetConstraintLimitObject( PointIndex, ConstraintLimitObject ); Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ConstraintLimitObject( PointIndex, &ConstraintLimitObject ) Получить свойство
Object.put_ConstraintLimitObject( PointIndex, ConstraintLimitObject ) Установить свойство
Входные параметры:
long PointIndex - индекс точки.
```
## ConstraintObject - Объект сопряжения
Тип данных: Указатель на интерфейс IModelObject.
Синтаксис Automation:
```
ConstraintObject = Object.ConstraintObject( PointIndex ); Получить свойство (* )
Object.ConstraintObject( PointIndex ) = ConstraintObject; Установить свойство (* )
ConstraintObject = Object.GetConstraintObject( PointIndex ); Получить свойство (**)
Object.SetConstraintObject( PointIndex, ConstraintObject ); Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ConstraintObject( PointIndex, &ConstraintObject ) Получить свойство
Object.put_ConstraintObject( PointIndex, ConstraintObject ) Установить свойство
Входные параметры:
long PointIndex - индекс точки.
```
## ConstraintReverse - Противоположное направление
Тип данных: BOOL
Синтаксис Automation:
```
ConstraintReverse = Object.ConstraintReverse( PointIndex ); Получить свойство (* )
Object.ConstraintReverse( PointIndex ) = ConstraintReverse; Установить свойство (* )
ConstraintReverse = Object.GetConstraintReverse( PointIndex ); Получить свойство (**)
Object.SetConstraintReverse( PointIndex, ConstraintReverse ); Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ConstraintReverse( PointIndex, &ConstraintReverse ) Получить свойство
Object.put_ConstraintReverse( PointIndex, ConstraintReverse ) Установить свойство
Входные параметры:
long PointIndex - индекс точки.
```
## ConstraintType - Тип сопряжения в заданной вершине. Управление кривизной
Тип данных: Значение из перечисления ksNurbsByPointsPointConstraintsEnum.
Синтаксис Automation:
```
ConstraintType = Object.ConstraintType( PointIndex ); Получить свойство (* )
Object.ConstraintType( PointIndex ) = ConstraintType; Установить свойство (* )
ConstraintType = Object.GetConstraintType( PointIndex ); Получить свойство (**)
Object.SetConstraintType( PointIndex, ConstraintType ); Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ConstraintType( PointIndex, &ConstraintType ) Получить свойство
Object.put_ConstraintType( PointIndex, ConstraintType ) Установить свойство
Входные параметры:
long PointIndex - индекс точки.
```
## Curvature - Величина кривизны в указанной точке
Тип данных: double
Синтаксис Automation:
```
Curvature = Object.Curvature( PointIndex ); Получить свойство (* )
Object.Curvature( PointIndex ) = Curvature; Установить свойство (* )
Curvature = Object.GetCurvature( PointIndex ); Получить свойство (**)
Object.SetCurvature( PointIndex, Curvature ); Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Curvature( PointIndex, &Curvature ) Получить свойство
Object.put_Curvature( PointIndex, Curvature ) Установить свойство
Входные параметры:
long PointIndex - индекс точки.
```
## CurvatureRadius - Радиус кривизны
Тип данных: double
Синтаксис Automation:
```
CurvatureRadius = Object.CurvatureRadius( PointIndex ); Получить свойство (* )
Object.CurvatureRadius( PointIndex ) = CurvatureRadius; Установить свойство (* )
CurvatureRadius = Object.GetCurvatureRadius( PointIndex ); Получить свойство (**)
Object.SetCurvatureRadius( PointIndex, CurvatureRadius ); Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CurvatureRadius( PointIndex, &CurvatureRadius ) Получить свойство
Object.put_CurvatureRadius( PointIndex, CurvatureRadius ) Установить свойство
Входные параметры:
long PointIndex - индекс точки.
```
## DeleteCenterPointParams - Удалить параметры для заданной точки
Синтаксис Automation:
```
BOOL DeleteCenterPointParams( long PointIndex );
```
Синтаксис COM:
```
HRESULT DeleteCenterPointParams( long PointIndex, BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачного завершения.
Входные параметры:
PointIndex - индекс точки.
```
## DeleteVertex - Удалить вершину с указанным индексом
Синтаксис Automation:
```
BOOL DeleteVertex( long Index );
```
Синтаксис COM:
```
HRESULT DeleteVertex([in] long Index,
[out, retval] VARIANT_BOOL * Result );
Входные параметры:
Index - индекс вершины.
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
```
## DirectionVector - Направляющий вектор в точке сопряжения
Тип данных: Указатель на интерфейс IVector3D.
Синтаксис Automation:
```
DirectionVector = Object.DirectionVector( PointIndex, VectorIndex, PVal ); Получить свойство (* )
DirectionVector = Object.GetDirectionVector( PointIndex, VectorIndex, PVal ); Получить свойство (**)
```
Синтаксис COM:
```
Object.get_DirectionVector( PointIndex, VectorIndex, PVal, &DirectionVector ) Получить свойство
Входные параметры:
long PointIndex - индекс точки.
VectorIndex - cпособ создания сопряжения в заданной вершине сплайна из перечисления ksTransitionVectorIndexEnum.
```
Примечание:
Свойство доступно только для чтения.
## Flush - Очистить массив вершин
Синтаксис Automation:
```
BOOL Flush();
```
Синтаксис COM:
```
HRESULT Flush([out, retval] VARIANT_BOOL * Result);
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
```
## GetCenterPoint - Угол вектора производной в указанной точке
Синтаксис Automation:
```
BOOL GetCenterPoint( long PointIndex, double * X, double * Y, double * Z );
```
Синтаксис COM:
```
HRESULT GetCenterPoint( long PointIndex, double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачного завершения.
Входные параметры:
PointIndex - индекс точки.
Выходные параметры:
X, Y, Z - координаты точки.
```
## GetVector - Получить направление касательного вектора (в сопряжении)
Синтаксис Automation:
```
BOOL GetVector( long PointIndex, ksTransitionVectorIndexEnum VectorIndex, double * X, double * Y, double * Z );
```
Синтаксис COM:
```
HRESULT GetVector( long PointIndex, ksTransitionVectorIndexEnum VectorIndex, double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачного завершения.
Входные параметры:
PointIndex - индекс точки,
VectorIndex - cпособ создания сопряжения в заданной вершине сплайна из перечисления ksTransitionVectorIndexEnum.
Выходные параметры:
X, Y, Z - координаты направления вектора.
```
## GetVertexCoordinatesArray - Получить массив координат и весов вершин в виде SAFEARRAY double - VT_ARRAY | VT_R8
Синтаксис Automation:
```
BOOL GetVertexCoordinatesArray( VARIANT * Coordinates,
VARIANT * Weights );
```
Синтаксис COM:
```
HRESULT GetVertexCoordinatesArray([out] VARIANT * Coordinates,
[out] VARIANT * Weights,
[out, retval] VARIANT_BOOL * Result);
Входные параметры:
Coordinates - массив SafeArray типа VT_ARRAY VT_R8 координат точек всех вершин,
Weights - массив SafeArray типа VT_ARRAY VT_R8 весов каждой из всех вершин.
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Примечание.
1. Параметры Coordinates и Weights не являются обязательными. В функцию достаточно передать один из указателей на VARIANT.
2. Массивы являются согласованными:
Координаты точек в массиве Coordinates лежат в следующей последовательности:
x0, y0, z0, x1, y1, z1 ...xi, yi, zi,
Веса точек в массиве Weights лежат в последовательности:
weight0, weight1, ...weighti.
```
## InvertVector - Сменить направление касательного вектора на обратное (в сопряжении)
Синтаксис Automation:
```
BOOL InvertVector( long PointIndex, ksTransitionVectorIndexEnum VectorIndex );
```
Синтаксис COM:
```
HRESULT InvertVector( long PointIndex, ksTransitionVectorIndexEnum VectorIndex, BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачного завершения.
Входные параметры:
PointIndex - индекс точки,
VectorIndex - cпособ создания сопряжения в заданной вершине сплайна из перечисления ksTransitionVectorIndexEnum.
```
## Knots - Массив SAFEARRAY узлов кривой NURBS
Синтаксис Automation:
```
Knots = Object.Knots Получить свойство (* )
Object.Knots = Knots Установить свойство (* )
Knots = Object.GetKnots() Получить свойство (**)
Object.SetKnots( Knots ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Knots( &Knots ) Получить свойство
Object.put_Knots( Knots ) Установить свойство
Свойство позволяет получить и изменить узлы кривой NURBS.
```
## ReadFromFile - Прочитать параметры вершин из текстового файла
Синтаксис Automation:
```
BOOL ReadFromFile( BSTR fileName );
```
Синтаксис COM:
```
HRESULT ReadFromFile( [in] BSTR fileName,
[out, retval] VARIANT_BOOL * Result);
Входные параметры:
fileName - имя файла.
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Примечание.
См. также ISpline3D::WriteToFile.
```
## Reverse - Противоположное направление
Тип данных: BOOL
Синтаксис Automation:
```
Reverse = Object.Reverse( Index ) Получить свойство (* )
Object.Reverse( Index ) = Reverse Установить свойство (* )
Reverse = Object.GetReverse( Index ) Получить свойство (**)
Object.SetReverse( Index, Reverse ) Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Reverse( Index, &Reverse ) Получить свойство
Object.put_Reverse( Index, Reverse ) Установить свойство
Входные параметры:
Index - индекс касательного вектора.
```
## SetCenterPoint - Угол вектора производной в указанной точке
Синтаксис Automation:
```
BOOL SetCenterPoint( long PointIndex, double X, double Y, double Z );
```
Синтаксис COM:
```
HRESULT SetCenterPoint( long PointIndex, double X, double Y, double Z, BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачного завершения.
Входные параметры:
PointIndex - индекс точки,
X, Y, Z - координаты точки.
```
## SetVector - Установить направление касательного вектора
Синтаксис Automation:
```
BOOL SetVector( long PointIndex, ksTransitionVectorIndexEnum VectorIndex, double X, double Y, double Z );
```
Синтаксис COM:
```
HRESULT SetVector( long PointIndex, ksTransitionVectorIndexEnum VectorIndex, double X, double Y, double Z, BOOL * Result );
Возвращаемое значение:
TRUE - в случае удачного завершения.
Входные параметры:
PointIndex - индекс точки,
VectorIndex - cпособ создания сопряжения в заданной вершине сплайна из перечисления ksTransitionVectorIndexEnum.
X, Y, Z - координаты направления вектора.
```
## SplineOnPoles - Тип построения
Тип данных: BOOL
Значения свойства:
| TRUE | - сплайн по полюсам, |
| --- | --- |
| FALSE | - сплайн по точкам. |
Синтаксис Automation:
```
SplineOnPoles = iObject.SplineOnPoles; Получить свойство (* )
iObject.SplineOnPoles = SplineOnPoles; Установить свойство (* )
SplineOnPoles = iObject.GetSplineOnPoles(); Получить свойство (**)
iObject.SetSplineOnPoles(SplineOnPoles); Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_SplineOnPoles (&SplineOnPoles) Получить свойство
iObject->put_SplineOnPoles (SplineOnPoles) Установить свойство
Примечание.
Свойство позволяет получить/установить сплайн по точкам/полюсам.
```
## SplineOrder - Порядок сплайна
Тип данных: long
Значения свойства:
| TRUE | - сплайн по полюсам, |
| --- | --- |
| FALSE | - сплайн по точкам. |
Синтаксис Automation:
```
SplineOrder = iObject.SplineOrder; Получить свойство (* )
iObject.SplineOrder = SplineOrder; Установить свойство (* )
SplineOrder = iObject.GetSplineOrder(); Получить свойство (**)
iObject.SetSplineOrder(SplineOrder); Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_SplineOrder (&SplineOrder) Получить свойство
iObject->put_SplineOrder (SplineOrder) Установить свойство
Примечание.
Свойство позволяет получить/установить порядок сплайна. Значение порядка кривой должно принадлежать диапазону 3 ... 10.
```
## SplineTransitionType - Способ создания сопряжения в заданной вершине
Тип данных: Значение из перечисления ksSplineTransitionTypeEnum.
Синтаксис Automation:
```
SplineTransitionType = Object.SplineTransitionType( PointIndex ); Получить свойство (* )
Object.SplineTransitionType( PointIndex ) = SplineTransitionType; Установить свойство (* )
SplineTransitionType = Object.GetSplineTransitionType( PointIndex ); Получить свойство (**)
Object.SetSplineTransitionType( PointIndex, SplineTransitionType ); Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SplineTransitionType( PointIndex, &SplineTransitionType ) Получить свойство
Object.put_SplineTransitionType( PointIndex, SplineTransitionType ) Установить свойство
Входные параметры:
long PointIndex - индекс точки.
```
## TangentVectorLenght - Длина касательного вектора
Тип данных: double
Синтаксис Automation:
```
TangentVectorLenght = Object.TangentVectorLenght( PointIndex ); Получить свойство (* )
Object.TangentVectorLenght( PointIndex ) = TangentVectorLenght; Установить свойство (* )
TangentVectorLenght = Object.GetTangentVectorLenght( PointIndex ); Получить свойство (**)
Object.SetTangentVectorLenght( PointIndex, TangentVectorLenght ); Установить свойство (**)
```
Синтаксис COM:
```
Object.get_TangentVectorLenght( PointIndex, &TangentVectorLenght ) Получить свойство
Object.put_TangentVectorLenght( PointIndex, TangentVectorLenght ) Установить свойство
Входные параметры:
long PointIndex - индекс точки.
```
## VectorDirectionObject - Направляющий объект вектора в точке сопряжения
Тип данных: Указатель на интерфейс IModelObject.
Синтаксис Automation:
```
VectorDirectionObject = Object.VectorDirectionObject( PointIndex, VectorIndex ); Получить свойство (* )
Object.VectorDirectionObject( PointIndex, VectorIndex ) = VectorDirectionObject; Установить свойство (* )
VectorDirectionObject = Object.GetVectorDirectionObject( PointIndex, VectorIndex ); Получить свойство (**)
Object.SetVectorDirectionObject( PointIndex, VectorIndex, VectorDirectionObject ); Установить свойство (**)
```
Синтаксис COM:
```
Object.get_VectorDirectionObject( PointIndex, VectorIndex, &VectorDirectionObject ) Получить свойство
Object.put_VectorDirectionObject( PointIndex, VectorIndex, VectorDirectionObject ) Установить свойство
Входные параметры:
long PointIndex - индекс точки.
VectorIndex - cпособ создания сопряжения в заданной вершине сплайна из перечисления ksTransitionVectorIndexEnum.
```
## VectorOrientation - Направление вектора в точке сопряжения
Тип данных: BOOL
Синтаксис Automation:
```
VectorOrientation = Object.VectorOrientation( PointIndex, VectorIndex ); Получить свойство (* )
Object.VectorOrientation( PointIndex, VectorIndex ) = VectorOrientation; Установить свойство (* )
VectorOrientation = Object.GetVectorOrientation( PointIndex, VectorIndex ); Получить свойство (**)
Object.SetVectorOrientation( PointIndex, VectorIndex, VectorOrientation ); Установить свойство (**)
```
Синтаксис COM:
```
Object.get_VectorOrientation( PointIndex, VectorIndex, &VectorOrientation ) Получить свойство
Object.put_VectorOrientation( PointIndex, VectorIndex, VectorOrientation ) Установить свойство
Входные параметры:
long PointIndex - индекс точки.
VectorIndex - cпособ создания сопряжения в заданной вершине сплайна из перечисления ksTransitionVectorIndexEnum.
В Компас 18.1 удалены свойства:
•SplineTangent
•TangentCurve
•VectorLenght
```
## 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.
```
## WriteToFile - Записать параметры вершин в текстовый файл
Синтаксис Automation:
```
BOOL WriteToFile( BSTR fileName );
```
Синтаксис COM:
```
HRESULT WriteToFile( [in] BSTR fileName,
[out, retval] VARIANT_BOOL * Result);
Входные параметры:
fileName - имя файла.
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
Примечание.
См. также ISpline3D::ReadFromFile.
В Компас 18.1 удалены методы:
•SetTangentVector
•GetTangentVector
•Invert
```