Cube Command
 Cube( <Square> )

Creates a cube having as base the given square.
 Cube( <Point>, <Point>, <Direction> )

Creates a cube having the segment between the two points as an edge. The other vertices are uniquely determined by the given direction, that should be one of:

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

a polygon, a plane parallel to the segment.
The created cube 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.

 Cube( <Point>, <Point>, <Point>)

Creates a cube with three (adjacent) points of the first face. The points have to start a square for the cube to be defined.
 Cube( <Point>, <Point>)

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