All Forums
 Категория Visio
 Форум Вопросы и ответы
 Определенный угол коннекта
Author Previous Topic Topic Next Topic  

huse

3 Posts

Posted - 03/14/2010 :  07:42:45
Как заставить коннектор коннектиться к точке соединения под определенным углом? И чтобы при изменении маршрута коннектора этот угол всегда выдерживался, а перелом (коннектора) начинался на определенном расстоянии от точки соединения.

Tumanov

Russia
1198 Posts

Posted - 03/14/2010 :  18:17:34
Сдается мне, что это невозможно.
Коннекторы полностью управляются Visio и изменить их поведение можно только в очень ограниченных рамках.
Можно только попробовать имитировать нужное поведение. Например, если использовать не коннектор, а линию плюс коннектор.
Берем квадрат. Добавляем ему Connection Point. Открываем ShapeSheet и задаем некоторые значения в DirX, DirY. Это задаст направление присоединения.
Берем линию. Добавляем на ее концы Connection Points. Одну из них делаем Outward, другую Inward.
К точке Inward присоединяем коннектор.
Точкой Outward прилепляем к квадрату.
При этом линия поворачивается в заданном направлении (точнее перпендикулярном заданному). Ну, а коннектор тянется за ней.
Длина до перелома всегда будет равна длине дополнительной линии. Угол можно менять с помощью значений DirX, DirY. Так что получившееся поведение слегка напоминает заданное.
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 03/14/2010 :  19:57:07
quote:
Коннекторы полностью управляются Visio и изменить их поведение можно только в очень ограниченных рамках.

но ведь геометрия у них есть ? а значит ее можно менять через макрос в любых пределах. вопрос как отследить "изменении маршрута коннектора" чтобы этот самый макрос запустить ?
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 03/14/2010 :  22:23:55
Отследить-то - без проблем... Например, через обработчик CellChanged.
Важно другое. Тут либо Вы переспорите Visio - и тогда коннектор перестанет быть коннектором. Либо он переспорит Вас и поверх Ваших изменений внесет свои.
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 03/14/2010 :  22:52:02
quote:
и тогда коннектор перестанет быть коннектором

хорошо. а если попробовать описать чем нам так нравится именно коннектор ? чем он лучше обычной линии для нас например ?
Go to Top of Page

huse

3 Posts

Posted - 03/15/2010 :  14:40:28
quote:
Originally posted by bdfy
хорошо. а если попробовать описать чем нам так нравится именно коннектор ? чем он лучше обычной линии для нас например ?



Коннектор делает арки через другие коннекторы, коннектор "объезжает" объекты (правда не всегда успешно).
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 03/15/2010 :  16:12:53
quote:
коннектор "объезжает" объекты (правда не всегда успешно).

вот такой фичи вообще не видел ) сколько не тяну прямо через шейп коннектор - не пробует он его обьезжать. а проблема для меня актуальная. даже думаю "роутер" какой написать.
Go to Top of Page

huse

3 Posts

Posted - 03/16/2010 :  10:26:51
quote:
Originally posted by bdfy
вот такой фичи вообще не видел ) сколько не тяну прямо через шейп коннектор - не пробует он его обьезжать. а проблема для меня актуальная. даже думаю "роутер" какой написать.



Ну по крайней мере у меня пытается объехать тот к которому приконнекчен. Однако удачно только в 60%.
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)