Форум пользователей Visio

Форум по вопросам применения и программирования в Visio
Текущее время: 26 янв 2021, 05:35

Часовой пояс: UTC + 3 часа [ Летнее время ]


Правила форума


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)
Размещая ваши вложения на форуме не используйте имена файлов содержащих кириллицу, в противном случае файл будет иметь имя .<расширение файла> !



Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 02 авг 2020, 18:12 
Не в сети

Зарегистрирован: 02 авг 2020, 17:53
Сообщений: 10
Использую Visio c: 2020
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Здравствуйте.
Попытался переделать под свои нужды соединительные линии от AssetGen.
Вроде все получилось кроме одного.
При вращении линии Controls.A и Controls.B непредсказуемо скачут.
С теми же формулами для простой линии все просчитывается правильно и позиции неизменны, а вот с для соединительной линии такой казус.

Да даже если Controls.A.X и Controls.A.Y задать значением, а не формулой эффект сохраняется.
Подскажите куда копать, а то не получается из за этого точно позиционировать надписи относительно линии.


Последний раз редактировалось Хомяк 07 авг 2020, 17:00, всего редактировалось 1 раз.

Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 03 авг 2020, 02:21 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 4078
Откуда: оттуда
Использую Visio c: 1998
Уровнь квалификации: Отсутствует
Хомяк писал(а):
При вращении линии Controls.A и Controls.B непредсказуемо скачут.
чтоб посмотреть какие ячейки влияют на вашу целевую ячейку воспользуйтесь окном трассировки формул.
Изображение
Хомяк писал(а):
С теми же формулами для простой линии все просчитывается правильно и позиции неизменны, а вот с для соединительной линии такой казус.
вспоминая одну уже давнишнюю ветку обсуждения (Неправильное значение координат у динамического коннектора) приведу свою цитату
Surrogate в сообщении #9098 писал(а):
Bill17 писал(а):
Да, динамический коннектор.
Заключается в том, что значения x и y абсоютно не такие. То есть отличаются цифры, иногда знаки.
Surrogate в сообщении #5927 писал(а):
коннектор это вещь в себе, поведение которой описывается неким аддоном визио. как он работает, знают только разработчики MS.
меня там поправили, что коннектор это элемент ядра визио. но суть от этого не меняется!
ты можешь сколько угодно дорисовывать к нему дополнительных участков, а ядро их изменяет по какому-то своему фирменному алгоритму!
nbelyh в сообщении #7629 писал(а):
Обрати внимание, что она фиксированная будет.
Если уберешь фиксированность, то Visio ее может перестроить по своему усмотрению.
поэтому не удивляйся, что x,y будут не те


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 03 авг 2020, 10:32 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 1751
Очков репутации: 100619

Добавить очки репутацииУменьшить очки репутации
Цитата:
При вращении линии Controls.A и Controls.B непредсказуемо скачут.
С теми же формулами для простой линии все просчитывается правильно и позиции неизменны, а вот с для соединительной линии такой казус.

Нужно точнее сравнить поведение коннектора и простой линии при повороте. В файле я вижу только коннектор, то есть сравнить не с чем. А самому такую создавать (и прописывать все формулы) лень.
На первый взгляд отличий не должно быть. Вроде формулы при повороте не меняются (у данного конкретного шейпа).
Коннектор ведь чем отличается - при определенных действиях движок Visio может изменить значения или формулы некоторых ячеек. Хотелось бы посмотреть, что именно меняется.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 03 авг 2020, 13:08 
Не в сети

Зарегистрирован: 02 авг 2020, 17:53
Сообщений: 10
Использую Visio c: 2020
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Да тут есть моя неточность в описании проблемы.

Вот создал линию и соединительную линию.
Один контрол задан явно в координаты 0,0 - но на соединительной линии он прыгает, а на простой стоит в координате.
Другой контрол задан формулой которая зависит от ширины текста. ширина не меняется но точка скачет на обоих линиях.
Куда смотреть дальше у меня уже не хватает знаний.
:(


Последний раз редактировалось Хомяк 07 авг 2020, 16:59, всего редактировалось 1 раз.

Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 03 авг 2020, 14:00 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 1751
Очков репутации: 100619

Добавить очки репутацииУменьшить очки репутации
Высота линии - 0
Высота коннектора - 5 мм. Причем нулем ее сделать не получится из-за противодействия Visio.
Поэтому для линии y=0 - это начало линии, а для коннектора начало в точке y=2.5.
Ну и далее, естественно, все последующие (зависимые) результаты будут различаться.
То есть формулы для коннектора НУЖНО СДЕЛАТЬ ОТЛИЧАЮЩИМИСЯ, чтобы поведение стало схожим с линией.
---------
И в расчете угла поворота где-то ошибка даже в линии. Потому как при повороте линии на 360 град. контрол поворачивается на 720 град. Это не относится к начальному вопросу, но тоже нужно бы посмотреть повнимательнее.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 03 авг 2020, 15:59 
Не в сети

Зарегистрирован: 02 авг 2020, 17:53
Сообщений: 10
Использую Visio c: 2020
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Tumanov писал(а):
Высота линии - 0
---
И в расчете угла поворота где-то ошибка даже в линии. Потому как при повороте линии на 360 град. контрол поворачивается на 720 град. Это не относится к начальному вопросу, но тоже нужно бы посмотреть повнимательнее.


Да, в расчете в sin\cos угол входит в градусах, а нужно в радианах забыл *pi()/180


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 04 авг 2020, 10:57 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 4078
Откуда: оттуда
Использую Visio c: 1998
Уровнь квалификации: Отсутствует
Судя по поведению фигуры у нее корректно располагаются надписи когда угол кратен 90 градусам. возможно она разрабатывалась исключительно для такого применения ?
Хомяк писал(а):
С теми же формулами для простой линии все просчитывается правильно и позиции неизменны, а вот с для соединительной линии
не совсем понятно для чего здесь используется соединительная линия? классическая соединительная линия управляется ядром визио и может изменять свою конфигурацию (добавлять/ убавлять количество загибов). здесь такого не наблюдается. может проще перейти к варианту с обычной линией, в которую визио точно не будет пытаться вносить изменения по своему встроенному закрытому алгоритму ?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 04 авг 2020, 13:59 
Не в сети

Зарегистрирован: 02 авг 2020, 17:53
Сообщений: 10
Использую Visio c: 2020
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Пока вот что получилось.
Переделал всю логику расчета.
Смещение теперь вычисляю не как приращение координат, а как коэффициент пропорциональности относительно длинны линии.
Вроде стало более\менее.
Скачет перпендикулярно линии только при смене осей +-4градуса по горизонтали и +-80градуса по вертикали.
Причем высота отскока почему то зависит от длинны выводимого текста, чем длиннее текст тем меньше скачет, что непонятно.
Вдоль линии надпись стоит нормально.

Попутно вопрос, не могу поместить текст над линией кнопки на задний передний план не работают (.
Если возможно подскажите, что здесь сделал не так.


Последний раз редактировалось Хомяк 07 авг 2020, 16:59, всего редактировалось 1 раз.

Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 04 авг 2020, 14:41 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 1751
Очков репутации: 100619

Добавить очки репутацииУменьшить очки репутации
Цитата:
Попутно вопрос, не могу поместить текст над линией

Тут два момента.
1. Линия - это сама группа. Метки входят в состав группы. То есть, эти элементы на разных уровнях, поэтому кнопками "вперед", "назад" не регулируются.
Нужно в поведении группы в поле Group data выбрать значение Behind member shapes. Тогда получится как на картинке для IP.
2. Кроме того, можно установить белую заливку для текстового блока для самой метки. Тогда будет как на картинке для Gi3.


Вложения:
c211.PNG
c211.PNG [ 13.3 Кб | Просмотров: 261 ]
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 04 авг 2020, 16:49 
Не в сети

Зарегистрирован: 02 авг 2020, 17:53
Сообщений: 10
Использую Visio c: 2020
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Tumanov
Ребята, спасибо ОГРОМНОЕ за помощь !
Получилось . Теперь почти все устраивает.
Хотел последний штрих добавить, чтобы при отсутствии данных на концах заливка не появлялась, а то остаются белые пятна.
но на выражение IF(Sheet.13!Prop.Port_A_Port_Name="",0,1) в FillFormat - FillPattern реакции нет, в ручную отрабатывает если задам 0 или 1.


Вложения:
qqq.vsdx [24.89 Кб]
Скачиваний: 26
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 04 авг 2020, 17:12 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 4078
Откуда: оттуда
Использую Visio c: 1998
Уровнь квалификации: Отсутствует
Хомяк писал(а):
но на выражение IF(Sheet.13!Prop.Port_A_Port_Name="",0,1) в FillFormat - FillPattern реакции нет, в ручную отрабатывает если задам 0 или 1.
сравнение строк в ShapeSheet произвовится функцией STRSAME
IF(STRSAME(Sheet.13!Prop.Port_A_Port_Name,""),1,0)
или проверить длину строки, если длина нулевая то в этой ячейке ничего не забито.
IF(LEN(Sheet.13!Prop.Port_A_Port_Name)=0,1,0)


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 07 авг 2020, 16:58 
Не в сети

Зарегистрирован: 02 авг 2020, 17:53
Сообщений: 10
Использую Visio c: 2020
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Ребята спасибо за помощь!
Вот что получилось в конечном результате может кому пригодится.
Отличия от AssetGen:
Все надписи автоматически ориентируются вдоль линии и масштабируются в зависимости от ширины.Передвигаются контролами
Из Actions:
Можно изменять отображение на концах интерфейса - либо Ip адрес или PortName
Можно включать отключать отображение Наименования линии


Последний раз редактировалось Хомяк 08 авг 2020, 19:10, всего редактировалось 2 раз(а).

Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 07 авг 2020, 17:23 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 1751
Очков репутации: 100619

Добавить очки репутацииУменьшить очки репутации
Цитата:
...либо Ip адрес или PornName...

Как бы наш славный чего-то там надзор и этот сайт не закрыл с такими именами :) Они могут.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 07 авг 2020, 17:30 
Не в сети

Зарегистрирован: 02 авг 2020, 17:53
Сообщений: 10
Использую Visio c: 2020
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Tumanov писал(а):
Цитата:
...либо Ip адрес или PornName...

Как бы наш славный чего-то там надзор и этот сайт не закрыл с такими именами :) Они могут.

:oops: Исправился


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 07 авг 2020, 18:40 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 1751
Очков репутации: 100619

Добавить очки репутацииУменьшить очки репутации
Взглянул на конструкцию через свой Visio Package Helper...
Наткнулся на вот такую строку во входящих шейпах
Код:
EventDblClick = GUARD(0)

и вот такую в Sheet.12 в мастер-шейпе в трафарете документа.
Код:
Section=User
Value.V=0 Value.F=DEPENDSON(REF())+SETF(GetRef(Prop.LineText),REF()) (Section=User Row=LineText)

Не то, чтобы криминал, но REF() смотрится как битая ссылка. Может что не так?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 08 авг 2020, 19:09 
Не в сети

Зарегистрирован: 02 авг 2020, 17:53
Сообщений: 10
Использую Visio c: 2020
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Tumanov писал(а):
Взглянул на конструкцию через свой Visio Package Helper...
Наткнулся на вот такую строку во входящих шейпах
Код:
EventDblClick = GUARD(0)

и вот такую в Sheet.12 в мастер-шейпе в трафарете документа.
Код:
Section=User
Value.V=0 Value.F=DEPENDSON(REF())+SETF(GetRef(Prop.LineText),REF()) (Section=User Row=LineText)

Не то, чтобы криминал, но REF() смотрится как битая ссылка. Может что не так?


Tumanov - Еще раз спасибо за помощь и критику.
С Visio занялся только пару тройку недель и то с наскоками по мере необходимости, до этого его не использовал никогда.
Нужно рисовать схему сети но теми средствами, что предлагает визио понял, что это самоубийство какое то.
Приходится доделывать что то под себя.
Правда, может и есть нормальные шаблоны специально для рисовки схем сети, но я их не нашел (.
Вот исправленный коннектор с учетом замечаний.


Вложения:
connector.vsd [47.5 Кб]
Скачиваний: 17
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 08 авг 2020, 19:43 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 1751
Очков репутации: 100619

Добавить очки репутацииУменьшить очки репутации
Цитата:
...Приходится доделывать что то под себя...

Так это самый правильный путь :)
Вся мощь Visio в том, что, добавив несколько шейпов и макросов, его легко приспособить к любой технологии. Это - движок для наращивания в нужную сторону.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 09 авг 2020, 00:21 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 4078
Откуда: оттуда
Использую Visio c: 1998
Уровнь квалификации: Отсутствует
Хомяк писал(а):
[но теми средствами, что предлагает визио понял, что это самоубийство какое то.
согласен, особенно в последних версиях все печально!
Хомяк писал(а):
Правда, может и есть нормальные шаблоны специально для рисовки схем сети, но я их не нашел (.
в штатных такого нет, платных не пробовал. про пользовательские решения не слышал.
Вы надеюсь не такую красоту рисуете?
Изображение
Изображение


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 09 авг 2020, 11:01 
Не в сети

Зарегистрирован: 02 авг 2020, 17:53
Сообщений: 10
Использую Visio c: 2020
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
Вы надеюсь не такую красоту рисуете?


ОГО !!! :o
Моих знаний для второй картинки не хватит пока.
А вот L1,L2,L3 схемы сети и серверную, как на первой картинке, привести в порядок хотелось бы.
С соединительными линиями все получилось пока очень хорошо для меня + утилитки бесплатные от AssetGen очень облегчили работу.
Теперь создаю элементы под свои устройства с возможностью быстрого перехода по ссылкам на мониторинг, конфигурацию, логи ... и т.д.

А с использованием чего рисовали такое чудо как на картинках ?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Controls на соеденительной линии непредсказуемо прыгает.
СообщениеДобавлено: 09 авг 2020, 11:25 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 4078
Откуда: оттуда
Использую Visio c: 1998
Уровнь квалификации: Отсутствует
Хомяк писал(а):
Моих знаний для второй картинки не хватит пока.
ну с сетевой точки зрения на второй картинке ничего сверхсложного нет.
Хомяк писал(а):
А с использованием чего рисовали такое чудо как на картинках ?
для создания первой картинки несколько коллег, два дня гуглили картинки нужных сетевых устройств. потом три дня один человек сводил.
вторая картинка из платных наборов (~10$), с сайта
https://3d-networking.com/
сам наборы я не покупал, привел в качестве примера как народ извращается.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB