We present a method to fabricate general models by multi-directional 3D printing systems, in which different regions of a model are printed along different directions. The core of our method is a support-effective volume decomposition algorithm that targets on minimizing the usage of support-structures for the regions with large overhang. Optimal volume decomposition represented by a sequence of clipping planes is determined by a beam-guided searching algorithm according to manufacturing constraints. Different from existing approaches that need manually assemble 3D printed components into a final model, regions decomposed by our algorithm can be automatically fabricated in a collision-free way on a multi-directional 3D printing system. Our approach is general and can be applied to models with loops and handles. For those models that cannot completely eliminate support for large overhang, an algorithm is developed to generate special supporting structures for multi-directional 3D printing. We developed two different hardware systems to physically verify the effectiveness of our method: a Cartesian-motion based system and an angular-motion based system. A variety of 3D models have been successfully fabricated on these systems.