Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/ilayers.md
T
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK
и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало
docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор
tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается.

- .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным
  (safety-net на случай повторной локальной выгрузки).
- CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 20:00:05 +03:00

119 lines
4.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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.
```
Примечание:
Свойство доступно только для чтения.