Part CompoundFilter/ru

Описание
CompoundFilter можно использовать для извлечения отдельных частей результата операции вроде Part Slice, с помощью которой вы разбили объект.

Он может извлекать дочерние элементы по их индексам, тестировать дочерние элементы на предмет столкновений с формой трафарета и фильтровать дочерние элементы на основе их свойств, таких как длина, площадь, объем.

Если в результате есть только один дочерний элемент, результатом будет дочерний элемент. Если получается более одного дочернего элемента, на выходе будет новое соединение.

Применение

 * 1) Выбрать нарезаемый объект
 * 2) Применить
 * 3) Выберите CompoundFilterObject в древе проекта
 * 4) На вкладке свойств установите "Filter Type" на "specific items"
 * 5) Заенсите в свойство "items" элементы, которые вы хотите извлечь
 * 6) Для цельного куска это число, начинающееся с 0, т.е. если вы хотите извлечь первый элемент, введите 0 в это поле, 1 для следующего элемента ...
 * 7) Если вы хотите извлечь более одного фрагмента за раз, разделите числа знаком ";", например значение «0;2» извлечет первый и третий элементы
 * 8) Общий случай, который также охватывает упомянутые выше возможности, представляет собой список диапазонов индексов, указанных в нотации Python, но без скобок. Диапазоны можно объединять точкой с запятой. Например:
 * 9) * 7:10 принимает дочерние элементы индексов 7, 8 и 9 (индексы отсчитываются от нуля; индекс диапазона до исключается).
 * 10) * 1;2  принимает потомков 1 и 2 (первый диапазон - дочерний 1, второй диапазон - дочерний 2, диапазоны соединяются точкой с запятой)
 * 11) * 0;-1  взять первого дочернего элемента (индекс 0) и последнего (индекс -1 означает последний дочерний элемент, -2 - один перед последним и так далее)
 * 12) * 1:  взять все, кроме первого дочернего элемента (отсутствие индекса означает «полностью до конца»).
 * 13) * ::-1  взять все дочерние элементоы в обратном порядке
 * 14) * ::2  взять все дочерние элементы с нечетным индексом, то есть индексы, 1,3,5, ..., которые являются элементами 2,4,6, ...
 * 15) * :;:  дважды повторить введенное соединение
 * 16) Если вы хотите извлечь другой кусок, снова выберите нарезанный объект. Теперь он находится под CompoundFilter в дереве.
 * 17) Повторите процедуру выбора, описанную выше. Срез и его подэлементы будут отображаться в обоих CompoundFilters; разумеется, они не повторяются в модели. Самый быстрый способ извлечь другой фрагмент - скопировать CompoundFilter. Но будьте осторожны: вас спросят, хотите ли вы скопировать также элементы из CompoundFilter, на что вы должны ответить «нет», вы не хотите их копировать, вы только ссылаетесь на них.

Свойства

 * : фильтруемый объект.
 * Варианты выбора :
 * bypass; нет фильтра. Исходное соединение выводится без изменений.
 * specific items; извлекаются элементы, перечисленные в свойстве "items"
 * collision-pass; извлекаются части, которые касаются или пересекаются с формой 'Stencil'.
 * window-volume (по умолчанию); извлекаются все части, которые имеют объем между «Window From» и «Window To», где 100% - самая большая часть, а не неразрезанный объект. Значение 100% является эталонным значением, которое можно переопределить с помощью «OverrideMaxVal».
 * window-area; то же, что и window-volume, но где вместо объёма выделение определяет нарезанная площадь, а не объем.
 * window-length; то же, что и window-volume, но где вместо объёма выделение определяет длина краёв.
 * window-distance; извлекаются дочерние элементы, расстояние которых до формой 'Stencil' находится в пределах окна значений, определяемого свойствами «WindowFrom», «WindowTo», «OverrideMaxVal».
 * : если установлено значение true, список, как описано выше, исключается, а не включается.
 * : диапазон окна значений определяется в процентах от максимального значения. Максимальное значение вычисляется в соответствии со следующим набором правил:
 * если OverrideMaxVal отличен от нуля - используется оно.
 * в противном случае, если указана ссылка 'Stencil' - вычисляется соответствующее значение формы трафарета (не применимо к расстоянию между окнами 'FilterType')
 * в противном случае берется максимальное значение от дочерних элементов в компаунде для фильтрации.
 * : ссылка на фигуру трафарета. Для Collision-Pass и Window-Distance FilterType stencil - это объект, с которым нужно проверить столкновение/расстояние. Для других типов фильтров «window-***» трафарет используется для предоставления справочного значения для процентных значений окна (переопределение максимального значения). Во всех остальных режимах «Stencil» игнорируется.
 * : процент верхнего порога для выбора частей, 100% относительно самой большой части.
 * : процент нижнего порога для выбора частей, 100% относительно самой большой части.
 * : список или диапазон элементов, которые нужно выбрать, если тип фильтра - «specific items».