| This paper presents an efficient algorithm for computing all n-finger form-closure grasps on a polygonal object based on a new sufficient and necessary condition for form-closure. With this new condition, it is possible to transfer the problem of computing the form-closure grasp in R3 to one in R1. We demonstrate that the non-form-closure grasps consist of two convex polytopes in the space of n parameters representing grasp points on sides of the polygon. The proposed algorithm works efficiently for n >3 and takes O(n3n/2) time for n >3, where n denotes the number of the fingers. The algorithm has been implemented and its efficiency has been confirmed with two examples.