Загрузить заданный список элементами ARCHICAD по заданным условиям

Вызов:

ac_request("load_elements_list",int iListNum,string sElemTypeName,"MainFilter",int iMainFilterValue,string filterparametrname, string/double filterparametervalue,...);


Здесь:

iListNum - номер внутреннего списка элементов (от 0...9).

sElemTypeName - название типа элемента. Если нужно выбрать любые элементы - "ZombieElemType", если только колонны, то "ColumnType", стены - "WallType" и т.д.

"MainFilter" - сообщает, что мы задаем параметры для отфильтровывания элементов по типу доступности для редактирования, видимости и т.п. iMainFilterValue - обычно значение для видимых и редактируемых элементов - 3.

Далее идут названия параметров и их значения для дополнительного отбора.

Например "ID","Значение ID" - означает, что нужно выбрать элементы с ID="Значение ID" и т.д.

Фильтр "MainFilter" можно и не указывать. Это равносильно тому, что написать "MainFilter",0.

Т.е. при формировании списка в него попадут все подходящие элементы в проекте без учета основного критерия.

Значение фильтра собирается по формуле.

MainFilterValue=j1+2*j2+4*j3+8*j4+16*J5+32*j6+64*j7+128*j8+256*j9+512*j10+1024*j11+2048*j12+4096*j13+268435456*j14,

где каждое j может быть 0 или 1.

j1: только редактируемые.

j2: на видимом слое.

j3: на текущем этаже

j4: имеет представление в 3d окне

j5: в моем рабочем пространстве

j6: не подчиненные а только независимые элементы

j7: на активном чертеже

j8: отображается внутри обрезанной части базы данных чертежа


j9: указывает, передан ли данному элементу идентификатор изменения в параметре variationID

j10: имеются права доступа к элементу

j11: элемент виден в реновации

j12: дополнительный флаг; проверяет, переопределены ли атрибуты элемента текущим фильтром обновления

j13: дополнительный флаг; проверяет видимость элемента с учетом текущей настройки отображения структуры

j14: только из 2d окна