Icosahedron Command
 Icosahedron( <Equilateral Triangle> )

Creates an icosahedron having as base the given equilateral triangle.
 Icosahedron( <Point>, <Point>, <Direction> )

Creates an icosahedron having the segment between the two points as an edge. The other vertices are univocally determined by the given direction, that needs to be:

a vector, a segment, a line, a ray orthogonal to the segment, or

a polygon, a plane parallel to the segment.
The created icosahedron will have:

a face with the segment as an edge in a plane orthogonal to the given vector/segment/line/ray, or

a face with the segment as an edge in a plane parallel to the polygon/plane.

 Icosahedron( <Point>, <Point>, <Point>)

Creates an icosahedron with the three points of the first face. The points have to draw an equilateral triangle for the icosahedron to be defined.
 Icosahedron( <Point>, <Point>)

Creates an icosahedron with the two points of the first face, and the third point automatically created on a circle, so that the icosahedron can rotate around its first edge.
Icosahedron(A, B) is a shortcut for Icosahedron(A, B, C) with C = Point(Circle(Midpoint(A, B), Distance(A, B) sqrt(3) / 2, Segment(A, B))). 
See also Cube, Tetrahedron, Octahedron, Dodecahedron commands. 