A printing method for printing a multi-material 3D model (90, 94), comprising following steps: a) performing a slicing process on a multi-material 3D object to generate a plurality of multi-material object slices (80, 84, 880) corresponding to a main body structure of a multi-material 3D model (90, 94) and a plurality of auxiliary object slices (82, 86, 882) corresponding to an auxiliary structure of the multi-material 3D model (90, 94); b) computing a plurality of material-switching points of the multi-material object slices (80, 84, 880) during the slicing process, wherein the material-switching points corresponds to a plurality of junctions of a plurality of portions of the multi-material object slices (80, 84, 880), the adjacent portions respectively correspond to materials of different colors or different composing materials; c) computing a plurality of retrieving points of the auxiliary object slices (82, 86, 882) according to an estimated remaining material quantity, wherein the retrieving points respectively correspond to the material-switching points; d) computing a printing path going through the material-switching points and the retrieving points in order; e) controlling a nozzle to print the multi-material object slices (80, 84, 880) and the auxiliary object slices (82, 86, 882) with a plurality of materials alternately along the printing path; f) when the nozzle is controlled to print the multi-material object slices (80, 84, 880) to the next material-switching point corresponding to the junction of another portion along the printing path, controlling the nozzle to switch to another different material corresponding to another portion of the multi-material object slice (80, 84, 880) of the same slice height, move to the corresponding retrieving point along the printing path, and print the auxiliary object slice (82, 86, 882) of the same slice height to the next retrieving point along the printing path with remaining materials of the materials used before the material switching, wherein the nozzle continues to print the multi-material object slice (80, 84, 880) of the same slice height with the materials after the material switching when the remaining materials of the materials used before the material switching runs out; g) when the nozzle is controlled to print the auxiliary object slices (82, 86, 882) to the next retrieving point along the printing path, controlling the nozzle to move the nozzle along the printing path back to the material-switching point upon switching the materials, and continue to print another portion of the multi-material object slices (80, 84, 880)along the printing path until printing to the next material-switching point with the materials after the material switching; and h) repeating the step f) and the step g) until completing the multi-material 3D model (90, 94) printing. a) performing a slicing process on a multi-material 3D object to generate a plurality of multi-material object slices (80, 84, 880) corresponding to a main body structure of a multi-material 3D model (90, 94) and a plurality of auxiliary object slices (82, 86, 882) corresponding to an auxiliary structure of the multi-material 3D model (90, 94); b) computing a plurality of material-switching points of the multi-material object slices (80, 84, 880) during the slicing process, wherein the material-switching points corresponds to a plurality of junctions of a plurality of portions of the multi-material object slices (80, 84, 880), the adjacent portions respectively correspond to materials of different colors or different composing materials; c) computing a plurality of retrieving points of the auxiliary object slices (82, 86, 882) according to an estimated remaining material quantity, wherein the retrieving points respectively correspond to the material-switching points; d) computing a printing path going through the material-switching points and the retrieving points in order; e) controlling a nozzle to print the multi-material object slices (80, 84, 880) and the auxiliary object slices (82, 86, 882) with a plurality of materials alternately along the printing path; f) when the nozzle is controlled to print the multi-material object slices (80, 84, 880) to the next material-switching point corresponding to the junction of another portion along the printing path, controlling the nozzle to switch to another different material corresponding to another portion of the multi-material object slice (80, 84, 880) of the same slice height, move to the corresponding retrieving point along the printing path, and print the auxiliary object slice (82, 86, 882) of the same slice height to the next retrieving point along the printing path with remaining materials of the materials used before the material switching, wherein the nozzle continues to print the multi-material object slice (80, 84, 880) of the same slice height with the materials after the material switching when the remaining materials of the materials used before the material switching runs out; g) when the nozzle is controlled to print the auxiliary object slices (82, 86, 882) to the next retrieving point along the printing path, controlling the nozzle to move the nozzle along the printing path back to the material-switching point upon switching the materials, and continue to print another portion of the multi-material object slices (80, 84, 880)along the printing path until printing to the next material-switching point with the materials after the material switching; and h) repeating the step f) and the step g) until completing the multi-material 3D model (90, 94) printing.