Computer-aided Assembly Planning