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

464 lines
16 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.
---
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 ) Получить свойство
```
Примечание:
Свойство доступно только для чтения.