Richard ZhangSFU computer scientist Richard Zhang holds a Christmas tree, left, that was 3D-printed in the traditional manner, and the same tree, right, printed with assistance from a new algorithm he developed with PhD student Ruizhen Hu. The Christmas tree on the left has extra material between each “branch,” which is difficult and time-consuming to remove. Printing the tree on the right incurred no material waste.


New algorithm a Christmas gift to 3D printing

December 11, 2014

By Diane Luckow

Just in time for Christmas, SFU computing science professor Richard Zhang reveals how to print a 3D Christmas tree efficiently and with zero material waste, using the world’s first algorithm for automatically decomposing a 3D object into what are called pyramidal parts.

A pyramidal part has a flat base with the remainder of the shape forming upwards over the base with no overhangs, much like a pyramid. A pyramidal shape is optimal for 3D printing because it incurs no material waste and saves print time.

The algorithm promises to become a big deal in the world of 3D printing, and also has applications for designing molds and for casting.

Zhang, a computer graphics expert specializing in geometric modeling and processing, developed the algorithm with PhD candidate Ruizhen Hu, an international student from Zhejiang University in China.

Their research paper, “Approximate Pyramidal Shape Decomposition,” was published this month in ACM Transaction on Graphics, the world’s leading graphics journal. As well, Hu presented their research at a major graphics conference, SIGGRAPH Asia, this month in Shenzhen, China.

Zhang_tree_3dpTraditional method for printing a 3D Christmas tree.

How 3D printing works

In 3D printing, the printer deposits melted plastic layer by layer in a bottom-up fashion. If the shape has an overhang, such as a tree branch, extra material has to be printed beneath it as support. This extra plastic is waste material and must be removed, which can be time consuming and difficult. And removing waste material that supports an object’s hollow interior or tiny fragile parts, like the star atop a Christmas tree, can be almost impossible without causing breakage.

New algorithm to improve 3D printing

"Coming up with a practical algorithm to decompose 3D objects into the smallest possible number of pyramidal parts was quite a challenge,” says Zhang.

“Importantly, it is impractical for most real-world objects to be broken into exactly pyramidal parts since this would result in too many parts,” he says.

“Ruizhen came up with a really clever way of transforming the problem to obtain an effective solution.”

The new algorithm partitions the object into a small number of nearly pyramidal parts that can be 3D-printed with little or no material waste.

These printed parts can then be glued together to form the finished object. The Christmas tree, for example, is divided in half for fabrication, and then glued together.

In molding and casting, the ideas are similar, says Zhang.

“If the molded or cast parts are pyramidal, then removing the mold or cast after fabrication would not result in any breakage,” he says.

In keeping with the Christmas theme, he suggests chocolatiers could use the algorithm to design chocolate molds for Christmas trees or reindeer.

The research is supported by NSERC and GRAND NCE funding. The first year of Ruizhen Hu's SFU visit was supported by the China Scholarship Council. The 3D printer was purchased for the GrUVi lab, through an NSERC Research, Tools and Instruments (RTI) grant.

3D-printed Christmas treesThe Christmas tree in the centre was 3D-printed in the traditional manner, and displays the extra material to support each branch. Beside it are the two halves of the same tree printed using the new algorithm, with no supportive material to remove.