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

immortal

Russia
391 Posts

Posted - 12/08/2005 :  09:38:44  Visit immortal's Homepage
Никак не могу толку дать, есть у меня шейпы опора и провод, с коннектион поинтами, ставлю опору конектю провод, с помощью адд-он провод помещается на задний план, для того чтобы было правильно нарисовано и чтобы следующий провод конектился к опоре, а не к проводу, ведь опора сверху, коннектю второй провод, а он коннектиться то к опоре, а то к первому проводу, причём нельзя устанавливать свойства коннектион поинтс для провода чтобы только но конектился, ибо этот шейп используется при прокладке и необходимо коннектить провода между собой, если не получится ничего прийдётся чтото изобретать другое, например менять тип коннекторов из кустом пропертей.

визио 2003 форэвер

...а вобще-то я белый и пушистый.

brace

Russia
358 Posts

Posted - 12/08/2005 :  12:37:03
можно посмотреть здесь

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/devref/HTML/DVS_19_Automating_connections_in_a_Visio_solution_308.asp
Go to Top of Page

immortal

Russia
391 Posts

Posted - 12/08/2005 :  12:51:24  Visit immortal's Homepage
такто хотелось бы по русски, там я уже смотрел, какието нерусские буквы написаны, примера моего ненашел

визио 2003 форэвер

...а вобще-то я белый и пушистый.
Go to Top of Page

Voland

91 Posts

Posted - 12/14/2005 :  11:25:31
Если извесны названия фигур, то можно анализировать, скажем макросом, ту да ли приконнектился провод, проверяя его конекшен поинты на правильность коннекта, например я в делфи это делаю так:

procedure ConnectCable;
var
vsoConnectTo,Shape:IVShape;
intCounter,Row:Integer;
str:string;
vsoConnect : IVConnect;
vsoConnects:IVConnects;
OutObject,INObject:IVShape;
Con1,Con2:IVCell;
begin
Shape:=MyVisioApp.ActiveWindow.Selection.PrimaryItem; //Кабель который только что приконнектился

str:='';
vsoConnects := Shape.Connects;
For intCounter := 1 To vsoConnects.Count do begin
vsoConnect := vsoConnects.Item[intCounter];
vsoConnectTo := vsoConnect.ToSheet;
Str:=Str+' Я приконектился к '+ vsoConnectTo.name+#13+#10;
end;

ShowMessage(str);

//можно проанализировав куда он приконектился переконетить его программно куда надо...
//Например так (схематично)
// OutObject - допустим кабель
// InObject - допустим опора

Connector:=OutObject.RowCount[visSectionConnectionPts]-1;
Con1 := Line.CellsU['EndX'];
Con2 := OutObject.CellsSRC[7, Connector, 0];
Con1.GlueTo(Con2);
Connector:=InObject.RowCount[visSectionConnectionPts]-1;
Con1 := Line.CellsU['BeginX'];
Con2 := InObject.CellsSRC[7, Connector, 0];
Con1.GlueTo(Con2);
// и все...


end;



___ Кто ищет тот найдет __
Go to Top of Page

immortal

Russia
391 Posts

Posted - 12/14/2005 :  13:04:06  Visit immortal's Homepage
слишком сложно, ведь когда нет опоры, то коннектиться надо к проводу, или к другому электроустановочному оборудованию, кроме того сначала он конектиться к опоре, но макрос делает провод на задний план и провод переконнективается к проводу, в общем сделал с помощью смены типа коннектора из кустом пропертей, для коннекта к опорам тип 1, для всего остального 2

визио 2003 форэвер

...а вобще-то я белый и пушистый.
Go to Top of Page

Voland

91 Posts

Posted - 12/22/2005 :  11:24:22
Не совсем понял, если можно поясните уже для меня А то моежт и мне это будет намного удобнее. Заранее спасибо.

___ Кто ищет тот найдет __
Go to Top of Page

immortal

Russia
391 Posts

Posted - 12/26/2005 :  08:44:37  Visit immortal's Homepage
дело в том что есть как известно три типа коннектион поинтс, которые имеют соответственно: 1 - "только я коннектюсь", 0 - "только ко мне коннектяться", 2 - "и я и ко мне коннектяться", менять их можно через шейп лист, в принципе шейп провод должен иметь свойства 2 при соединении между собой, в принципе можно один конец провода сделать 0 второй 1 но тогда можно запутаться, но при коннекте к опоре провод должен иметь 1, первоначально была сделана заливка опоры и провод который коннектился к опоре первым, улетал на задний план, и по идее второй провод должен был коннектиться к опоре, т.к. она на переднем плане и её коннектион поинтс поверх провода, но когда провод второй улетает на задний план происходит переконнект провода к первому проводу, чтобы этого не происходило у первого провода коннектион поинтс должен быть 1, но как я сказал выше если коннект кпровода к проводу тогда тип конектион поинтс должен быть 2, пока сделано изменение типа коннектион поинтс через кустом проперти, потом возможно будет определять к чему первоначально коннектиться и изменять на соотв. тип.

к стати у коннектион поинтс есть два типа коннектион поинтсов (не Type/C), это тот тип который в контекстном меню изменяется "Change Row Type", и соотв первый имеет ячейки "Х" "Y" "DirX" "DirY" "Type", Второй: "Х" "Y" "A" "B" "C" "D"
с первым понятно более или менее, но вот что за второй я не знаю

визио 2003 форэвер

...а вобще-то я белый и пушистый.
Go to Top of Page

Voland

91 Posts

Posted - 12/26/2005 :  15:18:50
>>к стати у коннектион поинтс есть два типа коннектион поинтсов (не Type/C), это тот тип >>который в контекстном меню изменяется "Change Row Type", и соотв первый имеет >>ячейки "Х" "Y" "DirX" "DirY" "Type", Второй: "Х" "Y" "A" "B" "C" "D"
>>с первым понятно более или менее, но вот что за второй я не знаю

Нда, что покапался я с ним и тож пока толком нич его не понял, но штуковина видно интересная, нужно будет разобраться...


___ Кто ищет тот найдет __
Go to Top of Page

Digitall

Russia
389 Posts

Posted - 12/26/2005 :  15:36:10  Visit Digitall's Homepage
D cell (Connection Points section)

A scratch cell that you can use for entering or testing formulas.

Только и всего. Остальные вроде и так понятны...

Go to Top of Page

Digitall

Russia
389 Posts

Posted - 12/26/2005 :  15:41:25  Visit Digitall's Homepage
quote:
Originally posted by Voland

>>к стати у коннектион поинтс есть два типа коннектион поинтсов (не Type/C), это тот тип >>который в контекстном меню изменяется "Change Row Type", и соотв первый имеет >>ячейки "Х" "Y" "DirX" "DirY" "Type", Второй: "Х" "Y" "A" "B" "C" "D"
>>с первым понятно более или менее, но вот что за второй я не знаю

Нда, что покапался я с ним и тож пока толком нич его не понял, но штуковина видно интересная, нужно будет разобраться...


___ Кто ищет тот найдет __



http://www.prodigitall.narod.ru/articles/article12.html
Go to Top of Page

immortal

Russia
391 Posts

Posted - 12/26/2005 :  16:35:31  Visit immortal's Homepage
хм, однако делаем так: рисуем линии с коннектион поинтами, первая с КП=1, вторая с КП=0, третья с КП=0

смотрим первая коннектиться ко второй и третьей, но вторая и третья не коннектяться к первой и коннектяться между собой, тут всё понятно, теперь берём третью и лезем менять "Change Row Type" не забыв поменять тип на 1, т.к. теперь тип 1 имеют третья, т.е. к ней никто не должен приконнектиться, однако не так, в общем получается что при смене "Change Row Type" тип коннектора всегда равен 0, вот и возникает вопрос для чего ячейки С и D? ну D это A scratch cell that you can use for entering or testing formulas.
а С в этом именно случае?
однако!

визио 2003 форэвер

...а вобще-то я белый и пушистый.

Edited by - immortal on 12/26/2005 16:37:37
Go to Top of Page

Voland

91 Posts

Posted - 12/27/2005 :  13:32:05
quote:
Originally posted by Digitall

quote:
Originally posted by Voland

>>к стати у коннектион поинтс есть два типа коннектион поинтсов (не Type/C), это тот тип >>который в контекстном меню изменяется "Change Row Type", и соотв первый имеет >>ячейки "Х" "Y" "DirX" "DirY" "Type", Второй: "Х" "Y" "A" "B" "C" "D"
>>с первым понятно более или менее, но вот что за второй я не знаю

Нда, что покапался я с ним и тож пока толком нич его не понял, но штуковина видно интересная, нужно будет разобраться...


___ Кто ищет тот найдет __



http://www.prodigitall.narod.ru/articles/article12.html



Спасибо за ссылочку, нашел еще кучу интересного

___ Кто ищет тот найдет __
Go to Top of Page

Digitall

Russia
389 Posts

Posted - 12/27/2005 :  13:54:19  Visit Digitall's Homepage
quote:
Originally posted by immortal

хм, однако делаем так: рисуем линии с коннектион поинтами, первая с КП=1, вторая с КП=0, третья с КП=0

смотрим первая коннектиться ко второй и третьей, но вторая и третья не коннектяться к первой и коннектяться между собой, тут всё понятно, теперь берём третью и лезем менять "Change Row Type" не забыв поменять тип на 1, т.к. теперь тип 1 имеют третья, т.е. к ней никто не должен приконнектиться, однако не так, в общем получается что при смене "Change Row Type" тип коннектора всегда равен 0, вот и возникает вопрос для чего ячейки С и D? ну D это A scratch cell that you can use for entering or testing formulas.
а С в этом именно случае?
однако!

визио 2003 форэвер

...а вобще-то я белый и пушистый.



Да. Совершенно с тобой согласен. Более того, данное свойство было со времени Visio 5. Т.е. видимо, когда разрабатывались типы соединительных точек, был выбран подход "расширенного" списка. Поясню: многие свойства и установки зашиты в фигуры по умолчанию, но могут расширяться при действиях пользователя. И видимо разработчики хотели сначала сделать только нулевой тип по умолчанию, а при действиях пользователя сделать расширенные свойства. Но решили наоборот.

Соответственно, когда изменяется тип строки, то происходит переход в нулевой тип, без каких-либо дополнительных настроек, а оставшиеся ячейки (A,B,C,D), ведут себя как обычные ячейки для набросков и дополнительных расчетов.

Возможно ранее предполагалось сделать наброски именно там, но в конечном счете все это перешло в свой отдельный раздел. Т.е. примерно в тоже время, когда только сформировывали ShapeSheet.

Кстати, в последующих версиях выше 2000, окно выбора типа соединительной точки, при переходе в "нулевой режим" заблокировали. Так что возможно так все оно и было.
Go to Top of Page

Voland

91 Posts

Posted - 12/30/2005 :  10:50:41
quote:
Originally posted by Digitall


Более того, данное свойство было со времени Visio 5. Т.е. видимо, когда разрабатывались типы соединительных точек, был выбран подход "расширенного" списка. Поясню: многие свойства и установки зашиты в фигуры по умолчанию, но могут расширяться при действиях пользователя. И видимо разработчики хотели сначала сделать только нулевой тип по умолчанию, а при действиях пользователя сделать расширенные свойства. Но решили наоборот.

Соответственно, когда изменяется тип строки, то происходит переход в нулевой тип, без каких-либо дополнительных настроек, а оставшиеся ячейки (A,B,C,D), ведут себя как обычные ячейки для набросков и дополнительных расчетов.

Возможно ранее предполагалось сделать наброски именно там, но в конечном счете все это перешло в свой отдельный раздел. Т.е. примерно в тоже время, когда только сформировывали ShapeSheet.

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



Повсей видимости так и есть, т.к. при смене типа они дейстительно позволяют вводить формулы для промежуточных вычислений и больше (как я вроде заметил) ни начто ни как не влияют. Возможно таким образом можно прописать серию взаимосвязанных формул между многими КП чтобы они вели себя как-нибудь по иному :) Например бегали змейкой или еще что :)... Или строились звездочкой с масштабированием и прочие.. Новогодняя елочка с коннекторами для игрушек :)))) которые могут вариироваться в замисимости от размера елочки :)) Ладно... чтот я уже чепуху несу... Вобщем смысел ясен :)
ВСЕХ С НАСТУПАЮЩИМ!!!
ОЧЕНЬ ПРИЯТНО ОБЩАТЬСЯ НА ЭТОМ ФОРУМ!!!!

___ Кто ищет тот найдет __
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)