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>
721 lines
31 KiB
Markdown
721 lines
31 KiB
Markdown
---
|
||
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
|
||
```
|