All Forums
 Категория Visio
 Форум Вопросы и ответы
 Где хранится количество сегментов соединителя
Author Previous Topic Topic Next Topic  

oleg753

26 Posts

Posted - 02/26/2010 :  12:28:44
Надо привязать к концу соединителя объект (цифру).
Делаю так:
PynY=Sheet.1017!Geometry1.Y4
PynX=Sheet.1017!Geometry1.X4
Но при пересечении соединителя он меняет свою форму, добавляя новые сегменты (полукруг), и соответственно X4 и Y4 становятся уже не координатами конца линии, объект уплывает.
Sheet.1017 - дин соединитель.
Вопрос: как привязать объект к началу или концу ломаной линии.

Tumanov

Russia
1198 Posts

Posted - 02/26/2010 :  16:35:42
Количество сегментов нигде не хранится. Макросом его посчитать можно (в каждый конкретный момент), формулами шейп-листа - только с очень сильными извращениями.
Для привязки к концам ломаной лучше ориентироваться по секции 1-D Endpoints (BeginX, EndX и т.д.)
Можно еще разместить на коннекторе управляющие точки или точки соединения рядом с концами коннектора и привязываться к их координатам. При изменении размеров они будут слегка плавать, но все равно остаются на линии и не убегают далеко от концов.
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 02/26/2010 :  21:48:43
quote:
Вопрос: как привязать объект к началу или концу ломаной линии.

ответ уже дали
quote:
Для привязки к концам ломаной лучше ориентироваться по секции 1-D Endpoints (BeginX, EndX и т.д.)



вот другой вопрос если надо привязатся к специфической точке коннектора... вот похожий вопрос :
http://visguy.com/vgforum/index.php?topic=1477.0
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 03/02/2010 :  18:52:23
причем я до сих пор не понимаю почему
quote:
iConnRow = con.AddRow(visSectionConnectionPts, 1, visCnnctX)
'Debug.Print "iConnRow " & iConnRow

con.AddSection visSectionScratch
con.AddRow visSectionScratch, visRowLast, visTagDefault

con.CellsSRC(visSectionScratch, 0, visScratchA).FormulaU = "Geometry1.X2"
con.CellsSRC(visSectionScratch, 0, visScratchB).FormulaU = "Geometry1.Y2"


con.CellsSRC(visSectionConnectionPts, iConnRow, visCnnctX).FormulaU = "Geometry1.X2"
con.CellsSRC(visSectionConnectionPts, iConnRow, visCnnctY).FormulaU = "Geometry1.Y2"

дает в ячейке коннектора запись в "5 mm" например, а такое же присвоение для ячейки Scratch формулу ="Geometry1.X2" как положено.
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)