--- 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. ``` Примечание: Свойство доступно только для чтения.