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

Форум по вопросам применения и программирования в Visio
Текущее время: 12 авг 2020, 04:57

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


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


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)
Размещая ваши вложения на форуме не используйте имена файлов содержащих кириллицу, в противном случае файл будет иметь имя .<расширение файла> !
Для форматирования ваших сообщений используйте BBCodes, описание используемых на форуме BBCodes.



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Обтекание шейпов?
СообщениеДобавлено: 18 июл 2012, 10:31 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 24 апр 2012, 12:36
Сообщений: 180
Очков репутации: 11

Добавить очки репутацииУменьшить очки репутации
Добрый рабочий день всем :)

Подскажите , как сделать так, чтобы , если мы наносим шейп на границу другого шейпа и отпускаем мышь, то он не становился бы на координаты этого шейпа, а на пустое место рядом, ну скажем в 50 пикселей от границ? Тоже самое и про линии?

Есть ли встроенные методы или нужно писать свой? В какое русло копать?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Обтекание шейпов?
СообщениеДобавлено: 18 июл 2012, 10:40 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3964
Откуда: оттуда
Использую Visio c: 1998
Уровнь квалификации: Отсутствует
в этой ветке обсуждалось про перемещение с базовой точкой http://visio.getbb.ru/viewtopic.php?f=6&t=138
судя по описанию, очень похоже на то что ты хочешь получить…


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Обтекание шейпов?
СообщениеДобавлено: 18 июл 2012, 10:50 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 24 апр 2012, 12:36
Сообщений: 180
Очков репутации: 11

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

как-то должно быть попроще) типа так:

if(координаты перемещаемого/добавляемого шейпа перекрывают(вычислить площадь фигуры и пиксели которые она занимает) координаты уже имеющегося шейпа)
{
двигаем первый шейп на 50px от границы второго;
}

идея кажется логичной :) а вот реализацию вижу не особо, т.е. вижу но не очень ))))


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Обтекание шейпов?
СообщениеДобавлено: 18 июл 2012, 11:14 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3964
Откуда: оттуда
Использую Visio c: 1998
Уровнь квалификации: Отсутствует
да, действительно не тот случай… раз ты не хочешь эту точку кликом обозначать.

идея понятна, насчет реализации тоже сразу идей нет.
в стандартном наборе стенсилов визио есть стенсил Walls, Shell and Structure (Metric) для рисования планировок помещений. он работает на аддин (*.vsl) от MS, действует примерно так. например у тебя есть шейп стена, ты двигаешь шейп окно. как только подносишь этот шейп к стене, окно прилипает к ней и даже меняет размер, становится как толшина стены.

единственное, что я не могу сказать как называется этот аддин и где он лежит. в версиях визио до 2003, это было прозрачно :(
поиск нашел в папке визио 52 файла с расширением *vsl, но какой из них я не смог догнать…
если найдешь, можно там покопать - там как раз на C# все


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Обтекание шейпов?
СообщениеДобавлено: 18 июл 2012, 11:28 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 24 апр 2012, 12:36
Сообщений: 180
Очков репутации: 11

Добавить очки репутацииУменьшить очки репутации
ок, пасиба


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Обтекание шейпов?
СообщениеДобавлено: 18 июл 2012, 11:34 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3964
Откуда: оттуда
Использую Visio c: 1998
Уровнь квалификации: Отсутствует
похоже это AEC.vsl или AECUtils.vsl, начни с них


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Обтекание шейпов?
СообщениеДобавлено: 18 июл 2012, 11:57 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 24 апр 2012, 12:36
Сообщений: 180
Очков репутации: 11

Добавить очки репутацииУменьшить очки репутации
чем их открывать блин)) студия непонимает


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Обтекание шейпов?
СообщениеДобавлено: 18 июл 2012, 12:09 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3964
Откуда: оттуда
Использую Visio c: 1998
Уровнь квалификации: Отсутствует
посмотри на старом форуме visio.artberg.ru, что-то было про эти vsl

http://visio.artberg.ru/f_rubr/add.htm


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Обтекание шейпов?
СообщениеДобавлено: 18 июл 2012, 13:33 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 1668
Очков репутации: 100613

Добавить очки репутацииУменьшить очки репутации
Есть (штатно) немного другое поведение. При перемещении шейпа он расталкивает другие шейпы. (Расчищает себе место).
Такое поведение настраивается в Format / Placement behavior.
А если все-таки хочется самому отпрыгивать, то нужно писать свою функцию.
Перемещение шейпа отслеживать по CellChanged (если для произвольного шейпа). Если шейпы специальные, то можно зарядить событие EventXFMod (через ShapeSheet) и через него вызывать макрос или аддон.
Для определения перекрытия использовать свойства SpatialNeighbors или SpatialSearch. Слегка похоже SpatialRelation, но здесь оно едва ли пригодится.


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

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

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