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>
22 KiB
title, type, api, domain, tags, sources
| title | type | api | domain | tags | sources | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Интерфейс IMathCurve3D | interface |
|
|
|
|
*API интерфейсов. Версия 7 > Документ 3D > Вспомогательные объекты, 3D-кривые и элементы тела > 3D-кривые и элементы тела > Интерфейс IModelCurve3D *
Интерфейс IMathCurve3D
Интерфейс математической кривой в трехмерном пространстве. Иерархия: IDispatch IKompasAPIObject IMathCurve3D
BaseCurve2DType - Тип базовой 2D кривой
Тип данных: из перечисления ksMathCurve2DTypeEnum Синтаксис Automation:
BaseCurve2DType = Object.BaseCurve2DType; Получить свойство (* )
BaseCurve2DType = Object.GetBaseCurve2DType(); Получить свойство (**)
Синтаксис COM:
Object.get_BaseCurve2DType( &BaseCurve2DType ) Получить свойство
Примечание: Свойство доступно только для чтения. Версия КОМПАС v22
BaseCurveType - Тип базовой 3D кривой
Тип данных: из перечисления ksMathCurve3DTypeEnum Синтаксис Automation:
BaseCurveType = Object.BaseCurveType; Получить свойство (* )
BaseCurveType = Object.GetBaseCurveType(); Получить свойство (**)
Синтаксис COM:
Object.get_BaseCurveType( &BaseCurveType ) Получить свойство
Примечание: Свойство доступно только для чтения. Версия КОМПАС v22
CalculatePolygon - Получить полигон точек на кривой
Синтаксис Automation:
VARIANT CalculatePolygon( double Step );
Синтаксис COM:
HRESULT CalculatePolygon( double Step, VARIANT * Result );
Возвращаемое значение:
- массив VT_ARRAY VT_R8 координат точек на кривой.
Входные параметры:
Step - шаг для расчета полигона.
Примечание:
- Если шаг задан равным 0, то применяется шаг, используемый в системе КОМПАС, который рассчитывается с учетом габаритов детали.
- Если шаг задан -1, то применяется шаг, используемый в системе КОМПАС при отрисовке кривых. Он рассчитывается с учетом следующих параметров: •габариты детали и масштаба отображения модели, •тип возвращаемого массива VT_ARRAY | VT_R8, •значения координат в массиве лежат в последовательности x1, y1, z1, x2, y2, z2 ... xn, yn, zn.
Closed - Замкнутость кривой
Тип данных: BOOL Синтаксис Automation:
Closed = Object.Closed; Получить свойство (* )
Closed = Object.GetClosed(); Получить свойство (**)
Синтаксис COM:
Object.get_Closed( &Closed ) Получить свойство
Примечание: Свойство доступно только для чтения.
CurveType - Получить тип кривой
Тип данных: из перечисления ksMathCurve3DTypeEnum Синтаксис Automation:
CurveType = Object.CurveType; Получить свойство (* )
CurveType = Object.GetCurveType(); Получить свойство (**)
Синтаксис COM:
Object.get_CurveType( &CurveType ) Получить свойство
Примечание: Свойство доступно только для чтения.
Degenerate - Проверка вырожденности кривой
Тип данных: BOOL Синтаксис Automation:
Degenerate = Object.Degenerate; Получить свойство (* )
Degenerate = Object.GetDegenerate(); Получить свойство (**)
Синтаксис COM:
Object.get_Degenerate( &Degenerate ) Получить свойство
Примечание: Свойство доступно только для чтения.
GetCentre - Получить центр кривой
Синтаксис Automation:
BOOL GetCentre( double * X, double * Y, double * Z );
Синтаксис COM:
HRESULT GetCentre( double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Выходные параметры:
X, Y, Z - координаты центра кривой.
GetDerivativeT - Получить первую производную по T
Синтаксис Automation:
BOOL GetDerivativeT( double ParamT, double * X, double * Y, double * Z );
Синтаксис COM:
HRESULT GetDerivativeT( double ParamT, double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Входные параметры:
ParamT - значение параметра T в параметрическом представлении кривой.
Выходные параметры:
X, Y, Z - первая производная по T.
GetDerivativeTT - Получить вторую производную по T
Синтаксис Automation:
BOOL GetDerivativeTT( double ParamT, double * X, double * Y, double * Z );
Синтаксис COM:
HRESULT GetDerivativeTT( double ParamT, double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Входные параметры:
ParamT - значение параметра T в параметрическом представлении кривой.
Выходные параметры:
X, Y, Z - вторая производная по T.
GetDerivativeTTT - Получить третью производную по T
Синтаксис Automation:
BOOL GetDerivativeTTT( double ParamT, double * X, double * Y, double * Z );
Синтаксис COM:
HRESULT GetDerivativeTTT( double ParamT, double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Входные параметры:
ParamT - значение параметра T в параметрическом представлении кривой.
Выходные параметры:
X, Y, Z - третья производная по T.
GetDistanceToPoint - Функция возвращает расстояние между точкой и проекцией точки на грань
Синтаксис Automation:
double GetDistanceToPoint( double X, double Y, double Z );
Синтаксис COM:
HRESULT GetDistanceToPoint( double X, double Y, double Z, double * Result );
Возвращаемое значение:
- Расcтояние от кривой до точки.
Входные параметры:
X, Y, Z - координаты точки.
КOMPAS v24
GetEllipseParam - Параметры эллипса
Синтаксис Automation:
BOOL GetEllipseParam( double * MajorRadius, double * MinorRadius, double * Angle ) ;
Синтаксис COM:
HRESULT GetEllipseParam( double * MajorRadius, double * MinorRadius, double * Angle, BOOL * Result ) ;
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Выходные параметры:
Angle - Угол раствора,
MajorRadius - Большой радиус эллипса,
MinorRadius - Малый радиус эллипса.
Версия КОМПАС v22
GetGabarit - Выдать габарит кривой
Синтаксис Automation:
BOOL GetGabarit( double * X1, double * Y1, double * Z1, double * X2, double * Y2, double * Z2 ) ;
Синтаксис COM:
HRESULT GetGabarit( double * X1, double * Y1, double * Z1, double * X2, double * Y2, double * Z2, BOOL * Result ) ;
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Входные параметры:
X1, Y1, Z1, X2, Y2, Z2 - координаты вершин габаритного параллелепипеда.
Примечание: Координаты вершин параллелепипеда возвращаются в системе координат компонента.
GetLength - Получить длину кривой (ST_MIX_MM..ST_MIX_M единицы измерения)
Синтаксис Automation:
double GetLength( ksLengthUnitEnum BitVector ) ;
Синтаксис COM:
HRESULT GetLength( ksLengthUnitEnum BitVector, double * Result ) ;
Возвращаемое значение:
- длина кривой.
Входные параметры:
BitVector - единица измерения.
GetMetricLength - Метрическая длина кривой
Синтаксис Automation:
double GetMetricLength( double StartParam, double EndParam );
Синтаксис COM:
HRESULT GetMetricLength( double StartParam, double EndParam, double * Result ) ;
Возвращаемое значение:
- длина кривой.
Входные параметры:
StartParam - начальное значение параметра T в параметрическом представлении кривой,
EndParam - конечное значение параметра T в параметрическом представлении кривой.
GetNormal - Получить нормаль
Синтаксис Automation:
BOOL GetNormal( double ParamT, double * X, double * Y, double * Z) ;
Синтаксис COM:
HRESULT GetNormal( double ParamT, double * X, double * Y, double * Z, BOOL * Result ) ;
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Входные параметры:
ParamT - значение параметра T в параметрическом представлении кривой.
Выходные параметры:
X, Y, Z - вектор нормали.
GetNurbs3DParams - Параметры Nurbs-представления кривой
Синтаксис Automation:
BOOL GetNurbs3DParams( BOOL Closed, long * Degree, double * ParamMin, double * ParamMax, VARIANT * Points, VARIANT * Weights, VARIANT * Knots ) ;
Синтаксис COM:
HRESULT GetNurbs3DParams( BOOL Closed, long * Degree, double * ParamMin, double * ParamMax, VARIANT * Points, VARIANT * Weights, VARIANT * Knots, BOOL * Result ) ;
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Входные параметры:
Closed - TRUE - Вернуть параметры для замкнутого представления - FALSE - Вернуть параметры для разомкнутого представления.
Выходные параметры:
Degree - порядок сплайна (степень + 1),
ParamMin - минимальный параметр кривой,
ParamMax - максимальный параметр кривой,
Points - координаты точек в виде массива VT_ARRAY VT_R8,
Weights - веса в точках в виде массива VT_ARRAY VT_R8,
Knots - массив VT_ARRAY VT_R8 узлов сплайна.
В англоязычной специализированной литературе, документациях и различных API для систем автоматизированного проектирования (САПР) можно встретить использование термина degree для обозначения степени сплайна, а термина order — для обозначения порядка сплайна. Соответственно, order = degree + 1. Обратите внимание на то, что в интерфейсах КОМПАС-3D API термин degree используется для обозначения порядка сплайна (степень + 1).
Версия КОМПАС v22
GetPoint - Получить точку на кривой
Синтаксис Automation:
BOOL GetPoint( double ParamT, double * X, double * Y, double * Z );
Синтаксис COM:
HRESULT GetPoint( double ParamT, double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Входные параметры:
ParamT - значение параметра T в параметрическом представлении кривой.
Выходные параметры:
X, Y, Z - координаты точки на кривой.
GetTangentVector - Получить тангенциальный вектор (нормализованный)
Синтаксис Automation:
BOOL GetTangentVector( double ParamT, double * X, double * Y, double * Z );
Синтаксис COM:
HRESULT GetTangentVector( double ParamT, double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Входные параметры:
ParamT - значение параметра T в параметрическом представлении кривой.
Выходные параметры:
X, Y, Z - касательный вектор.
GetWeightCentre - Получить центр тяжести кривой
Синтаксис Automation:
BOOL GetWeightCentre( double * X, double * Y, double * Z );
Синтаксис COM:
HRESULT GetWeightCentre( double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Выходные параметры:
X, Y, Z - координаты центра тяжести кривой.
IsArc - Является ли кривая дугой окружности
Тип данных: BOOL Синтаксис Automation:
IsArc = Object.IsArc; Получить свойство (* )
IsArc = Object.GetIsArc(); Получить свойство (**)
Синтаксис COM:
Object.get_IsArc( &IsArc ) Получить свойство
Примечание: Свойство доступно только для чтения. Версия КОМПАС v22
IsCircle - Является ли кривая окружностью
Тип данных: BOOL Синтаксис Automation:
IsCircle = Object.IsCircle; Получить свойство (* )
IsCircle = Object.GetIsCircle(); Получить свойство (**)
Синтаксис COM:
Object.get_IsCircle( &IsCircle ) Получить свойство
Примечание: Свойство доступно только для чтения. Версия КОМПАС v22
IsEllipse - Является ли кривая эллипсом
Тип данных: BOOL Синтаксис Automation:
IsEllipse = Object.IsEllipse; Получить свойство (* )
IsEllipse = Object.GetIsEllipse(); Получить свойство (**)
Синтаксис COM:
Object.get_IsEllipse( &IsEllipse ) Получить свойство
Примечание: Свойство доступно только для чтения Версия КОМПАС v22.
IsEllipseArc - Является ли кривая дугой эллипса
Тип данных: BOOL Синтаксис Automation:
IsEllipseArc = Object.IsEllipseArc; Получить свойство (* )
IsEllipseArc = Object.GetIsEllipseArc(); Получить свойство (**)
Синтаксис COM:
Object.get_IsEllipseArc( &IsEllipseArc ) Получить свойство
Примечание: Свойство доступно только для чтения. Версия КОМПАС v22
IsLineSeg - Является ли кривая отрезком
Тип данных: BOOL Синтаксис Automation:
IsLineSeg = Object.IsLineSeg; Получить свойство (* )
IsLineSeg = Object.GetIsLineSeg(); Получить свойство (**)
Синтаксис COM:
Object.get_IsLineSeg( &IsLineSeg ) Получить свойство
Примечание: Свойство доступно только для чтения. Версия КОМПАС v22
IsNurbs - Определить, является ли кривая NURBS
Тип данных: BOOL Синтаксис Automation:
IsNurbs = Object.IsNurbs; Получить свойство (* )
IsNurbs = Object.GetIsNurbs(); Получить свойство (**)
Синтаксис COM:
Object.get_IsNurbs( &IsNurbs ) Получить свойство
Примечание: Свойство доступно только для чтения. Версия КОМПАС v22 (отсутствуют).
IsPlanar - Является ли кривая плоской
Тип данных: BOOL Синтаксис Automation:
IsPlanar = Object.IsPlanar; Получить свойство (* )
IsPlanar = Object.GetIsPlanar(); Получить свойство (**)
Синтаксис COM:
Object.get_IsPlanar( &IsPlanar ) Получить свойство
Примечание: Свойство доступно только для чтения. Версия КОМПАС v22
IsStraight - Является ли кривая прямолинейной
Тип данных: BOOL Синтаксис Automation:
IsStraight = Object.IsStraight; Получить свойство (* )
IsStraight = Object.GetIsStraight(); Получить свойство (**)
Синтаксис COM:
Object.get_IsStraight( &IsStraight ) Получить свойство
Примечание: Свойство доступно только для чтения. Версия КОМПАС v22
NearPointProjection - Получить ближайшую проекцию точки на кривую
Синтаксис Automation:
BOOL NearPointProjection( double X, double Y, double Z, double * T, BOOL Ext );
Синтаксис COM:
HRESULT NearPointProjection( double X, double Y, double Z, double * T, BOOL Ext, BOOL * Result );
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Входные параметры:
X, Y, Z - координаты исходной пространственной точки,
Ext - если проекция точки вне кривой,
TRUE - проецировать на продолжение кривой,
FALSE - найти ближайшую граничную точку кривой. Если проекция точки внутри кривой, значение этого параметра не учитывается.
Выходные параметры:
T - параметрические координаты точки на кривой.
ParamMax - Получить значение параметра конечное
Тип данных: double Синтаксис Automation:
ParamMax = Object.ParamMax; Получить свойство (* )
ParamMax = Object.GetParamMax(); Получить свойство (**)
Синтаксис COM:
Object.get_ParamMax( &ParamMax) Получить свойство
Примечание: Свойство доступно только для чтения.
ParamMin - Получить значение параметра начальное
Тип данных: double Синтаксис Automation:
ParamMin = Object.ParamMin; Получить свойство (* )
ParamMin = Object.GetParamMin(); Получить свойство (**)
Синтаксис COM:
Object.get_ParamMin( &ParamMin ) Получить свойство
Примечание: Свойство доступно только для чтения.
Periodic - Периодичность замкнутой кривой
Тип данных:BOOL Синтаксис Automation:
Periodic = Object.Periodic; Получить свойство (* )
Periodic = Object.GetPeriodic(); Получить свойство (**)
Синтаксис COM:
Object.get_Periodic( &Periodic ) Получить свойство
Примечание: Свойство доступно только для чтения.
Placement - Интерфейс локальной системы координат (положение объекта)
Тип данных: Указатель на интерфейс IPlacement3D Синтаксис Automation:
Placement = Object.Placement; Получить свойство (* )
Placement = Object.GetPlacement(); Получить свойство (**)
Синтаксис COM:
Object.get_Placement( &Placement ) Получить свойство
Примечание: Свойство доступно только для чтения. Версия КОМПАС v22
Radius - Радиус кривой
Тип данных: double Синтаксис Automation:
Radius = Object.Radius; Получить свойство (* )
Radius = Object.GetRadius(); Получить свойство (**)
Синтаксис COM:
Object.get_Radius( &Radius ) Получить свойство
Примечание: Свойство доступно только для чтения.