---
title: "Зоны"
type: interface
api: [api7]
tags: [interface, api7, cu1735335]
sources:
  - cu1735335.html
  - izone.html
  - izonesmanager.html
  - izoneparametersbyborderpoints.html
  - izoneparametersbyobjects.html
  - izonedivisionparametersregular.html
  - izonedivisionparametersbyplanes.html
---

*API интерфейсов. Версия 7 > Сервисные функции *

Интерфей IZoneDivision


## Интерфейс IZone

Интерфейс параметров зоны
Иерархия:
IDispatch
IKompasAPIObject
IModelObject
IZone
Данны интерфейс можно получить с помощью метода IZonesManager::AddZone или свойств IZonesManager::Zone, IZonesManager::CurrentZone.
Версия Компас v18.1


## GetGabarit - Выдать габарит

Синтаксис Automation:
```
BOOL GetGabarit( double * X1, double * Y1, double * Z1, double * X2, double * Y2, double * Z2 );
```
Синтаксис COM:
```
HRESULT GetGabarit( double * X1, double * Y1, double * Z1, double * X2, double * Y2, double * Z2, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
Выходные параметры:
X1, Y1, Z1, X2, Y2, Z2    - координаты габаритного параллелепипеда.
```


## Parameters - Параметры зоны

Тип данных: Указатель на интерфейс IKompasAPIObject
Синтаксис Automation:
```
Parameters = Object.Parameters    Получить свойство (* )
Parameters = Object.GetParameters()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Parameters( &Parameters )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
В зависимости от способа создания зоны IZone::ZoneType возвращается интерфейс параметров зоны.
•ksZoneFree - Нет параметров;
•ksZoneByPoints - Параметры зоны заданной габаритным параллелепипедом - IZoneParametersByBorderPoints;
•ksZoneByObjects - Параметры зоны по суммарному габариту объектов - IZoneParametersByObjects.


## SelectObjects - Вернуть объекты, попадающие в зону или находящиеся вне зоны

Тип данных: VARIANT
Синтаксис Automation:
```
SelectObjects = Object.SelectObjects( SelectType )    Получить свойство (* )
SelectObjects = Object.GetSelectObjects( SelectType )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_SelectObjects( SelectType, &SelectObjects )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Массив объектов возвращается в виде массива SAFEARRAY объектов LPDISPATCH (VT_ARRAY | VT_DISPATCH).


## SelectParts - Вернуть вставки моделей с редактируемого уровня, попадающие в зону или находящиеся вне зоны

Тип данных: VARIANT
Синтаксис Automation:
```
SelectParts = Object.SelectParts( SelectType )    Получить свойство (* )
SelectParts = Object.GetSelectParts( SelectType )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_SelectParts( SelectType, &SelectParts )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Массив объектов возвращается в виде массива SAFEARRAY объектов LPDISPATCH (VT_ARRAY | VT_DISPATCH).


## ZoneType - Способ создания зоны

Тип данных: из перечисления ksZoneTypeEnum
Синтаксис Automation:
```
ZoneType = Object.ZoneType    Получить свойство (* )
Object.ZoneType = ZoneType    Установить свойство (* )
ZoneType = Object.GetZoneType()    Получить свойство (**)
Object.SetZoneType( ZoneType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ZoneType( &ZoneType )    Получить свойство
Object.put_ZoneType( ZoneType )    Установить свойство
```


## Интерфейс IZonesManager

Интерфейс Менеджера зон
Иерархия:
IDispatch
IKompasAPIObject
IZonesManager
Данный интерфейс можно получить с помощью свойства IPart7::ZonesManager.
Версия Компас v18.1


## AddZone - Добавить зону

Синтаксис Automation:
```
LPDISPATCH AddZone( ksZoneTypeEnum ZoneType );
```
Синтаксис COM:
```
HRESULT AddZone( ksZoneTypeEnum ZoneType, IZone ** Result );
Возвращаемое значение:
- Указатель на интерфейс IZone.
Входные параметры:
ZoneType    - cпособ создания зоны из перечисления ksZoneTypeEnum.
```


## AddZoneDivision - Добавить Разбиение зоны

Синтаксис Automation:
```
LPDISPATCH AddZoneDivision( ksZoneDivisionTypeEnum ZoneType );
```
Синтаксис COM:
```
HRESULT AddZoneDivision( ksZoneDivisionTypeEnum ZoneType, IZoneDivision * * Result );
Возвращаемое значение:
- указатель на интерфейс IZoneDivision.
Входные параметры:
ZoneType    - cпособ разбиения зоны из перечисления ksZoneDivisionTypeEnum.
```


## CreateZonesInGlobalCS - Создавать зоны в абсолютной СК

Тип данных: BOOL
Синтаксис Automation:
```
CreateZonesInGlobalCS = Object.CreateZonesInGlobalCS    Получить свойство (* )
Object.CreateZonesInGlobalCS = CreateZonesInGlobalCS    Установить свойство (* )
CreateZonesInGlobalCS = Object.GetCreateZonesInGlobalCS()    Получить свойство (**)
Object.SetCreateZonesInGlobalCS( CreateZonesInGlobalCS )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CreateZonesInGlobalCS( &CreateZonesInGlobalCS )    Получить свойство
Object.put_CreateZonesInGlobalCS( CreateZonesInGlobalCS )    Установить свойство
```


## CurrentZone - Текущая зона

Тип данных: Указатель на интерфейс IZone
Синтаксис Automation:
```
CurrentZone = Object.CurrentZone    Получить свойство (* )
Object.CurrentZone = CurrentZone    Установить свойство (* )
CurrentZone = Object.GetCurrentZone()    Получить свойство (**)
Object.SetCurrentZone( CurrentZone )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CurrentZone( &CurrentZone )    Получить свойство
Object.put_CurrentZone( CurrentZone )    Установить свойство
```


## Zone - Получить зону по имени или индексу

Тип данных: Указатель на интерфейс IZone
Синтаксис Automation:
```
Zone = Object.Zone( Index )    Получить свойство (* )
Zone = Object.GetZone( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Zone( Index, &Zone )    Получить свойство
Входные параметры:
VARIANT Index    - индекс или имя элемента.
```
Примечание:
Свойство доступно только для чтения.


## ZoneDivision - Получить объект Разбиение зоны по имени или индексу

Тип данных: Указатель на интерфейс IZoneDivision
Синтаксис Automation:
```
ZoneDivision = Object.ZoneDivision( Index )    Получить свойство (* )
ZoneDivision = Object.GetZoneDivision( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ZoneDivision( Index, &ZoneDivision )    Получить свойство
Входные параметры:
VARIANT Index    - индекс или имя элемента.
```
Примечание:
Свойство доступно только для чтения.


## ZonesCount - Количество зон

Тип данных: long
Синтаксис Automation:
```
ZonesCount = Object.ZonesCount    Получить свойство (* )
ZonesCount = Object.GetZonesCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ZonesCount( &ZonesCount )    Получить свойство
```
Примечание:


## ZonesDivisionCount - Количество объектов Разбиение зоны

Тип данных: long
Синтаксис Automation:
```
ZonesDivisionCount = Object.ZonesDivisionCount    Получить свойство (* )
ZonesDivisionCount = Object.GetZonesDivisionCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ZonesDivisionCount( &ZonesDivisionCount )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## ZonesTree - Дерево зон

Тип данных: Указатель на интерфейс IFeature7
Синтаксис Automation:
```
ZonesTree = Object.ZonesTree    Получить свойство (* )
ZonesTree = Object.GetZonesTree()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ZonesTree( &ZonesTree )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## ZonesVisible - Отображать зоны

Тип данных: BOOL
Синтаксис Automation:
```
ZonesVisible = Object.ZonesVisible    Получить свойство (* )
Object.ZonesVisible = ZonesVisible    Установить свойство (* )
ZonesVisible = Object.GetZonesVisible()    Получить свойство (**)
Object.SetZonesVisible( ZonesVisible )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ZonesVisible( &ZonesVisible )    Получить свойство
Object.put_ZonesVisible( ZonesVisible )    Установить свойство
```


## Интерфейс IZoneParametersByBorderPoints

Интерфейс параметров зоны, заданной габаритным параллелепипедом.
Иерархия:
IDispatch
IKompasAPIObject
IZoneParametersByBorderPoints
Данный интерфейс можно получить с помощью метода IZone::Parameters.
Версия Компас v18.1
IZoneParametersByBorderPoints - свойство


## AssociationObject - Установить опорный объект для вершины

Тип данных: Указатель на интерфейс IModelObject
Синтаксис Automation:
```
AssociationObject = Object.AssociationObject( First )    Получить свойство (* )
Object.AssociationObject( First ) = AssociationObject    Установить свойство (* )
AssociationObject = Object.GetAssociationObject( First )    Получить свойство (**)
Object.SetAssociationObject( First, AssociationObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AssociationObject( First, &AssociationObject )    Получить свойство
Object.put_AssociationObject( First, AssociationObject )    Установить свойство
Входные параметры:
BOOL    - First - TRUE - первая вершина, FALSE - вторая вершина.
```


## BuildingType - Способ задания габаритов

Тип данных: из перечисления ksGabaritBuildingTypeEnum.
Синтаксис Automation:
```
BuildingType = Object.BuildingType    Получить свойство (* )
Object.BuildingType = BuildingType    Установить свойство (* )
BuildingType = Object.GetBuildingType()    Получить свойство (**)
Object.SetBuildingType( BuildingType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BuildingType( &BuildingType )    Получить свойство
Object.put_BuildingType( BuildingType )    Установить свойство
```


## GetPoint - Получить координаты точки

Синтаксис Automation:
```
BOOL GetPoint( BOOL First, double * X, double * Y, double * Z );
```
Синтаксис COM:
```
HRESULT GetPoint( BOOL First, double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
Входные параметры:
First    - TRUE - первая вершина, - FALSE - вторая вершина.
Выходные параметры:
X, Y, Z    - Координаты вершины.
```


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

Тип данных: Указатель на интерфейс IKompasAPIObject
Синтаксис Automation:
```
PointParameters = Object.PointParameters( First )    Получить свойство (* )
PointParameters = Object.GetPointParameters( First )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_PointParameters( First, &PointParameters )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## PointType - Тип параметров построения точки

Тип данных: из перечисления ksPoint3DTypeEnum
Синтаксис Automation:
```
PointType = Object.PointType( First )    Получить свойство (* )
Object.PointType( First ) = PointType    Установить свойство (* )
PointType = Object.GetPointType( First )    Получить свойство (**)
Object.SetPointType( First, PointType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_PointType( First, &PointType )    Получить свойство
Object.put_PointType( First, PointType )    Установить свойство
Входные параметры:
BOOL    - First - TRUE - первая вершина, FALSE - вторая вершина.
```


## IZoneParametersByBorderPoints - свойство

AssociationObject - Установить опорный объект для вершины
BuildingType - Способ задания габаритов
PointParameters - Получить интерфейс параметров точки
PointType - Тип параметров построения точки


## SetPoint - Установить координаты точки

Синтаксис Automation:
```
BOOL SetPoint( BOOL First, double X, double Y, double Z );
Синтаксис COM :
HRESULT SetPoint( BOOL First, double X, double Y, double Z, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
Входные параметры:
First    - TRUE - первая вершина, - FALSE - вторая вершина.
```


## Интерфейс IZoneParametersByObjects

Интерфейс параметров зоны по суммарному габариту объектов.
Иерархия:
IDispatch
IKompasAPIObject
IZoneParametersByObjects
Данный интерфейс можно получить с помощью метода IZone::Parameters.
Версия Компас v18.1


## BaseObjects - Объекты

Тип данных: VARIANT
Синтаксис Automation:
```
BaseObjects = Object.BaseObjects    Получить свойство (* )
Object.BaseObjects = BaseObjects    Установить свойство (* )
BaseObjects = Object.GetBaseObjects()    Получить свойство (**)
Object.SetBaseObjects( BaseObjects )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BaseObjects( &BaseObjects )    Получить свойство
Object.put_BaseObjects( BaseObjects )    Установить свойство
Примечание.
Позволяет получать и устанавливать опорный объект или массив опорных объектов по которым определяется суммарный габарит зоны.
Массив объектов возвращается в виде массива SAFEARRAY объектов LPDISPATCH (VT_ARRAY | VT_DISPATCH).
```


## Интерфейс IZoneDivisionParametersRegular

Интерфейс параметров разбиения зоны для способа Равномерно по осям.
Иерархия:
IDispatch
IKompasAPIObject
IZoneDivisionParametersRegular
Данный интерфейс можно получить с помощью метода IZoneDivision::Parameters.
Версия Компас v18.1


## XCount - Количество по X

Тип данных: long
Синтаксис Automation:
```
XCount = Object.XCount    Получить свойство (* )
Object.XCount = XCount    Установить свойство (* )
XCount = Object.GetXCount()    Получить свойство (**)
Object.SetXCount( XCount )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_XCount( &XCount )    Получить свойство
Object.put_XCount( XCount )    Установить свойство
```


## YCount - Количество по Y

Тип данных: long
Синтаксис Automation:
```
YCount = Object.YCount    Получить свойство (* )
Object.YCount = YCount    Установить свойство (* )
YCount = Object.GetYCount()    Получить свойство (**)
Object.SetYCount( YCount )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_YCount( &YCount )    Получить свойство
Object.put_YCount( YCount )    Установить свойство
```


## ZCount - Количество по Z

Тип данных: long
Синтаксис Automation:
```
ZCount = Object.ZCount    Получить свойство (* )
Object.ZCount = ZCount    Установить свойство (* )
ZCount = Object.GetZCount()    Получить свойство (**)
Object.SetZCount( ZCount )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ZCount( &ZCount )    Получить свойство
Object.put_ZCount( ZCount )    Установить свойство
```


## Интерфейс IZoneDivisionParametersByPlanes

Интерфейс параметров разбиения зоны для способа по набору плоскостей.
Иерархия:
IDispatch
IKompasAPIObject
IZoneDivisionParametersByPlanes
Данный интерфейс можно получить с помощью метода IZoneDivision::Parameters.
Версия Компас v18.1


## Planes - Секущие плоскости

Тип данных: VARIANT
Синтаксис Automation:
```
Planes = Object.Planes    Получить свойство (* )
Object.Planes = Planes    Установить свойство (* )
Planes = Object.GetPlanes()    Получить свойство (**)
Object.SetPlanes( Planes )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Planes( &Planes )    Получить свойство
Object.put_Planes( Planes )    Установить свойство
Примечание.
Позволяет получать и устанавливать секущую плоскость или массив секущих плоскостей для разбиения зоны.
Массив объектов возвращается в виде массива SAFEARRAY объектов LPDISPATCH (VT_ARRAY | VT_DISPATC.
```
