Получить индекс слоя в проекте ARCHICAD.

Вызов:

int ires = ac_request("layer","get_index", string slayername);


Здесь:

slayername - имя слоя, у которого требуется получить индекс.

в ires возвращается 0 если обращение произошло без ошибок,

или отрицательное значение если произошла ошибка или такого слоя в проекте нет.

индекс слоя получается функцией ac_getnumvalue();


Пример.

Получить индекс слоя "01 10 Несущие стены", если такого слоя нет - то создать его и вывести в окно сообщений.


string slayername = "01 10 Несущие стены";
int ires = ac_request("layer","get_index",slayername);
if(ires < 0)
{
   // layer not exist - create it 
   ires = ac_request("layer","create",slayername);
   if(ires == 0)
      {
         ires = ac_request("layer","get_index",slayername);
      }
      else
      {
         cout << "cann't create layer "<<slayername;
         return -1;
      }
}

int iLayerIndex = ac_getnumvalue();
cout << "Index of the layer=" << iLayerIndex << "\n";