How can I create a regular hexagon using PowerPoint?

6

3

I want to create a regular hexagon where each side is exactly the same length.

First I tried drawing a hexagon using shift, but it wasn't regular (see what happens when I rotate it 60 degrees):

Irregular Hexagon

So I figured I could probably create one by drawing 6 equilateral triangles with shift and then moving them in to position. Unfortunately, they don't snap together perfectly, and they are actually 6 separate shapes which means I can't add an outline without them looking weird:

A bunch of triangles making a hexagon

Then I tried making a hexagon using shift that is the same height as my triangular hexagon thing, and then using the yellow handle to adjust it properly so that it matched the internal angles of the triangle. This too did not work perfectly since I was winging it, and while very very close, it wasn't perfect either. Doing a google search didn't help much either.

So how can you make a regular hexagon in PowerPoint?

jmac

Posted 2015-03-17T06:19:25.737

Reputation: 293

Answers

5

An equally accurate result without VBA is obtained, when I use the 'Size and Position' dialog from the context menu. The height must be sin(60)*width, this gets me a good regular hexagon.

Lichtbild

Posted 2015-03-17T06:19:25.737

Reputation: 66

1Just to point out, you may need to convert the 60 from degrees to radians depending on what you use to calculate the height value. rads = deg * pi/180 – T_Bacon – 2016-06-07T13:09:05.293

This is what I was looking for. The answer was in math all along. – jmac – 2016-06-08T01:49:53.347

4

To get a regular hexagon in PowerPoint, create a hexagon using shift, then run the following VBA command with that hexagon selected:

activeWindow.Selection.ShapeRange(1).Adjustments(1) = 0.28706

After I created the approximate shape using the overlay on the close-but-not-quite equilateral triangle, I decided to get programmatic. I used some VBA to check what the position of the handle was (with the hexagon selected):

?activeWindow.Selection.ShapeRange(1).Adjustments(1) 

The value for the close-but-not-quite hexagon was .28002, so I started fiddling around and trying to do math assuming that this value was somehow based on angles. It isn't. I tried setting it to .28 -- that doesn't work either.

So I set it to the furthest left it could go (turning the hexagon into a square) and the value was 0. Then I tried setting it as far right (turning the hexagon into a diamond) and got .57412. Given the starting value of the close-but-not-quite hexagon of .28002, and my many attempts to get it right with none of them working, I tried taking half of .57412, which was .28706, and lo and behold, that was the magic number.

jmac

Posted 2015-03-17T06:19:25.737

Reputation: 293

1

Found an easier method on creating a perfect Hexagon: In PowerPoint, First Create a Perfect Circle: Eg 4cm x 4cm Now create a Hexagon on top of the Circle and resize till all edges "snaps" to the Circle: Perfect Hexagon

Or Use the Following on any Hexagon: Height 4cm x Width 4.46cm. Then "Lock Aspect Ratio" to resize.

Jaco Vorster

Posted 2015-03-17T06:19:25.737

Reputation: 11

1

Taking Misnomer's answer a bit further... Once I had the six equal length sides configured and grouped, I overlayed the hexagon object from PPTX. I sized it to exactly match the equal-sided hexagon. Using 1" sides, the matching hexagon dimensions are Height 1.73" Width 2.00". So just may a hexagon that is this size, lock the aspect ratio, and resize the hexagon to meet your needs. Doing this gives you a shadeable object as well.

Kim

Posted 2015-03-17T06:19:25.737

Reputation: 11

0

A regular hexagon has a width-to-height ratio of 2/sqr(3). The first corner, the top left one, is at 25% of the width. So one thinks the Adjustments(1), which is the point where Microsoft determines where to put the corner point, for the hexagon should be 0.25, but no. Microsoft has the point at h/w*p, meaning that the proportion will only be valid if the w/h-ratio is 1, which it isn't, it's 2/sqr(3). So you have to adjust the Adjustments(1) by this offset.

As suggested by jmac I also recommend using vb-editor, not changing widths or heights since it won't correct the false position of the corner point, which you will se when you rotate the hexagon and join with other similar hexagons. Regardless if you draw the hexagon with or without holding shift, your hexagon needs to be adjusted at its corner setting.

Select your hexagon, press Alt+F11 (opens vb-editor), press Ctrl+G (opens Immediate window). Paste

ActiveWindow.Selection.ShapeRange(1).Adjustments(1) = 1/sqr(12)

and press enter.

This corrects the hexagon to a regular hexagon which can be rotated to any multiple of 60 degrees angle and fit together with hexagons with perfect match.

The 1/sqr(12) comes from the fact that the 0.25 has to be adjusted for the 2/sqr(3) ratio, so (1/4) * (2/sqr(3)) = 1/sqr(12).

P3

user617625

Posted 2015-03-17T06:19:25.737

Reputation: 1

0

Draw a perfectly horizontal line that is as long as your desired side length. Copy that line and rotate it 60 degrees and -60 degrees to create the other sides of the hexagon. The lines should snap together at the points ensuring everything matches up. When complete, hold control and click on each line to select all 6 lines. Then, right click on one of them and group them together. Now you have a regular hexagon that you can copy and paste.

Misnomer

Posted 2015-03-17T06:19:25.737

Reputation: 1