Форум пользователей Visio
http://visio.getbb.ru/

Контроль за наложением фигур
http://visio.getbb.ru/viewtopic.php?f=29&t=1267
Страница 1 из 2

Автор:  Lankoser [ 29 дек 2017, 18:17 ]
Заголовок сообщения:  Контроль за наложением фигур

Добрый день.
Подскажите пожалуйста, есть ли в визио инструменты автоматизации контроля за наложением фигур. Поясню, в процессе составления схемы возможно не умышленное дублирование фигур (наложение одной фигуры на другую точно такую же) которое визуально невозможно определить. Можно ли как то автоматически подсвечивать такие места на схеме?

Автор:  Shishok [ 29 дек 2017, 18:22 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

Цитата:
Можно ли как то автоматически подсвечивать такие места на схеме?

Автоматически нет.

Автор:  Shishok [ 29 дек 2017, 18:22 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

Если только использовать VBA.

Автор:  Гость [ 29 дек 2017, 18:48 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

Shishok писал(а):
Если только использовать VBA.


Дорого выйдет заказать такую ВБАшечку? :roll:

Автор:  Shishok [ 29 дек 2017, 19:04 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

1. Это действительно должно быть автоматом? Или возможен ручной запуск проверки?
2. Это должно происходить на любом документе?
3. Это должно происходить на любой странице документа?
3. Критично ли подвисание программы при проверке? Это возможно при большом количестве фигур на листах.
4. Все ли фигуры надо проверять или только определенные?

Автор:  Tumanov [ 29 дек 2017, 19:10 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

Можно попробовать отчет в Excel и там поиск дублей PinX, PinY.
Хотя, это только на предмет "определить". Подсветки не будет.

Автор:  Shishok [ 29 дек 2017, 19:17 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

Цитата:
Можно попробовать отчет в Excel и там поиск дублей PinX, PinY.
Хотя, это только на предмет "определить". Подсветки не будет.


Ну использовать еще и Excel не интересно. А дубликаты наверное надо сразу удалять. Если использовать макрос.

Автор:  Гость [ 29 дек 2017, 19:21 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

Shishok писал(а):
1. Это действительно должно быть автоматом? Или возможен ручной запуск проверки?
2. Это должно происходить на любом документе?
3. Это должно происходить на любой странице документа?
3. Критично ли подвисание программы при проверке? Это возможно при большом количестве фигур на листах.
4. Все ли фигуры надо проверять или только определенные?


1. Не совсем понял. Это должно происходить в открытом (активном) документе.
2. Это должно происходить в активной странице документа.
3. Нет не критично если задержка будет в пределах 10 сек.
4. Желательно иметь опции "проверить все", "проверить выбранные"

Через Excel можно, но это не очень подходит. Нужно для совсем не компетентных пользователей. По принципу "Нажал и улыбнулся"

Автор:  Lankoser [ 29 дек 2017, 19:23 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

Ручной запуск подходит.

Автор:  Гость [ 29 дек 2017, 21:01 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

Lankoser писал(а):
в процессе составления схемы возможно не умышленное дублирование фигур (наложение одной фигуры на другую точно такую же) которое визуально невозможно определить.
интересно, как это могло произойти?

Автор:  Tumanov [ 29 дек 2017, 21:22 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

Вообще, факт наложения определить довольно сложно. А что, если это просто похожие шейпы...
Нужны критерии, по которым шейпы считать одинаковыми.
А как только появится критерий, то вот в этой ветке viewtopic.php?f=6&t=1248&p=11754#p11754 недавно nbelyh публиковал макрос со схожим назначением. Там нужно было найти шейпы с одинаковым текстом.
В данном случае, как мне кажется можно попробовать взять в качестве критерия пару PinX и PinY. (Не заморачиваясь с геометрией). Все равно решение об удалении нужно бы принимать человеку.
А вопрос "как это могло произойти?" действительно интересный :) Может дело в консерватории?

Автор:  Shishok [ 29 дек 2017, 21:24 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

Если ячейки копируемой фигуры (PinX и PinY) заблокированы, например функцией Guard, то так и будет.

Автор:  Lankoser [ 29 дек 2017, 22:14 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

Спасибо всем за отклик. Во вложении пример схемы в которой необходимо выявлять наложение фигур.
https://yadi.sk/d/Fs7gbwgQ3R6bAh

Автор:  Tumanov [ 29 дек 2017, 22:55 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

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

Автор:  Гость [ 29 дек 2017, 23:11 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

Это уже не первая попытка со стеллажами!
В прошлый раз решение было элегантее

Автор:  Tumanov [ 29 дек 2017, 23:17 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

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

Автор:  Lankoser [ 29 дек 2017, 23:39 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

Tumanov писал(а):
Такое впечатление, что эти шейпы по задумке должны наезжать друг на друга.
Но невидимой стойке разрешено наехать на видимую. А вот двум видимым - нельзя.
В принципе тоже, конечно, решаемо... Но алгоритм будет не так прост, как ожидалось поначалу.


Вы абсолютно правы! Невидимая фигура может совпадать с видимой и может совпадать с невидимой. Главное "пометить" совпадение 2-х или более видимых фигур. Такое совпадение ошибка при составлении схемы. И её необходимо исправить до того как выливать отчёт в Excel.

Автор:  Shishok [ 30 дек 2017, 00:07 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

Попробуй. Щелчок на пункте списка выделяет соответствующую фигуру на листе.
Критерии поиска:
Совпадение по PinX и PinY и Width и Height.

Вложения:
RemoveDublicate.vsd [40 Кб]
Скачиваний: 110

Автор:  Lankoser [ 30 дек 2017, 00:40 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

Shishok писал(а):
Попробуй. Щелчок на пункте списка выделяет соответствующую фигуру на листе.
Критерии поиска:
Совпадение по PinX и PinY и Width и Height.


К сожалению не подходит.
1. У меня проверяемые фигуры находятся внутри групп.
2. Так же нужно ещё делать проверку на видимость совпадающих фигур. Исправлять надо только совпадение 2-х и более видимых фигур. Все остальные совпадения легитимны.

Автор:  Tumanov [ 30 дек 2017, 11:57 ]
Заголовок сообщения:  Re: Контроль за наложением фигур

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

Страница 1 из 2 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/