Расположение текста вдоль соединительной линии


Оригинал статьи Chris Roth (aka Visio Guy) опубликован на английском языке здесь.

Эта функция отсутствует в Visio, однако, можно располагать текст вдоль соединительной линии (коннектора).

Допустим, у нас есть некая блок-схема, в которой нам нужно расположить текст вдоль коннекторов. Каждый раз при настройке рисунка, угол коннектора менялся, и нужно было переориентировать текст с использованием инструмента Text Block.

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

Несмотря на это, сегодня мы запустили наш Visio 2010 и настроили несколько новых функций для работы. Как результат – получен коннектор, который располагает текст в самом конце, поворачивая его в соответствии с углом последней части коннектора. Независимо от того, сколько сегментов у коннектора, каков угол или стиль линии, текст заканчивается в разумной позиции и корректно выравнивается:

Неплохо, не правда ли?

Новые функции фигур делают это возможным!

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

User.angPathEnd = ANGLEALONGPATH( Geometry1.Path, 1 )

User.pntPathEnd = POINTALONGPATH( Geometry1.Path, 1 )

Мы не только получили новые функции в Visio 2010, но и можем теперь обратиться к новым типам объектов. До сих пор мы были вынуждены обращаться к ячейкам фигуры, и только к ним. Но вы можете видеть, что "Geometry1.Path" относится к разделу геометрии, который представляет собой группу клеток. Это новая, и это очень полезная функция.

По мере того, как вы используете автоматический коннектор в Visio, будут добавляться или удаляться дополнительные сегменты из коннектора.Это сделало невозможным обращение к «последней точке» и «следующей за последней точкой», потому что фигуры ячеек были созданы и уничтожены по мере изменения коннектора.

Теперь можно просто попросить фигуры сообщить угол пути "Geometry1.Path", на 100% по длине контура (это "1", в обеих функциях).

Используя подобный синтаксис, мы можем обратиться также к конечной точке. Иллюстрированная функция POINTALONGPATH возвращает точку структуры Visio (комбинацию значений Х и Y) для точки, что составляет 100% от пути по Geometry1.Path.

Этой информации достаточно, чтобы перевести текст фигуры к самому концу коннектора, сместить его и повернуть должным образом.

Дополнительные функции

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

Так что мы добавили контекстное меню по правому клику мышкой.

Здесь другой взгляд на варианты:

Удачи с новым коннектором.

Обратите внимание, что этот файл использует новые функции, которые доступны только в Visio 2010.

Загрузить файл.