All Forums
 Категория Visio
 Форум Вопросы и ответы
 Пользовательский шаблон Data Graphic
Previous Page
Author Previous Topic Topic Next Topic

bdfy

Belarus
267 Posts

Posted - 11/10/2008 :  19:27:41
А Add-On Number Shapes не помогает?
интересная вещь - не знал. но сделать пока не получается. пронумеровать мне нужно все только вертикальные линии. а на шейп таких линий две. попробовал разбить на отд. линии - автонумерация работать не хочет совсем.
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 12/07/2008 :  12:12:21
снова появились вопросы. нужно несколько фигур связанных с одним рядом данных обьеденить в группу и сделать одним мастером. все попытки пока проваливаются (( файлик пример здесь.
http://ofp.gamepark.cz/_hosted/lib4145/vedro/sx.rar
в принципе основная для меня проблема - как обозначить (и сослаться потом) на имя всей группы в шейпшите фигуры-составляющей.

Edited by - bdfy on 12/07/2008 12:18:00
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 12/07/2008 :  13:33:31
quote:
в принципе основная для меня проблема - как обозначить (и сослаться потом) на имя всей группы в шейпшите фигуры-составляющей.

Шейп-группа - это такой же шейп. У него тоже есть имя.
Откройте Drawing Explorer (в меню View), смотрите там структуру шейпа и пишите ссылки. У группы есть коллекция Shapes, в которой видны все компоненты.
Можно еще примерчик посмотреть. Если Вы объедините пару шейпов в группу, то по умолчанию ширина компонентов вычисляется из ширины группы. То есть в ячейке Width входящих шейпов стоит что-то типа =Sheet.4!Width*0.4167. Это и есть пример ссылки на группу.
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 12/07/2008 :  14:33:52
quote:
типа =Sheet.4!Width*0.4167. Это и есть пример ссылки на группу.

спасибо. я просто все пытался именами абсолютные типа line например присвоить группе- отсюда и мои проблемы.

одну группу сделать получается - инфа к ней линкуется как надо. а вот сделать мастер уже никак. линкование идет не пойми к чему если пробовать вытащить мастер на поле. даже скопировать корректно группу нельзя - уже прилинковать ничего не выходит. пример перезалил. в чем там дело ?
http://ofp.gamepark.cz/_hosted/lib4145/vedro/sx.rar
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 12/07/2008 :  19:54:56
Не смог уловить суть вопроса :(
Пример посмотрел. Понятнее не стало.
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 12/08/2008 :  18:32:17
ладно. забудем. с пятого раза получилось переделать как нужно.
задачка такая сейчас:
есть данные в табличной форме о ветвях сети:
номер начала | номер конца | мощность, напряжение|тип и т.д.
смартшейп для рисования одной ветви я сделал
только вот перетаскивать руками все ветви для построения не хочу. хочется макрос чтобы дерево ветвей строилось само.
алгоритм в принципе понятен:
- мастер-шейп ветви выкидываем на поле.
- ищем мастер с номером конца ветви таким же как номер начала у новой ветви
- лепим новую фигуру в конец старой
вопросы:
как поиск произвести по шейпам рабочей области чтобы найти шейп к которому нужно цеплятся ?
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 12/08/2008 :  19:47:14
quote:
ищем мастер с номером конца ветви

А в каком месте шейпа записан номер конца ветви?
Go to Top of Page

ESV

Ukraine
21 Posts

Posted - 12/09/2008 :  06:32:24
quote:
Originally posted by bdfy

как поиск произвести по шейпам рабочей области чтобы найти шейп к которому нужно цеплятся ?

Так это:
- Перебрать все шейпы листа/документа;
- Отобрать нужные шейпы по определенному признаку(например по наличию особых свойств, либо по содержимому особых свойств и т.д. и т.п.);
- Среди отобранных шейпов произвести поиск шейпа с нужным номером конца ветви;
- К найденному шейпу присобачить новый шейп.
Фсе.

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

________________________________________________________

Не надо ломать друг-другу глаза, используйте [cоde][/cоde]
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 03/07/2009 :  13:26:55
в очередной раз прошу помощи.
не получается сделать несколько смарт-шейпов.
1. шейп линия (linePU).
- в надпись снизу упорно лезут ММ. не знаю как их убрать, можно конечно как строку обратать две последние буквы убрать, но не выход это имхо.
- сама надпись находится выше точки controls которая ей задана. в чем дело ? и не первый раз уже такую проблему вижу ((
2. шейп узел-стрелка (uzel). всем хорош но к стрелке нужно еще прямоугольник добавить со значением (U). сейчас это отдельный шейп.
пытался их сгруппировать, но тогда стрелка теряет свойства свои - ее больше нельзя вращать как линию. behavior крутить не помогло
как сделать чтобы стрелка вращалась по кругу, а прямоугольник U при этом был в этом же мастере но просто стоял рядом (контролом расположение указывалось бы)

файл:
http://ofp.gamepark.cz/_hosted/lib4145/vedro/smart.rar
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 03/07/2009 :  17:18:00
1.1. Сформатировать надпись на каком-то этапе. Например, так
=FORMAT(Scratch.X1,"0.0")&" км"
1.2. У надписи еще и высота текста нулевая... Может при отрицательном смещении что-то запутывается. Если текстовый блок позиционировать не Middle, а Top, то текст садится на Control.
2. Попробуйте следующий вариант:
- Стрелке сказать Convert to Group. При этом она станет группой, но пустой. Поведение стрелки сохраняется.
- Открыть полученную группу на редактирование (через Edit).
- Перенести прямоугольник через буфер в открытую группу.
Останется наверно немного повозиться с привязкой и вращением, но само соединение вроде работает.
Go to Top of Page

bdfy

Belarus
267 Posts

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