Найти в Дзене

Цепочки и иерархии операций в динамическом блоке. Основы

Оглавление

Ссылки в блокнот

_____________________________________________
* Ссылки могут повторяться в тексте

Введение

А в самом деле, нужны ли цепочки операций? В простейших случаях действительно не нужны — нет смысла в создании цепочки «растяжение‑перемещение», если, включив ведомый объект в набор операции растяжения ведущего объекта полностью, в итоге мы и получим его перемещение.

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

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

Одним словом, в некоторых областях проектирования, цепочки операций практически незаменимы.

Параметризация объектов блока

Адаптивность динамического блока — его ключевое преимущество, которое включает в себя различные технологии параметрического и непараметрического характера, например внедрение непараметрических геометрических или параметрических размерных зависимостей, и ряд других технологий. Особое место среди этих технологий занимает внедрение в динамический блок параметров объектов блока и операций над ними — параметризация объектов блока.

По существу, блок представляет собой множество геометрических объектов, каждый из которых имеет определенный набор свойств. Некоторые из них являются дискретными или логическими («Отражение», «Видимость») и даже табличными, но большинство свойств изменяют геометрию объекта или блока на основе численных вещественных значений расстояния, угла, координат. Преимущественно такие численные геометрические свойства и связанные с ними параметры и составляют предмет данного материала.

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

  • на панели "Свойства" в группе "Настройка";
  • в "Таблице свойств блока", в таблице "Выбор", или через панель видимости, которые сами по себе являются операциями, связанными с соответствующими параметрами;
  • ручками объекта, если они включены для соответствующего параметра.

Численные геометрические параметры объектов блока

Параметры, в которых значение угла и/или расстояния задается в числовой форме, относятся к группе численных геометрических параметров и содержат координаты точки привязки параметра и одну или две размерности:

Размерности
Параметр Угловая
1-я линейная 2-я линейная
Параметр точки
Параметр поворота
+
Линейный параметр +
Полярный параметр + +
Параметр XY + +

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

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

Операции с объектами динамического блока

Геометрический параметр блока без привязанной операции не имеет смысла. В сущности, такой параметр похож на размерную зависимость, относящуюся к иной, функционально менее развитой, технологии. Более того, такой параметр — только для чтения, и что еще хуже, он может быть изменен в «Таблице блока», без каких‑либо последствий для геометрии блока. Иными словами, геометрический параметр блока без привязанной операции — ошибка, пусть и не фатальная. Обратная ситуация — операция без параметра — невозможна.

Итак, к параметру должна быть привязана операция — одна или более, но не любая. В самом деле, нелогично, изменяя например ширину объекта, ожидать его поворота. Поэтому каждому геометрическому параметру доступен строго определенный ограниченный набор операций:

Операции
Переме- Растяже- Пово- Мас- Мас- Полярное
Параметр щение ние рот штаб сив растяжение
Параметр точки + +
Параметр поворота
+
Линейный параметр + + + +
Полярный параметр + +
Параметр XY + +

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

Элементы параметризации объекта: параметр, операция, ручка
Элементы параметризации объекта: параметр, операция, ручка

Цепочка операций

Дальнейшим развитием параметризации объектов является связывание в цепочку двух операций, каждая из которых должна быть привязана исключительно к численному геометрическому параметру. Технологически такая связь осуществляется путем включения параметра одной (ведомой) операции в набор объектов другой (ведущей) операции.

Элементы цепочки операций
Элементы цепочки операций

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

Теоретически можно представить, что цепочка операций может быть двунаправленна, т. е. каждая операция может быть ведущей или ведомой, в зависимости от выбора изменяемого параметра блока. Почему бы и не да, но нет — на практике прямое применение алгоритма цепочки одновременно в одну и в другую сторону вызовет ошибку «Создание циклической ссылки внутри блока».

Однородность связываемых операций

Цепочка операций может быть создана на любой комбинации пары операций, однако сработает цепочка только в части однородной связи. Например, если ведущая операция - "Полярное растяжение" (соответственно основана на полярном параметре), а ведомая операция - "Поворот" (параметр "Угол"), то ведомая операция выполнит поворот ведомого объекта в соответствии с угловой частью ведущего полярного параметра.

Заключение

Построение одинарной цепочки

Предполагается, что объекты созданы, параметры операций и собственно сами операции определены в обычном порядке, после чего далее создается цепочка операций.

  • Выделяем ведомый параметр;
  • Устанавливаем значение свойства: панель "Свойства" > группа "Разное" > свойство "Цепочка операций" > значение "Да" - ведомый параметр обозначится значком цепочки.
  • Выбираем ведущую операцию, далее "Набор объектов для операции" > "Изменение набора объектов" - операция переходит в режим добавления объектов.
  • В режиме добавления объектов выбираем ведомый параметр.
  • Завершаем настройку цепочки командой "Ввод".

Выключение цепочки операций

Исключение ведомого объекта из цепочки выполняется достаточно просто: панель "Свойства" > группа "Разное" > свойство "Цепочка операций" > значение "Нет".

Однако при этом следует иметь ввиду, что при включении ведомого объекта в цепочку операций, последний включается полностью, в том числе и ручка, если она не выключена. А при исключении объекта из цепочки ручка сохраняется в наборе объектов ведущей операции, поэтому ее надо дополнительно исключить из этого набора. В противном случае, исключенный из цепочки ведомый объект будет сохранять свою геометрию, а ручка по-прежнему будет управляться ведущим параметром. Может убежать далеко :))

Иерархия цепочек

Три объекта блока могут быть связаны не более, чем двумя цепочками операций (теоретически возможная третья цепочка сгенерирует ошибку циклической ссылки), которые составят одну из двух возможных иерархий:

Иерархии цепочек операций
Иерархии цепочек операций

Подробнее здесь: Иерархии цепочек операций, кратко. Пост авт.