Direction objects were designed primarily to handle crystallographic directions but they should provide useful functionality even in the absence of 3D or 2D cells. The low-level engine infra-structure required to implement direction objects is fully implemented but everything else is not done yet. Direction objects must handle 3- and 4- (for hexagonal lattices) crystallographic indices notations, and all the related crystallographic relations provided by direct- and reciprocal-lattice representations. Users should be able to choose directions of atoms in cells, clusters or molecules, automatically producing direction objects reproducing those directions, including the atoms and its child, bonds, orbitals and texts, and then handle these new direction objects as totally independent viewing and building tools. Direction objects can own atoms, orbitals and texts.