Smart Connection Points

Started by wapperdude, May 16, 2014, 03:10:14 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

wapperdude

If this has been addressed in V2010 or later, then, disregard, then let me know, and either I or some other moderator will remove this topic.

But, it would be a nice feature that allows a "name" or some sort of "ID" to be included with a connection point when added to a shape.
   1. This ID could be optionally displayed on the shape, think, port name.
   2. This ID could be automatically grabbed for connectivity, "hyperlinking", and report generation.

Wapperdude
Visio 2019 Pro

Jumpy

I sometimes use the "D" cell of the CPs ShapeSheet entry for that.

Yacine

Quote from: Jumpy on May 19, 2014, 07:38:41 AM
I sometimes use the "D" cell of the CPs ShapeSheet entry for that.
Makes sense. Had to find out that you need to right click on the cell and change row type though.

The display option would also be useful, but a workaround with some VBA would do the job.
Yacine

wapperdude

#3
Very interesting.  Had not discovered that.  The mechanism is kinda there, but, it's not obvious, it's not very expedient, it's very limited in usability. 
  1.  Add connection point
  2.  Open shapesheet
  3.  Go to Connections section, right click, change row type.  (While you're at it, might as well give the row a name, too.  This become important for connectivity reporting, hyperlinking.)
  4.  Go to the "D" cell and enter a formula, or text (inside double quotes)
  5.  Go to Insert > Fields > custom and enter something like "=connections.row_1.D"

That displays the text for that connection point.

Several problems:
   1.  NOT obvious to the inexperienced user. 
   2.  Way too many steps
   3.  Gets much worse with multiple connections.  That is the insert>field>custom formula becomes increasingly complex.
        a. connection points on multiple sides
        b. independently formatting (e.g. justification), moving,

Presently, to be robust solution, really need a separate shape for each connection point to really make a nice looking top level shape.  See attached for a simple, limited example, i.e., no text on top/bottom, row spacing reasonably close to connector points (but no real way to control this), and text spacing done on a "per row basis".   :o   :P   :P    >:( 

What would be nice:
  1. Add connection point
  2. Then, ability
      a.  to add a displayable identifier
      b.  ability to independently to format text (font, justification, etc)
      c.  ability to move / location position of font (sometimes it's inside the shape, sometimes outside)
      d.  automatically grab connection identifier when a connector is added or for use by hyperlink.

These are features that would benefit those drawing schematics, schematic symbols, networks, etc.

Wapperdude
Visio 2019 Pro

Jumpy

I use it to "define" the type of connection point because in my drawings there are pipes for gas and water, and wires for electicity. For Visio it's all the same so without some VBA and that "classification" of a connection point (and a similar classification of the connectors) it would be possible to conect a electrical wire to a valve or sth.

For that it is good enough, althoug I agree witd wapperdude: It's not obvious and it's tedious.

wapperdude

Yeah, connecting anything to a gas line would be a big problem!!!  :D

But, thanks for identifying the ability to make those definitions...tedious as it may be!   ::)

Wapperdude
Visio 2019 Pro

wapperdude

#6
Updated the drawing to show a little more "power" of the "smart" connection point approach.
Visio 2019 Pro

Yacine

#7
Hi WD,
you can't be serious about this solution. My mother uses space chars to position text in her emails!  ;) ;D

I was actually motivated to write a macro to label connection points. You were faster.
Imho only subshapes with both local and global show/hide options (like connectors) should hold the labels of the connection points.
The issue being, that you may need the actual shape text to display something else.

My deepest apology for the intro.  ;)
Yacine

wapperdude

#8
 ;D

Well, I think you got the point, just not the intention.

The point was, that the present system doesn't allow for effective use of smart connection points.  Yeah.  It's a "you got to be kidding" situation. 

The intent was to show, that
  a.) connections points should provide connectivity info of the primary shape, not that of some drilled down subshape.  That loses originating shape info...well, without extra effort.
  b.) connection points should be part of the primary shape.  That's the visual, relationship.  It's that way on any schematic capture piece of software.
  c.) the connection points need a lot of formatting / config options.  None of which can be done easily in present Visio.  It takes the addition of subshapes and a lot of user work.

Plus, you and Jumpy are really arguing my case, and so is Paul Herber.  To get to a nice finished product requires groups, subshapes, and VBA/macros.  But, I contend, that with a "smart" connecting point, it doesn't have to be that way.  Thus, the example I offer.  To show both the inadequacy of the present system, but the potential that could be there.  By using a connector to hook to shapes together, then issue a report, you get originating shape and connection point detail and ending shape and connection point.  That gives you a way to verify the connectivity by examining a list.  So, the connector part is already there.  This could be done with work on MS Visio development team side.  But, presently, there's nothing viable other than the laborious, tedious work that Paul, Jumpy, et al, have had to go thru. 

As for your point of adding shape text, well, there could be two classes of text.  Those associated with connection points, not generally editable, and then "normal" shape text, which could be more readily editable.  The latter could be general purpose, but it could also contain stuff like reference designator in the case of schematic or whatever.  Plus, there's nothing to prevent the addition of other text boxes as desired.  It seems that connection points have certain unique properties which are inadequately leveraged.

It's time to take connectivity, shape development to the next level.  There's just too many hoops to jump thru...with the result of a conglomerate, stacked nest of subshapes. The resulting group is a less than an ideal shape.  It's not efficient, it actually costs some overhead.  It certainly isn't elegant.

Wapperdude

Visio 2019 Pro

Visio Guy

#9
Do you guys know about named connection points?

It's not ideal, since you can't have spaces, and the ShapeSheet can't really parse the text of a cellname, but better than nothing.

Another idea would be to have a convention of lookup, so you name a user row to match the name of a connection point row:

Connections.USB1OUT

User.CP_USB1OUT.Value = "USB 3 Port 1, Out"


For articles, tips and free content, see the Visio Guy Website at http://www.visguy.com
Get my Visio Book! Using Microsoft Visio 2010

wapperdude

#10
Yes to the named connection point question.  My attached Visio file uses that...thanks to Jumpy.

What Visio doesn't do is allow for individual text, i.e., each connection point name (which is easily stored in the "D" cell), to be displayed, and all of the other complaints I listed...  It still takes a lot of additional work (read subshapes) to get a proper looking, behaving shape.

This is a future improvement for Visio.  Obviously, it's possible to make present Visio work...to some degree...but not as easily as it could be.  How difficult can it be to create a connection point with it's own textbox that can be easily parsed?  Add to that every connection point is "directly owned" by the "master" shape and it becomes easy to grab the connectivity info...I would think.

After years of being in the electronics industry and working with various schematic capture programs, the ability to create a "symbol" in those programs with multiple text fields that can be easily manipulated, and then utilized for schematic verification, would seem that Visio is very close...but that capability has never been tapped yet.  So, I'm pushing to move Visio to the next level.

Wapperdude
Visio 2019 Pro

wapperdude

...one additional thing to illustrate that Visio is close.  I've updated my shapes to add connection point type property.  This is important in verification because you only want an output "port" driving an input port or multiple input ports.  Power pins typically are bidirectional.  Visio already does this!  So, this enhancement that I'm pushing for isn't that much of a "reach".
Visio 2019 Pro

Paul Herber

Pay attention at the back, Paul!
Interesting. I must admit I'd never noticed the option of a change of connection point type to enable field D.

Electronic and Electrical engineering, business and software stencils for Visio -

https://www.paulherber.co.uk/

Jumpy

Seeing wapperdudes last screenshot I remembered a possible problem with the "D" cell solution:
By changing the row type of a connection point (so yopu can use the D cell) you eventually loose all prior formulas in A,B,C cells.
And I don't know, if A,B,C cell's have the same meaning they had before, although with the C cell I'm rater shure because I use that In<->Out Connection-Point type a lot.

Thinking a bit about wapperdudes "wishes list" I have an further suggestion. It would be cool to have a "Tooltip" when hoovering over a connection point, same way as it is afaik today with the yellow control points.

wapperdude

There's been considerable updating to the Visio file.  This creates a smarter connected diagram.  There is underlying code, which I borrowed and modified from member Scott.  The code analyzes the connectors and determines connectivity information.  This information can be added to a report as shown on the Report page by running the Menu Bar>Data>Reports>Circuit Verification.  Besides checking connected shape info at begin/end of connector, it also applies simple rules to see if the connectivity is "OK".  This info is added to the report and also presented on the drawing to highlight possible problems.

The code does use the connector "D" cell information, but, that could be easily altered.  Thus, the code is not restricted (obviously) for future Visio enhancements.

The connector is a modified Visio connector with some shapesheet modifications.  Thus, a standard connector will NOT have all of the features presented here.  The solution would be to add more code, but, being lazy, this was easier/quicker.  Significant changes are ability to "command" the text to show/hide via right click context menu and line color change based upon connector "status".

Finally, to avoid diagram clutter, there is a show/hide toggle button.  Just double click to see some informative callouts.

Again, the point of this drawing is to show "what" could be done in a simple, ungrouped shape with some Visio enhancements.  It's purpose is not to suggest that this is how it ought to be done within the present Visio environment.

Enjoy.
Wapperdude
Visio 2019 Pro