 Review
 Open Access
Towards additive manufacturing oriented geometric modeling using implicit functions
 Qingde Li^{1}Email author,
 Qingqi Hong^{2},
 Quan Qi^{1},
 Xinhui Ma^{1},
 Xie Han^{3} and
 Jie Tian^{4}
https://doi.org/10.1186/s424920180009y
© The Author(s) 2018
 Received: 12 December 2017
 Accepted: 16 March 2018
 Published: 5 September 2018
Abstract
Surfacebased geometric modeling has many advantages in terms of visualization and traditional subtractive manufacturing using computernumericalcontrol cuttingmachine tools. However, it is not an ideal solution for additive manufacturing because to digitally print a surfacerepresented geometric object using a certain additive manufacturing technology, the object has to be converted into a solid representation. However, converting a known surfacebased geometric representation into a printable representation is essentially a redesign process, and this is especially the case, when its interior material structure needs to be considered. To specify a 3D geometric object that is ready to be digitally manufactured, its representation has to be in a certain volumetric form. In this research, we show how some of the difficulties experienced in additive manufacturing can be easily solved by using implicitly represented geometric objects. Like surfacebased geometric representation is subtractive manufacturingfriendly, implicitly described geometric objects are additive manufacturingfriendly: implicit shapes are 3D printing ready. The implicit geometric representation allows to combine a geometric shape, material colors, an interior material structure, and other required attributes in one single description as a set of implicit functions, and no conversion is needed. In addition, as implicit objects are typically specified procedurally, very little data is used in their specifications, which makes them particularly useful for design and visualization with modern cloudbased mobile devices, which usually do not have very big storage spaces. Finally, implicit modeling is a design procedure that is parallel computingfriendly, as the design of a complex geometric object can be divided into a set of simple shapedesigning tasks, owing to the availability of shapepreserving implicit blending operations.
Keywords
 Additive manufacturing
 3D printingfriendly CAD
 Implicit function
 Isosurface
 Levelset
 Functionbased shape modeling
 Implicit modeling
Background
As envisioned in [1], the next industrial revolution will be about the digitalization of the entire manufacturing process, right from the initial conceptual design, to the manufacturing of the required product in the final stage of the process. Underpinned by artificial intelligence, cyberphysical systems, the internet of things, and cloud computing, this fast approaching revolution raises various challenges to engineers and scientists. As the geometric design is the first step in the process of additive manufacturing (AM), the development of an AMfriendly geometric modeling technique is one of the most important tasks. The geometric objects created by conventional computeraided design (CAD) techniques are mostly represented by surfaces, which is an ideal solution for the visualization and traditional subtractive manufacturing using computer numerical control (CNC) cutting machine tools, where an object is digitally manufactured by means of drilling, cutting, and slicing. When the main operations of making an object involve drilling, cutting, or slicing, the surfacebased representation is sufficient enough, as no interior geometric structure or material properties need to be known. However, the surfacebased shape representation is far from being sufficient for AM. This is because the surface representation describes a geometric shape as an infinitely thin boundary object, which does not provide any information required in AM regarding the interior structure of the object, which is to be additively manufactured. Though surfacebased representation is suitable for visualization and subtractive manufacturing, there is a large difference between a surface model and the product made from the surface representation. Thus, converting a known surfacebased geometric representation into a printable representation is essentially a redesign process.
The design of a geometric model for visualization or for subtractive manufacturing and the design for the AM have completely different requirements: the former activity is mainly concerned mainly with the specification of an object’s external surface details, while the latter one must precisely specify both the external surface details and the internal structure and material details. This is because, when a geometric model is used as an opaque object for visualization or for digital manufacturing based on CNC cutting machine tools, there is no need to know its internal structure, and only surface details are required. However, with AM technologies, an object is progressively built up layerbylayer, with each layer being a thinsolid slice of the object. To print a layer, for each point on the plane corresponding to the layer, the machine must know whether the given position belongs to the object and what material should be used for printing the point. Obviously, the surfacebased geometric representation does not meet this requirement of AM. An ideal 3D printing ready representation for a geometric object should be expressed in a kind of a solid form, which, when printed slicebyslice, can directly provide clear instructions to the printing machine about where to print. In many ways, solid modeling offers a much better solution when compared with the surfaceonly representation, as it can directly provide the information about the areas to be printed for each object slice.
Solid modeling can be implemented either explicitly as a collection of voxels and tetrahedra, or as parametric solids, or implicitly as a field function defined in \(\mathcal {R}^{3}\). However, representing a solid object as a collection of 3D voxel points or a set of tetrahedra can be expensive in terms of the required storage space. More importantly, they are not an exact representation. Irrespective of the number of voxels or tetrahedra are used, they only provide an approximate solution. Compared with discretely represented solids, parametric solids can provide an exact representation to a solid geometry; however, it is generally difficult to design complex material structures, especially when multiple material structures need to be designed. A natural way to model a readytoprint geometric object is to represent a geometric object as a 3D function F(x,y,z), which can directly inform the printing machine whether a position P(x,y,z) should be printed. Some recent research has shown that implicit functions are particularly suitable for modeling microporous structures [2–6]. However, despite its great advantages in modeling geometric objects for the AM, implicit modeling is only used in an ad hoc manner as a supplemental technique. Today, surfacebased modeling is still being used as a predominant technique in geometric design, even in the area of AM. In this paper, we intend to show that implicit functionbased geometric modeling is in its nature AMfriendly and has an innate advantage over the explicit methods, when the purpose of modeling is to create a geometry for AM rather than for visualization or for subtractive manufacturing using a CNC machine tool. They can be used in general to model any geometric object, much beyond their use in porous structure modeling.
The goal of this study is to show that implicit modeling can play an important role in AM and to promote research on the development of AMoriented CAD techniques. First, we address the pressing need for the development of AMoriented CAD techniques, which is followed by a brief introduction to implicit modeling and some detailed explanations to why implicit representation provides an ideal solution to the modeling of 3D printing ready geometric objects. As will be seen later, implicit modeling is not only a much more natural shapemodeling technique, but more importantly, the models represented by implicit functions are 3D printing ready. In addition to the geometric information, implicit functions can also be used to model complex material structures and material colors, which makes it an ideal 3D object representation for the AM. In “Implicit modeling” section, we will give a brief introduction to a few popularly used implicit modeling techniques, including a recently developed 2D area spline technique. Unlike meshbased geometric modeling, implicit modeling provides native support to parallel design, which allows to divide a complex geometric design task into a set of smaller and simpler geometric design tasks, which can be processed in parallel simultaneously, owing to the availability of implicit shapepreserving blending operations. The introduction to the shapepreserving operation is provided in “Shapepreserving implicit blending operation” section. In the last part of this paper, we present some key technical challenges related to the development of the AMoriented CAD technique. Though implicit modeling can also potentially offer the possibility of integrating numerical analysis into implicit functionbased CAD design tools [7], the relevant discussions will not be considered in this paper so as to make the paper more focused.
From explicit modeling to implicit modeling
The direct modeling of an object by an explicit use of points, triangles, or parametric patches is referred to as an explicit method, as one can directly “see” these objects. However, in many ways, explicit surface modeling is not a natural geometric modeling technique. In nature, most objects have volumetric characteristics with highly complex interior structures. In addition, natural objects have an inherently continuous form with infinitely many fine details. This is especially true for biological objects, such as the human bone and vascular structures. As pointed out in [8], natural objects are also often made of hybrid materials and have a hierarchical structure. Another typical feature of natural objects is that they are formed mostly as the result of a procedural process, such as the process when a human body is progressively built up from a single tiny cell. One of the most natural ways of modeling these objects is to emulate the actions or the process through which nature has created these objects. Instead of using points and triangles to specify these objects, in many ways, the process of describing natural shapes by using real functions appears to be more natural and effective, as an implicit function can better reflect the way in which a natural object is being created rather than by using an explicit geometric modeling technique.
The idea of associating an implicit function with a solid leads directly to one of the most popular implicit shape modeling techniques, known as constructive solid geometry (CSG) [12]. With CSG, the construction of a relatively complex geometric shape can be regarded as a process of combining a set of simple primitive solid objects using settheoretic operations such as union, intersection, and complement operations. However, the modeling of geometric objects using general implicit functions is much more flexible and powerful than solid modeling. For instance, a nonnegative function can be regarded as a kind of an energy function, and a complex geometric shape can be designed as a function corresponding to the total energy generated by a collection of energy sources. Blinn’s popular blob technique [13] can be considered as a typical example developed from this idea. This idea can be generalized through a convolution converting a parametric or a triangle mesh into an implicit object.
When the main application of a geometric model is used for visualization and subtractive manufacturing, explicit geometric modeling methods, such as triangle meshes and parametric geometric surfaces are preferred. However, when a geometric object is modeled for AM, implicitly represented geometric objects are preferred, owing to several distinct advantages of implicit geometric representation over the explicit methods. First, an implicit geometric form is directly defined in the physical space, rather than in the parametric space, and consequently, it can directly provide a 3D printer with precise information about where to lay a printing substance particle. It is a 3D printing ready representation, and no conversion procedure is required. In general, an implicit function can be viewed both as a surface and as a volumetric solid, and it can describe not only the external appearance of an object but also its interior geometric structure and material properties. Second, implicit geometric modeling is a lightweight geometric modeling technique. Unlike geometric objects represented by dataintensive forms such as triangle meshes and point clouds, which often have data of size of over several megabytes, implicitly represented shapes do not in general involve the use of massive data sets, and consequently, do not require a massive storage space. Because of this, implicitly represented geometric objects are also internet and cloud computingfriendly, as it is extremely convenient to transport implicitly represented geometric objects across the internet without any restrictions on the bandwidth of the data transformation over the internet. Another impressive feature of implicit geometric objects is that implicit techniques allow for parallel design, owing to the fact that implicitly modeled objects can be easily combined together [14–17], which makes implicit modeling particularly suitable for the shape design over a distributed or a CAD system with parallel architecture. In addition, implicitly represented geometric models have a collisiondetection efficient representation. A 3D object printing operation is in general a process of interaction between a digitally represented geometric object and the printing device, where collisiondetection operations have to be constantly performed to test whether a move from the current printing position to the next one is allowed. It is quite straightforward and efficient to perform a collisiondetection operation between two objects, when one of them is presented in the implicit form (say, the geometric model) and the other one is in the explicit form (say, the position of 3D printer head).
Before moving to the following sections for more detailed descriptions of some implicit modeling techniques, we illustrate some simple implicit objects in Fig. 1 and show why implicit geometric modeling is 3D printing friendly. As it can be seen later, the 3D forms shown in Fig. 1 can all be easily represented by a simple implicit function, varying from a surface to a volumetric solid with different interior material and supporting structures.
Implicit modeling
Implicit modeling using distance functions
The basic principle of implicit modeling can be illustrated directly by using distance functions [18]. For instance, a sphere can be described as a distance function to a point. Similarly, an infinite cylinder can be described as a distance function to a line, and a torus can be described as a distance function to a circle. Several AM techniques based on distance functions have been proposed. In [19], the distance function was used for the boundary voxel optimization. The implicit slicer proposed in [20] is also fundamentally based on the distance function. It was also used by Liu et al. [21] for the design of material composition functions. With the increasing processing power of modern computer systems and the wide recognition of the simplicity and capability of the distance functionbased modeling technique, distance functions have recently been popularly used in a variety of applications. For instance, a popular technique known as the Kinect Fusion developed by Newcombe et al. [22] used for the reconstruction of a realworld 3D object from the sensing data is essentially based on the distance function. As the intersection between a ray and a distance functiondefined geometric object can be easily calculated by using a numerical method known as ray marching, it has been popularly used for geometric and material modeling in a ray tracing system. For readers who want to know more about the practical use of distance functions, please visit http://www.shadertoy.com, which is a live online visual effect editor in GLSL shader for generating various graphical effects using mainly implicit functions.
Converting from the explicit representation to the implicit representation
Procedural implicit modeling
Natural objects are in general a procedural result. Typical examples are the biological objects such as plants, trees, and animals, which build up their geometric forms in a process of cell repetition. The Lsystem is a powerful technique to model and simulate the process, but it is not a 3D printing friendly representation. The modeling of these objects directly as a real function by simulating the biological growth process in the form of an iterative process seems more natural, especially when the modeling of the internal biological material structures of these objects needs to be taken into consideration.
Cell growth simulation
Procedural nonlinear transformations
The idea behind this technique originated from the Mandelbrot set and the Julia set, which can be interpreted as sequences of nonlinear geometric transformations. Indeed, for a complex number z=x+yi, z^{2}+C actually represents a combination of rotation, scaling, and translation operations. This becomes obvious when we rewrite z as z=re^{iθ}, where \(r=\sqrt {x^{2}+y^{2}}\), \(\theta =arctan\frac {y}{x}\). In fact, z^{2}=e^{iθ}×z actually corresponds to a rotation of the point positioned at (x,y) by an angle θ around the coordinate origin. The generalization of the 2D Mandelbrot set or the Julia set to 3D is usually done with the quaternion q=xi+yj+zk+w, but it is difficult to generate meaningful geometric objects by formulating the iterative process by using the formula \(q_{1}=q_{0}^{2}+C\), as a quaternion is in general a 4D object, which can only be visualized in 3D slicebyslice. Recently, some effort has been made by following a geometric intuition, such as by using the famous MandelBulb 3D fractal object defined by Daniel White [28].
Implicit modeling using LiTian’s area splines
The basic idea of the implicit spline is to subdivide a 2D region into a collection of polygons with different potential functions defined on different regions. Similarly to the control pointsbased parametric spline techniques, implicit spline objects can be designed as a convex blending of a set of implicit potential field functions corresponding to different regions. These locally defined field functions behave similarly to the control points used in a traditional spline technique and can be referred to as control implicit primitives. The main difference between our 2D implicit splines and an explicit spline technique is that the shape defined by the 2D implicit spline technique corresponds to a solid area, whereas the shape defined by a conventional spline is only a boundary.
The parameter δ in the integral serves as a solid polygon vertex smoothing parameter, which specifies the extent to which one wants to smooth a sharp vertex corner of a polygon. With the properties of integration, it can be seen clearly that each \(B_{\Delta,\delta }^{(n)}(x,y)\) defined in this way has the following two properties. First, \(B_{\Delta,\delta }^{(n)}(x,y)\) is a piecewise polynomial function. Second, \(B_{\Delta,\delta }^{(n)}(x,y)\) is C^{n−1} continuous. Though this idea of constructing the required spline basis functions is simple, without an explicit expression of these convolutions, the numerical evaluation of these functions can be very expensive. Fortunately, we have found a way to express these convolutions explicitly in the analytical form.
Note that when the value of the polygon smoothing parameter δ is sufficiently small with respect to the size of the polygon, we have \(B_{\Delta,\delta }^{(n)}(x,y)=1\) for the most part of the interior region of the given polygon. Thus, when \(B_{\Delta,\delta }^{(n)}(x,y)\) is used as a weight function combining a control implicit primitive function F(x,y), we have \(B_{\Delta,\delta }^{(n)}(x,y)F(x,y)=F(x,y)\), when \(B_{\Delta,\delta }^{(n)}(x,y)=1\). When associating F(x,y) with a 2D implicit geometry, the new function \(B_{\Delta,\delta }^{(n)}(x,y)F(x,y)\) will have exactly the same shape as that defined by F(x,y), when the point P(x,y) is well within the support of \(B_{\Delta,\delta }^{(n)}(x,y)\), while the part of the shape defined by F(x,y) that is well outside the support of \(B_{\Delta,\delta }^{(n)}(x,y)\) is removed as \(B_{\Delta,\delta }^{(n)}(x,y)F(x,y)\) will be nearly zero. Therefore, the function \(B_{\Delta,\delta }^{(n)}(x,y)\) can be referred to as a kind of a shapepreserving spline basis function.
 1.
Nonnegativity:\(0\le B_{\Delta,\delta }^{(n)}(x,y)\le 1\).
 2.
Smoothness:\(B_{\Delta,\delta }^{(n)}(x,y)\) has a C^{n−1} continuity.
 3.
Piecewise Polynomial:\(B_{\Delta,\delta }^{(n)}(x,y)\) is piecewise polynomial.
 4.
Local Support:\(B_{\Delta,\delta }^{(n)}(x,y)\) has a finite support if Δ is finite.
 5.Additivity:\(B_{\Delta,\delta }^{(n)}(x,y)\) is additive. That is, if two polygons Δ_{1} and Δ_{2} do not intersect or they only intersect at their edges, then$$B_{\Delta_{1}\cup\Delta_{2},\delta}^{(n)}(x,y)= B_{\Delta_{1},\delta}^{(n)}(x,y)+B_{\Delta_{2},\delta}^{(n)}(x,y). $$
 6.Partition of unity:\(B_{\Delta,\delta }^{(n)}(x,y)\) takes value in [0,1] and ifthen$$\bigcup_{k}\Delta_{k} = \mathcal{R}^{2}, \hskip 0.1in area\left(\Delta_{i}\bigcap_{i\ne j}\Delta_{j}\right)=0, $$$$\sum_{k} B_{\Delta_{k},\delta}^{(n)}(x,y)= 1. $$
The solid areas shown in Fig. 5 show the filled contour \(\left \{(x,y): B_{\Delta,\delta }^{(3)}(x,y)\le 0.5\right \}\) corresponding to different δ values for the spline basis function built from the same control polygon Δ. As it can be seen from the figure, the shape of the control polygon can be approximated at a varying level by using a single parameter δ: the smaller the δ value, the more closely the filled contour of the spline basis function approximates the control polygon.
Figure 4 illustrates the difference between our 2D implicit spline technique and the distance functions. Distance functions have gained considerable attention recently, given that they support the fast ray marching of distance functiondefined implicit objects. However, distance functions are not good at modeling freeform objects. Though the feature presented by our implicit spline can be achieved by using a distance function defined by a set of connected piecewise lowdegree polynomials, it is difficult to achieve a high level of smoothness, such as C^{2}smoothness. As described above, when a big polygon is subdivided into a set of smaller subpolygons, the implicit function built from the big polygon is exactly the sum of all the basis functions constructed from the set of smaller polygons. When the distance function is used for a freeform solid area design, the distance function corresponding to the big polygon is the minimum of all distance functions of the subpolygons, and consequently, the property of the partition of unity is not preserved.
where \(B_{\Delta _{k},\delta }^{(n)}(x,y)\) is the implicit spline basis function constructed from the polygon Δ_{k}.
The representation of a binary implicit function as a sum of weighted implicit spline basis functions can have various applications. As described in [33], it can be used directly to simplify the task of fitting a big 3D point cloud captured by a modern depth camera. The shapepreserving feature of the proposed implicit spline basis functions allows to subdivide the depth map captured by a camera into smaller regions. A shapefitting technique can then be used to fit each subdataset individually and then combine them together. The shapepreserving feature guarantees that the main features of each individually fitted shape are maintained, when they are combined together, based on the equation shown in (3). This idea can be very useful, as a complex surfacefitting task can be divided into a set of simpler fitting tasks and implemented directly in a parallel processing system.
The idea can also be applied to a complex implicit geometric design. The shapepreserving feature of the proposed spline basis functions allows us to simplify a complex geometry design task into a process of designing a set of simpler geometric components. The shapepreserving feature of basis functions is becoming more essential when parts of a designed 2D region are taken directly from a slice of a realworld 3D object.
3D implicit geometric design using 2D implicit functions
In addition to the abovementioned direct applications of the area spline technique, 2D area splines can also be used in a number of different ways to design 3D implicit shapes. Just as a surface can be regarded as a family of curves, a volumetric solid object can be regarded as a family of 2D slices, or the volumetric region is swept by moving a 3D solid object or a slice of a 3D object. This idea leads to a number of ways in which the 3D implicit object design can use 2D implicit functions.
Implicit shape of extrusion
The idea of creating the 3D implicit geometry by extruding a solid 2D implicit profile can be directly implemented by simulating the process, when a sculptor creates a piece of sculpture. In this case, the volumetric region swept by a sculpting knife can be modeled as an extrusion of an implicit function along the path of the motion of the sculpting knife, and the cut of an implicitly represented sculpture can be represented directly as a result of an implicit blending of the two implicit objects.
Implicit shape of revolution
The creation of a geometric object by rotating a given 2D profile is also very popular in geometric design. This idea can also be introduced in the creation of the implicit geometry of revolution. In fact, the implicit revolution can be considered as a special case of implicit extrusion, where the extrusion path is defined by an implicit cylinder and a plane. Suppose the revolving profile of a 2D implicit object is represented by a function F(x,y). Then, the implicit geometry of revolution generated by rotating the implicitly represented profile about the yaxis can be described by \(F\left (r\sqrt {x^{2}+z^{2}},y\right)=0\), and the implicit geometry of revolution generated by rotating the implicitly represented profile about the xaxis can be described by \(F\left.\left (x, r\sqrt {y^{2}+z^{2}}\right)\right)=0\). Fig. 8b shows an example of an implicit geometry of revolution obtained by rotating an implicit spline about the zaxis.
Implicit shape as a set of control profile functions
The design and reconstruction of 3D shapes based on planar crosssections has long being recognized as an effective way of the shapemodeling technique [35–38]. This technique is especially useful in the reconstruction of human organs, such as lungs, heart, and vascular systems [39, 40].
where \(\{B_{k}(z)\}_{k=0}^{m}\) are a certain type of spline basis functions. Shapes presented in Fig. 8c are generated in this manner using C^{2}smooth spline basis functions and by using the Bezier spline basis functions.
Silhouette based implicit modeling
Volumetric material structural modeling
The implicit geometric modeling method is also very flexible and effective in the modeling of realworld volumetric forms, varying from fabric objects design to biological tissues and human vascular and neural systems. Due to the high diversity of natural forms, it is impossible to show case by case how each of them can be described by using an implicit function. Here, we illustrate the potential and the flexibility of implicit modeling by using two simple examples.
Shapepreserving implicit blending operation
One of the most significant features of implicit modeling is that different individually modeled shapes can be combined easily by using some very simple implicit shapeblending functions. In general, any binary function O(x,y) can be used to combine two implicit functions. Let F_{1}(X), F_{2}(X) be the implicit functions corresponding to the shapes A,B. Then, the compound function O(F_{1}(X),F_{2}(X)) defines a new implicit function, whose corresponding geometric shape can be regarded as the combination of the shape A and the shape B. For instance, when an implicitly defined geometric shape is regarded as a solid, the binary functions O(x,y) corresponding to pointset theoretical operations like union, intersection, and subtraction operations can be defined directly by using max(x,y) or min(x,y). However, geometric shapes obtained from such simple binary operations are in general not smooth at the joint. To achieve smooth blending at the joint of two implicit shapes, a certain smooth blending operation has to be used. Some basic requirements to define a “good” blending operation have been proposed in [42, 43]. Even though in general there are no commonly accepted criteria about exactly whether a blending operation is “good”, it is generally agreed on that a good blending operation should not only be able to generate smooth implicit shapes, but can also be performed in a controllable way. To be more specific, we expect a blending operation to possess a kind of a shapepreserving property. To smoothly combine two implicit shapes, some local deformation of the original shapes is inevitable, but we want the local deformation to apply only to the regions close to where the two geometric shapes intersect. The shapepreserving feature of an implicit blending operation is of essential importance. This is because, with the availability of shapepreserving blending operations, a complicated task of designing a relatively complex geometric object can be subdivided into a set of simple geometric objectdesign tasks. So far, several smooth shapepreserving blending operations have been proposed. In [42], smoothblending rangecontrollable operations were defined by using a scalar function. In [43], the Rfunction was used to achieve the blending features. Smooth shapepreserving Boolean operators were also introduced in the work of Barthe et al. [44]. The major limitation of all these blending operations is that they only have the C^{1} or the G^{1} continuity and lack simplicity in their geometric representations. Comparatively, the piecewise polynomialblending operations (PPBO) proposed in [15] have several advantages. PPBO are not only shapepreserving, but they can also be defined directly to have any required degree of smoothness. In addition, they are defined as piecewise polynomials and have a simple form in their mathematical expressions. A brief survey of various blending operations can be found in [45], though there is a lack of a sufficient review of shapepreserving blending operations. Owing to the importance of the shapepreserving feature of a blending operation in implicit modeling, here we give a brief introduction to PPBO.
Definition 1
x_{n} is called the degree n of the absolute function.
 (1)
x_{n}≥x, and x_{n}=x when x≥n;
 (2)
x_{n} is C^{n}continuous;
 (2)
x_{n} is a piecewise polynomial function.
Conclusion
With the increasing availability of 3D printers, there is a pressing need to develop 3D printingoriented geometric modeling techniques. Most conventional CAD techniques are developed based on the need of visualization and traditional subtractive manufacturing, rather than that of the AM, and the geometric objects generated by these techniques are mainly boundarybased and cannot be sent to an AM system for direct printing. The conversion of a surfacerepresented geometry into a printable representation is in general a complex procedure, and most often a redesign process. In this paper, we have explained and shown why implicit modeling is an ideal geometric object representation for the AM. However, compared with surfacebased modeling, much less attention has been paid to implicit geometric modeling. Though there are increasingly more applications of implicit modeling, many open and challenging theoretical and technical issues and problems remain to be solved, which requires a collective effort from mathematicians, computer scientists, AM engineers, and researchers.
It should be noted that while implicit modeling is AMfriendly, it is not a convenient form of subtractive manufacturing, where the boundary of a slice needs to be calculated, which is not a simple task when the internal support structure is relatively complicated [46].

Developing new AMoriented CAD tools. The lack of 3D printing ready models is one of the many factors that hugely limits the use of 3D printers. Most existing CAD tools are subtractive manufacturingoriented, which does not in general fit the use for creation of 3D printingfriendly models. New AMoriented tools that can represent both shape and material properties are urgently needed [47].

Application and personspecific customized implicit modeling. One typical type of objects that is most suitable to be produced by AM techniques is the applicationspecific or personspecific customized objects. These bespoke geometric objects are often reconstructed from real objects, from the scanned data, or from a set of prespecified constraints. This kind of a modeling task is essential, for instance, in creation of geometric models for reconstruction of human organs or in plastic surgeries.

Developing implicit shape and material libraries. One reason why implicit modeling is much less popular than the explicit modeling method is the sparse availability of readytouse implicit models. The development of a library containing a rich set of implicit models will definitely boost the use of the implicit modeling technique.

Material structure optimized implicit design. The high cost of printing materials is often considered as one of the top challenges faced by AM. In implicit modeling, more research is required to develop material structure optimization techniques to minimize the use of the printing material.
Declarations
Acknowledgement
This research is partly supported by the National Natural Science Foundation of China (Grant No. 61502402 and 61379080) and the Natural Science Foundation of Fujian Province of China (Grant No. 2015J05129).
Authors’ contributions
QL drafted manuscript and conducted some experiments. QH and QQ involved in practical implementation and experiments of some algorithms presented in the article. XM, XH and JT conducted background review and analysis and provided critical revision of the article. All authors read and approved the final manuscript.
Competing interests
The authors declare that they have no competing interests.
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Authors’ Affiliations
References
 Schwab K. The fourth industrial revolution: World Economic Forum Geneva; 2016. https://www.weforum.org/about/contact.
 Pasko A, Fryazinov O, Vilbrandt T, Fayolle PA, Adzhiev V. Procedural functionbased modelling of volumetric microstructures. Graph Model. 2011; 73(5):165–81.View ArticleGoogle Scholar
 Yoo DJ. Porous scaffold design using the distance field and triply periodic minimal surface models. Biomaterials. 2011; 32(31):7741–54.View ArticleGoogle Scholar
 Yoo D. Heterogeneous minimal surface porous scaffold design using the distance field and radial basis functions. Med Eng Phys. 2012; 34(5):625–39.View ArticleGoogle Scholar
 Strano G, Hao L, Everson RM, Evans KE. A new approach to the design and optimisation of support structures in additive manufacturing. Int J Adv Manuf Technol. 2013; 66(912):1247–54.View ArticleGoogle Scholar
 Wang X, Xu S, Zhou S, Xu W, Leary M, Choong P, et al. Topological design and additive manufacturing of porous metals for bone scaffolds and orthopaedic implants: a review. Biomaterials. 2016; 83:127–41.View ArticleGoogle Scholar
 Fries TP, Omerović S. Higherorder accurate integration of implicit geometries. Int J Numer Methods Eng. 2016; 106(5):323–71.MathSciNetView ArticleMATHGoogle Scholar
 Wegst UG, Bai H, Saiz E, Tomsia AP, Ritchie RO. Bioinspired structural materials. Nat Mater. 2015; 14(1):23–36.View ArticleGoogle Scholar
 Purcell TJ, Buck I, Mark WR, Hanrahan P. Ray tracing on programmable graphics hardware. In: SIGGRAPH ’05: ACM SIGGRAPH 2005 Courses. New York: ACM: 2005. p. 268.Google Scholar
 Loop C, Blinn J. Realtime GPU rendering of piecewise algebraic surfaces. In: SIGGRAPH ’06: ACM SIGGRAPH 2006 Papers. New York: ACM: 2006. p. 664–670.Google Scholar
 Tatarchuk N, Shopf J, DeCoro C. RealTime Isosurface Extraction Using the GPU Programmable Geometry Pipeline. In: SIGGRAPH ’07: ACM SIGGRAPH 2007 courses. New York: ACM: 2007. p. 122–137.Google Scholar
 Ricci A. A constructive geometry for computer graphics. Comput J. 1973; 16(3):157–60.View ArticleMATHGoogle Scholar
 Blinn JF. A Generalization of Algebraic Surface Drawing. ACM Trans Graph. 1982; 1(3):235–56.View ArticleGoogle Scholar
 Pasko GI, Pasko AA, Kunii TL. Bounded Blending for FunctionBased Shape Modeling. IEEE Comput Graph Appl. 2005; 25(2):36–45.View ArticleMATHGoogle Scholar
 Li Q. Smooth Piecewise Polynomial Blending Operations for Implicit Shapes. Comput Graph Forum. 2007; 26(2):157–71.View ArticleGoogle Scholar
 Barthe L, Dodgson NA, Sabin MA, Wyvill B, Gaildrat V. Twodimentional Potential Fields for Advanced Implicit Modeling Operators. Comput Graph Forum. 2003; 22(1):23–33.View ArticleGoogle Scholar
 Hsu PC, Lee C. The scale method for Blending Operations in FunctionallyBased Constructive Geometry. Comput Graph Forum. 2002; 22(2):143–58.View ArticleGoogle Scholar
 Payne BA, Toga AW. Distance Field Manipulation of Surface Models. IEEE Comput Graph Appl. 1992; 12(1):65–71.View ArticleGoogle Scholar
 Hildebrand K, Bickel B, Alexa M. Orthogonal slicing for additive manufacturing. Comput Graph. 2013; 37(6):669–75.View ArticleGoogle Scholar
 Steuben JC, Iliopoulos AP, Michopoulos JG. Implicit slicing for functionally tailored additive manufacturing. Comput Aided Des. 2016; 77:107–19.View ArticleGoogle Scholar
 Liu H, Maekawa T, Patrikalakis N, Sachs E, Cho W. Methods for featurebased design of heterogeneous solids. Comput Aided Des. 2004; 36(12):1141–59.View ArticleGoogle Scholar
 Newcombe RA, Izadi S, Hilliges O, Molyneaux D, Kim D, Davison AJ, et al. KinectFusion: Realtime dense surface mapping and tracking. In: Mixed and augmented reality (ISMAR), 2011 10th IEEE international symposium on. IEEE: 2011. p. 127–136.Google Scholar
 Bloomenthal J, Shoemake K. Convolution surfaces. In: ACM SIGGRAPH Computer Graphics. vol. 25. New York: ACM: 1991. p. 251–256.Google Scholar
 McCormack J, Sherstyuk A. Creating and rendering convolution surfaces. In: Computer Graphics Forum. vol. 17. New York: Wiley Online Library: 1998. p. 113–120.Google Scholar
 Jin X, Tai CL, Feng J, Peng Q. Convolution surfaces for line skeletons with polynomial weight distributions. J Graph Tools. 2001; 6(3):17–28.View ArticleMATHGoogle Scholar
 Li Q, Wills D, Phillips R, Viant WJ, Griffiths JG, Ward J. Implicit Fitting Using Radial Basis Functions with Ellipsoid Constraint. Comput Graph Forum. 2004; 23(1):55–70.View ArticleGoogle Scholar
 Ohtake Y, Belyaev A, Alexa M, Turk G, Seidel HP. Multilevel partition of unity implicits. In: ACM Transactions on Graphics (TOG). vol. 22. New York: ACM: 2003. p. 463–470.Google Scholar
 White D. The unravelling of the real 3D Mandelbulb. 2009. http://www.skytopia.com/project/fractal/mandelbulb.html. Accessed 9 Oct 2017.
 Turk G, O’Brien JF. Shape transformation using variational implicit functions. In: SIGGRAPH ’99: Proceedings of the 26th annual conference on Computer graphics and interactive techniques. New York: ACM Press/AddisonWesley Publishing Co.: 1999. p. 335–342.Google Scholar
 Turk G, O’brien JF. Modelling with implicit surfaces that interpolate. ACM Trans Graph. 2002; 21(4):855–73.View ArticleGoogle Scholar
 Shen C, O’Brien JF, Shewchuk JR. Interpolating and approximating implicit surfaces from polygon soup. In: SIGGRAPH ’05: ACM SIGGRAPH 2005 Courses. New York: ACM: 2005. p. 204.Google Scholar
 Li Q, Tian J. 2D piecewise algebraic splines for implicit modeling. ACM Trans Graph (TOG). 2009; 28(2):13.View ArticleGoogle Scholar
 Li Q, Griffiths JG, Ward J. Constructive implicit fitting. Comput Aided Geom Des. 2006; 23(1):17–44.MathSciNetView ArticleMATHGoogle Scholar
 Schmidt R, Wyvill B. Generalized sweep templates for implicit modeling. In: GRAPHITE ’05: Proceedings of the 3rd international conference on Computer graphics and interactive techniques in Australasia and South East Asia. New York: ACM: 2005. p. 187–196.Google Scholar
 Boissonnat JD. Shape reconstruction from planar cross sections. Comput Vision Graph Image Process. 1988; 44(1):1–29.View ArticleGoogle Scholar
 Bajaj CL, Coyle EJ, Lin KN. Arbitrary topology shape reconstruction from planar cross sections. Graph Models Image Process. 1996; 58(6):524–43.View ArticleGoogle Scholar
 Liu L, Bajaj C, Deasy J, Low DA, Ju T. Surface Reconstruction From Nonparallel Curve Networks. In: Computer Graphics Forum. vol. 27. Wiley: 2008. p. 155–163.Google Scholar
 Zou M, Holloway M, Carr N, Ju T. Topologyconstrained surface reconstruction from crosssections. ACM Trans Graph (TOG). 2015; 34(4):128.View ArticleMATHGoogle Scholar
 Maggiano IS, Maggiano CM, Clement JG, Thomas CDL, Carter Y, Cooper DM. Threedimensional reconstruction of Haversian systems in human cortical bone using synchrotron radiationbased microCT: morphology and quantification of brnching and transverse connections across age. Journal of anatomy. 2016; 228(5):719–32.View ArticleGoogle Scholar
 Hong Q, Li Q, Tian J. Implicit reconstruction of vasculatures using bivariate piecewise algebraic splines. IEEE Trans Med Imaging. 2012; 31(3):543–53.View ArticleGoogle Scholar
 Entem E, Barthe L, Cani MP, Cordier F, Van de Panne M. Modeling 3D animals from a sideview sketch. Comput Graph. 2015; 46:221–30.View ArticleGoogle Scholar
 Hsu PC, Lee C. Field functions for blending range controls on soft objects. In: Computer Graphics Forum. vol. 22. Wiley: 2003. p. 233–242.Google Scholar
 Pasko GI, Pasko AA, Kunii TL. Bounded blending for functionbased shape modeling. IEEE Comput Graph Appl. 2005; 25(2):36–45.View ArticleMATHGoogle Scholar
 Barthe L, Dodgson NA, Sabin MA, Wyvill B, Gaildrat V. Twodimensional Potential Fields for Advanced Implicit Modeling Operators. In: Computer Graphics Forum. vol. 22. Wiley: 2003. p. 23–33.Google Scholar
 Bernhardt A, Barthe L, Cani MP, Wyvill B. Implicit blending revisited. In: Computer Graphics Forum. vol. 29. Wiley: 2010. p. 367–375.Google Scholar
 Huang P, Wang CC, Chen Y. Intersectionfree and topologically faithful slicing of implicit solid. J Comput Inf Sci Eng. 2013; 13(2):021009.View ArticleGoogle Scholar
 Council NR, et al. 3D printing in space. Washington D.C: National Academies Press; 2014.Google Scholar