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

Форум по вопросам применения и программирования в Visio
Текущее время: 23 окт 2018, 03:05

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


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


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)



Начать новую тему Ответить на тему  [ Сообщений: 64 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 14 ноя 2014, 18:50 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3362
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
Данная ветка является логическим продолжением дискуссии начатой чуть ранее.
9rey в сообщении #5717 писал(а):
вообще интересно, какие еще фишки людям хотелось бы добавить в визио? может например дотянуть линию до объекта? или обрезать? и т.п. :)
думаю удлинить/обрезать точно нужны!
кабы это еще все загнать в аддин, можно удостоиться упоминание самой Аллы Васильевой. Например так
Alla Vasilieva 11 Jun 2014 1:21 AM в русскоязычном блоге Visio писал(а):
Операции с «базовой точкой»
Во многих чертежных продуктах существуют так называемые операции с «базовой точкой». В частности, а AutoCad есть «копирование с базовой точкой», «перемещение с базовой точкой».
Данная операция может быть очень полезна для точного позиционирования вставляемого (перемещаемого) объекта.
Подробнее…
Так что есть куда копать.
Друзья поделитесь мнением чего вам не хватает, и если уже есть готовые "дополнительные возможности" дополняйте эту ветку.

Выделение секущей рамкой аля AutoCad
Таблицы в Visio
Работа с графами
Надстройка SelectShape, аналог QuickSelect в Autocad
Надстройка CopyProperties, копирование свойств шейпа


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 18 ноя 2014, 18:05 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 897
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 120

Добавить очки репутацииУменьшить очки репутации
здорово!
но давайте это все выкладывать в разделе "склад полезных макросов", иначе зачем он вообще?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 18 ноя 2014, 18:18 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3362
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
Геннадий, просто супер !
я забыл сказать, что должна быть возможность осуществления множественных операций!
для реализации этого нужно заменить часть кода выше процедуры LineExtension

Код:
Dim WithEvents pg As Visio.Page 'Страница, обслуживающая событие ShapeAdded
Dim Garbage As Collection       'Коллекция для сбора технологического мусора
Dim SelShapes As Collection     'Коллекция для сбора первоначально выделенных шейпов
Dim SelShapesCounter%           'Количество первоначально выделенных шейпов

'Обработчик технологического мусора
Private Sub pg_ShapeAdded(ByVal Shape As IVShape)
    Garbage.Add Shape
End Sub

Sub ttt()   'Тестовая процедура для LineExtension
' определить количество первоначально выделенных шейпов
SelShapesCounter = ActiveWindow.Selection.Count
Set SelShapes = New Collection
For i = 1 To SelShapesCounter
' заполняем коллекцию первоначально выделенных шейпов
SelShapes.Add ActiveWindow.Selection(i)
Next
For Z = 2 To ActiveWindow.Selection.Count
' продляем первоначально выделенные шейпы
    LineExtension SelShapes(1), SelShapes(Z)
Next Z
End Sub

из наблюдений:
1. удлиняет только 1-d отрезки (что закономерно EndX/BebinX)
2. секущей может быть отрезок, дуга. но не полилиния с несколькими вершинами


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 18 ноя 2014, 18:19 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3362
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
9rey писал(а):
но давайте это все выкладывать в разделе "склад полезных макросов", иначе зачем он вообще?
переместим финальную версию кода, когда допилим все нюансы Изображение


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 18 ноя 2014, 20:01 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Цитата:
2. секущей может быть отрезок, дуга. но не полилиния с несколькими вершинами

Да, я тренировался на Freeform кривой.
Но ломаная линия - 2D шейп. У нее нет BeginX, EndX. Нужно подумать над альтернативным способом определения точки пересечения.
Скорее всего можно брать X и Y из первой и последней строк геометрии.
Кстати, надо еще придумать, какой результат должен быть, когда ломаная линия будет рассекаться сбоку, с множеством точек пересечения.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 18 ноя 2014, 20:18 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3362
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
можно добавить проверку является ли шейп 1d ( отрезок дуга)
Код:
Dim sh As Shape
Set sh = ActiveWindow.Selection(1)
if sh.OneD =-1 then
' если 1D то будет -1

и брать крайние точки геометрии

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

PS думаю с дугами без включения серьезной математики точно ничего не выйдет. вопрос как определить параметры дуги ?
PPS а надо ли это определять ?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 18 ноя 2014, 20:43 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Цитата:
попробовал удлинять одну дугу до другой. результат тоже не ахти.

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 18 ноя 2014, 20:52 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3362
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
Tumanov писал(а):
Насчет удлинения дуг не договаривались!
с дугами этот точно перебор!
интересно получится коннекторы удлинять ?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 19 ноя 2014, 01:20 
Не в сети
Ветеран

Зарегистрирован: 30 июл 2014, 14:28
Сообщений: 492
Использую Visio c: 2008
Очков репутации: 100

Добавить очки репутацииУменьшить очки репутации
Цитата:
Попробовал вечерком набросать что-то похожее на удлинение линий. Получилась вот такая штука:
https://yadi.sk/d/YyO8wwqUcjcQ6
Ну это так, сырая заготовка. Нов принципе работает, с глюками конечно :oops:

Переработал код. Принцип конечно тот же. Линия соединяется вроде со всем чем угодно, кроме контейнеров (ну, может есть еще какие хитрые фигуры, пока не попадалось). Решаю вопрос с ситуацией когда линия находится полностью или частично внутри шейпа. Ну, а с контейнерами - это можно поправить, правда надо понять как определить что шейп - контейнер.
Кому интересно - файл там же.
Комменты в коде писать некогда было.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 19 ноя 2014, 10:42 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Поправка к моему коду для 2D шейпов:
Код:
    Case 2  'Цель рассечена надвое
'        Debug.Print Garbage(1).OneD, Garbage(2).OneD
        If Garbage(1).OneD Then
            x = Garbage(1).Cells("BeginX")
            y = Garbage(1).Cells("BeginY")
            If Garbage(2).HitTest(x, y, 0.001) = 1 Then   'Начало первого касается второго
                'Оставить начало
            Else    'Значит конец
                x = Garbage(1).Cells("EndX")
                y = Garbage(1).Cells("EndY")
            End If
        Else
            Dim xprime As Double, yprime As Double
            Garbage(1).XYToPage Garbage(1).Cells("Geometry1.X1"), _
            Garbage(1).Cells("Geometry1.Y1"), xprime, yprime
            x = xprime
            y = yprime
            If Garbage(2).HitTest(x, y, 0.001) = 1 Then   'Начало первого касается второго
                'Оставить начало
            Else    'Значит конец первого
                intRows = Garbage(1).RowCount(visSectionFirstComponent)
                Garbage(1).XYToPage Garbage(1).CellsSRC(visSectionFirstComponent, intRows, 1), _
                Garbage(1).CellsSRC(visSectionFirstComponent, intRows, 2), xprime, yprime
                x = xprime
                y = yprime
            End If
        End If
        Flag = 1
'        Set sh4 = ActivePage.AddGuide(1, x, y)
    Case Else  'Слишком много пересечений

Вместо прямого сравнения координат удобнее оказалось использовать HitTest.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 19 ноя 2014, 12:28 
Не в сети
Administrator

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

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 19 ноя 2014, 19:31 
Не в сети
Ветеран

Зарегистрирован: 30 июл 2014, 14:28
Сообщений: 492
Использую Visio c: 2008
Очков репутации: 100

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

Ну, как бы у меня в коде шаг переменный. Сначала 1 условная единица, а потом в 100 раз меньше. Тут проверил:
Лист А0, длина линии 1 мм, начало линии в левом нижнем углу листа, шейп в правом верхнем(его нижний левый угол).
Цикл с шагом 1 длился 1456 тактов, потом с шагом 0,01 - 52 такта. Многовато конечно! :o
Ну можно как-то определять длину от конца линии (ну или середины) до шейпа, это дело разделить, скажем на 10, вот будет первичный шаг. Но проблема в том что надо определить расстояние не до шейпа (шейп может быть совершенно непонятной формы и размеров), а до предполагаемой точки пересечения. А наша утилита для того и есть чтобы найти эту точку! :P


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 21 ноя 2014, 04:23 
Очень не хватает видовых экранов для печати :cry:


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 21 ноя 2014, 14:19 
Не в сети
Administrator

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

за модель принимался лист Backgroung Page, но есть проблема с масштабированием и выведением нужного фрагмента чертежа


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 29 мар 2015, 13:33 
Не в сети
Ветеран

Зарегистрирован: 30 июл 2014, 14:28
Сообщений: 492
Использую Visio c: 2008
Очков репутации: 100

Добавить очки репутацииУменьшить очки репутации
Surrogate, а чего не добавил в этот список мои надстройки SelectShapes и CopyProperties?
Изображение
Слюшай, обидно, клянусь, обидно, ну... :D


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 31 мар 2015, 20:23 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3362
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
Shishok писал(а):
Surrogate, а чего не добавил в этот список мои надстройки SelectShapes и CopyProperties?
SelectShapes добавил, см. шапку этой ветки! а CopyProperties что-то никак не найду :(
помню что было!


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 31 мар 2015, 22:50 
Не в сети
Ветеран

Зарегистрирован: 30 июл 2014, 14:28
Сообщений: 492
Использую Visio c: 2008
Очков репутации: 100

Добавить очки репутацииУменьшить очки репутации
Цитата:
SelectShapes добавил, см. шапку этой ветки! а CopyProperties что-то никак не найду :(
помню что было!

Вот здесь:
http://www.visio.getbb.ru/viewtopic.php?f=15&t=1042


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 01 апр 2015, 13:08 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3362
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
Shishok, спасибо добавил !


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 17 июн 2015, 18:24 
Не в сети
Бывалый

Зарегистрирован: 11 июн 2015, 10:49
Сообщений: 111
Использую Visio c: 2001
Отрасль: Автоматизация инженерных систем
Должность: Вольный Птиц
Уровнь квалификации: Нуб forever
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Запишусь в археологи и пожалюсь по существу названия темы.
Больше всего мне не хватает одной элементарной функции с коннекторами, которая в 2003-м была, а в 2013 осталась только у линий. Если при отсутствии выделенных шейпов на странице выбрать тип окончания(начала, оба) линии (стрелочку и т.п.), то с этого момента все линии инструментом "Линия" буду проводится с этим окончанием (началом).
Обалдеть, как удобно. Но в 2013 это не работает с коннекторами :wall: :wall: :wall:


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 17 июн 2015, 18:46 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 897
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 120

Добавить очки репутацииУменьшить очки репутации
у меня 2003. тока что проверил. работает только на линиях. для коннекторов надо зайти в стили и поменять в стиле Connector отображение со стрелкой, тогда будет у всех.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего нам и вам не хватает в стандартных средствах Visio ?
СообщениеДобавлено: 17 июн 2015, 18:53 
Не в сети
Бывалый

Зарегистрирован: 11 июн 2015, 10:49
Сообщений: 111
Использую Visio c: 2001
Отрасль: Автоматизация инженерных систем
Должность: Вольный Птиц
Уровнь квалификации: Нуб forever
Очков репутации: 1

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 64 ]  На страницу Пред.  1, 2, 3, 4  След.

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



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

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


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

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