Sheet metal bending press-brakes can be setup to produce more than one type of part without requiring a setup change. To exploit this flexibility, we need setup planning techniques so that press-brake setups can be shared among many different parts. In this paper, we describe algorithms for partitioning a given set of parts into setup compatible part families that can be produced on the same setup. First, we present a greedy algorithm to form part family using a bottom-up approach that makes use of the mixed integer linear programming formulation for generating shared setups for each part family. Second, we present a mixed integer linear programming formulation to generate a shared setup for a given set of parts if such a setup exists. We expect that by producing many different types of parts on the same setup, we can significantly reduce the number of setup operations, improve machine tool utilization and enable cost-effective small-batch manufacturing.