--- title: "Интерфейс ILayers" type: interface api: [api7] domain: [drawing] tags: [interface, api7, drawing, ilayers] sources: - ilayers.html --- *API интерфейсов. Версия 7 > Документ 2D  > Виды и слои  > Интерфейс IDrawingObjects  > IDrawingObjects - свойства * ## Интерфейс ILayers Интерфейс коллекции слоев графического документа. Иерархия: IKompasAPIObject IKompasCollection IDrawingObjects ILayers Примечание: Интерфейс коллекции слоев можно получить от интерфейса вида с помощью свойства IView::Layers или у группы слоев с помощью свойства ILayerGroup::Layers. ## Add - Создать слой (добавляет слой в коллекцию) Синтаксис Automation: ``` LPDISPATCH Add(); ``` Синтаксис COM: ``` HRESULT Add ([out, retval] ILayer** Layer); Возвращаемое значение: - Указатель на интерфейс слоя ILayer. ``` Примечание: 1. Интерфейс слоя добавляется в коллекцию. 2. Слой в документе будет создан после вызова метода IDrawingObject::Update. ## Attach - Добавить существующий слой Синтаксис Automation: ``` BOOL Attach (LPDISPATCH pVal); ``` Синтаксис COM: ``` HRESULT Attach ([in] ILayer * pVal, [out, retval] VARIANT_BOOL * Result); Входные параметры: pVal - Указатель на интерфейс слоя ILayer. Возвращаемое значение: TRUE - в случае успеха, FALSE - в случае неудачи. ``` Примечание: 1. Интерфейс слоя добавляется в коллекцию. 2. Метод работает только для коллекции слоев группы ILayerGroup, если она не является динамической. ## Detach - Отсоединить слой Тип данных: указатель на интерфейс слоя ILayer. Синтаксис Automation: ``` BOOL Detach (LPDISPATCH pVal); ``` Синтаксис COM: ``` HRESULT Detach ([in] ILayer * pVal, [out, retval] VARIANT_BOOL * Result); Входные параметры: pVal - Указатель на интерфейс слоя ILayer. Возвращаемое значение: TRUE - в случае успеха, FALSE - в случае неудачи. ``` Примечание: 1. Интерфейс слоя отсоединяется от коллекции, слой при этом из документа не удаляется. 2. Метод работает только для коллекции слоев группы ILayerGroup, если она не является динамической. ## Layer - Слой, заданный по индексу Тип данных: указатель на интерфейс слоя ILayer Синтаксис Automation: ``` Layer = iObject.Layer (Index) Получить свойство (* ) Layer = iObject.GetLayer (Index) Получить свойство (**) ``` Синтаксис COM: ``` iObject->get_Layer (Index, &Layer) Получить свойство Входные параметры: index - индекс слоя в коллекции; тип VARIANT. ``` Примечание: 1. Свойство доступно только для чтения. 2. В качестве индекса может использоваться индекс элемента в массиве, ссылка на слой, имя слоя. ## LayerByNumber - Слой, заданный по номеру Тип данных: указатель на интерфейс слоя ILayer Синтаксис Automation: ``` Layer = iObject.LayerByNumber (Number) Получить свойство (* ) Layer = iObject.GetLayerByNumber (Number) Получить свойство (**) ``` Синтаксис COM: ``` iObject->get_LayerByNumber (Number, &Layer) Получить свойство Входные параметры: number - номер слоя; тип long. ``` Примечание: Свойство доступно только для чтения.