Visio Ellipse Part 3

Decoupling the ellipse from the shape

So, it is easy to create a circle shape and move it around the page, but what is needed to create a circle and move it within a shape? The problem is that the Ellipse row created has cells based on the Height and Width of the containing shape.

The first thing to do is decouple the Ellipse row from depending on the Height and Width of the shape and base it on the radius of the circle and the X and Y position of the circle.

For simplicity, I left the X and Y position dependent on a Control Handle. So the Geometry section has reference back to the control handle and Cells A, B, C & D reference back to X and Y. So, here is the shape

With Formulaes
With Values

Note from the image and the X position of the Ellipse, that the circle is outside the shapes bounding box.

You can easily incorporate this shapesheet row into other shapes where you want a moveable circle or you can position the circle and only have to worry about setting the X and Y positions.

Let’s Get Eccentric

So far, I have only talked about circles. This is just a special case for an ellipse. So how do you add a little eccentricity? Since the Ellipse row has been freed from its’ dependence on Height and Width and simplified. It is easy to see that to add eccentricity you have to replace the radius with a radius appropriate for the major and minor axes in cells A and D.

Nota Bene:

The formula for User.Eccentricity is wrong by a factor of two. It should be based on the sum of the major and minor radii. For a Circle the radii should be equal so User.Eccentricity should be 1. In effect, the Eccentricity made the ellipse smaller, but it still shows the effect.

I hope this helps.

John… Visio MVP in x-aisle

Published by johnvisiomvp

The original Visio MVP. I have worked with the Visio team since 1993

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s