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>
464 lines
16 KiB
Markdown
464 lines
16 KiB
Markdown
---
|
||
title: "Интерфейс ISplineOnSurface"
|
||
type: interface
|
||
api: [api7]
|
||
tags: [interface, api7, isplineonsurface]
|
||
sources:
|
||
- isplineonsurface.html
|
||
---
|
||
|
||
*API интерфейсов. Версия 7 > Документ 3D > Вспомогательные объекты, 3D-кривые и элементы тела > 3D-кривые и элементы тела > Интерфейс IModelObjects > IModelObjects - свойства *
|
||
|
||
|
||
## Интерфейс ISplineOnSurface
|
||
|
||
Сплайн на поверхности.
|
||
Иерархия:
|
||
IDispatch
|
||
IKompasAPIObject
|
||
IModelObject
|
||
ISplineOnSurface
|
||
Примечание:
|
||
Интерфейс можно получить у коллекции сплайнов по поверхностям с помощью свойства ISplinesOnSurfaces::SplineOnSurface и метода ISplinesOnSurfaces::Add.
|
||
|
||
|
||
## AddPoint - Создание новой вершины
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL AddPoint( long IndexAt, double X, double Y, double Z, double W, IModelObject * AssociationObject );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT AddPoint( long IndexAt, double X, double Y, double Z, double W, IModelObject * AssociationObject, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
IndexAt - индекс вершины,
|
||
X - координата по X,
|
||
Y - координата по Y,
|
||
Z - координата по Z
|
||
W - вес,
|
||
AssociationObject - ассоциативная вершина.
|
||
```
|
||
|
||
|
||
## AddVertex - Создание новой вершины
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL AddVertex( long IndexAt,
|
||
double U,
|
||
double V,
|
||
double W,
|
||
IModelObject * AssociationObject );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT AddVertex( long IndexAt,
|
||
double U,
|
||
double V,
|
||
double W,
|
||
IModelObject * AssociationObject,
|
||
BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
IndexAt - индекс вершины, перед которой нужно добавить новую,
|
||
U - координата по U в %,
|
||
V - координата по V в %,
|
||
W - вес,
|
||
AssociationObject - ассоциативная вершина.
|
||
```
|
||
|
||
|
||
## AssociationObject - Установить опорный объект для вершины
|
||
|
||
Тип данных: Указатель на интерфейс IModelObject
|
||
Синтаксис Automation:
|
||
```
|
||
AssociationObject = Object.AssociationObject( Index ) Получить свойство (* )
|
||
Object.AssociationObject( Index ) = AssociationObject Установить свойство (* )
|
||
AssociationObject = Object.GetAssociationObject( Index ) Получить свойство (**)
|
||
Object.SetAssociationObject( Index, AssociationObject ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_AssociationObject( Index, &AssociationObject ) Получить свойство
|
||
Object.put_AssociationObject( Index, AssociationObject ) Установить свойство
|
||
Входные параметры:
|
||
long Index - индекс вершины.
|
||
```
|
||
|
||
|
||
## Clear - Очистить массив вершин
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL Clear();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT Clear( BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
|
||
|
||
## ClearTangentParameters - Удалить параметры управления во всех точках
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ClearTangentParameters();
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT ClearTangentParameters( BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
|
||
|
||
## Closed - Замкнутость
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
Closed = Object.Closed Получить свойство (* )
|
||
Object.Closed = Closed Установить свойство (* )
|
||
Closed = Object.GetClosed() Получить свойство (**)
|
||
Object.SetClosed( Closed ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_Closed( &Closed ) Получить свойство
|
||
Object.put_Closed( Closed ) Установить свойство
|
||
```
|
||
|
||
|
||
## DeleteVertex - Удалить вершину с указанным индексом
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL DeleteVertex( long Index );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT DeleteVertex( long Index, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
Index - индекс вершины.
|
||
```
|
||
|
||
|
||
## GetPoint - Получить координаты и вес вершины
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetPoint( long Index, double * X, double * Y, double * Z, double * W );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetPoint( long Index, double * X, double * Y, double * Z, double * W, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
Index - индекс вершины.
|
||
Выходные параметры:
|
||
X - координата по X,
|
||
Y - координата по Y,
|
||
Z - координата по Z,
|
||
W - вес.
|
||
```
|
||
|
||
|
||
## GetTangentVector - Получить направление касательного вектора
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetTangentVector( long Index, double * X, double * Y, double * Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetTangentVector( long Index, double * X, double * Y, double * Z, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
Index - индекс вершины.
|
||
Выходные параметры:
|
||
X - координата по X,
|
||
Y - координата по Y,
|
||
Z - координата по Z.
|
||
```
|
||
|
||
|
||
## GetVertex - Получить координаты UV и вес вершины
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetVertex( long Index, double * U, double * V, double * W );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetVertex( long Index, double * U, double * V, double * W, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
Index - индекс вершины.
|
||
Выходные параметры:
|
||
U - координата по U в %,
|
||
V - координата по V в %,
|
||
W - вес.
|
||
```
|
||
|
||
|
||
## GetVertexParams - Массив параметров UV и весов вершин в виде SAFEARRAY double - VT_ARRAY | VT_R8
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetVertexParams( VARIANT * UV, VARIANT * Points, VARIANT * Weights );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetVertexParams( VARIANT * UV, VARIANT * Points, VARIANT * Weights, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Выходные параметры:
|
||
UV - массив VT_ARRAY VT_R8 параметров UV,
|
||
Points - массив VT_ARRAY VT_R8 координат вершин,
|
||
Weights - массив VT_ARRAY VT_R8 весов вершин.
|
||
```
|
||
|
||
|
||
## Invert - Сменить направление касательного вектора на обратное
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL Invert( long Index );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT Invert( long Index, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
Index - индекс вершины.
|
||
```
|
||
|
||
|
||
## 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_Reverset( Index, Reverse ) Установить свойство
|
||
Входные параметры:
|
||
long Index - индекс вершины.
|
||
Свойство позволяет устанавливать и получать признак того, что направление изменено на противоположное.
|
||
```
|
||
|
||
|
||
## SetPoint - Установить координаты и вес вершины
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetPoint( long Index, double X, double Y, double Z, double W );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetPoint( long Index, double X, double Y, double Z, double W, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
X - координата по X,
|
||
Y - координата по Y,
|
||
Z - координата по Z,
|
||
W - вес.
|
||
```
|
||
|
||
|
||
## SetTangentVector - Установить направление касательного вектора
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetTangentVector( long Index, double X, double Y, double Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetTangentVector( long Index, double X, double Y, double Z, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
Index - индекс вершины,
|
||
X - координата по X,
|
||
Y - координата по Y,
|
||
Z - координата по Z.
|
||
```
|
||
|
||
|
||
## SetVertex - Установить координаты UV и вес вершины
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL SetVertex( long Index, double U, double V, double W );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT SetVertex( long Index, double U, double V, double W, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
Index - индекс вершины,
|
||
U - координата по U в %,
|
||
V - координата по V в %,
|
||
W - вес.
|
||
```
|
||
|
||
|
||
## SplineOnPoles - Тип построения
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
SplineOnPoles = Object.SplineOnPoles Получить свойство (* )
|
||
Object.SplineOnPoles = SplineOnPoles Установить свойство (* )
|
||
SplineOnPoles = Object.GetSplineOnPoles() Получить свойство (**)
|
||
Object.SetSplineOnPoles( SplineOnPoles ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_SplineOnPoles( &SplineOnPoles ) Получить свойство
|
||
Object.put_SplineOnPoles( SplineOnPoles ) Установить свойство
|
||
TRUE - по полюсам
|
||
FALSE - по точкам.
|
||
```
|
||
|
||
|
||
## SplineOrder - Порядок сплайна
|
||
|
||
Тип данных: long
|
||
Синтаксис Automation:
|
||
```
|
||
SplineOrder = Object.SplineOrder Получить свойство (* )
|
||
Object.SplineOrder = SplineOrder Установить свойство (* )
|
||
SplineOrder = Object.GetSplineOrder() Получить свойство (**)
|
||
Object.SetSplineOrder( SplineOrder ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_SplineOrder( &SplineOrder ) Получить свойство
|
||
Object.put_SplineOrder( SplineOrder ) Установить свойство
|
||
```
|
||
|
||
|
||
## SplineTangent - Тип касательного вектора в вершине
|
||
|
||
Тип данных: из перечисления ksSplineTangentEnum
|
||
Синтаксис Automation:
|
||
```
|
||
SplineTangent = Object.SplineTangent( Index ) Получить свойство (* )
|
||
Object.SplineTangent( Index ) = SplineTangent Установить свойство (* )
|
||
SplineTangent = Object.GetSplineTangent( Index ) Получить свойство (**)
|
||
Object.SetSplineTangent( Index, SplineTangent ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_SplineTangent( Index, &SplineTangent ) Получить свойство
|
||
Object.put_SplineTangent( Index, SplineTangent ) Установить свойство
|
||
Входные параметры:
|
||
long Index - индекс вершины.
|
||
```
|
||
|
||
|
||
## SurfaceObject - Установить поверхность
|
||
|
||
Тип данных: Указатель на интерфейс IModelObject
|
||
Синтаксис Automation:
|
||
```
|
||
SurfaceObject = Object.SurfaceObject Получить свойство (* )
|
||
Object.SurfaceObject = SurfaceObject Установить свойство (* )
|
||
SurfaceObject = Object.GetSurfaceObject() Получить свойство (**)
|
||
Object.SetSurfaceObject( SurfaceObject ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_SurfaceObject( &SurfaceObject ) Получить свойство
|
||
Object.put_SurfaceObject( SurfaceObject ) Установить свойство
|
||
```
|
||
|
||
|
||
## TangentCurve - Касательная кривая
|
||
|
||
Тип данных: Указатель на интерфейс IModelObject
|
||
Синтаксис Automation:
|
||
```
|
||
TangentCurve = Object.TangentCurve( Index ) Получить свойство (* )
|
||
Object.TangentCurve( Index ) = TangentCurve Установить свойство (* )
|
||
TangentCurve = Object.GetTangentCurve( Index ) Получить свойство (**)
|
||
Object.SetTangentCurve( Index, TangentCurve ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_TangentCurve( Index, &TangentCurve ) Получить свойство
|
||
Object.put_TangentCurve( Index, TangentCurve ) Установить свойство
|
||
Входные параметры:
|
||
long Index - индекс вершины.
|
||
```
|
||
|
||
|
||
## VectorLenght - Длина вектора
|
||
|
||
Тип данных: double
|
||
Синтаксис Automation:
|
||
```
|
||
VectorLenght = Object.VectorLenght( Index ) Получить свойство (* )
|
||
Object.VectorLenght( Index ) = VectorLenght Установить свойство (* )
|
||
VectorLenght = Object.GetVectorLenght( Index ) Получить свойство (**)
|
||
Object.SetVectorLenght( Index, VectorLenght ) Установить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_VectorLenght( Index, &VectorLenght ) Получить свойство
|
||
Object.put_VectorLenght( Index, VectorLenght ) Установить свойство
|
||
Входные параметры:
|
||
long Index - индекс вершины.
|
||
```
|
||
|
||
|
||
## VertexCount - Получить количество вершин
|
||
|
||
Тип данных: long
|
||
Синтаксис Automation:
|
||
```
|
||
VertexCount = Object.VertexCount Получить свойство (* )
|
||
VertexCount = Object.GetVertexCount() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_VertexCount( &VertexCount ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|