Creating shapes aligned with triangle midpoints

I’d like to create and align shapes that intersect with the midpoint of a line, specifically the midpoints of the perimeter of a triangle.

Something like this, except I’d like the circles to perfectly intersect the triangle midpoints and corners of the triangle. As you can see, my attempt isn’t very pretty.

Any help as to how to get this precise would be greatly appreciated. Thanks!

There is no easy way to do this, because OmniGraffle has no option to start drawing a circle from the midpoint.
Starting from a general triangle (a general triangle must be drawn with the line tool and then converted to a shape, the predefined triangle shapes are isosceles) I would do it the following way (snap to grid should be disabled):

  1. Turn on magnets at each vertex for the triangle
  2. Redraw each side of the triangle with the line tool (snapping to the magnets)
  3. Select the text tool and click on the redrawn lines. For each line put "<%Length%> as text. This will show you the length of the triangle sides. This length corresponds to the diameter of the circles you want do draw.
  4. Draw a circle and switch on magnets N,S,E,W and draw lines from N to S and E to W (this will result in a “crosshair” for the center)
  5. Make three copies of the created circle with the diameters determined before.
  6. Delete the lines redrawn over the triangle, select the triangle and change the magnets to one magnet per side. These magnets will sit on the midpoints of the sides of the triangle
  7. Move the circles aligning magnets on the triangle and crosshair of the circles
  8. Remove the crosshairs of the circles

Of course, for special triangles (equilateral, right angled, …), the procedure would be more simple.