Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/ksfacedefinition.md
T
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
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>
2026-05-26 20:00:05 +03:00

382 lines
12 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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.
```
Примечание:
Свойство доступно только для чтения.