===== Создание мнемосхем. ===== Рисование SVG мнемосхем, в том числе и 3D стиле, выполняется в [[https://inkscape.org|Inkscape (inkscape.org)]]. В Inkscape нет поддержки анимации. Далее в MnemoBinder выполняется: * создание анимаций, * задание привязок переменных, * тестирование мнемосхемы заданием переменных, * загрузка мнемосхемы в контроллер. ==== Анимация. ==== Выполяняется с помощью элементов animate и animateTransform из стандарта SVG. Описание элемента animate: Все об SVG анимации(habr.com) https://habr.com/ru/articles/450924/ ==== Привязки переменных. ==== Привязки переменных выполняются путем добавления к родительскому элементу следующих bind элементов: ---- === bind_di === Используется для изменения атрибута или свойства CSS родительского элемента, с помощью дискретной переменной. * attribute_name - имя атрибута или свойства CSS. Если = textContent, то установка свойства textContent родительского элемента. (По умолчанию "display") * is_style - если true, то это свойство CSS, иначе - имя атрибута. * var_name - имя переменной * on_value - значение атрибута или свойства CSS при var = 1 * off_value - значение атрибута или свойства CSS при var = 0 ---- === bind_animate_di === Используется для включения и выключения анимации - родительского элемента или , с помощью дискретной переменной. При var = 1, анимация включается, а при var = 0 - выключается. * var_name - имя переменной * reverse = true - при var = 1, анимация выключается, а при var = 0 включается (по умолчанию false). * repeat_count - если задано, то значение копируется в атрибут repeatCount родительского элемента animate. ---- === bind_text_ai === Используется для отражения значения аналоговой переменной в родительском элементе SVG типа , или . * var_name - имя переменной * decimal_places - количество знаков после запятой ---- === bind_range_ai === Используется для изменения атрибута или свойства CSS родительского элемента, с помощью аналоговой переменной с преобразованием. * attribute_name - имя атрибута или свойства CSS. Если = textContent, то установка свойства textContent родительского элемента. * is_style - если true, то это свойство CSS, иначе - имя атрибута. * var_name - имя переменной * var_min_value - преобразование работает, если все числа * var_max_value * attribute_min_value * attribute_max_value ---- === bind_do === При клике по родительскому элементу, происходит отправка измененного с 0 до 1 или наоборот значения указанной дискретной переменной. * var_name - имя переменной * confirm - если true, то перед отправкой появиться диалог, запрашивающий подтверждение. ---- === bind_ao === При клике по родительскому элементу, появляется диалог, для ввода нового значения аналоговой переменной, и после подтверждения, отправка измененного значения. * var_name - имя переменной * min_value - минимальное значение отправляемой переменной, если задано. * max_value - максимальное значение отправляемой переменной, если задано. ---- === bind_system_name === Используется для отображения имени системы (напрмер П1), в родительском элементе , или .