Files
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

16 KiB

title, type, api, tags, sources
title type api tags sources
Интерфейс ISplineOnSurface interface
api7
interface
api7
isplineonsurface
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 )    Получить свойство

Примечание: Свойство доступно только для чтения.