Ограничения и исключения в массивах 3D элементов

Предыдущая страницаВ началоСледующая страница

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

Ограничения

Ниже описаны общие принципы задания ограничений в массивах 3D элементов. Интерфейс описан в разделе Задание ограничений в массивах 3D элементов.

Задание ограничений состоит в выборе области 3D пространства, в которой должны находиться создаваемые копии – области ограничения. В этом режиме все копии, создаваемые в соответствии с основными параметрами массива, проверяются системой на вхождение в область ограничения. Если копия полностью принадлежит данной области, она войдёт в результирующий массив. Когда копия расположена вне области ограничения или принадлежит ей лишь частично, в результирующий массив она не включается.

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

Область ограничения задаётся 3D элементом, имеющим длину и ширину, но не имеющим толщины – гранью, 3D профилем, телом-поверхностью, рабочей поверхностью. Выбранный элемент выталкивается в обе стороны вдоль направления ограничения на бесконечные расстояния. Результат выталкивания и будет областью ограничения массива.

Ограничивающий элемент может быть плоским или неплоским. Неплоский ограничивающий элемент должен быть незамкнутым, в противном случае массив не будет построен.

16S.Limit1

Плоский квадратный профиль выбран в качестве ограничивающего элемента трёхмерного линейного массива

16S.Limit2

1 - Элементы, полностью не попадающие в область ограничения (не войдут в результат операции)

2 - Элементы, частично не попадающие в область ограничения (не войдут в результат операции)

3 - Элементы, полностью попадающие в область ограничения (войдут в результат операции)

 

16S.Limit3

Результат операции

 

Когда область ограничения задана плоским 3D элементом, то направление ограничения по умолчанию совпадает с нормалью к плоскости выбранного объекта. При необходимости можно задать произвольное направление ограничения, указав две 3D точки или один 3D элемент, способный определить направление.

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

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

16S.Limit4

Результат построения того же массива, что и на предыдущих иллюстрациях,
но с произвольным направлением ограничения, заданным точками 1 и 2.

 

Допускается задание области ограничения с помощью нескольких ограничивающих 3D элементов. Все элементы выталкиваются в одном направлении. Область ограничения будет представлять собой сумму областей, полученных в результате выталкивания каждого из выбранных элементов.

16S.LimitDouble16S.LimitDouble2

В дополнение к ранее выбранному ограничивающему элементу выбрана неплоская поверхность

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

16S.LimitDoublePerpend116S.LimitDoublePerpend2

В качестве ограничивающих элементов выбрано два плоских квадратных профиля (1 и 2), лежащих в перпендикулярных плоскостях.

Направление ограничения задано точками 3 и 4.

5 - Копии, попавшие в область выталкивания профиля 1.

6 - Копии, попавшие в область выталкивания профиля 2.

Исключения

Ниже описаны общие принципы задания исключений в массивах 3D элементов. Интерфейс описан в разделе Задание исключений в массивах 3D элементов.

Исключения, или исключаемые элементы, – это элементы массива, которые не нужно включать в результирующий массив. В качестве исключений можно указывать любые элементы массива, кроме исходного объекта.

Задание исключений возможно для ArrayLinear20x20 линейных и ArrayCircular20x20 круговых массивов, а также ArrayByPath20x20 массивов по пути. ArrayByPattern20x20 Массив по образцу наследует исключения массива-образца.

Для задания исключения указывается его положение в исходном массиве, т.е. строка, столбец и высота массива, на пересечении которых расположен этот элемент. Размерность массива в первом направлении определяет количество строк, во втором – количество столбцов, в третьем - количество высот массива.

Строки, столбцы и высоты массивов нумеруются следующим образом:

- 0, 1, 2, …, N-1 – в прямом направлении (N – количество копий в строке/столбце/высоте в прямом направлении)

- -1, -2, …, -M+1 – в обратном направлении (M – количество копий в строке/столбце/высоте в обратном направлении).

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

Вместо номера некоторых строк/столбцов/высот можно использовать описательные характеристики, определяющие их положение в исходном массиве.

Начальная – строка/столбец/высота, в которых расположен исходный объект массива (имеют номер 0);

Последняя – строка/столбец/высота, являющиеся последними в прямом направлении создания копий;

Последняя в обратном направлении – строка/столбец/высота, являющиеся последними в обратном направлении создания копий;

Такой способ задания положения исключений удобно использовать для удаления элементов внешних строк/столбцов/высот в массивах переменного размера, особенно когда размерности массива задаются общей длиной и шагом, или общей длиной и количеством элементов. Например, необходимо удалить в линейном массиве размером 4x4х4 (копии создаются только в прямом направлении) элемент, расположенный на пересечении последних строки, столбца и высоты массива. Можно просто указать в качестве исключения элемент на пересечении строки №4, столбца №4 и высоты №4. Но тогда при последующем увеличении массива (например, до 5 строк, 5 столбцов и 5 высот) будет исключаться элемент именно с координатами 4;4;4 (последний элемент строк столбцов и высот теперь будет иметь координаты 5;5;5). Чтобы всегда исключался последний элемент массива, нужно в качестве исключения указать элемент на пересечении последней строки, последнего столбца и последней высоты.

Исходный элемент массива выделен зелёным, исключаемый - белым.

Синим показано первое направление (строки), оранжевым - второе (столбцы), красным - третье (высота).

Цифрами обозначен номер элемента в соответствующем направлении.

16S.ExclusionNumbers2

16S.ExclusionCircular2

Исходный линейный массив

Исходный круговой массив

16S.ExclusionNumbers3

16S.ExclusionCircular3

Результат увеличения размерности массива на один элемент в каждом направлении,
если позиция исключаемого элемента была задана числовыми значениями (2; 2; 2)

16S.ExclusionNumbers4

16S.ExclusionCircular4

Результат увеличения размерности массива на один элемент в каждом направлении,
если позиция исключаемого элемента была задана как последняя в строке, столбце и высоте

После выбора исключаемого элемента можно дополнительно удалить всю строку, столбец или высоту, содержащую данный элемент.

16S.ExclusionLinear516S.ExclusionCircular5

Результат исключения из массивов, показанных на предыдущей иллюстрации,

второй строки (элементы обведены синим), второго столбца (перечёркнуты оранжевым) и второй высоты (перечёркнуты красным).

 

Циклический повтор. Применение данного режима ведёт к удалению не только исходного исключения, но и элементов, следующих за ним через такое же количество строк/столбцов/высот от начала массива. При использовании данного режима вместе с удалением строки/столбца/высоты аналогичным образом будут циклически удаляться строки/столбцы/высоты.

 

16S.ExclusionCyclic1x

16S.ExclusionCyclic2

Результат применения циклического повтора к элементу с позицией 1;1;1
в линейном и круговом трёхмерных массивах с шестью копиями в каждом прямом направлении и четырьмя в обратном.

Синей стрелкой показано первое прямое направление (строки), оранжевой - второе (столбцы), красной - третье (высота).

Неисключаемые элементы показаны в чёрном цвете.

Исходный элемент массива показан в красном цвете и обведен зелёной рамкой.

Исключаемые элементы показаны в красном цвете и обведены синей рамкой.

Цифрами обозначены позиции исключаемых элементов.

16S.ExclusionCyclic6x

16S.ExclusionCyclic3

Результат исключения из массивов, показанных на предыдущей иллюстрации,

строки (элементы перечеркнуты синим), столбца (элементы перечёркнуты оранжевым)

и высоты (элементы обведены красным), содержащих элемент с позицией с позицией 1;1;1.

16S.ExclusionCyclic5x

16S.ExclusionCyclic4

Результат применения циклического повтора исключений к массивам, показанным на предыдущей иллюстрации.

Основные темы в этом разделе:

Задание ограничений в массивах 3D элементов

Задание исключений в массивах 3D элементов