All Forums
 Категория Visio
 Форум Вопросы и ответы
 Reverse engineer + автоматическая прорисовка
Author Previous Topic Topic Next Topic  

AsTeRiX

11 Posts

Posted - 02/25/2008 :  11:02:12
Здравствуйте. В визио я новичек, помогите справиться с задачкой, пожалуйста:

Внешняя программа путем Reverse engineer выгружает объектную модель в визио. В визио объектную модель видно только в Model Explorer, сам же рисунок пустой. Очень хочется чтоб объекты на листе все же рисовались автоматически. Пытаюсь сделать это из внешнего приложения. но нарисовать удается только какие-нибудь простые формы через drowLine и тп, вытащить же объект из Model Explorer и нарисовать его на листе никак не получается :( Такое возможно и с помошью какого объекта-метода? Во внешней программе мне известен GUID объекта, который передается в визио реверсом.

Изучала SDK - не помогло, понятия Model Explorer там вообще нет :(

Tumanov

Russia
1198 Posts

Posted - 02/25/2008 :  11:54:22
quote:
Внешняя программа путем Reverse engineer выгружает объектную модель в визио

Вот тут надо бы поподробнее... Что за программа, откуда взялась, как и куда выгружает.
Если Вы работаете с шаблоном UML Model Diagramm, то, как я понимаю, за прорисовку отвечает UML Add-On. То есть к Visio прилеплена дополнительная программка. Model Explorer - это окошко, которое находится в ее полном распоряжении.
Внешней программой, подобной той, о которой Вы говорите, может быть VB6. Там при нажатии кнопочки Reverse Engineer UML Model Add-In от VBA открывает Visio документ по шаблону UML Model Diagramm и передает данные запускающемуся при этом UML Add-On . При этом модель отображается в Model Explorer, а на листе пусто.
Пользователь может перенести любую часть модели из Model Explorer на лист рисунка (мышкой) - тогда UML Add-On прорисует на рисунке эту часть модели.
Если Ваша внешняя программа действует аналогично и связывается с тем же Add-On, то и действия пользователя должны быть аналогичны. А если нет, то надо знать, как она связывается с Visio.
Go to Top of Page

AsTeRiX

11 Posts

Posted - 02/25/2008 :  12:31:00
программа - MS Dynamics Ax. Версия визио - от 2003 и выше (по документации. У меня 2007). Принцип действия именно такой как Вы описали - программа формируется файл *.txt с списком описаний объектов - тип, GUID parent, GUID, name, ... (прочие параметры).
Затем создается визио файл и через ком объекты запускается метод run объекта AddOn 'UML Background Add-on'.

Собственно, интересует именно то, можно ли вместо пользователя автоматически перенести модель на листик? Чтоб получить уже прорисованную диаграмку, а не пустой лист (я понимаю что получится плохо, с этим будем разбираться по ходу..). Ну и если можно, то как - не могу найти такоих методов..

Edited by - AsTeRiX on 02/25/2008 12:37:07
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 02/25/2008 :  14:06:41
Совсем не уверен, что AddOn 'UML Background Add-on' разрешит выполнить какие-либо свои внутренние функции...
Может пойти другим путем - взять входной текстовый файл и прорисовать все самому? Если связь с окном Model Explorer Вам не очень важна, а главное - получить картинку, то может это и проще будет.
В Visio ведь рисуют не только примитивами. Можно программно перетаскивать мастер-шейп с трафарета на рисунок и заполнять его свойства.
Если структура текстового файла достаточно прозрачна...
--------
Вот посмотрите примерчик (правда немного из другой области)
http://visio.artberg.ru/biblio/st005.htm
Go to Top of Page

AsTeRiX

11 Posts

Posted - 02/25/2008 :  15:23:20
Грустно это, конечно. Я-то думала что раз объект уже в визио то отобразить его на листе можно запросто.. Ну значит будем заниматься рисованием - структура файла очень даже прозрачна :) (вот только интересно бы посмотреть из каких соображений он так формируется - может туда можно еще какие-нить нужные параметры добавить?)

Спасибо большое за информацию!

Edited by - AsTeRiX on 02/25/2008 15:26:07
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 02/25/2008 :  15:50:48
quote:
Грустно это, конечно... значит будем заниматься рисованием

Я могу и ошибаться... Стопроцентной уверенности нет :)
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)