Skip to main content
Log in

Octree-to-BRep conversion for volumetric NC simulation

  • ORIGINAL ARTICLE
  • Published:
The International Journal of Advanced Manufacturing Technology Aims and scope Submit manuscript

Abstract

User-friendliness such as ease of creation and modification and system-friendliness such as space and time complexities, accuracy etc. are two important criteria for the selection of a solid representation scheme. No single solid representation scheme fully meets all the requirements of user-friendliness and system-friendliness. Hence, any practical CAD/CAM system maintains the geometry of the objects in more than one solid representation scheme simultaneously. Therefore, it is often required to convert one solid representation scheme to the other. The authors have developed a volumetric NC simulation system in which the instantaneous blank is represented as an octree as its space and time complexities are independent of the number of NC blocks. However, since octree does not lend itself readily for operations such as arbitrary transformations, rendered display etc., it is not directly usable for downstream applications such as animated display, verification and optimization. Boundary representation is suitable for these downstream applications. Therefore, it is required to convert octree of the instantaneous blank into BRep. An efficient algorithm for this conversion is presented in this paper. This algorithm essentially splits the octree into three quadtrees that store the geometry along the three principal directions. This algorithm is fast as it involves only tree-traversals.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Abbreviations

root:

Root node of the octree of the object

quad_proj[0]:

Root node of the quadtree for storing the boundary faces of FULL cubes that are perpendicular to Z axis (i.e, parallel to XY plane)

quad_proj[1]:

Root node of the quadtree for storing the boundary faces of FULL cubes that are perpendicular to X axis (i.e, parallel to YZ plane)

quad_proj[2]:

Root node of the quadtree for storing the boundary faces of FULL cubes that are perpendicular to Y axis (i.e, parallel to ZX plane)

fill_status:

Array of 4 bytes or 32 bits to store fill status of siblings. 4 bits are assigned for each sibling of the octree/ quadtree

sons:

Array of PARTIAL nodes of the octree/quadtree node

U:

Size of universe

s:

Size of the node

[x0 y0 z0]:

Point in the octree

[xq yq zq]:

Point in the quadtree

[xoffset yoffset zoffset]:

Boolen offset values of 0 or 1 used to identify the reference of any sibling

[nx ny nz]:

Normal of a face

fill_flag:

The field that stores the fill status of a node as either EMPTY, FULL or PARTIAL

prev_fill_flag:

Fill status of the parent node

ZList:

The array that stores the elevation values of the faces at any FULL node of the quadtree

Prev_ZList:

ZList of the parent node of the quadtree

References

  1. Mortenson ME (1985) Geometric modeling. Wiley, New York

    Google Scholar 

  2. Mantyla M (1988) Solid modeling. Computer Science Press, Rockville, MD

    Google Scholar 

  3. Robert JA, Sole J (1995) Constructing face octrees from voxel-based volume representations. Comput Aided Des 27(10):783–791

    Article  Google Scholar 

  4. Tiede U, Schiemann T, Karl HH (1996) Visualizing the visible human. IEEE CG&A 16(1):7–9

    Google Scholar 

  5. Roy U, Xu Y (1999) Computation of geometric model of a machined part from its NC machining program. Comput Aided Des 31(6):401–411

    Article  Google Scholar 

  6. Montani C, Scopigno R (1991) Quadtree/octree-to-boundary conversion. In: Arvo J (ed.) Graphics gems II Academic, San Diego, pp 202–218

    Google Scholar 

  7. Raghothama S, Shapiro V (2000) Consistent updates in dual representation systems. Comput Aided Des 32(8–9):463–477

    Article  Google Scholar 

  8. Karunakaran KP, Shringi R, Singh AK (2004) Virtual machining. Modern Mach Tools 1(3):62–68

    Google Scholar 

  9. Chappel IT (1983) Use of vectors to simulate material removed by NC milling. Comput Aided Des 15(3):156–158

    Article  Google Scholar 

  10. Drysdale RL, Jerard RB, Schaudt B, Hauck K(1998) Discrete simulation of NC machining. Algorithmica 4(1):33–60

    Article  MathSciNet  Google Scholar 

  11. Oliver JH, Goodman ED (1990) Direct dimensional NC verification. Comput Aided Des 22(1):3–10

    Article  Google Scholar 

  12. Andreas HK, Groeller E (1998) Real time simulation and verification of NC milling processes for inhomogeneous materials on low-end graphics hardware. Proc CGI 98, IEEE Computer Society, Hannover, Germany 22–26 June, pp 338–349

    Google Scholar 

  13. Chonglin L, Esterling DM, Josep F, Mosel E (1996) Dimensional of NC machining profiles using extended quadtrees Comput Aided Des 28(11):845–852

    Article  Google Scholar 

  14. Samet H, Webber RE (1988) Hierarchical data structures and algorithms for computer graphics: Part I fundamentals. IEEE CG&A 8(4):48–68

    Google Scholar 

  15. Doctor L, Torborg JG (1981) Display techniques for octree-encoded objects. IEEE CG&A 1(1):29–38

    Google Scholar 

  16. Carlborm I, Chakravarty I, Vanderschel D (1985) A hierarchical data structure for representing the spatial decomposition of 3D objects. IEEE CG&A 5(4):24–31

    Google Scholar 

  17. Navazo I (1989) Extended octree representation of general solids with plane faces: model structure and algorithms. Comput Graph 13(1):5–16

    Article  Google Scholar 

  18. Koistinen P, Tamminen M, Samet H (1985) Viewing solid models by bintree conversion. In: Vandoni CE (ed) Proc Eurographics 85 conf. North-Holland, pp 147–157

  19. Gargantini I (1982) Linear octree for fast processing of 3D objects. IEEE CG&IP 20(4):365–374

    Google Scholar 

  20. Sheng X, Blunck M (1991) Parallel NC simulation based on discrete solid models. Applications of transputers 3. IOS, Amsterdam, pp 798–803

    Google Scholar 

  21. Kunii TL, Satoh T, Yamaguchi K (1985) Generation of topological boundary representations from octree encoding. IEEE CG&A 5(3):29–38

    Google Scholar 

  22. Dyer CR, Rosen A, Samet H (1980) Region representation: Boundary codes from quadtrees. Comm ACM 23(3):171–179

    Article  Google Scholar 

  23. Samet H (1982) Neighbor finding in image represented by quadtrees. IEEE CG&IP 19:37–57

    Google Scholar 

  24. Montani C (1984) Region representation: Parallel connected strips. IEEE CG&IP 28:139–165

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to R. Shringi.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Karunakaran, K.P., Shringi, R. Octree-to-BRep conversion for volumetric NC simulation. Int J Adv Manuf Technol 32, 116–131 (2007). https://doi.org/10.1007/s00170-005-0310-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00170-005-0310-8

Keywords

Navigation