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

Форум по вопросам применения и программирования в Visio
Текущее время: 23 май 2018, 07:16

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


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


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)



Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 21 май 2014, 16:28 
Не в сети
Ветеран

Зарегистрирован: 06 май 2013, 13:01
Сообщений: 746
Откуда: Россия
Использую Visio c: 2013
Очков репутации: 18

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
не стоит тратить время на присваивание имен шейпам.

При создании на основе мастера имя само там будет ;)

9rey писал(а):
User так: Sheet.10!User.Row1
и плевать, что у тебя коннектор называется, например: "соединительная линия 455"

Вроде Visio сам может менять это в некоторых случаях, только я не помню, в какую сторону. Почему-то кажется, что как раз с первой формы на вторую.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 21 май 2014, 16:49 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 892
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 120

Добавить очки репутацииУменьшить очки репутации
Qwertiy
да, он так может. пусть уж лучше визио так сделает, по крайней мере хоть не ошибется.

Tanatos
а вообще, ситуация с группами: берем две группы, в каждой группе переименовываем по одному шейпу и даем одинаковое имя:
Изображение

теперь как писать ссылку по имени? никак. только узнавать ID, и через него.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 21 май 2014, 17:41 
Не в сети
Новичок

Зарегистрирован: 21 май 2014, 11:11
Сообщений: 45
Использую Visio c: 2005
Очков репутации: 3

Добавить очки репутацииУменьшить очки репутации
Вот уж действительно век живи, век учись! ВСЕМ огромное спасибо!
Разобравшись с "Data Graphics" - понимаю каким жутким выглядит мое решение с макросами :lol: :wall:
Меня немного утешает только то, что мое решение тоже работает :mrgreen:.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 21 май 2014, 17:42 
Не в сети
Ветеран

Зарегистрирован: 06 май 2013, 13:01
Сообщений: 746
Откуда: Россия
Использую Visio c: 2013
Очков репутации: 18

Добавить очки репутацииУменьшить очки репутации
Tanatos писал(а):
Разобравшись с "Data Graphics"

Всё нормально в 2010 работает? Текст редактируется?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 21 май 2014, 17:53 
Не в сети
Новичок

Зарегистрирован: 21 май 2014, 11:11
Сообщений: 45
Использую Visio c: 2005
Очков репутации: 3

Добавить очки репутацииУменьшить очки репутации
Qwertiy писал(а):
Всё нормально в 2010 работает? Текст редактируется?

Да, все отлично. И Редактируется и работает как надо.
Осталось взять себя в руки и написать формулу для расположения текста самого коннектора, чтобы объектов не городить. А то формулу для положения текста (в виде отдельного объекта) написал, а пересчитать в относительные координаты для текста коннектора все никак не сделаю. Кстати, мало ли кому будет нужно, выкладываю формулу для расположения текста рядом с концом линии по касательной к точке окончания (работает в том числе для кривых):
Shape.12 - фигура задающая геометрию (в моем случае коннектор)
ECL_Angel = ANGLEALONGPATH(Shape.12!Geometry1.Path,0)
Angel = User.ECL_Angel+GRAVITY(User.ECL_Angel)
Для начала
PinX = Shape.12!BeginX+Width/2*COS(User.ECL_Angel)+IF(User.ECL_Angel>=0,-Height/2*SIN(User.ECL_Angel),Height/2*SIN(User.ECL_Angel))
PinY = Shape.12!BeginY+Width/2*SIN(User.ECL_Angel)+IF(User.ECL_Angel>=0,Height/2*COS(User.ECL_Angel),-Height/2*COS(User.ECL_Angel))
Для окончания
PinX = Shape.12!EndX-Width/2*COS(User.ECL_Angel)+IF(User.ECL_Angel>=0,-Height/2*SIN(User.ECL_Angel),Height/2*SIN(User.ECL_Angel))
PinY = Shape.12!EndY-Width/2*SIN(User.ECL_Angel)+IF(User.ECL_Angel>=0,Height/2*COS(User.ECL_Angel),-Height/2*COS(User.ECL_Angel))

Эта формула справедлива для отдельного объекта пристыковывающегося к началу или окончанию кривой.
Для локального размещения текста выложу попозже, как напишу ))))


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 21 май 2014, 18:14 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3362
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
тут вроде все уже сделано. конечно, для повышения уровня мастерства можно и с датаграфиксом поиграться :)


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 21 май 2014, 19:25 
Не в сети
Новичок

Зарегистрирован: 21 май 2014, 11:11
Сообщений: 45
Использую Visio c: 2005
Очков репутации: 3

Добавить очки репутацииУменьшить очки репутации
За ссылку спасибо, но я элементарно не могу там зарегистрироваться, чтобы посмотреть. Не приходит письмо с подтверждением регистрации. :(. Потом может и доберусь гляну как сделано там.
Дополнено позднее: Зарегистрировался на новую почту. Пока глянул бегло, потом разберу поподробней. С позиционированием текста там немного иначе. У меня по формуле немного иное автоматическое расположение. Потом как будет время добавлю еще и возможность вручную перетягивать, хотя в моем случае это скорей всего будет не востребовано, но для собственного развития надо будет сделать. В любом случае я здесь подчерпнул море информации ))).


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 21 май 2014, 20:38 
Не в сети
Новичок

Зарегистрирован: 21 май 2014, 11:11
Сообщений: 45
Использую Visio c: 2005
Очков репутации: 3

Добавить очки репутацииУменьшить очки репутации
Видимо надо тему переносить в соседнюю ветку про ShapeSheet. Раз уж тут так активно обсуждаем коннекторы то задам еще один вопрос здесь, а не в новой теме.
К чему можно подвязаться в ShapeSheet для автоматического изменения окончания коннектора (стрелка) при условии, что коннектор присоединен (планирую туда же внедрить проверку к чему именно он присоединен)?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 21 май 2014, 22:09 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 892
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 120

Добавить очки репутацииУменьшить очки репутации
а как ты через ShapeSheet определишь к чему коннектор приклеен?
я так делал (например, чтоб ставить точки в месте присоединения коннекторов-проводов) только через макросы.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 22 май 2014, 00:35 
Не в сети
Новичок

Зарегистрирован: 21 май 2014, 11:11
Сообщений: 45
Использую Visio c: 2005
Очков репутации: 3

Добавить очки репутацииУменьшить очки репутации
Если известна фигура к которой присоединен коннектор, то по одному из полей можно определить что за фигура. Я для упрощения жизни завел отдельное поле в котором хранится тип фигуры. Я его использую для нужд библиотеки для упрощения алгоритмов. Например у меня библиотека может автоматически обновляться, достаточно просто подцепить новый VSS и фигуры из библиотеки в файле будут автоматически обновлены до последней версии.

9rey писал(а):
я так делал

Поделись методикой?! Кстати возможно именно эту задачу я тоже добавлю к библиотеке. Сейчас принудительно включаю в документе прикрепление к контуру фигур ... но это удобно для коннекторов-проводов, а для прочих фигур приходится мириться с этим. Вот тут бы с удовольствием избавился от этой опции в пользу автоматического создания точки присоединения при перетаскивании одного коннектора на другой. Пока программно отслеживаю событие добавления и удаления коннектора и обновляю фигуру на конце линии (ставлю точку, для обозначения пересечения). От программного кода все равно не избавиться, так как нумерацию по любому программно обновлять, но если часть функционала можно переложить с кода VBA на внутренние структуры Visio то я только за - да честно говоря очень любопытно как это ))))


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 22 май 2014, 07:20 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 892
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 120

Добавить очки репутацииУменьшить очки репутации
я же и написал, что делал так через макросы, т.е. программно. тебе же нужно через шейпшит. этого я не делал, да и вряд ли можно.
а через код я отслеживал событие ConnectionsAdded, определял что к чему подключено, ставил на нужном конце точку. причем точка ставится, только когда коннектор присоединен к середине другого коннектора, если к концу, то не надо, но если три коннектора сходятся концами, то точка нужна. и множество подобных нюансов.
процедура у меня очень громоздкая, множество вариантов и условий отслеживается. никакой шейпшит тут не поможет.
весь вопрос в том, нужен ли тебе этот геморрой, может ручками проще делать))


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 22 май 2014, 10:00 
Не в сети
Новичок

Зарегистрирован: 21 май 2014, 11:11
Сообщений: 45
Использую Visio c: 2005
Очков репутации: 3

Добавить очки репутацииУменьшить очки репутации
9rey писал(а):
я же и написал, что делал так через макросы

Извини, не так понял твои слова )). Теперь все ясно. Геморрой мне, конечно не нужен, а вот узнать что-то новое мне всегда интересно. У меня все немного проще в плане нюансов. Обозначение у меня только точка и ставится она всегда когда один проводник соединяется с другим. Если соединение на уровне окончания проводника, то это считаю недопустимым (в моем случае), так как все можно решить одним коннектором - соответственно и не обрабатываю эту ситуацию. Я постарался свести к минимуму количество вариантов для упрощения обработки нумерации, а то потом черт ногу сломит кому какой номер присваивать. Вот подумываю запретить соединение одним коннектором двух проводников, вместо этого использовать соединение строго одним концом к середине другого провода и тогда вопрос с распространением нумерации будет 100% однозначный: нет соединений - получи свой уникальный номер, есть соединение возьми номер у того к кому прицепился. Для всех остальных случаев у меня используется обычное присоединение без спец обозначений, вроде проводник подключен к устройству тут все просто. Для перехода проводника между страницами у меня будет использоваться отдельные блоки которые будут связываться парами и пробрасывать нумерацию проводника через себя соответственно каждый блок будет отображать где находится его ответный блок.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 22 май 2014, 12:14 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 892
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 120

Добавить очки репутацииУменьшить очки репутации
Оффтоп:
Tanatos
что делаешь, если не секрет? :)


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 22 май 2014, 13:29 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3362
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
9rey писал(а):
Tanatos
что делаешь, если не секрет? :)
Tanatos писал(а):
Задача довольно простая, нумерация подводников…
я думал, это суперсекретно :)
если честно, с этими вашими проводниками и блоками я ничего не понимаю (ибо далек от этой специфики). Наверно это все
может быть связано с непонятным для меня термином валидация, за который шло обсуждение в ветке
у David J Parker, есть общедоступная папка на skydrive в файлах есть макросы без комментов, но при желании можно разобраться и найти им применение Изображение


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 22 май 2014, 14:16 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 892
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 120

Добавить очки репутацииУменьшить очки репутации
Оффтоп:
нумерация проводников это понятно. я имел в виду для какой отрасли используется? разработка принципиальных эл. схем, например. или еще что-то. просто интересно.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 22 май 2014, 14:27 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3362
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
Оффтоп:
я то думал, что подводников :)


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 22 май 2014, 16:08 
Не в сети
Новичок

Зарегистрирован: 21 май 2014, 11:11
Сообщений: 45
Использую Visio c: 2005
Очков репутации: 3

Добавить очки репутацииУменьшить очки репутации
Оффтоп:
Surrogate писал(а):
я то думал, что подводников
поДводников, поДводников, а Вы как думали ... прокладываем кабели по дну от африки до северного полюса и обязательно в гофре ....
Ну а если серьезно, то моя вотчина это автоматика и принципиальные электрические схемы. Порой приходится совмещать работу проектировщика, а мне не особо нравится рисовать. Пробовал Автокад Электрик, но не понравился. А вот с Визио как-то задружился на этой почве. Появилось немного времени и решил еще немного упростить себе жизнь.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 22 май 2014, 16:16 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3362
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
Оффтоп:
круто! прокладывать кабели до Северного полюса, а потом через полгода перекладывать. и менять нумерацию :)
рисовать я тоже не люблю, пишу макросы - очень облегчает жизнь


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 22 май 2014, 17:01 
Не в сети
Новичок

Зарегистрирован: 21 май 2014, 11:11
Сообщений: 45
Использую Visio c: 2005
Очков репутации: 3

Добавить очки репутацииУменьшить очки репутации
Оффтоп:
Surrogate писал(а):
... а потом через полгода перекладывать. и менять нумерацию :)
А то! Ну а серьезно, то с автоматикой в наших реалиях не редко получается так: выпущен проект, собран шкаф, оборудование заказчик смонтировал (мы технологическое оборудование выпускаем но не монтируем) ... а когда приезжаем на пусконаладку оказывается, что вся технологическая цепочка сделана совсем по другому и шкаф автоматики приходится дорабатывать напильником, т.е. руками .... даже не представляете насколько сильно может отличаться первоначальный вариант от конечного ... хотя вроде в самом начале названиваешь и пишешь всем от инженера до руководства, но все равно на половине объектов без таких вот фокусов не обходится :(
UP:
К валидации никакого отношения мои задачи не имеют, во всяком случае не планирую этим пользоваться.]... а потом через полгода перекладывать. и менять нумерацию :


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Группа с поведением Коннектора
СообщениеДобавлено: 22 май 2014, 18:20 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 892
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 120

Добавить очки репутацииУменьшить очки репутации
Оффтоп:
да, имею представление. только у нас масштабы побольше, мы электростанции проектируем. АСУ ТП.


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

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



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

Сейчас этот форум просматривают: Yandex [bot] и гости: 1


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

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