---
title: "Грань (Интерфейсы ksFaceDefinition, IFaceDefinition)"
type: interface
api: [api7]
domain: [2d]
tags: [interface, api7, 2d, ksfacedefinition]
sources:
  - ksfacedefinition.html
---

*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Объект модели (Интерфейсы ksEntity и IEntity)  > Интерфейсы ksEntity и iEntity - Интерфейс элемента модели (оси, плоскости, формообразующего элемента)  > Интерфейсы дополнительных элементов *


## Грань (Интерфейсы ksFaceDefinition, IFaceDefinition)

Интерфейс свойств грани.
| ksFaceDefinition | - интерфейс Automation |
| --- | --- |
| IFaceDefinition | - интерфейс COM |
Описание:
Грань - это объект топологии. Содержит информацию о геометрии (поверхность), информацию о связях с другими гранями (массив циклов) и признакj относительной ориентации нормали. Этот признак имеет значение TRUE, если он совпадает с направлением нормали математической поверхности.
Примечание:
Данный интерфейс может быть получен следующими способами:
•от интерфейса коллекции свойств грани ksFaceCollection, IFaceCollection,
•от интерфейса свойств ребра ksEdgeDefinition, IEdgeDefinition.
•используя метод интерфейса элемента модели ksEntity::GetDefinition или IEntity::GetDefinition.


## ConnectedFaceCollection - Получить указатель на интерфейс массива граней, стыкующихся с данной гранью

Интерфейс..
Синтаксис Automation:
```
LPDISPATCH ConnectedFaceCollection();
```
Синтаксис COM:
```
LPFACECOLLECTION ConnectedFaceCollection();
Возвращаемое значение:
- указатель на интерфейс ksFaceCollection или IFaceCollection.
```


## EdgeCollection - Получить указатель на интерфейс массива ребер, ограничивающих грань

Интерфейс..
Синтаксис Automation:
```
LPDISPATCH EdgeCollection();
```
Синтаксис COM:
```
LPEDGECOLLECTION EdgeCollection();
Возвращаемое значение:
- указатель на интерфейс ksEdgeCollection или IEdgeCollection.
```


## GetArea - Получить площадь грани

Интерфейс..
Синтаксис Automation:
```
double GetArea (long bitVector );
```
Синтаксис COM:
```
double GetArea (unsigned long bitVector );
Входные параметры:
bitVector    - единицы измерения.
Возвращаемое значение:
площадь грани    - в случае успешного завершения.
0    - в случае неудачи.
```


## GetAreaEx - Получить площадь грани (ST_MIX_MM..ST_MIX_M единицы измерения)

Интерфейс..
Синтаксис Automation:
```
double GetAreaEx( long bitVector, double angleTolerance );
```
Синтаксис COM:
```
double GetAreaEx (unsigned long bitVector, double angleTolerance );
Входные параметры:
bitVector    - единицы измерения,
angleTolerance    - ограничение углового отклонения при аппроксимации оболочки треугольными пластинами.
Возвращаемое значение:
площадь грани    - в случае успешного завершения.
0    - в случае неудачи.
Версия Компас v21
```


## GetCylinderParam - Получить параметры цилиндрической грани

Интерфейс..
Синтаксис Automation:
```
BOOL GetCylinderParam (double* h,
double* r);
```
Синтаксис COM:
```
BOOL GetCylinderParam (double * h,
double * r);
Выходные параметры:
h    - высота цилиндра,
r    - радиус цилиндра.
Возвращаемое значение:
TRUE    - в случае успеха.
```


## GetEntity - Получить указатель на интерфейс грани

Интерфейс..
Синтаксис Automation:
```
LPDISPATCH GetEntity();
```
Синтаксис COM:
```
LPENTITY GetEntity();
Возвращаемое значение:
- указатель на интерфейс грани ksEntity или IEntity
```


## GetNextFace - Получить указатель на интерфейс следующей грани в этом теле

Интерфейс..
Синтаксис Automation:
```
LPDISPATCH GetNextFace();
```
Синтаксис COM:
```
LPFACEDEFINITION GetNextFace();
Возвращаемое значение:
- указатель на интерфейс ksFaceDefinition или IFaceDefinition.
```


## GetOwnerEntity - Получить указатель на объект, породивший цилиндрическую грань

Интерфейс..
Синтаксис Automation:
```
LPDISPATCH GetOwnerEntity();
```
Синтаксис COM:
```
LPENTITY GetOwnerEntity();
Возвращаемое значение:
- указатель на интерфейс объекта ksEntity или IEntity.
```


## GetSurface - Получить указатель на интерфейс математической поверхности

Интерфейс..
Синтаксис Automation:
```
LPDISPATCH GetSurface();
```
Синтаксис COM:
```
LPSURFACE GetSurface();
Возвращаемое значение:
- указатель на интерфейс ksSurface или ISurface.
```


## GetTessellation - Получить указатель на интерфейс триангуляции

Интерфейс..
Синтаксис Automation:
```
LPDISPATCH GetTessellation();
```
Синтаксис COM:
```
LPTESSELLATION GetTessellation();
Возвращаемое значение:
- указатель на интерфейс ksTessellation или ITessellation.
```


## IsCone - Определить, коническая ли грань

Интерфейс..
Синтаксис Automation:
```
BOOL IsCone();
```
Синтаксис COM:
```
BOOL IsCone();
Возвращаемое значение:
TRUE    - грань коническая,
FALSE    - грань не коническая.
```


## IsConnectedWith - Проверить, связаны ли грани

Интерфейс..
Синтаксис Automation:
```
BOOL IsConnectedWith (LPDISPATCH other);
```
Синтаксис COM:
```
BOOL IsConnectedWith (LPFACEDEFINITION other);
Входные параметры:
- указатель на интерфейс ksFaceDefinition или IFaceDefinition другой грани.
Возвращаемое значение:
TRUE    - если грани связаны,
FALSE    - если грани не связаны.
```


## IsCylinder - Определить, цилиндрическая ли грань

Интерфейс..
Синтаксис Automation:
```
BOOL IsCylinder();
```
Синтаксис COM:
```
BOOL IsCylinder();
Возвращаемое значение:
TRUE    - грань цилиндрическая,
FALSE    - грань не цилиндрическая.
```


## IsNurbsSurface - Определить, является ли грань NURBS поверхностью

Интерфейс..
Синтаксис Automation:
```
BOOL IsNurbsSurface();
```
Синтаксис COM:
```
BOOL IsNurbsSurface();
Возвращаемое значение:
TRUE    - грань является NURBS поверхностью,
FALSE    - грань не является NURBS поверхностью.
```


## IsPlanar - Определить, плоская ли грань

Синтаксис Automation:
```
BOOL IsPlanar();
```
Синтаксис COM:
```
BOOL IsPlanar();
Возвращаемое значение:
TRUE    - грань плоская,
FALSE    - грань не плоская.
```


## IsRevolved - Определить, является ли грань поверхностью вращения

Интерфейс..
Синтаксис Automation:
```
BOOL IsRevolved();
```
Синтаксис COM:
```
BOOL IsRevolved();
Возвращаемое значение:
TRUE    - грань является поверхностью вращения,
FALSE    - грань не является поверхностью вращения.
```


## IsSphere - Определить, является ли грань сферической

Интерфейс..
Синтаксис Automation:
```
BOOL IsSphere();
```
Синтаксис COM:
```
BOOL IsSphere();
Возвращаемое значение:
TRUE    - грань является сферической,
FALSE    - грань не является сферической.
```


## IsSwept - Определить, задается ли грань поверхностью по траектории

Интерфейс..
Синтаксис Automation:
```
BOOL IsSwept();
```
Синтаксис COM:
```
BOOL IsSwept();
Возвращаемое значение:
TRUE    - грань задается поверхностью по траектории,
FALSE    - грань не задается поверхностью по траектории.
```


## IsTorus - Определить, является ли грань тором

Интерфейс..
Синтаксис Automation:
```
BOOL IsTorus();
```
Синтаксис COM:
```
BOOL IsTorus();
Возвращаемое значение:
TRUE    - грань является тором,
FALSE    - грань не является тором.
```


## IsValid - Получить индикатор доступности объекта

Интерфейс..
Синтаксис Automation:
```
BOOL IsValid();
```
Синтаксис COM:
```
BOOL IsValid();
Возвращаемое значение:
TRUE    - объект доступен,
FALSE    - объект недоступен.
```


## LoopCollection - Получить указатель на интерфейс массива циклов

Интерфейс..
Синтаксис Automation:
```
LPDISPATCH LoopCollection();
```
Синтаксис COM:
```
LPLOOPCOLLECTION LoopCollection();
Возвращаемое значение:
- указатель на интерфейс ksLoopCollection или ILoopCollection.
```


## normalOrientation - Относительная ориентация (ориентация нормали грани относительно ориентации нормали поверхности)

Интерфейс..
Тип данных: BOOL
Синтаксис Automation:
```
normalOrient = iFaceDefinition.normalOrientation    Получить свойство (* )
iFaceDefinition.GetNormalOrientation()    Получить свойство (**)
Возвращаемое значение:
TRUE    - направление нормали совпадает с направлением нормали математической поверхности,
FALSE    - направление нормали не совпадает с направлением нормали математической поверхности ksSurface.
```
Примечание:
Свойство доступно только для чтения.
