All Forums
 Категория Visio
 Форум Вопросы и ответы
 Как шаблону жестко задать постоянные коорд. ?
Author Previous Topic Topic Next Topic  

bdfy

Belarus
267 Posts

Posted - 10/03/2008 :  22:02:16
Нужно тут векторную диаграмму сделать. десяток векторов на одной плоскости. данные имя\угол\модуль в екселе есть. в визио импортировал. вектора располагать как пробовал :
- забивая в EndX EndY формулы координат через длинную и Angle.
EndX=BegX+Prop._VisDM_value*COS(Prop._VisDM_angle)*0.1

коорд. начала хотелось бы зафиксировать одинаковые для все векторов. [100,100] например. только что бы я не делал они меняются при перетаскивании шаблона мышкой из набора на рабочую область. Как это оформить можно ? как заставить фигуру при выставлении на поле сразу прыгать в нужную точку ?

Tumanov

Russia
1198 Posts

Posted - 10/04/2008 :  05:33:00
Используйте =Guard(100 mm) Это защищает ячейку от перетаскиваний.
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 10/04/2008 :  08:59:43
уже пробовал протекшн сделать координатам. да уже помещенную на лист фигуру перемещать становится невозможно. но как сместить все новые в одну точку ?
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 10/04/2008 :  15:47:11
Пропишите в ячейку EventDrop формулу
=SETF(GetRef(BeginX),"100 mm")+SETF(GetRef(BeginY),"100 mm")
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 10/05/2008 :  16:15:35
тоже на работает. чтобы я не вбивал в поле EndX EndY - неизбежно формулы затираются как только я вытаскиваю фигуру на рабочую область.

Edited by - bdfy on 10/05/2008 16:28:00
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 10/05/2008 :  16:19:24
Не работает что?
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 10/05/2008 :  16:39:52
есть 12 векторов. заданы они таблично - название, реальная часть (X), мнимая часть (Y). надо их построить на плоскости. по логике вещей надо BegX, BegY вбить постоянные для всех, EndX EndY считать - EndX=BegX+Y*scale
вроде все просто. но чтобы я не делал как только я стенсил вытаскиваю из шаблона на рабочую область, вместо формул в полях EndX EndY и т.д я получаю значения куда вытащил фигуру. и ничего не помогает пока
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 10/05/2008 :  17:27:17
Что-то интересное...
То есть, вот эта формула для начальной точки работает
=SETF(GetRef(BeginX),"100 mm")+SETF(GetRef(BeginY),"100 mm")
а аналогичная для конечной работать не хочет?
-------------
Хотя, кажется понятно.
Скорее всего в момент EventDrop значение Y еще не существует и поэтому формула ломается.
А Вы попробуйте Y вводить через какую-нибудь другую ячейку, а в EventDrop на нее только ссылаться. Тогда в момент опускания шейпа прибавится ноль, а потом, когда значение появится, конец вектора тоже сместится, куда надо.
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 10/05/2008 :  18:29:40
quote:
То есть, вот эта формула для начальной точки работает
=SETF(GetRef(BeginX),"100 mm")+SETF(GetRef(BeginY),"100 mm")
а аналогичная для конечной работать не хочет?

ни для конечной, ни для начальной она не работает. фигура при перетаскивании все равно будет там куда я ее перетащил а не в точке 100,100
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 10/05/2008 :  18:55:19
У меня работает.
Надо искать, почему у Вас не получается.
--------
Возьмите файл в http://visio.artberg.ru/store/vect.zip
разархивируйте и попробуйте перетаскивать единственный мастер-шейп из Document Stencil на рисунок. У меня все копии векторов начинаются из одной точки.
В шейпе изменена только одна ячейка - вставлена приведенная выше формула.
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 10/05/2008 :  19:26:32
разобрался. таки расчитать через EndX\EndY - ничего нельзя. т.к координаты все равно от перетаскивания получаются. все решается через EventDrop. просто прописать надо было не только начало но и конец :)
=SETF(GetRef(BeginX),"100 mm")+SETF(GetRef(BeginY),"100 mm")+SETF(GetRef(EndX),"100 mm+0.1*Prop._VisDM_Re")+SETF(GetRef(EndY),"100 mm+0.1*Prop._VisDM_Im")
в очередной раз спасибо за помощь - выручили.
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)