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>
572 lines
18 KiB
Markdown
572 lines
18 KiB
Markdown
---
|
||
title: "Интерфейс IFace"
|
||
type: interface
|
||
api: [api7]
|
||
tags: [interface, api7, iface]
|
||
sources:
|
||
- iface.html
|
||
---
|
||
|
||
*API интерфейсов. Версия 7 > Документ 3D > Вспомогательные объекты, 3D-кривые и элементы тела > 3D-кривые и элементы тела > Интерфейс IModelObjects > IModelObjects - свойства *
|
||
|
||
|
||
## Интерфейс IFace
|
||
|
||
Интерфейс грани.
|
||
Иерархия:
|
||
IDispatch
|
||
IKompasAPIObject
|
||
IModelObject
|
||
IFace
|
||
КОМПАС версия v18
|
||
|
||
|
||
## BaseSurface3DType - Тип базовой поверхности
|
||
|
||
Тип данных: из перечисления ksMathSurface3DTypeEnum.
|
||
Синтаксис Automation:
|
||
```
|
||
BaseSurface3DType = Object.BaseSurface3DType Получить свойство (* )
|
||
BaseSurface3DType = Object.GetBaseSurface3DType() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_BaseSurface3DType( &BaseSurface3DType ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## Body - Тело
|
||
|
||
Тип данных: Указатель на интерфейс IBody7
|
||
Синтаксис Automation:
|
||
```
|
||
Body = Object.Body; Получить свойство (* )
|
||
Body = Object.GetBody(); Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_Body( &Body ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## ConnectedFaces - Массив граней, стыкующихся с данной гранью в виде SAFEARRAY'я DISPATCH - VT_ARRAY | VT_DISPATCH
|
||
|
||
Тип данных: VARIANT
|
||
Синтаксис Automation:
|
||
```
|
||
ConnectedFaces = Object.ConnectedFaces Получить свойство (* )
|
||
ConnectedFaces = Object.GetConnectedFaces() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ConnectedFaces( &ConnectedFaces ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## GetArea - Получить площадь грани
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
double GetArea( ksLengthUnitsEnum Unit );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetArea( ksLengthUnitsEnum Unit, double * Result );
|
||
Возвращаемое значение:
|
||
- площадь грани.
|
||
Входные параметры:
|
||
Unit - единицы измерения длины из перечисления ksLengthUnitsEnum.
|
||
```
|
||
|
||
|
||
## GetAreaEx - Получить площадь грани
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
double GetAreaEx( ksLengthUnitsEnum Unit, double AngleTolerance );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetAreaEx( ksLengthUnitsEnum Unit, double AngleTolerance, double * Result );
|
||
Входные параметры:
|
||
Unit - единицы измерения длины из перечисления ksLengthUnitsEnum,
|
||
AngleTolerance - ограничение углового отклонения (в радианах) при аппроксимации оболочки треугольными пластинами.
|
||
Компас Версия v21
|
||
```
|
||
|
||
|
||
## GetConeParam - Получить параметры конической грани
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetConeParam( double * Height, double * Angle, double * Radius );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetConeParam( double * Height, double * Angle, double * Radius, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае успешного завершения.
|
||
Выходные параметры:
|
||
Height - высота,
|
||
Angle - угол (в радианах),
|
||
Radius - радиус.
|
||
```
|
||
|
||
|
||
## GetDistanceToPoint - Функция возвращает расстояние между точкой и проекцией точки на грань
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
double GetDistanceToPoint( double X, double Y, double Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetDistanceToPoint( double X, double Y, double Z, double * Result );
|
||
Возвращаемое значение:
|
||
- Расстояние до точки.
|
||
Входные параметры:
|
||
X, Y, Z - координаты точки в пространстве.
|
||
КOMPAS v24
|
||
```
|
||
|
||
|
||
## GetFaceParam - Получить параметры грани FaceU и FaceV по параметрам поверхности
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetFaceParam( double SurfaceU, double SurfaceV, double * FaceU, double * FaceV );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetFaceParam( double SurfaceU, double SurfaceV, double * FaceU, double * FaceV, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае удачного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
SurfaceU, SurfaceV - параметрические координаты на базовой поверхности.
|
||
Выходные параметры:
|
||
ParamU, ParamV - параметрические координаты на грани.
|
||
КOMPAS v24
|
||
```
|
||
|
||
|
||
## GetNormal - Получить нормаль грани
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetNormal( double ParamU, double ParamV, double * X, double * Y, double * Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetNormal( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае удачного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ParamU, ParamV - параметрические координаты на грани.
|
||
Выходные параметры:
|
||
X, Y, Z - направление вектора нормали в заданной точке.
|
||
КOMPAS v24
|
||
```
|
||
|
||
|
||
## GetPoint - Получить точку на грани
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetPoint( double ParamU, double ParamV, double * X, double * Y, double * Z );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetPoint( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае удачного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ParamU, ParamV - параметрические координаты на грани.
|
||
Выходные параметры:
|
||
X, Y, Z - координаты точки в пространстве.
|
||
КOMPAS v24
|
||
```
|
||
|
||
|
||
## GetSurfaceParam - Получить параметры поверхности SurfaceU и SurfaceV по параметрам грани
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL GetSurfaceParam( double FaceU, double FaceV, double * SurfaceU, double * SurfaceV );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT GetSurfaceParam( double FaceU, double FaceV, double * SurfaceU, double * SurfaceV, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае удачного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
ParamU, ParamV - параметрические координаты на грани.
|
||
Выходные параметры:
|
||
SurfaceU, SurfaceV - параметрические координаты на базовой поверхности.
|
||
КOMPAS v24
|
||
```
|
||
|
||
|
||
## IsCone - Является ли грань конической
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
IsCone = Object.IsCone Получить свойство (* )
|
||
IsCone = Object.GetIsCone(); Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_IsCone( &IsCone ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## IsCylinder - Является ли грань цилиндрической
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
IsCylinder = Object.IsCylinder Получить свойство (* )
|
||
IsCylinder = Object.GetIsCylinder() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_IsCylinder( &IsCylinder ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## IsNurbsSurface - Является ли грань NURBS-поверхностью
|
||
|
||
Тип данных:BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
IsNurbsSurface = Object.IsNurbsSurface Получить свойство (* )
|
||
IsNurbsSurface = Object.GetIsNurbsSurface() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_IsNurbsSurface( &IsNurbsSurface ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## IsPlanar - Является ли грань плоской
|
||
|
||
Тип данных:BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
IsPlanar = Object.IsPlanar Получить свойство (* )
|
||
IsPlanar = Object.GetIsPlanar() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_IsPlanar( &IsPlanar ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## IsRevolved - Определяется ли грань поверхностью вращения
|
||
|
||
Тип данных:BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
IsRevolved = Object.IsRevolved Получить свойство (* )
|
||
IsRevolved = Object.GetIsRevolved() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_IsRevolved( &IsRevolved ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## IsSalient - Является ли грань выпуклой
|
||
|
||
Тип данных: из перечисления ksSurfaceSalientTypeEnum
|
||
Синтаксис Automation:
|
||
```
|
||
IsSalient = Object.IsSalient Получить свойство (* )
|
||
IsSalient = Object.GetIsSalient() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_IsSalient( &IsSalient ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## IsSphere - Является ли грань сферической
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
IsSphere = Object.IsSphere Получить свойство (* )
|
||
IsSphere = Object.GetIsSphere() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_IsSphere( &IsSphere ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## IsSwept - Определяется ли грань поверхностью по траектории
|
||
|
||
Интерфейс..
|
||
Тип данных:BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
IsSwept = Object.IsSwept Получить свойство (* )
|
||
IsSwept = Object.GetIsSwept() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_IsSwept( &IsSwept ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## IsTorus - Является ли грань тором
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
IsTorus = Object.IsTorus Получить свойство (* )
|
||
IsTorus = Object.GetIsTorus() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_IsTorus( &IsTorus ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
Версия КОМПАС v22
|
||
|
||
|
||
## LimitingEdges - Массив ребер, ограничивающих грань в виде SAFEARRAY'я DISPATCH - VT_ARRAY | VT_DISPATCH
|
||
|
||
Тип данных: VARIANT
|
||
Синтаксис Automation:
|
||
```
|
||
LimitingEdges = Object.LimitingEdges Получить свойство (* )
|
||
LimitingEdges = Object.GetLimitingEdges() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_LimitingEdges( &LimitingEdges ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## Loops - Массив циклов в виде SAFEARRAY'я DISPATCH - VT_ARRAY | VT_DISPATCH
|
||
|
||
Тип данных: VARIANT
|
||
Синтаксис Automation:
|
||
```
|
||
Loops = Object.Loops Получить свойство (* )
|
||
Loops = Object.GetLoops() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_Loops( &Loops ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## MathSurface - Получить интерфейс математической поверхности
|
||
|
||
Тип данных: Указатель на интерфейс IMathSurface3D.
|
||
Синтаксис Automation:
|
||
```
|
||
MathSurface = Object. MathSurface Получить свойство (* )
|
||
MathSurface = Object.Get MathSurface() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ MathSurface( & MathSurface ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## NearPointProjection - Получить ближайшую проекцию точки на поверхность
|
||
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL NearPointProjection( double X, double Y, double Z, double * ParamU, double * ParamV );
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
HRESULT NearPointProjection( double X, double Y, double Z, double * ParamU, double * ParamV, BOOL * Result );
|
||
Возвращаемое значение:
|
||
TRUE - в случае удачного завершения,
|
||
FALSE - в случае неудачи.
|
||
Входные параметры:
|
||
X, Y, Z - координаты точки в пространстве.
|
||
Выходные параметры:
|
||
ParamU, ParamV - параметрические координаты на грани.
|
||
КOMPAS v24
|
||
```
|
||
|
||
|
||
## NormalOrientation - Относительная ориентация (ориентация нормали грани относительно ориентации нормали поверхности)
|
||
|
||
Тип данных: BOOL
|
||
Синтаксис Automation:
|
||
```
|
||
NormalOrientation = Object. NormalOrientation Получить свойство (* )
|
||
NormalOrientation = Object.Get NormalOrientation() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ NormalOrientation( & NormalOrientation ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## ParamUMax - Получить значение параметра U конечное
|
||
|
||
Тип данных: double
|
||
Синтаксис Automation:
|
||
```
|
||
ParamUMax = Object.ParamUMax Получить свойство (* )
|
||
ParamUMax = Object.GetParamUMax() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ParamUMax( &ParamUMax ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
КOMPAS v24
|
||
|
||
|
||
## ParamUMin - Получить значение параметра U начальное
|
||
|
||
Тип данных: double
|
||
Синтаксис Automation:
|
||
```
|
||
ParamUMin = Object.ParamUMin Получить свойство (* )
|
||
ParamUMin = Object.GetParamUMin() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ParamUMin( &ParamUMin ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
КOMPAS v24
|
||
|
||
|
||
## ParamVMax - Получить значение параметра V конечное
|
||
|
||
Тип данных: double
|
||
Синтаксис Automation:
|
||
```
|
||
ParamVMax = Object.ParamVMax Получить свойство (* )
|
||
ParamVMax = Object.GetParamVMax() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ParamVMax( &ParamVMax ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
КOMPAS v24
|
||
|
||
|
||
## ParamVMin - Получить значение параметра V начальное
|
||
|
||
Тип данных: double
|
||
Синтаксис Automation:
|
||
```
|
||
ParamVMin = Object.ParamVMin Получить свойство (* )
|
||
ParamVMin = Object.GetParamVMin() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_ParamVMin( &ParamVMin ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
КOMPAS v24
|
||
|
||
|
||
## Radius - Дать максимальный радиус
|
||
|
||
Тип данных: double
|
||
Синтаксис Automation:
|
||
```
|
||
Radius = Object.Radius Получить свойство (* )
|
||
Radius = Object.GetRadius() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_Radius( &Radius ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## Surface3DType - Тип поверхности
|
||
|
||
Тип данных: из перечисления ksMathSurface3DTypeEnum.
|
||
Синтаксис Automation:
|
||
```
|
||
Surface3DType = Object.Surface3DType Получить свойство (* )
|
||
Surface3DType = Object.GetSurface3DType() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_Surface3DType( &Surface3DType ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|
||
|
||
|
||
## Tessellation - Параметры триангуляционной сетки
|
||
|
||
Тип данных: Указатель на интерфейс ITessellation7.
|
||
Синтаксис Automation:
|
||
```
|
||
Tessellation = Object.Tessellation Получить свойство (* )
|
||
Tessellation = Object.GetTessellation() Получить свойство (**)
|
||
```
|
||
Синтаксис COM:
|
||
```
|
||
Object.get_Tessellation( &Tessellation ) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство доступно только для чтения.
|