---
title: "Интерфейс ILayer"
type: interface
api: [api7]
domain: [drawing]
tags: [interface, api7, drawing, ilayer]
sources:
  - ilayer.html
---

*API интерфейсов. Версия 7 > Документ 2D  > Виды и слои  > Интерфейс IDrawingObject  > IDrawingObject - методы *


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

Интерфейс слоя графического документа.
Иерархия:
IKompasAPIObject
IDrawingObject
ILayer
Описание:
В графическом документе в каждом виде всегда присутствует хотя бы один слой, который создается автоматически при создании документа и нового вида.
Примечание:
Данный интерфейс можно получить через коллекцию слоев ILayers с помощью свойства ILayers::Layer, ILayers::LayerByNumber, метода ILayers::Add, либо с помощью свойства IDrawingObjects::Item с последующим приведением к данному интерфейсу с помощью метода IUnknown QueryInterface.


## Background - Состояние слоя - фоновый

Тип данных: BOOL
Синтаксис Automation:
```
Background = iObject.Background    Получить свойство (* )
iObject.Background = Background    Установить свойство (* )
Background = iObject.GetBackground()    Получить свойство (**)
iObject.SetBackground (Background)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Background (&Background)    Получить свойство
iObject->put_Background (Background)    Установить свойство
```
Примечание:
1. Позволяет получить и установить свойство слоя - фоновый.
2. Свойство вступает в силу после вызова метода IDrawingObject::Update.


## Color - Цвет слоя

Тип данных: long
Синтаксис Automation:
```
Color = iObject.Color    Получить свойство (* )
iObject.Color = Color    Установить свойство (* )
Color = iObject.GetColor()    Получить свойство (**)
iObject.SetColor (Color)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Color (&Color)    Получить свойство
iObject->put_Color (Color)    Установить свойство
```
Примечание:
1. Позволяет получить и установить цвет слоя.
2. Свойство вступает в силу после вызова метода IDrawingObject::Update.


## Comment - Примечание

Тип данных: BSTR
Синтаксис Automation:
```
Comment = iObject.Comment    Получить свойство (* )
iObject.Comment = Comment    Установить свойство (* )
Comment = iObject.GetComment()    Получить свойство (**)
iObject.SetComment (Comment)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Comment (&Comment)    Получить свойство
iObject->put_Comment (Comment)    Установить свойство
```
Примечание:
1. Позволяет получить и установить примечание для слоя.
2. Свойство вступает в силу после вызова метода IDrawingObject::Update.


## Current - Состояние слоя - текущий

Тип данных: BOOL
Синтаксис Automation:
```
Current = iObject.Current    Получить свойство (* )
iObject.Current = Current    Установить свойство (* )
Current = iObject.GetCurrent()    Получить свойство (**)
iObject.SetCurrent (Current)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Current (&Current)    Получить свойство
iObject->put_Current (Current)    Установить свойство
```
Примечание:
1. Позволяет получить и установить состояние слоя - текущий.
2. Установить свойство текущий можно только равным TRUE. Новый слой всегда создается текущим.
3. Свойство вступает в силу после вызова метода IDrawingObject::Update.


## GetLayerObjects - Объекты слоя

Синтаксис Automation:
```
VARIANT GetLayerObjects( VARIANT ObjectsTypes );
```
Синтаксис COM:
```
HRESULT GetLayerObjects( VARIANT ObjectsTypes, VARIANT * Result );
Возвращаемое значение:
- Список объектов.
Входные параметры:
ObjectsTypes    - список типов объектов.
КOMPAS v24
```


## Name - Имя слоя

Тип данных: BSTR (строка)
Синтаксис Automation:
```
Name = iObject.Name    Получить свойство (* )
iObject.Name = Name    Установить свойство (* )
Name = iObject.GetName()    Получить свойство (**)
iObject.SetName (Name)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Name (&Name)    Получить свойство
iObject->put_Name (Name)    Установить свойство
```
Примечание:
1. Позволяет получить и установить имя слоя.
2. Свойство вступает в силу после вызова метода IDrawingObject::Update.


## ObjectCount - Количество объектов в слое

Тип данных: long
Синтаксис Automation:
```
ObjectCount = iObject.ObjectCount    Получить свойство (* )
ObjectCount = iObject.GetObjectCount()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_ObjectCount (&ObjectCount)    Получить свойство
```
Примечание:
1. Позволяет получить количество объектов в слое.
2. Свойство доступно только для чтения.


## Printable - Признак разрешения/запрещения печати слоя

Тип данных: BOOL
Синтаксис Automation:
```
Printable = Object.Printable    Получить свойство (* )
Object.Printable = Printable    Установить свойство (* )
Printable = Object.GetPrintable()    Получить свойство (**)
Object.SetPrintable (Printable)    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Printable (&Printable)    Получить свойство
Object.put_Printable (Printable)    Установить свойство
```


## Visible - Состояние слоя - видимый или погашенный

Тип данных: BOOL
Синтаксис Automation:
```
Visible = iObject.Visible    Получить свойство (* )
iObject.Visible = Visible    Установить свойство (* )
Visible = iObject.GetVisible()    Получить свойство (**)
iObject.SetVisible (Visible)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Visible (&Visible)    Получить свойство
iObject->put_Visible (Visible)    Установить свойство
```
Примечание:
1. Позволяет получить и установить свойство слоя - видимый или погашенный.
2. Свойство вступает в силу после вызова метода IDrawingObject::Update.
