2 old patriot
Дискуссия не ведущая к мордобою может длиться долго. Посему продолжим...
Цитата
Во-первых, не возможно по-человечески крутить пространственно объект. Ладно, это решаемо.
Динамические блоки исходно создаются в 2мерном пространстве и все действия и параметры применимы только в 1й плоскости. Согласись не стоит требовать от инструмента больше чем в него заложено разработчиком. Тем не менее любые дествия по третьей оси элементарно решаются с помощью стандартных средств акада: _rotate3d - вращение в пространстве, вставка и привязка к оси Z - аналогично любым другим объектам акада.
Цитата
Во-вторых, операции (Actions) растяжения, перемещения не совместимы с операцией вращения (Rotate Action). Стоит вначале повернуть какую-то часть или блок целиком посредством его встроенной операции вращения (Rotate Action), как после этого операция растяжения или перемещения части блока идёт в ином направлении, чем предполагалось вначале (вплоть до обратного).
Это не так. Rotate и Move, а также Stretch вполне корректно взаимодействуют друг с другом в пределах 1й плоскости. Необходимо всего лишь разобраться как цеплять действия к параметрам и как завязывать их друг на друга. Если будут конкретные вопросы по данному пункту дам конкретные ответы.
Цитата
В-третьих, если одному и тому же объекту блока придать одновременно движение растяжения и масштабирование, результат может быть не предсказуем.
Любой результат в динамических блоках предсказуем при условии что ты знаешь какие конкретно последствия влечет применения того или иного действия к объекту. Там используется исключительно математика и комбинаторика. Соответственно если с этими науками проблем нет, то разобраться можно. Исключительно логические построения. Так что предсказать поведение блока с определенными параметрами можно даже не создавая его - элементарную блок-схему прикидываешь и все. Ведь тебе не требуется конструировать приточную установку для того чтобы знать какие процессы происходят в ней с воздухом в каждой секции. Как всегда исходное условие - понимание сути процесса, тогда будет и понимание того какие ограничения на тебя накладывает данный процесс или действие.
Также очень важно учесть что применение опции Chain Actions должно включаться только когда это обосновано.
Цитата
В-четвёртых, эффективность функционирования готового блока сильно зависит от того, в какой последовательности и с какой долей участия отдельных объектов были заданы операции (Actions) при создании блока. В некоторых случаях он может быть вообще не работоспособен. Это опять же указывает на непредсказуемость работы с динамическими блоками.
Здесь даже комментировать нечего, все сказано выше. Разобрался с параметрами и экшенами, осмысленность в голове повилась - исчезнет непредсказуемость. Непредсказуемость есть результат недостатка знаний и непрофессионализма.
Простейший пример. К объекту необходимо применить действие растяжения и поворота. Решение 1: вставить в объект параметр Linear и Rotation. На параметр Linear повесить действие (Action) Stretch и применить его к объекту. На параметр Rotation повесить действие Rotate и применить его к объекту и к параметру Linear. Все! Теперь при вращении объекта будет корректно поворачиваться параметр Linear с действием Stretch и растяжение будет происходить в том направлении в котором был повернут объект и наш параметр Linear. Совершенно не обязательно чтобы базовая точка Rotate совпадала с базовой точкой Linear. Фокус 1: если хотим чтобы при растяжении нашего объекта параметром Linear с действием Stretch растягивалась и ручка параметра Rotate, то следует добавить в перечень объектов действия Strech наш объект Rotate. Ну и в этом случае уже будет неплохо чтобы центь Rotate Action лежал в базовой точке Stretch Action или данный центр и радиус вращения были размещены так чтобы при растяжении объекта увеличивался и радиус вращения, а при сжатии он бы сжимался.
Решение 2: вставить в объект параметр Polar Stetch и применить его к объекту. Получите и вращение и растяжение.
Цитата
В-пятых, работа с динамическими блоками крайне трудоёмка и поглощает массу времени.
Тоже самое - всего лишь вопрос навыков и "набитой руки". Дело мастера боится.
Цитата
В отношении твоего замечания о моём непрофессионализме, проявившемся в работе с динамическими блоками... В твоих блоках я не заметил ничего, что говорило бы о том, что ты преодолел те ограничения при их создании, которые я указал выше.
К слову, дизайн твоих блоков не вызывает у меня желания применить их в своей практике.
По дизайну спорить не буду на вкус и цвет все фломастеры разные, скажу лишь одно - понятие дизайн в данном случае вообще трудно применимо, да и какой разговор может идти о дизайне если ты делаешь допустим базу условных обозначений по ГОСТ или по Стандарту АВОК. Условное обозначение есть условное обозначение в нем трудно что-то этакое выдумать. Весь дизайн в блоке может состоять исключительно из текстового стиля с которым отображаются атрибуты, все остальное - обычные графические примитивы, которым я в своих поделках стараюсь придать максимум гибкости и настраиваемости, а также понятности для других. Пока не видел не одного блока сделанного другими людьми и выложеными на этом форуме в которых были бы расписаны все параметры используемые в блоках чтобы при его редактировании через окно свойств объекта сразу было понятно что редактируется и к каждому параметру была бы присвоена соответствующая всплывающая подсказка. Все параметры люди почему то оставляют непереименованными в том виде в котором их вставляет автокад, а многие параметры отображение которых в свойствах объекта нецелесообразно и следует выключать почему то не выключают. Это и есть одна из составляющих общего непрофессионализма при создании динблоков - включишь окно свойств объекта (у меня оно всегда влючено), а в нем ни черта непонятно какой параметр за что отвечает.
Ограничений на вращение с растяжением или вращение с масштабированием в моих блоках ты не найдешь, так что не считаю что такие ограничения вообще есть. Есть труднореализуемые задумки и сочетания, в которых опять же вся трудность состоит в том что сложно продумать алгоритм взаимодействия, зато интересно решать такие трудные задачи - чем то на головоломку или ребус похоже.
Цитата
В отношении программ предлагаю остановиться. Наш спор не имеет перспектив прийти к консенсусу. Позиции диаметральны, как и отношение к самим программам. Для меня - это инструмент для созидания и не более того, для тебя они сами являются объектом творчества.
Для меня они также являются рабочим инстументом, который тем не менее требует постоянного изучения с моей стороны, т.к. использовать многофункциональный комбайн в качестве лома и лопаты меня ни разу не устраивает. То немногое что можно назвать творчетвом - это попытка придать больше гибкости и дружественности во взаимодействии с пользователем посредством инструментов и функций уже заложенных в этом софте. Кстати научился по мануалу который выкладывал в теме про МЕР кто-то из форумчан делать полки с надписыванием на основе информации содержащейся в объекте и попробовал сделать этот блок динамическим - к сожалению не работает. А так хотелось чтобы можно было менять длину полки-выноски, а также вращать и отражать ее средствами динблоков. Жаль что после вставки этот блок становится другим объектом МЕР и функции динблока в нем не активны.
Фууух. Вроде старался по-существу писать, но все равно много получилось.
P.S. Сергей, все вещи касаемые оборудования в МЕР следует выполнять исключительно через MvPart и Parametric Part, динамические блоки все-таки несколько с другой целью делаются. Поэтому очень рекомендую по мере своих сил осваивать 2 этих инструмента, т.к. они являются родными для самого МЕР и только через них возможно реализовать многие из тех вещей наподобие клапана дымоудаления, который ты выкладывал в соседней теме. MvPart освоить проще, но он не дает тех возможностей как Parametric Part. С параметрическими блоками разобраться будет довольно сложно, у меня этот процесс еще в начальной стадии, но думаю если разобраться, то получится реализовать самые разные задумки.