Auto-Assembly: a framework for automated robotic assembly directly from CAD