ACM SIGGRAPH 2018
1Shandong University 2Simon Fraser Universtiy 3The University of Hong Kong 4Tel-Aviv University 5Peking University
A freeform 3D object, the kitten, automatically decomposed into five machinable patches, each carved using a CNC machine following a continuous iso-scallop Fermat spiral path. The fully machined object is shown on the left. We deliberately lowered the path resolution to ease path visualization.
Wpresent an automatic algorithm for subtractive manufacturing of freeform 3D objects using high-speed machining (HSM) via CNC. A CNC machine operates a cylindrical cutter to carve off material from a 3D shape stock, following a tool path, to “expose” the target object. Our method decomposes the input object’s surface into a small number of patches each of which is fully accessible and machinable by the CNC machine, in continuous fashion, under a fixed cutter-object setup configuration. This is achieved by covering the input surface with a minimum number of accessible regions and then extracting a set of machinable patches from each accessible region. For each patch obtained, we compute a continuous, space-filling, and iso-scallop tool path which conforms to the patch boundary, enabling efficient carving with high-quality surface finishing. The tool path is generated in the form of connected Fermat spirals, which have been generalized from a 2D fill pattern for layered manufacturing to work for curved surfaces. Furthermore, we develop a novel method to control the spacing of Fermat spirals based on directional surface curvature and adapt the heat method to obtain isoscallop carving. We demonstrate automatic generation of accessible and machinable surface decompositions and iso-scallop Fermat spiral carving paths for freeform 3D objects. Comparisons are made to tool paths generated by commercial software in terms of real machining time and surface quality.
Photographs capturing a couple of fixture configurations applied to stabilize the 3D objects during CNC machining.
A gallery of surface decomposition results for 3+2-axis machining. For each model in each row, the first two images show the accessible regions obtained after overlap resolution in two different views; the next two images show the final machinable patches obtained in two views.
Continuous iso-callop Fermat spirals generated by our method, over patches with diverse geometric characteristics. To ease visualization, we show carving paths obtained at a low resolution.
Photographs and close-ups of real machining results for full 3D objects, following our fully automatic method for surface decomposition and tool path planning. The results were obtained using a CNC 6040 2200W 5-axis machine, with machinable resin board as the testing material.
We first thank all the reviewers for their valuable comments and
suggestions. We are also grateful to Jibin Zhao, Libin Sun, Haoyuan
Yu, among others, for sharing their expertise and advise on CNC machining.
Wewould like to acknowledge Jinjie Lin for his contribution
to the algorithm development in the very early stage of the project.
Thanks for the bunny model from the Stanford Computer Graphics
Laboratory and other models provided by the AIM@SHAPE Shape
Repository.
This work is supported in part by grants from National
973 Program (2015CB352501), NSFC (61232011, 61202147, 61332015,
61572291, 61772016), NSERC Canada (No. 611370), the Joint NSFCISF
Research Program 61561146397 funded by the National Natural
Science Foundation of China and the Israel Science Foundation,
Israeli Science Foundation (No. 1790/12), U.S.-Israel Bi-National
Science Foundation (No. 2012376), the Israel Science Foundation
(2366/16), the ISF-NSFC Joint Research Program (2217/15, 2472/17),
and gift funds from Adobe and Intel.
@article {zhao_sig18,
author = {Haisen Zhao and Hao Zhang and Shiqing Xin and Yuanmin Deng and Changhe Tu
and Wenping Wang and Daniel Cohen-Or and Baoquan Chen},
title = {DSCarver: Decompose-and-Spiral-Carve for Subtractive Manufacturing},
journal = {ACM Transactions on Graphics (Special Issue of SIGGRAPH)},
volume = {37},
number = {4},
pages = {Article No. 137},
year = {2018}
}