Research Papers

Computing the Global Visibility Map Using Slice Geometry for Setup Planning

[+] Author and Article Information
Guangyu Hou

Department of Industrial and Manufacturing
System Engineering,
Iowa State University,
3023 Black Engineering,
Ames, IA 50011
e-mail: houes@iastate.edu

Matthew C. Frank

Department of Industrial and Manufacturing
System Engineering,
Iowa State University,
3023 Black Engineering,
Ames, IA 50011
e-mail: mfrank@iastate.edu

1Corresponding author.

Manuscript received August 11, 2016; final manuscript received March 21, 2017; published online May 8, 2017. Assoc. Editor: Xiaoping Qian.

J. Manuf. Sci. Eng 139(8), 081006 (May 08, 2017) (11 pages) Paper No: MANU-16-1426; doi: 10.1115/1.4036423 History: Received August 11, 2016; Revised March 21, 2017

This paper introduces a new method that uses slice geometry to compute the global visibility map (GVM). Global visibility mapping is a fundamentally important process that extracts geometric information about an object, which can be used to solve hard problems, for example, setup and process planning in computer numerical control (CNC) machining. In this work, we present a method for creating the GVM from slice data of polyhedron models, and then show how it can help determine around which axis of rotation a part can be machined. There have been various methods of calculating the GVM to date, tracing back to the well-known seminal methods that use Gaussian mapping. Compared to the considerable amount of work in this field, the proposed method has an advantage of starting from feature-free models like stereolithography (STL) files and has adjustable resolution. Moreover, since it is built upon slicing the model, the method is embarrassingly parallelizable in nature, thus suitable for high-performance computing. Using the GVM obtained by this method, we generate an axis of rotation map to facilitate the setup planning for four-axis CNC milling machines as one implementation example.

Copyright © 2017 by ASME
Your Session has timed out. Please sign back in to continue.


Kweon, S. , and Medeiros, D. J. , 1998, “ Part Orientations for CMM Inspection Using Dimensioned Visibility Maps,” Comput. Aided Des., 30(9), pp. 741–749. [CrossRef]
Wang, N. , and Tang, K. , 2007, “ Automatic Generation of Gouge-Free and Angular-Velocity-Compliant Five-Axis Toolpath,” Comput. Aided Des., 39(10), pp. 841–852. [CrossRef]
Balasubramaniam, M. , Sarma, S. E. , and Marciniak, K. , 2003, “ Collision-Free Finishing Toolpaths From Visibility Data,” Comput. Aided Des., 35(4), pp. 359–374. [CrossRef]
Suh, S.-H. , and Lee, J.-J. , 1998, “ Five-Axis Part Machining With Three-Axis CNC Machine and Indexing Table,” ASME J. Manuf. Sci. Eng., 120(1), pp. 120–128. [CrossRef]
Morishige, K. , Takeuchi, Y. , and Kase, K. , 1999, “ Tool Path Generation Using C-Space for 5-Axis Control Machining,” ASME J. Manuf. Sci. Eng., 121(1), pp. 144–149. [CrossRef]
Elber, G. , and Zussman, E. , 1998, “ Cone Visibility Decomposition of Freeform Surface,” Comput. Aided Des., 30(4), pp. 315–320. [CrossRef]
Fu, M. W. , 2008, “ The Application of Surface Demoldability and Moldability to Side-Core Design in Die and Mold CAD,” Comput. Aided Des., 40(5), pp. 567–575. [CrossRef]
Chen, L.-L. , Chou, S.-Y. , and Woo, T. C. , 1995, “ Partial Visibility for Selecting a Parting Direction in Mold and Die Design,” J. Manuf. Syst., 14(5), pp. 319–330. [CrossRef]
Priyadarshi, A. K. , and Gupta, S. K. , 2004, “ Geometric Algorithms for Automated Design of Multi-Piece Permanent Molds,” Comput. Aided Des., 36(3), pp. 241–260. [CrossRef]
Bittner, J. , and Wonka, P. , 2003, “ Visibility in Computer Graphics,” Environ. Plann. B, 30(5), pp. 729–755. [CrossRef]
Zach, C. , and Karner, K. , 2003, “ Progressive Compression of Visibility Data for View-Dependent Multiresolution Meshes,” 11th International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision, Plzen, Czech Republic, Feb. 3–7, Vol. 11, pp. 546–553.
Lu, Y. , Ding, Y. , and Zhu, L. , 2016, “ Smooth Tool Path Optimization for Flank Milling Based on the Gradient-Based Differential Evolution Method,” ASME J. Manuf. Sci. Eng., 138(8), p. 081009. [CrossRef]
Xu, K. , and Tang, K. , 2016, “ Optimal Workpiece Setup for Time-Efficient and Energy-Saving Five-Axis Machining of Freeform Surfaces,” ASME J. Manuf. Sci. Eng., 139(5), p. 051003. [CrossRef]
Song, X. , Pan, Y. , and Chen, Y. , 2015, “ Development of a Low-Cost Parallel Kinematic Machine for Multidirectional Additive Manufacturing,” ASME J. Manuf. Sci. Eng., 137(2), p. 021005. [CrossRef]
Chen, L. L. , and Woo, T. C. , 1992, “ Computational Geometry on the Sphere With Application to Automated Machining,” ASME J. Mech. Des., 114(2), pp. 288–295. [CrossRef]
Tang, K. , Woo, T. , and Gan, J. , 1992, “ Maximum Intersection of Spherical Polygons and Workpiece Orientation for 4- and 5-Axis Machining,” ASME J. Mech. Des., 114(3), pp. 477–485. [CrossRef]
Chen, L. L. , Chou, S. Y. , and Woo, T. C. , 1993, “ Separating and Intersecting Spherical Polygons—Computing Machinability on Three-, Four-, and Five-Axis Numerically Controlled Machines,” ACM Trans. Graphic, 12(4), pp. 305–326. [CrossRef]
Chen, L.-L. , Chou, S.-Y. , and Woo, T. C. , 1993, “ Parting Directions for Mould and Die Design,” Comput. Aided Des., 25(12), pp. 762–768. [CrossRef]
Suh, S. H. , and Kang, J. K. , 1995, “ Process Planning for Multi-Axis Nc Machining of Free Surfaces,” Int. J. Prod. Res., 33(10), pp. 2723–2738. [CrossRef]
Li, Y. , and Frank, M. C. , 2007, “ Computing Non-Visibility of Convex Polygonal Facets on the Surface of a Polyhedral CAD Model,” Comput. Aided Des., 39(9), pp. 732–744. [CrossRef]
Tarbox, G. H. , and Gottschlich, S. N. , 1995, “ Planning for Complete Sensor Coverage in Inspection,” Comput. Vision Image Understanding, 61(1), pp. 84–111. [CrossRef]
Spitz, S. N. , and Requicha, A. A. G. , 2000, “ Accessibility Analysis Using Computer Graphics Hardware,” IEEE Trans. Visualization Comput. Graphics, 6(3), pp. 208–219. [CrossRef]
Frank, M. C. , Wysk, R. A. , and Joshi, S. B. , 2006, “ Determining Setup Orientations From the Visibility of Slice Geometry for Rapid Computer Numerically Controlled Machining,” ASME J. Manuf. Sci. Eng., 128(1), pp. 228–238. [CrossRef]
Stewart, A. J. , 1999, “ Computing Visibility From Folded Surfaces,” Comput. Graphics, 23(5), pp. 693–702. [CrossRef]
Hou, Z. , Li, X. , Huang, Y. , and Ho, S. T. , 2013, “ Physics of Elliptical Reflectors at Large Reflection and Divergence Angles—I: Their Design for Nano-Photonic Integrated Circuits and Application to Low-Loss Low-Crosstalk Waveguide Crossing,” Opt. Commun., 287, pp. 96–105. [CrossRef]
Suthunyatanakit, K. , Bohez, E. L. J. , and Annanon, K. , 2009, “ A New Global Accessibility Algorithm for a Polyhedral Model With Convex Polygonal Facets,” Comput. Aided Des., 41(12), pp. 1020–1033. [CrossRef]
Dhaliwal, S. , Gupta, S. K. , Huang, J. , and Priyadarshi, A. , 2003, “ Algorithms for Computing Global Accessibility Cones,” ASME J. Comput. Inf. Sci. Eng., 3(3), pp. 200–209. [CrossRef]
Liu, M. , and Ramani, K. , 2007, “ Computing an Exact Spherical Visibility Map for Meshed Polyhedra,” ACM Symposium on Solid and Physical Modeling (SPM), Beijing, China, June 4–6, pp. 367–372.
Liu, M. , Liu, Y. S. , and Ramani, K. , 2009, “ Computing Global Visibility Maps for Regions on the Boundaries of Polyhedra Using Minkowski Sums,” Comput. Aided Des., 41(9), pp. 668–680. [CrossRef]
Joshi, A. M. , 2015, “ Computer Aided Process Planning for Multi-Axis CNC Machining Using Feature Free Polygonal CAD Models,” Ph.D. dissertation, Iowa State University, Ames, IA.
Li, Y. , and Frank, M. C. , 2012, “ Computing Axes of Rotation for Setup Planning Using Visibility of Polyhedral Computer-Aided Design Models,” ASME J. Manuf. Sci. Eng., 134(4), p. 041005. [CrossRef]
Rajab, S. M. , 2016, “ Reverse Engineer Blade,” GrabCAD, Cambridge, MA, accessed Dec. 30, 2016, https://grabcad.com/library/reverse-engineer-blade-1
Čapo, B. , 2016, “ Tea Pot,” GrabCAD, Cambridge, MA, accessed Dec. 30, 2016, https://grabcad.com/library/tea-pot-11
Boose, C. , 2015, “ Smooth Fluted Pitcher,” GrabCAD, Cambridge, MA, accessed Dec. 30, 2016, https://grabcad.com/library/smooth-fluted-pitcher-1
Pundir, N. , 2016, “ Fortune Cookie,” GrabCAD, Cambridge, MA, accessed Dec. 30, 2016, https://grabcad.com/library/fortune-cookie-1
Li, Y. , and Frank, M. C. , 2006, “ Machinability Analysis for 3-Axis Flat End Milling,” ASME J. Manuf. Sci. Eng., 128(2), pp. 454–464. [CrossRef]
Siraskar, N. , Paul, R. , and Anand, S. , 2015, “ Adaptive Slicing in Additive Manufacturing Process Using a Modified Boundary Octree Data Structure,” ASME J. Manuf. Sci. Eng., 137(1), p. 011007. [CrossRef]


Grahic Jump Location
Fig. 6

The definition of facet visibility: (a) an example showing segment's visibility is constant for a distance due to approximation and (b)–(d) the formation of the facet visibility by intersecting visibility ranges of its containing segments

Grahic Jump Location
Fig. 7

An example of improved visibility after mesh refinement: (a) visibility loss ratio of the original facet is 1.0 and (b) visibility loss ratio of the equivalent facets after refinement is 0.36. Assuming visibility range θ is constant for all visible segments: (a) original facet and (b) result facets after remesh.

Grahic Jump Location
Fig. 8

Examples showing the union of visibility arcs from different slicing planes: (a) the orientations of slicing vectors, (b)–(d) visibility arcs generated from different slicing planes, and (e) the union of visibility arcs from 180 sampling planes results in a complete visibility cone

Grahic Jump Location
Fig. 9

The use of two sets of slices (perpendicular to each other) to solve the missing parallel planes problem

Grahic Jump Location
Fig. 10

An example of parallel plane visibility computation using the three edges of a triangle: (a) a demonstration part with its parallel planes marked, (b) a triangular facet on a parallel plane showing its vertices are shared by its neighboring triangles, and (c) obstacle range obtained by finding the maximum angle difference among six bounding rays. Rays coming from the same vertex are annotated with the same number near the arrow.

Grahic Jump Location
Fig. 5

The slice-based visibility computation showed by an example: (a) an example part, (b) the slice geometry, (c) one slice for demonstration, (d) visibility computation for a segment on the slice chain, (e) and (f) example where sliced segments changes with the slicing direction, and (g) example showing the visibility arc resides on the plane perpendicular to the slicing direction

Grahic Jump Location
Fig. 4

The distribution of sampling longitude lines where visibility arcs are evaluated: (a) Top view showing evenly spaced sampling longitude lines captures multiple visibility cones and (b) isometric view showing five visibility arcs of a visibility cone discovered by the densely angular spaced sampling longitude lines

Grahic Jump Location
Fig. 3

An example of a 3D visibility cone built up by a set of 2D visibility arcs: (a) An actual visibility cone is approximated by a set of arcs/points, (b) a visibility arc is represented by a set of visibility points, and (c) a sweep of the visibility arcs yields the visibility cone. In this paper, the continuous visibility arcs are showed by a set of points.

Grahic Jump Location
Fig. 2

The discretization of the visibility sphere

Grahic Jump Location
Fig. 1

An example showing the visibility cone of a facet on the pocket of the cube

Grahic Jump Location
Fig. 11

The possible position relations of a triangle facet and its obstacle chains together with the solution to numerical error. The triangle is hollow. The obstacle chain has solid interior. The triangle (a) is out of the obstacle chain, (b) has one vertex on the obstacle chain, (c) has two vertices on the obstacle chain, (d) has three vertices on the obstacle chain, and (e) is contained by the obstacle chain. (f)–(h) Due to numerical error, at least one vertex is contained in the obstacle chain, (i) the rays of min and max accumulated angle give the correct bounding rays if vertex is on the exterior, (j) the rays of min and max accumulated angle give the wrong bounding rays if vertex is in the interior, (k) offset the triangle's false interior vertex to the exterior by a small value ϵ2, and (l) offset the triangle inward to its centroid by a small value. The vertex is deemed false interior if Δ<ϵ1.

Grahic Jump Location
Fig. 12

The correspondence between a visibility point and feasible axes of rotation: (a) A real four-axis CNC machine setup and (b) the feasible axes of rotation are any axes perpendicular to the visibility vector, assuming the component is fixed while two indexers rotate to align with different axes

Grahic Jump Location
Fig. 13

The procedure of finding feasible axes of rotation from the GVM: (a) Find corresponding axes of rotation region of a visibility cone and (b) an example showing intersecting axes' regions of two facets to obtain the share axes of rotation region

Grahic Jump Location
Fig. 14

The formation of the axes of rotation map. (a) Facets to axes map and its reverse map (for each axis, the reverse mapping collects every facet that maps to it in the original map) and (b) an example of axes of rotation map where axes are indicated by dots and their visibility value (normalized visible surface area) is represented by dots' distance to the origin ([0-1] range).

Grahic Jump Location
Fig. 15

An overview of the computational procedure: (a) the flowchart showing entire computational flow and (b) the corresponding detailed illustration showing five critical steps in the flowchart

Grahic Jump Location
Fig. 16

The resulting visibility cones for various models

Grahic Jump Location
Fig. 17

The time on computing global visibility map for various models. Sample parts 5–8 are from the source in Refs. [3235].

Grahic Jump Location
Fig. 19

The method to obtain total area of the visibility cone from discrete visibility arcs: (a) example part and visibility cone, (b) total area of visibility cone is computed as the area summation of spherical triangles determined by corresponding visibility arcs, and (c) example showing the spherical triangle determined by the visibility arc could either overestimate or underestimate the portion of the cone area

Grahic Jump Location
Fig. 20

The results showing areas of visibility cone for (a) errors of areas of visibility cone versus the number of slices and (b) errors of areas of visibility cone versus the number of slicing directions (data from Table 2)

Grahic Jump Location
Fig. 21

Examples of the computed feasible axes of rotation and the axis of rotation map. (a) A cube with one pocket has feasible axes on a great circle, (b) a cube with two orthogonal pockets has only one feasible axis, (c) a cube with three orthogonal pockets has no feasible axis, (d) the axis of rotation map for a cube with three orthogonal pockets, and (e) a cube with a cylindrical through-hole has a feasible axes region of a ring shape.

Grahic Jump Location
Fig. 22

The axes of rotation region which reveals more than 99% of component's surface area. Axes are indicated by dots which are pointed out by arrows. (a) An industrial bracket with two cylindrical through-holes and (b) an industrial linkage.

Grahic Jump Location
Fig. 23

An example of an industrial bracket machined by a four-axis CNC machine where the axis of rotation is chosen as the part's Y-axis. (a) The bracket with supports on after CNC-RP machining and (b) The finished bracket with all supports removed.

Grahic Jump Location
Fig. 18

The statistics of computational time on a various number of slices and facets for an example model. The example model is embedded in the line chart where the number of facets is used as horizontal axis (data from Table 1).



Some tools below are only available to our subscribers or users with an online account.

Related Content

Customize your page view by dragging and repositioning the boxes below.

Related Journal Articles
Related eBook Content
Topic Collections

Sorry! You do not have access to this content. For assistance or to subscribe, please contact us:

  • TELEPHONE: 1-800-843-2763 (Toll-free in the USA)
  • EMAIL: asmedigitalcollection@asme.org
Sign In