Alignment Issues... Typical right, lol

Started by gunslingor, October 12, 2012, 03:28:12 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

gunslingor



Above you can see I need to add that SERIAL oval-like shape (found in basic flowchart stencil) to each one of the lines comming in to that router. In order for this to look right, the connection points on the oval needs to lineup with the connection points on the router, but there is no way in visio to align connection points, especially not when they are on two different shapes.

I know already one solution is to delete the connection points and then add them again with snap to grid on so that things line up to the grid inherently, but there simply aren't enough grid points... particularly considering the 3D nature of the shape with angled line edges, which results in fewer points where the shapes edge (black outline) meets a grid intersection.

Things I've already tried include:
1. Connection splitting... doesn't work
2. adding a connection to the router while pressing shift to keep it straight, then  dragging the oval shape onto the other end... rarely works
3. grouping the line to the oval, then dragging the entire group to the routers connection point... doesn't work

What are my options here? Please help

Jumpy

Several ideas:

1) A variant of your point 3. Group a straight connector with the serial shape. Delete the connection point where the connector connects to the serial shape. Fix it there with formulas. In the behaviour dialog change the group from 2D to 1D. Now the group is a connector! Fix the length of the "new" connector and the angle with Guard formula, so you won't accidently change it. As the shape is now a 1D connector you can connect it to the router. If you have left the connection point on the right side of the serial shape, you can still connect other connectors to it.

2) Use VBA. A routine that calculates the X and Y-coordinates of the connection points (in coordinate system of the shape) to coordinates in the coordinate system of the page. You could then calculate which is nearest to your placed serial shape and match the y coorinate to that of the connection point.

3) I would have thought, that the connector splitting would have worked. Maybe you have to experiment a little bit more with it.

hth Jumpy

wapperdude

There is no easy solution for this... :P

What you could do is...
Method A:
    1. Open Size and Position window.
    2.  Add short straight connector to router connection point
    3.  In the S&P window note the Y position of the connector.
    4.  Place your oval, then, in the S&P window enter the noted (copied) value for the Y value.
    5.  Use the left / right arrows (or type in literal X coordinate) to position the oval horizontally.

Method B:
    1.  Glue the oval directly to the router
    2.  Use step 5 above to do horizontal positioning
    3.  It may be necessary to change the connection point type to get the gluing to work.

HTH
Wapperdude
Visio 2019 Pro

vojo

If I get what you are trying to do correctly, then

- group a line (say the left line) with the oval
- edit oval shapesheet and use guard() to lock in the Y relation between line and oval
- add a connection point on oval for the other line (right line here)   and make sure at group level the islayout or whatever that cell is
  in the groups handle section is true (so the connection point is usable even at group level).

Now to use

- Drop the group on a sheet
- drag the group close to where you want it
- subselect line left end and drag it to the router   (the oval should move where the left ends ultimate Y location is)

See below

Move the control handle and see.

(I threw this together....so would  still need to figure out how to move the groups control box based on control handles....but you get the idea)
(at the very least, the comment about placing shape close to where you want is a hack approach to the moving the groups control handles around)

gunslingor

Solved: found a sort of exploit... a way to accomplish it that was unintended by MS.

1. draw connection from shape one connection point and release other end in open part of drawing.
2. Now, grab the open end connection followed by pressing shift. This keeps the end connection points of the connections in line with each other; It WILL NOT work though unless you first let go of the line after dropping it on the page because the connector is programmed to maintain at least one angle on drop, but apparently not on modify. If Visio puts extra bends in the line during this operation, no worries; the connection points are still in line and you just need to remove the bend.
3. Drag the Oval, not the perfectly aligned connection from the previous step, to the open connection point. Now everything is inline.

This method should work in the general sense any time you want to allow a large shape with a smaller shape or shapes of anysize that have their connection points aligned perfefctely symetrically, i.e. with snap to grid only (good luck doing that with 3D shapes.

Thanks for the help folks.

wapperdude

Thanks for update!  That's interesting.

It does work as you indicate. 

As an FYI, you can also draw your initial connector, right click it, and set it's properties to straight.  Then, re-grab and drag the free end while holding the shift key down.  This will give you the straight, aligned connector.  Basically the same process that you did, except your technique preserves the initial connector property, e.g., right angle.  Probably doesn't matter.

You can also keep future connectors straight and aligned by duplicating (copy/paste or cntl-D).  Drag the new connector to the main shape, then, if snapping to connection points is enabled, new shapes will snap to the free end without introducing bends or offsets.  Saves having to draw a new connector each time one is needed and preserves uniform lengths if that's desired.

Thanks again for the reply.
Wapperdude
Visio 2019 Pro

gunslingor

Yep, copy/paste is your friend here. Good to know about the straight property... but I do think for my application its best to preserve the angle incase, later, things have to move around alot.