Подключить каталог библиотеки элементов

Вызов:

int ires = ac_request("Environment","AddLibraries",string LibPath);


Здесь: 

LibPath - путь к каталогу с подключаемой библиотекой

ires -1/0 если есть/нет ошибки


Пример 1.

Вы постоянно получаете файл с проектом от своего коллеги и всякий раз требуется подключать библиотеки, которые находятся у вас в других местах, и ARCHICAD стоит не на C:, а на D:.


int main()
{
   attach_lib("C:\\Моя библиотека элементов");
   attach_lib("D:\\Program Files\\GRAPHISOFT\\ARCHICAD 23\\Библиотека ARCHICAD 23");
}

// функция для подключения библиотеки - подключить и сообщить результат в консоль (окно сообщений)
int attach_lib(string sLibPath)
{
   int ires = ac_request("Environment", "AddLibraries", sLibPath);
   cout << "\nБиблиотека "<< sLibPath;
   if(ires == 0) {
      cout << "\nуспешно подключена";
   }
   return ires;
}


Пример 2.

Если в названии проекта есть фраза "Москва-Сити" - подключить дополнительную библиотеку.


int main()
{
   attach_lib("D:\\Program Files\\GRAPHISOFT\\ARCHICAD 23\\Библиотека ARCHICAD 23");
   attach_lib("C:\\Моя библиотека элементов");
   // Анализируем название проекта в информации о проекте
   ac_request_special("get_element_value", "PInfo", "Наименование Проекта");
     string svalue = ac_getstrvalue(); 
     if(strcontains(svalue, "Москва-Сити"))
     {
      attach_lib("C:\\Библиотека элементов Москва-Сити");
     }
}


// функция для подключения библиотеки - подключить и сообщить результат в консоль (окно сообщений)
int attach_lib(string sLibPath)
{
   int ires = ac_request("Environment", "AddLibraries", sLibPath);
   cout << "\nБиблиотека "<< sLibPath;
   if(ires == 0) {
      cout << "\nуспешно подключена";
   }
   return ires;
}