Как программно создать слой
Чтобы программно или с помощью ИИ создать слой в архикаде нужно записать этот текст программы в файл с расширением *.cpp.
В Архикаде открыть LABPP BIM Мастер, кнопкой с изображением папки вызвать диалог выбора файлов и найти этот файл cpp.
Если у вас еще не установлен LABPP MIN Master - скачайте его с сайта LABPP.net.
// Проверить есть ли в проекте слой "Имя моего нового слоя".
// Если слоя нет - создать его
// Назначить цвет слоя RGB = 255,100,0
int main()
{
ac_request_attributes("get_num", "Layer"); // запрашиваем количество слоев в проекте
int icount = ac_getnumvalue(); // считываем количество слоев в переменную icount
coutvar << icount; // выводим в окно сообщений
string layername = "Имя моего нового слоя"; //
string sparametergenesis = "AP";
ac_request_attributes("get_attr_value", "Layer", layername, sparametergenesis, "Index"); // чтобы проверить есть ли уже слой с таким наименованием в проекте запросим его индекс
int inewlayerindex = ac_getnumvalue();
if (inewlayerindex < 0) // если полученный индекс меноше 0, то этот слой не существует
{
// создаем новый слой
int ibaselayer = 1; // индекс слоя, который мы возьмем за образец
ac_request_attributes("create_attr", "Layer", layername, ibaselayer); // создать новый слой и запросить его индекс
inewlayerindex = ac_getnumvalue(); // сохранить индекс нового слоя в переменную
}
// что-то делаем со слоем, например задаем цвет
int red = 255; // значение может быть от 0 до 255
int green = 100;
int blue = 0;
ac_request_attributes("set_attr_value", "Layer", inewlayerindex, sparametergenesis, "RGB", red, green, blue);
coutvar << inewlayerindex; // выводим в окно сообщений индекс нашего слоя
}