--- 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.