In this paper, we introduce various candidates for circuit blocks so that the floorplanner can dynamically choose the implementations of blocks to optimize the whole chip. Especially in 3D IC deign, some components may occupy more than one layers, we propose a novel method to optimize the cubic packing with various candidates. Based on 3D-CBL( 3-Dimensional Corner Block List) representation, we can handle the layer number constraints heuristically and we guarantee the feasibility of the final results. Experimental results show that our algorithm is effective and efficient.