---
title: "Интерфейсы ksEntity и iEntity - Интерфейс элемента модели (оси, плоскости, формообразующего элемента)"
type: interface
api: [api7]
domain: [2d, assembly]
tags: [interface, api7, 2d, assembly, ksentity]
sources:
  - ksentity.html
---

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


## Интерфейсы ksEntity и iEntity - Интерфейс элемента модели (оси, плоскости, формообразующего элемента)

| ksEntity | - интерфейс Automation |
| --- | --- |
| IEntity | - интерфейс COM |
Примечание:
Данный интерфейс можно получить от следующих интерфейсов:
•Интерфейс детали или подсборки в составе сборки ksPart или IPart.
•Методы интерфейса коллекции элементов модели ksEntityCollection, IEntityCollection.
•Метод интерфейса документа-модели ksDocument3D::UserSelectEntity или IDocument3D::UserSelectEntity.
•Интерфейс параметров сопряжения ksMateConstraint или IMateConstraint.
•Интерфейс параметров вершины ломаной ksPolyLineVertexParam или IPolygonalLineVertexParam.
•Интерфейсы элементов модели
Интерфейсы пространственных кривых
Интерфейсы поверхностей
Интерфейсы копирования
Интерфейсы копирования компонентов сборки
Интерфейсы формообразующих операций
Интерфейсы дополнительных элементов
Интерфейсы вспомогательной геометрии
Массив ориентированных ребер (Интерфейсы ksOrientedEdgeCollection, IOrientedEdgeCollection)
Интерфейс массива трехмерных тел (Интерфейсы ksBodyCollection, IBodyCollection)
Интерфейс частей тела (Интерфейсы ksBodyParts, IBodyParts)
Интерфейс параметров вершины ломаной Интерфейсы ksPolyLineVertexParam, IPolygonalLineVertexParam)
Интерфейсы параметров умолчательного объекта (IDefaultObject, ksDefaultObject)


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

Синтаксис Automation:
```
LPDISPATCH BodyCollection();
```
Синтаксис COM:
```
LPBODYCOLLECTION BodyCollection();
Возвращаемое значение:
- указатель на интерфейс массива тел ksBodyCollection или IBodyCollection.
```


## ColorParam - Получить указатель на интерфейс параметров цвета и визуальных свойств объекта

Синтаксис Automation:
```
LPDISPATCH ColorParam();
```
Синтаксис COM:
```
LPCOLORPARAM ColorParam();
Возвращаемое значение:
- указатель на интерфейс ksColorParam или IColorParam.
```


## Create - Создать объект в модели

Синтаксис Automation:
```
BOOL Create();
```
Синтаксис COM:
```
BOOL Create();
Возвращаемое значение:
TRUE    - в случае успешного завершения.
```
Примечание:
Данный метод необходимо вызвать для создания объекта в модели после создания интерфейса с помощью метода NewEntity и изменения параметров создаваемого объекта.
Если до вызова данного метода свойства объекта не изменены, то объект создается с параметрами, принятыми по умолчанию.
Если объект уже создан, то функция вызовет метод Update.


## Элементы, существующие в модели по умолчанию

| o3d_planeXOY | = 1 | плоскость XOY |
| --- | --- | --- |
| o3d_planeXOZ | = 2 | плоскость XOZ |
| o3d_planeYOZ | = 3 | плоскость YOZ |
| o3d_pointCS | = 4 | точка начала системы координат |


## excluded - Признак включения или выключения из расчета

Тип данных: BOOL
Значения свойства:
| TRUE | - исключить из расчёта, |
| --- | --- |
| FALSE | - включить в расчёт. |
Синтаксис Automation:
```
excluded = iEntity.excluded    Получить свойство (* )
iEntity.excluded = excluded    Установить свойство (* )
excluded = iEntity.GetExcluded()    Получить свойство (**)
iEntity.SetExcluded(excluded)    Установить свойство (**)
```
Примечание:
1. После установки признака Excluded в True исключение объекта из расчета происходит сразу, без вызова Update. Поэтому изменение объектов (и вызов Update) нужно делать до переключения Excluded в True.
2. Начиная с КОМПАС-3D V12, исключенные из расчета объекты считаются не валидными.


## GetAdvancedColor - Получить параметры цвета и визуальных свойств объекта

Синтаксис Automation:
```
BOOL GetAdvancedColor (long* color,
double* ambient,
double* diffuse,
double* specularity,
double* shininess,
double* transparency,
double* emission);
```
Синтаксис COM:
```
BOOL GetAdvancedColor (COLORREF* color,
double* ambient,
double* diffuse,
double* specularity,
double* shininess,
double* transparency,
double* emission);
Выходные параметры:
color    - цвет,
ambient    - общий свет,
diffuse    - диффузия,
specularity    - зеркальность,
shininess    - блеск,
transparency    - прозрачность,
emission    - излучение.
Возвращаемое значение:
TRUE    - в случае успешного завершения.
```


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

Синтаксис Automation:
```
LPBODYPARTS GetBodyParts();
```
Синтаксис COM:
```
LPDISPATCH GetBodyParts();
Возвращаемое значение:
указатель на интерфейс массива тел ksBodyParts или IBodyParts.    - если объект состоит из частей,
NULL    - если объект не имеет частей.
Примечание:o
Метод позволяет получить интерфейс частей тела. Если объект не имеет частей, то метод вернет NULL. Части тела могут быть у операций вырезания.
```


## GetDefinition - Получить указатель на интерфейс параметров объектов и элементов

Синтаксис Automation:
```
LPDISPATCH GetDefinition();
Возвращаемое значение:
- указатель на интерфейс IDispatch.
```
Синтаксис COM:
```
LPUNKNOWN GetDefinition();
Возвращаемое значение:
- указатель на интерфейс IUnknown.
```
Примечание:
1. Для доступа к параметрам объекта полученный интерфейс необходимо привести к соответствующему типу.
Интерфейсы элементов модели...
2. Интерфейсы параметров объектов и элементов выбираются из перечня Obj3dType.


## GetFeature - Получить указатель на интерфейс объекта дерева, связанного с данным объектом

Синтаксис Automation:
```
LPDISPATCH GetFeature();
```
Синтаксис COM:
```
LPFEATURE GetFeature();
Возвращаемое значение:
- указатель на интерфейс ksFeature или IFeature - объект дерева, связанный с данным объектом.
```


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

Синтаксис Automation:
```
LPDISPATCH GetParent()
```
Синтаксис COM:
```
LPPART GetParent();
Возвращаемое значение:
- указатель на интерфейс ksPart или IPart.
```


## hidden - Состояние видимости объекта

Тип данных: BOOL
Значения свойства:
| TRUE | - объект скрытый, |
| --- | --- |
| FALSE | - объект видимый. |
Синтаксис Automation:
```
hidden = iEntity.hidden    Получить свойство (* )
iEntity.hidden = hidden    Установить свойство (* )
hidden = iEntity.GetHidden()    Получить свойство (**)
iEntity.SetHidden(hidden)    Установить свойство (**)
```


## IsCreated - Получить признак существования объекта

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


## IsIt - Проверить объект на соответствие указанному типу

Синтаксис Automation:
```
BOOL IsIt (short objType);
```
Синтаксис COM:
```
BOOL IsIt (short objType)
Входной параметр:
objType    - тип объекта.
Возвращаемое значение:
TRUE    - если тип объекта указан правильно.
Типы объектов...
```
Примечание:
Числовой идентификатор типа объекта не должен превышать идентификатора объекта, всегда последнего из Entity.


## MultiBodyParts - Признак того, что компонент состоит из нескольких частей

Тип данных: BOOL
Значения свойства:
| TRUE | - компонент состоит из нескольких частей, |
| --- | --- |
| FALSE | - компонент не состоит из нескольких частей. |
Синтаксис Automation:
```
MultiBodyParts = iEntity.MultiBodyParts    Получить свойство (* )
MultiBodyParts = iEntity.GetMultiBodyParts()    Получить свойство (**)
```
Примечания:
Свойство позволяет узнать. состоит ли компонент их нескольких частей.
В результате работы метода можно получить компонент (деталь), состоящую из нескольких частей. С точки зрения конструктора, деталь должна представлять нечто целое. Частей быть не должно. Следовательно, нужно отыскать в компоненте операции, порождающие несколько частей, и выключить из расчета не нужные, чтобы образовалось целое тело.


## name - Имя элемента трехмерной модели (оси, плоскости, формообразующего элемента)

Тип данных: строка
Синтаксис Automation:
```
name = iEntity.name    Получить свойство (* )
iEntity.name = name    Установить свойство (* )
name = iEntity.GetName()    Получить свойство (**)
iEntity.SetName(name)    Установить свойство (**)
```


## SetAdvancedColor - Изменить параметры цвета и визуальных свойств объекта

Синтаксис Automation:
```
BOOL SetAdvancedColor (long color,
double ambient,
double diffuse,
double specularity,
double shininess,
double transparency,
double emission);
```
Синтаксис COM:
```
BOOL SetAdvancedColor (COLORREF color,
double ambient,
double diffuse,
double specularity,
double shininess,
double transparency,
double emission);
Входные параметры:
color    - цвет,
ambient    - общий свет,
diffuse    - диффузия,
specularity    - зеркальность,
shininess    - блеск,
transparency    - прозрачность,
emission    - излучение.
Возвращаемое значение:
TRUE    - в случае успешного завершения.
```


## type - Тип объекта трехмерной модели

Тип данных: short
Значения свойства...
Синтаксис Automation:
```
type = iEntity.type    Получить свойство (* )
iEntity.type = type    Установить свойство (* )
type = iEntity.GetType()    Получить свойство (**)
iEntity.SetType(type)    Установить свойство (**)
```
Примечание:
1. Числовой идентификатор типа объекта не должен превышать идентификатор объекта, всегда последнего из Entity.
2. Свойство только для чтения.


## Update - Изменить свойства объекта (используя ранее установленные свойства)

Синтаксис Automation:
```
BOOL Update();
```
Синтаксис COM:
```
BOOL Update();
Возвращаемое значение:
TRUE    - в случае успешного завершения.
```
Примечание:
1. Изменение параметров объекта через интерфейс его параметров не приводит к перестроению модели.
2. Для перестроения объекта в модели (активизации текущих изменений) необходимо вызвать данный метод.
Если свойству ksPart::needRebuild компонента, которому принадлежит данный объект, установлено значение TRUE, то вызов данного метода приведет также к перестроению модели. Если свойству ksPart::needRebuild установлено значение FALSE, то данный метод только передаст изменения свойств модельному объекту, и для реального (визуального) изменения этих свойств нужно вызвать метод ksPart::RebuildModelEx, с параметром redraw равным TRUE.
3. Объект должен быть предварительно создан методом Create.


## useColor - Используемый цвет (цвет источника, цвет хозяина, цвет слоя, собственный цвет)

Тип данных: UseColor
Синтаксис Automation:
```
useColor = Object.useColor    Получить свойство(* )
Object.useColor = useColor    Установить свойство (* )
useColor = Object.GetUseColor()    Получить свойство (**)
Object.SetUseColory( useColor )    Установить свойство (**)
```
