|
Visio automation
|
|||
---|---|---|---|
#18+
Приветствую! Пытаюсь на c# (можно и на VBA) читать диаграмму UML Деятельность. При считывании очередного Shape необходимо: 1. прочитать содержимое поля "Документация" этого shape, а также 2. прочитать данные, записанные ранее вручную в форме "Свойства состояния UML" - Категории/Именованные значения. Например, надо прочитать именованное значение по имени, скажем, "propability", которое раньше внес создатель диаграммы вручную. Непонятно как получить доступ к значениям этих полей? Заранее благодарю! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2015, 19:09 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Уточню, запись макроса в ходе изменение этих данных (документация и Именованные значения) вручную не дает эффекта - в макрос ничего, что касается такого рода свойств не пишется. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2015, 19:44 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1, по имени не получиться - только по индексу. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2015, 08:31 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgos, можно и по индексу, но какое свойство читать? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2015, 09:56 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Как прочитать любое значение тега элемента, заданное вручную при разработке диаграммы? На картинке - свойства элемента Состояние UML, в которых создан тег "P". Его значение 0.0005 и надо прочитать в программе, анализирующей диаграмму: foreach (Visio.Shape iShape in ...) { iShape.Name ... iShape.????? } ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2015, 15:51 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgosgsv1, по имени не получиться - только по индексу. Хотя можно самому имена задать. Как-то коряво получилось. Кто поправит? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2015, 17:36 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgos, если использовать CellsSRC, то можно получить доступ к ShapeSheet - это я знаю. Однако в данном случае необходимо читать "свойства состояния" (см. картинку выше), и именно Именованные значения. К сожалению, если их задать, то они не отображаются в ShapeSheet - проверял :( Спасибо за попытку помочь, но это не то, что надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2015, 20:04 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1Bobgos, если использовать CellsSRC, то можно получить доступ к ShapeSheet - это я знаю. Однако в данном случае необходимо читать "свойства состояния" (см. картинку выше), и именно Именованные значения. К сожалению, если их задать, то они не отображаются в ShapeSheet - проверял :( Спасибо за попытку помочь, но это не то, что надо. Жаль, .... я скорее сам нуждаюсь в помощи, просто не так много инфо по свойствам и методам vba в visio решил кинуть так как понял. А что за статусы - вообще понятия не имею. Может примерчик файла приложите для разбора? по моему примеру как по русскому названию поля найти его? пол дня перебираю cells - безрезультатно. Внесенное в Код: vbnet 1.
не отображается в окне привязки или рисунка данных, только в свойствах шэйпа. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2015, 22:59 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgosя скорее сам нуждаюсь в помощи, просто не так много инфо по свойствам и методам vba в visio решил кинуть так как понял. А что за статусы - вообще понятия не имею. по ходу все что касается UML в визио реализовано с помощью аддона UML Background Add-on например вызов свойства состояния UML вызывается из меню Actions так Код: vbnet 1.
как добраться до потрохов этого аддона, я тоже не знаю ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2015, 10:47 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Положил документ Visio (по предложению Bobgos) Surrogate, но ведь дополнительные свойства шейпов есть не только у UML, а например у ER и многих других. Должен быть какой-то метод работы с ними... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2015, 12:04 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1но ведь дополнительные свойства шейпов есть не только у UML, а например у ER и многих других. Должен быть какой-то метод работы с ними... скорее всего эти многие тоже работают под управлением собственных аддонов. у меня в системе их под 100 штук через шейпшит и vba до них недобраться :( ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2015, 12:55 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Surrogate, Хм, а как же тогда работают разные пользовательские надстройки, реализующие специфические отчеты и др. Функциональность? Шейпшит действительно не содержит этих свойств, но где то они хранятся... Хотелось бы найти! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2015, 13:12 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Surrogategsv1но ведь дополнительные свойства шейпов есть не только у UML, а например у ER и многих других. Должен быть какой-то метод работы с ними... скорее всего эти многие тоже работают под управлением собственных аддонов. у меня в системе их под 100 штук через шейпшит и vba до них недобраться :( Например: Код: vbnet 1. 2. 3.
выдает 93 шт. среди них с id 62 _ Фоновая настройка UML (или UML Background Add-on) Это он? Тогда соглашусь с Surrogate - у него в модели нет практически ничего. gsv1, Какую задачу нужно решить. Даже не представляю что должно сподвигнуть использовать UML? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2015, 18:30 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgos, надо нарисовать дерево, подобное тому, которое я привел выше. Графическая структура дерева затем должна быть переведена в некоторое внутреннее представление. В этом дереве во внутреннем представлении нужно будет выполнять разные обработки, например искать возможные пути до корня от вершин с определенными характеристиками, удовлетворяющие некоторым ограничениям. Идея в том, чтобы рисовать дерево в развитой среде, типа Visio. Можно конечно и не UML, но диаграмма активности вполне подходит по смыслу. Вообще то в Visio есть ведь forvard ingeneiring для баз данных, задача подобная... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2015, 18:43 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1Bobgos, надо нарисовать дерево, подобное тому, которое я привел выше. Графическая структура дерева затем должна быть переведена в некоторое внутреннее представление. В этом дереве во внутреннем представлении нужно будет выполнять разные обработки, например искать возможные пути до корня от вершин с определенными характеристиками, удовлетворяющие некоторым ограничениям. Идея в том, чтобы рисовать дерево в развитой среде, типа Visio. Можно конечно и не UML, но диаграмма активности вполне подходит по смыслу. Вообще то в Visio есть ведь forvard ingeneiring для баз данных, задача подобная... а если просто рисовать шэйпами? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54.
все это потом можно экспортировать в базу, в нужные свойства добавлять как данные фигур. или это все слишком неудобно? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2015, 23:23 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgos, Вы не поняли. Дерево рисует человек, знающий какое оно должно быть, думающий над ним. Заносит в эту картинку характеристики узлов, которые потом надо прочитать. Когда дерево готово, начинает работать программа, вычисляющая некоторые общие характеристики дерева, анализирующая его ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2015, 05:22 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Нашел такой код: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86.
По утверждению автора он позволяет читать те доп. свойства, которые создаются в ходе работы с UML addon и хранятся в BLOB, правда не знаю где... Интересно такой код будет работать? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2015, 16:44 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1, несколько поторопился. Код выше работает, но с моделью базы данных, а не с UML, но где-то написано, что эти два add-on связаны... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2015, 17:55 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1, 1. Если подключить в референс: Microsoft Visio UML Solution for VB Type Library увидишь там один класс: VisioUMLSolution и все... то что MODELENGLib library думаю к UML НЕ ИМЕЕТ ОТНОШЕНИЯ. 2. нужно найти описание MODELENGLib library (Microsoft Visio Database Modeling Engine Type Library). Гже бы раздобыть? лучше бы на родном 3. вот еще код Правда не пашет Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2015, 19:21 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1Bobgos, если использовать CellsSRC, то можно получить доступ к ShapeSheet - это я знаю. Однако в данном случае необходимо читать "свойства состояния" (см. картинку выше), и именно Именованные значения. К сожалению, если их задать, то они не отображаются в ShapeSheet - проверял :( Спасибо за попытку помочь, но это не то, что надо. gsv1, Подскажи, пожалуйста: создаю новую строку данных шэйпа: Код: vbnet 1.
в созданную строку данных шэйпа записываю имя: Код: vbnet 1.
но в окне 'Определение данных фигуры' подпись пуста. См. скрин. Куда нужно записать эту подпись? Замучился уже искать методом тыка. Или подскажи где про эти cells и конкретно секцию visSectionProp почитать подробно? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2015, 22:12 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1gsv1, несколько поторопился. Код выше работает, но с моделью базы данных, а не с UML, но где-то написано, что эти два add-on связаны...видимо все-таки придется руками... Как вариант - использовать данные шэйпов. Рисовать схему, добавлять необходимые поля, потом экспорт в базу. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2015, 23:34 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgos Код: vbnet 1.
но в окне 'Определение данных фигуры' подпись пуста. См. скрин. правильно, тем кодом ты меняешь параметр Имя строки (в шейпшите это первый столбец). а там где пусто это поле Подпись (в шейпшите это второй столбец Label ) его программно изменить можно Код: vbnet 1.
BobgosКуда нужно записать эту подпись? Замучился уже искать методом тыка. включил макрорекордер. через интерфейс изменил поле Подпись и получил нужный код :) BobgosИли подскажи где про эти cells и конкретно секцию visSectionProp почитать подробно? попробуй на МСДН Shape Data Row (Shape Data Section) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 01:12 |
|
Visio automation
|
|||
---|---|---|---|
#18+
SurrogateBobgos Код: vbnet 1.
но в окне 'Определение данных фигуры' подпись пуста. См. скрин. правильно, тем кодом ты меняешь параметр Имя строки (в шейпшите это первый столбец). а там где пусто это поле Подпись (в шейпшите это второй столбец Label ) его программно изменить можно Код: vbnet 1.
BobgosКуда нужно записать эту подпись? Замучился уже искать методом тыка. включил макрорекордер. через интерфейс изменил поле Подпись и получил нужный код :) BobgosИли подскажи где про эти cells и конкретно секцию visSectionProp почитать подробно? попробуй на МСДН Shape Data Row (Shape Data Section) Surrogate, спасибо. А что-то еще почитать с примерами. Например: как из vba изменить рисунок, связанный с данными. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 14:32 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgos, не успел ответить раньше. Про Visio (хоть я и абсолютный новичок) есть хорошая новая книжка parker microsoft visio 2013 business process diagramming and validating По поводу своего вопроса: я отказался от использования свойств UML, поддерживаемых спец. add-on (Surrogate первый об этом сказал, но я еще проконсультировался с Николаем Белых, чей код по работе с спец. аддоном я привел выше, он кстати участвовал в подготовке публикации книги Паркера) в пользу стандартных Данных фигуры - там также можно создать любые тэги, но при этом они доступны через ShaeSheet! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 19:25 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1Bobgos, не успел ответить раньше. Про Visio (хоть я и абсолютный новичок) есть хорошая новая книжка parker microsoft visio 2013 business process diagramming and validating По поводу своего вопроса: я отказался от использования свойств UML, поддерживаемых спец. add-on (Surrogate первый об этом сказал, но я еще проконсультировался с Николаем Белых, чей код по работе с спец. аддоном я привел выше, он кстати участвовал в подготовке публикации книги Паркера) в пользу стандартных Данных фигуры - там также можно создать любые тэги, но при этом они доступны через ShaeSheet! да видно хорошая книга - в цене (6 775 руб). а где бы её скачать да еще и на русском или на русском её нет вообще? Ссылки все лаговые,если есть возможность выложи для скачивания. Отказ от UML поддерживаю. Если сверим задачи,можем вместе поработать по методологии использования shapessheet. Насколько я понял кто-то должен в Визио создавать диаграммы, а программулина должна экспортировать эти данные? Это весь запланированный функционал? Мне бы еще было интересно параметрирование из excel диаграммы процессов в visio и их автоматизированное построение по данным таблиц xls. Ну а из разряда фантастики или UML ^-) - еще бы и временные, количественные значения для процессов, виртуализация визуализация статусов, построение дополнительных объединяющих шэйпов и скажем, контейнеризация при одинаковых значениях полей. Можешь подробнее пояснить свою задачу? Список именованных значения будет постоянный? Если нет, то сколько наборов может быть? Необходимо ли создание нового класса шэйпов с собственными event-ами или можно обойтись существующими? Настройки проги будут в составе vsd или отдельно? Планируешь использовать создание новой пользовательской секции или достаточно обойтись одной Properties? Экспорт штатными средствами visio или не/настраиваемый отчет? в какой формат? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 20:34 |
|
Visio automation
|
|||
---|---|---|---|
#18+
за книгу Дэвида Дж. Паркера - на русский язык ее решили не переводить ( пруф ) Например можно найти главы из книг про в закладках Sample Charts на сайте издателя визио2010 ( Chapter No.2 "Understanding the Microsoft Visio Object Model" ) визио2013 ( Chapter No. 3 Understanding the ShapeSheet™" ) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2015, 10:14 |
|
Visio automation
|
|||
---|---|---|---|
#18+
в визио есть такая фича SolutionXML , очень похоже на Shapesheet™ но не видимая через пользовательский интерфейс. посмотрел через нее тоже не видны эти записи… ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2015, 13:09 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgos, книгу могу выслать. Я не отказался от UML, я отказался от использования полей, поддерживаемых addon-ом, но не самим visio. Список имен. значений пока постоянный, небольшой, среди типов - строки и числа (вероятности). Шейпы UML-ные, новых не обязательно. А зачем event-ы вообще? - я в этом ничего не понимаю. Настройки в vsd не нужны, программа диалоговая, на c#. По моему достаточно именованных полей из раздела Данные фигуры. Экспорт не нужен. Основная функция - обработка древовидной структуры, нарисованной экспертом в области шахтной безопасности. Готов совместно поработать над доступом к ShapeSheet (но не думаю, что это является проблемой) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2015, 17:07 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1Bobgos, книгу могу выслать. бужу благодарен.Хорошая книга все понятно. Выложи на любой сервис типа diskdrive или файлообменник. На этом форуме не нашел возможности отправки личных сообщений.gsv1 Я не отказался от UML, я отказался от использования полей, поддерживаемых addon-ом, но не самим visio. Список имен. значений пока постоянный, небольшой, среди типов - строки и числа (вероятности). Шейпы UML-ные, новых не обязательно. А зачем event-ы вообще? - я в этом ничего не понимаю. Настройки в vsd не нужны, программа диалоговая, на c#. По моему достаточно именованных полей из раздела Данные фигуры. Экспорт не нужен. Основная функция - обработка древовидной структуры, нарисованной экспертом в области шахтной безопасности. Готов совместно поработать над доступом к ShapeSheet (но не думаю, что это является проблемой) Действительно, с такой книгой проблем с ShapeSheet будет. Обработка древовидной структуры - что сие означает? не напильником же.... Наверное. в шахтах с напильником небезопасно. :-) Какова цель обработки? В программу на С# собрать данные о связях из vsd? Что конкретно? Сама программа на С# что за прога? Для чего используется? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2015, 06:39 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgos, вот https://dl.dropboxusercontent.com/u/31216567/parker_d_j_microsoft_visio_2013_business_process_diagramming.pdf ссылка. Через день уберу. Будем надеяться, что книга полезна... Про программу позже. Раз уж пошел разговор, спрошу еще: как узнать категорию шейпа? Иными словами, на диаграмме есть шейпы разных видов (в UML диаграмма классов это могут быть класс, аннотация, ассоциация, наследование и т.д.), так вот: каким образом при чтении шейпа определить, что он изображает ассоциацию (это линия определенного вида), или класс (это прямоугольник определенного вида), или наследование (это линия другого вида)? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2015, 14:56 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1, за ссылку спс огромное, даже те ссылки, что на сайте издателя лучше чем метод НЕнаучного тыка. gsv1Про программу позже. Раз уж пошел разговор, спрошу еще: как узнать категорию шейпа? Иными словами, на диаграмме есть шейпы разных видов (в UML диаграмма классов это могут быть класс, аннотация, ассоциация, наследование и т.д.), так вот: каким образом при чтении шейпа определить, что он изображает ассоциацию (это линия определенного вида), или класс (это прямоугольник определенного вида), или наследование (это линия другого вида)? Я например приловчился по имени Shape.NameU потому как тип возвращает для шэйпа процесса или прямоугольника - один. Обрезаю 7 символов слева "Process". наверное есть способ и получше ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2015, 21:18 |
|
Visio automation
|
|||
---|---|---|---|
#18+
BobgosЯ например приловчился по имени Shape.NameU потому как тип возвращает для шэйпа процесса или прямоугольника - один. Обрезаю 7 символов слева "Process". наверное есть способ и получше да семь символов не есть универсальный способ. я думаю вы используете шейпы из стенсилов с UML, тогда можно определить имя их родительского мастера таки программно это делается так Код: vbnet 1.
gsv1, спасибо за щикарный подгон - книги ! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 08:17 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Чуть не забыл задавал вчера по скайпу вопрос одному из рецензентов этой книги Surrogate™ : ты не в курсе по данному вопросу ? http://www.sql.ru/forum/1145949/visio-automation Nikolay Belykh : а в чем вопрос-то? Surrogate™ : где хранятся данные. которые вводятся в этих окошках Surrogate™ : которые вылезают по дабл-клику Nikolay Belykh : в курсе. только все печально Nikolay Belykh : в скрытом мастере Surrogate™ : uml ? Nikolay Belykh : а да, правильно, UML Nikolay Belykh : в виде бинарного блоба Surrogate™ : я открыл все мастера Surrogate™ : и как к ним добраться ? Nikolay Belykh : Visio 2010? Nikolay Belykh : так же как и к базе - только через API Surrogate™ : парни на форуме что-то за блоб писали Surrogate™ : у меня да 2010 Surrogate™ : а как эта API называется ? Nikolay Belykh : это в диаграмме базы оно по-другому называется Nikolay Belykh : API недокументированное, это просто DLL в папке Visio Nikolay Belykh : которая называется MODELENG.DLL Nikolay Belykh : Browse на нее тоже не сделать Surrogate™ : ясно :) я же ничего не понимаю в этих базах и моделях Nikolay Belykh : да там этот блоб копать близко к тому чтобы ассемблерный код восстанавливать :) Surrogate™ : хрена себе !!! Surrogate™ : это MS так задумал. или это еще в нативном визио так было устроено ? Nikolay Belykh : да просто например ты же не ко всему своему коду АПИ приделываешь для других - тут так же Nikolay Belykh : никто АПИ не удосужился сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 11:32 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgos, рад, что книжка интересна - сам то я ее только просмотрел, по хорошему не читал :) Дело в том, что я не специалист по Visio и даже не собираюсь им становиться, хотя продукт конечно достойный. Еще раз расскажу, как обещал, о программе, которую уже почти реализовал. Идея в том, чтобы эксперт нарисовал дерево, описывающее структуру событий, приводящих к аварии. Типов аварий бывает много, поэтому таких деревьев может быть много. Пример: к пожару в детском саду могут привести неисправность электропроводки, взрыв баллона с газом, игра со спичками. Неисправность электропроводки может быть обусловлена тем, что изолюцию съели крысы. Крысы могли ее съесть в том случае, если администрация не проводила дератизацию в течение нескольких лет. Это могло быть по халатности или из-за воровства средств. Итак, одна из дорог, ведущих к аварии начинается с события "средства на дератизацию сворованы". Однако само по себе короткое замыкание, вызываемое неисправной проводкой не способно привести к пожару! Для этого необходимо совпадение с другим событием - несрабатыванием предохранителя. Предохранитель может не сработать по причине отсутствия или неисправности. Вероятность несрабатывания предохранителя можно посмотреть в его паспорте. Вероятность его отсутствия обусловлена качествами человеческого коллектива, работающего на объекте и может быть оценена. Вероятность воровства средств на дератизацию также. Это дерево может сильно разрастись. Для анализа множества событий или их комбинаций, которые в принципе могут привести к аварии и рисуют такие деревья. После того, как дерево нарисовано, программа его изучает и формирует списки возможных стартовых событий и их комбинаций с оценкой вероятностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 14:50 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Surrogate, также рад быть полезным! Уже самостоятельно нашел путь как узнать категорию - читать мастера. Выше я привел код по работе с UML, рекомендованный как раз Николаем! Я с ним тоже пообщался, но по почте - мы не знакомы, но я задал вопрос (про UML) у него на сайте и он очень быстро отозвался. К сожалению его код мне не помог, т.к. при переходе на Visio 2013 он не работает - в нем UML не поддерживается на том уровне, что в 2007 :( Поэтому я основываюсь на обычных (не специфических) механизмах, что и к лучшему... Основные идеи решения разных мелких технических проблем я почерпнул из этой ссылки: http://visio.artberg.ru/faq1.htm А наш тред про Visio кажется самый внушительный и содержательный на все sql.ru ! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 14:58 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgos, кстати, у меня программа на c# читает дерево и ... пишет другую программу :) В ней фиксируется структура дерева (выше к одному из постов я прикреплял файл с диаграммой Visio), а также дописывается общая кодовая часть, которая реализует обработку, о которой постом раньше я уже сказал. Дело в том, что программа эта - на языке Prolog: на нем удобно быстро реализовывать разные методы обработки - они у нас еще не устоялись... Ну а далее можно сгенерированную Prolog-программу запустить автономно или прямо из c# и получить нужные ответы. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 15:10 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1А наш тред про Visio кажется самый внушительный и содержательный на все sql.ru ! дык здесь же не профильный русский форум по визио хотя там тоже мало спецов по UML найдете… даже на самом крутом форуме визио в мире на эту тему всего 9 тем, самое внушительное обсуждение содержит 5 ответов ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 15:27 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Surrogate, ну да, первую ссылку я тоже дал выше как наиболее полезную, да и "самым крутым форумом" пытался воспользоваться. Пишу, чтобы уточнить ранее сказанное про мастер шейпа - не всегда удобно пользоваться и им для определения категории шейпа, т.к. для шейпов разных категорий может быть один мастер. А вот у шейпа есть метод HasCategory(имя) - он не обманет! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 17:27 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1А вот у шейпа есть метод HasCategory(имя) не у каждого шейпа есть ячейка User.msvShapeCategories MSDN Shape.HasCategory Method (Visio) expression . HasCategory(Category ) NameRequired/OptionalData TypeDescriptioncategory Required String The category to search for Remarks You can pass only a single category for the Category parameter. Passing a semicolon-delimited list of categories produces an Invalid Parameter error. Categories are user-defined strings that you can use to categorize shapes and thereby to restrict membership in a container. You can define categories in the User.msvShapeCategories cell in the ShapeSheet for a shape. You can define multiple categories for a shape by separating those categories with semi-colons. в моем случае 95% используемых шейпов созданы лично мной и у них нет ячейки User.msvShapeCategories ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 11:29 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Surrogate, Согласен, но так вышло, что категория есть у нужных мне шейпов. Мне даже страшно представить что делать, если у шейпов нет категории и они имеют одного мастера?! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 15:54 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Хотя можно конечно создать собственные с категорией, но это еще разбираться надо... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 15:56 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Привет. Кто-нибудь пытался добраться до вставленного в visio объекта Excel? По сути объект excel вставляется как шэйп к свойству которого объект можно обращаться как к книге. Код: vbnet 1. 2. 3. 4.
и все бы ничего, если бы не решил проверить такой код на машине с windows 8, где стоит 32 разрядная версия Excel 2010. Последняя строка кода дает ошибку " - типа библиотека не подключена, хотя в референс ms excel 14 object library - включено. Танцы, включения, отключения референс, ничего не дают. Преобразования excel объекта в разные версии средствами visio тоже не помогают. Кто подкинет идею? P.S. На машине,где создавался excel объект офис 2007 (т.е. в референс ms excel 12 object library). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2015, 21:11 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Проблема относилась к кривой ОС. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2015, 18:38 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1, конечно поздно, но так уж, другое направление мысли. Ваша задача про граф "причин и последствий" - типовая для эспертных систем. Конкретно: правила вида "если --> то". В принципе и инструменты заполнения их могут быть. И ср-ва обработки и анализа. 25 лет назад были) ,но в основном текстовые. Имелись универсальные оболочки - решатели с пустой базой. По аналогии "если --> то", можно описывать в открытом формате DOT для графов. Правда там интерактивность только в одну сторону в отличие от визио, зато простой до безобразия. При необходимости автоматизировать польз-ский интерфейс м.б. предоставить юзеру в экцэле макросы для рисования прямо в ячейках. Проблем с доступом бы не было. И т.п. Но сейчас ведь автоматизация развилась до нельзя, всё ручками, ручками ... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2015, 21:08 |
|
Visio automation
|
|||
---|---|---|---|
#18+
exp98, я не понял что вы конкретно предлагаете. Дерево, которое надо рисовать в Visio, действительно аналогично набору правил. И они как раз порождаются по нарисованному дереву в программе, которую я написал. Далее они обрабатываются в соответствии с нужным мне алгоритмом... Уточню, правила фиксируются а их обработка осуществляется на языке Prolog. Правда это не совсем правила если ... то ..., т к некоторые узлы дерева снабжены вероятностями, а найти надо не столько следствие по совокупности правил, сколько несколько более специфичные вещи, такие как "минимиальные пропускные сочетания" исходных событий, например. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2015, 14:38 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1, мне нечего добавить. Я рассуждал о способах а) рисования графов и б) программного перевода рисунков в граф. Обработка графов - это ваша личная задача. Надеюсь Л.Задэ читали для общего развития. А пропускная спос-сть что ж - она определяется самым узким сечением. Я было подумал, что читуация с визио изменилась с начала века, но оказывается нет. И это диагноз для всей ИТ-отрасли, когда прикладники, как мне показалось, начинают заниматься программированием визио. В защиту ЭС могу сказать, что вероятностный вывод также имел место, особенно в медицинских приложениях, но это тоже диагноз для ЭС. Ну конечно, без вероятностей проще и заполнять и выводить. У нас в конторе около 15 лет назад как-то подключили визио к ораклу-ОЛАП, позднее я сам захотел подобно вам воспользоваться графами из визио, но, покопавшись день-два, понял, что всё запущено. У меня интерес был попроще, и я обошёлся системой хтмл-файлов на базе тогдашнего франтпэйджа. Он к тому же представлял файлы в виде графа. Я ещё колебался об основе: файловая система или гипертекст, остановился на последнем. Ну м.б. в Арис ещё можно рисовать, но как предполагаю, это дорого. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2015, 20:06 |
|
|
start [/forum/topic.php?all=1&fid=61&tid=2173437]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 160ms |
0 / 0 |