Visio tip: mimic CAD Ortho Mode for a given shape

Today I needed to create a shape that was constrained to 90° increments of rotation.  In most CAD programs it’s easy enough to turn on Ortho Mode when you’re drawing a shape that should fit such a constraint, but Visio doesn’t offer that drawing mode, and even if it did it wouldn’t solve my particular problem: I need a shape that that can only be rotated to be orthogonal to the paper’s edge, not a drawing mode per se.

An easy solution presented itself in the BOUND shapesheet function (details online at Visio 2003 SDK Documentation:BOUND Function).  Here’s the function I actually put in the shape’s Angle cell: 

BOUND(, 0, FALSE, 0 deg, 0 deg, FALSE, 90 deg, 90 deg, FALSE, 180 deg, 180 deg, FALSE, -90 deg, -90 deg)

Works like a charm….

3 Responses to “Visio tip: mimic CAD Ortho Mode for a given shape”

  1. Chris Roth Says:
    Hi Cori,

    Cool to see that folks are deep in the ShapeSheet and have discovered the BOUNDS function!

    Here’s some Visio keyboard shortcuts that will also help you with rotation:

    - Rotate clockwise by 90 deg: Ctrl + R

    - Rotate counter-clockwise by 90 deg: Ctrl + L

    - Rotation tool snapping: When rotating a Visio shape, the rotation-snap increases as you move closer to the center of rotation. So when you are really close, the rotation snaps to 15 deg increments. As you move out it goes down to 1 deg, then tenths of a degree, and so on.

    Chris Roth
    Visio Guy

  2. cori Says:
    Hi Chris;

    I was aware of the rotation key combos, but a lot of my users don’t use the keyboard much so I needed a mouseable solution. I also knew about rotation snap, but not that particular feature - very helpful!

  3. Visio Guy » Blog Archive » Constraining Angle with the BOUND ShapeSheet Function Says:
    [...] Cori who writes the blog Elliptical… wrote this nice little piece on constraining a shape’s angle so that it can only be rotated in 90-degree increments. I thought I’d relay the information to you here, and explain a bit more about the BOUND ShapeSheet function. [...]

Leave a Reply

You must be logged in to post a comment.