суббота, 3 октября 2015 г.

[Revit API] - Перебор элементов

Не так давно обнаружил, что можно перебирать элементы без приведения объекта FilteredElementCollector к нужному типу - Element или FamilyInstance.
Не был уверен, что это правильно, пока не нашёл статью Building Coder'а: Change Type, Iterate Elements, Create Family
Виктор Чекалин выполнил перевод на сайте adn-cis.org




2 комментария:

  1. то есть проходить прямо циклом по массиву.
    нужно попробовать в питоне это выполнить.

    ОтветитьУдалить
  2. Попробую переделать второй код, чтобы было проще сравнить с первым:

    FilteredElementCollector collector
    = new FilteredElementCollector( doc )
    .OfClass( typeof( Family ) );

    foreach( Family f in collector )
    {
    str = str + f.Name + "\n";

    // ...
    }

    Смысл в том, что не требуется создавать нового массива с элементами нужного типа. Делаю FilteredElementCollector, выполняю фильтрацию, далее перебор веду по collector, без создания нового листа из семейств, как это делалось в первом примере

    ОтветитьУдалить