Beginning Modeling: Non-orthogonal rotations of groups?

I’m trying to model a Buckyball (soccer ball) from hexagons & pentagons to learn more about manipulating objects in relation to other objects. I’ve managed to create an unrolled Buckyball with 20 hexagons & 12 pentagons, but I can’t figure out how to rotate several objects around one of their edges.

The attached image shows what I have now. I’d appreciate any help you can offer for getting the 3 shapes in green to rotate as a group around the red cylinder (the blue hex will end up on the bottom of the Buckyball).

Also, if there’s a way to use constraints so that I can just “pull” the yellow sphere over to the corner of the blue hex, and the green shapes will fold along the red and purple cylinders as necessary, that would be a really useful modeling trick.


Thanks!

Following up:

Edit mode on a shape; then select the edge you want to rotate around.
Ctrl-Alt-Space to create a custom transformation (named “Edge” by default).
Place the 3D cursor in the middle of the edge.
Back out to object mode, then select the shapes you want to rotate.
Select the 3D cursor pivot and the custom transformation you created.
Rotate + ZZ to get it rotating around the edge.
Done!