We propose an optimization framework for 3D printing that seeks to save printing time and the support material required to print 3D shapes. Three-dimensional printing technology is rapidly maturing and may revolutionize how we manufacture objects. The total cost of printing, however, is governed by numerous factors which include not only the price of the printer but also the amount of material and time to fabricate the shape. Our PackMerger framework converts the input 3D watertight mesh into a shell by hollowing its inner parts. The shell is then divided into segments. The location of splits is controlled based on several parameters, including the size of the connection areas or volume of each segment. The pieces are then tightly packed using optimization. The optimization attempts to minimize the amount of support material and the bounding box volume of the packed segments while keeping the number of segments minimal. The final packed configuration can be printed with substantial time and material savings, while also allowing printing of objects that would not fit into the printer volume. We have tested our system on three different printers and it shows a reduction of 5–30% of the printing time while simultaneously saving 15–65% of the support material. The optimization time was approximately 1 min. Once the segments are printed, they need to be assembled.