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>
16 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|
| Интерфейс ISplineOnSurface | interface |
|
|
|
*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 ) Получить свойство
Примечание: Свойство доступно только для чтения.