Files
kompas3d-mcp/docs/Kompas3D_SDK/guides/layer.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

57 lines
2.1 KiB
Markdown

---
title: "Layer - Сделать слой текущим"
type: guide
api: [api7]
tags: [guide, api7, layer]
sources:
- layer.html
---
*API экспортных функций > Функции работы с графическим документом  > Работа со слоями  > Функции работы со слоями *
## Layer - Сделать слой текущим
Пример...
Аналог данной функции при использовании Automation - метод ksDocument2D::ksLayer.
Синтаксис:
```
reference Layer (int n);
Входной параметр:
n - номер слоя.
Возвращаемое значение:
указатель на слой - в случае удачного завершения,
0 - в случае неудачи.
```
Примечание:
Если слоя с заданным номером нет, он создается.
## Пример использования функций работы со слоями
void Layers_Example (void) {
reference lay1, lay2;
int number;
char buf[128];
LayerParam par;
lay1 = Layer (1); /* создание слоя 1 */
strcpy(par.name, Квадрат);
par.state = 0; par.color = RGB(255, 0, 0); /* красный */
SetObjParam (lay1,&par,sizeof(par), ALLPARAM);
LineSeg (0, 0, 0, 100, 1); /* объекты записываются */
LineSeg (0, 100, 100, 100, 1); /* в слой 1 - Квадрат */
LineSeg (100, 100, 100, 0, 1);
LineSeg (100, 0, 0, 0, 1);
lay2 = Layer (2); /* создание слоя 2 */
strcpy(par.name, Треугольник);
par.state = 0; par.color = RGB(0, 255, 0); /* зеленый */
SetObjParam (lay2,&par,sizeof(par), ALLPARAM);
LineSeg (10, 10, 50, 90, 2); /* объекты записываются */
LineSeg (50, 90, 90, 10, 2); /* в слой Треугольник */
LineSeg (90, 10, 10, 10, 2);
number = GetLayerNumber (lay1); /* получить номер 1*/
sprintf(buf,number=%d,number);
Message(buf);
lay2 = GetLayerReference(2); /* получить указатель на слой с номером 2 */
}; /* Layers_Example */