Здравствуйте коллеги!
В этой ветке буду периодически делиться маленькими хитростями ЗВБ, которые существенно упрощают работу над проектами.
Первый праздничный выпуск посвящен автоматизации именования пинов.
Суть проблемы:
Есть два макроса: МАКРОС-1 и МАКРОС-2. Эти макросы нужно вставить в МАКРОС-3.
В МАКРОСЕ-3 есть еще пять переменных. Названия выходов макросов 1 и 2, а так же всех пяти переменных, должны соответствовать названиям выходов макроса 3.
В сторонних пакетах проектирования данная работа вызывает исключительное уныние, т.к. предстоит рутинная работа по копированию/вставке названий.
ЗВБ позволяет облегчить задачу и свести рутинный процесс к минимуму.
Поехали:
Создаем МАКРОС-1 и МАКРОС-2
Что будет внутри находиться не имеет значения. Я сделаю по 4 выхода.
Внутренний вид макросов показан на картинке.
Создаю МАКРОС-3, внутри этого макроса создаю необходимые переменные и устанавливаю на сцену переменные и макросы 1 и 2
Кстати, что бы вытащить все переменные на сцену, достаточно выделить первую переменную, нажать Shift и выделить последнюю переменную и потянуть выделенный блок на сцену. Для произвольного выделения нескольких переменных вместо Shift необходимо использовать Ctrl
Должно получиться, как на картинках.
Теперь выставим на сцену выход макроса и размножим его (ctrl+c / ctrl+v) в необходимом количестве.
Порядок представления и тип данных не имеет значения.
Снаружи макрос выглядит ужасно.
Приведем его в порядок.
Выделяем пин выхода макроса 1 и нажимаем ctrl+c (то есть копируем пин макроса).
Затем выделяем необходимый выход в макросе 3 и нажимаем ctrl+shift+v
Название выхода макроса 3 изменится.
Если типы данных отличаются, то при вставке свойств будет выведено окно с запросом на действие.
Соглашаемся с изменением названия и типа данных.
Таким образом бОльшая часть рутинной работы выполнена в полуавтоматическом режиме.
В качестве заметки:
в ЗВБ реализован механизм копирования свойств. Поэтому, данным методом можно копировать свойства других объектов.
Творческих вам успехов, коллеги!
Надеюсь, этот инструмент сэкономит вам значительное количество времени.
Предлагаю оформить это все не в виде темы на форуме а в виде документации... и выложить на сайте. Так будет правильнее (ИМХО)... на форум нужно "лезть" в последний момент... когда в документации нет ответа на этот вопрос...
Конечно же это стоит в планах.
Почему сначала это пишется на форуме? Потому что хотим критики.
Нам важно знать ваши предложения и пожелания.
Вытаскивать все переменные на поляну разом - это удобно, отлично придумали!!!
Насчёт копирования свойств:
Думаю было бы удачнее сделать так: при создании выхода(входа) внутри макроса он не имеет ни типа ни имени и не отображается при выходе из макроса, если теперь к нему зацепить связь, то он автоматически приобретает её тип и её имя. Или же тип и имя можно задать вручную в свойствах входа. При таком подходе нет необходимости копировать свойства горячими клавишами.
Цитата: VoronovMaksim88 от 25 февраля 2016, 04:52:14
Или же тип и имя можно задать вручную в свойствах входа.
Так не получится. Может сложится ситуация, когда будут вытащены две или больше копий макросов. И появится возможность устанавливать им разные типы данных и имена для одних и тех же ножек.
Макрос это по сути тот же блок и поэтому у него должны жестко определены типы и названия входов/выходов уже на этапе, когда его вытаскивают на схему.
Кстати, такой вариант мы уже пробовали пол года назад. Но возникла куча проблем и пришлось от этой идеи отказаться.
Продолжу про работу с пинами.
Есть маленькая хитрость.
Например, нужны одинаковые названия пинов входов одного макроса и выходов другого.
На помощь приходит копирование свойств пинов.
Пример в двух скриншотах.
На первом я копирую свойства входа макроса №1, затем переключаюсь в макрос №2 и вставляю свойства выхода. Получается быстро.
Ух ты. Прикольно!
Не знаю как расширить окно для программы.
Подскажите, плиз.
Дайте скрин, пожалуйста
Я все ПРГ Вам в личку отправил