---
title: "ksAddObjectToMacro - Добавить объект, слой, вид или группу объектов в макроэлемент"
type: guide
api: [api7]
tags: [guide, api7, ksaddobjecttomacro]
sources:
  - ksaddobjecttomacro.html
---

*API экспортных функций > Функции работы с графическим документом  > Создание графических объектов  > Работа с макроэлементами и библиотечными макроэлементами  > Функции работы с макроэлементами и библиотечными макроэлементами *


## ksAddObjectToMacro - Добавить объект, слой, вид или группу объектов в макроэлемент

Пример...
Аналог данной функции при использовании Automation - метод ksDocument2D::ksAddObjectToMacro.
Синтаксис:
```
int ksAddObjectToMacro (reference macro,reference obj);
Входные параметры:
macro    - указатель на макроэлемент,
obj    - указатель на добавляемый объект.
Возвращаемое значение:
1    - в случае успешного завершения,
0    - в случае неудачи.
```
Примечание:
1. Слой и вид добавляются россыпью.
2. Добавляемые объекты и макроэлемент должны принадлежать текущему документу и одному виду.
3. Добавляемые объекты перестают быть самостоятельными.


## ksAddObjectToMacro - пример использования

//создать постоянную группу
//(окружности принадлежат текущему виду)
reference gr = NewGroup (0);
Circle(0, 0, 100, 1);
Circle(0, 0, 50, 1);
EndGroup();
//создать макроэлемент
Macro(1);
LineSeg (120, 100, 120, 150, 1);
reference m = EndObj();
//добавить в макро новый объект
ksOpenMacro(m);
LineSeg (100, 100, 150, 100, 1);
::EndObj();
//добавить в макроэлемент группу самостоятельных объектов.
//(объекты становятся внутренними)
