Skip to main content
Log in

Creation and boundary evaluation of CSG-models

  • Published:
Engineering with Computers Aims and scope Submit manuscript

Abstract

This paper deals with one particular type of solid model representation. Constructive solid geometry (CSG) describes solids in terms of primitive shapes combined by Boolean operators. The goal of this paper is to present an algorithm suitable for the visualization of a given CSG-object for verification purposes. To accomplish this, the CSG representation is to be converted into a polygonal boundary representation (B-Rep), which allows the easy display of the solid's visible edges and surfaces. An algorithm performing this conversion is called a “boundary evaluator.” This paper describes the fundamental concepts leading to this new algorithm and presents some examples.

The boundary evaluator described here follows the following steps: (1) A polygonal mesh is created that covers the primitive shapes. (2) Interfering polygons are repertedly subdivided until the resulting mesh contains the intersection curves between the primitives. (3) The location and validity of all polygons must be determined since only valid polygons reflect the solid's final shape. (4) Adjoining coplanar polygons are collected and merged by deleting their common edges. The final result of this procedure is a consistent, nonredundant polygon mesh describing the given solid model. Now the object may be displayed by simple perspective plots, by isometric projections, by hidden line drawings, or through the use of hidden surface removal techniques as color-shaded pictures. The algorithm presented here has been successfully used to create a variety of renderings of various CSG-models. The interpretation, display, and validation of computer-generated CSG models is essential for the successful use of such models in the engineering design process.

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

References

  1. Requicha, A.A.G. (1977) Mathematical Models of Rigid Solid Objects. Technical Memorandum 28, Production Automation Project, University of Rochester, NY

    Google Scholar 

  2. Requicha, A.A.G.; Voelcker, H.B. (1977) Constructive Solid Geometry. Technical Memorandum 25, Production Automation Project, University of Rochester, NY

    Google Scholar 

  3. Boyse, F.W.; Gilchrist, F.E. (1982) GMSolid: Interactive modeling for design and analysis of solids.” IEEE Comput. Graph. Appl. 2(2), 27–40

    Google Scholar 

  4. Samet, H.; Tamminen, M. (1983) Bintrees, CSG-trees, and time. ACM Siggraph 19(3), 121–130

    Google Scholar 

  5. Yamaguchi, F.; Tokieda, T. (1985) Bridge edge and triangulation approach in solid modeling. In: Frontiers in Computer Graphics (Ed. T.L. Kunii). Proceedings of Computer Graphics Tokyo 1984. New York: Springer-Verlag, pp. 44ff

    Google Scholar 

  6. Chiyokura, H.; Kimura, F. (1985) A representation of solid design process using basic operations. In: Frontiers in Computer Graphics. (T.L. Kunii). Proceedings of Computer Graphics Tokyo 1984. New York: Springer-Verlag, pp. 26–43.

    Google Scholar 

  7. Mortenson, M.E. (1985) Geometric Modeling. New York: John Wiley & Sons

    Google Scholar 

  8. Casale, M.S. (1987) Free form solid modeling with trimmed surface patches. IEEE Comput. Graph. Appl. 7(1), 33–43

    Google Scholar 

  9. Requicha, A.A.G.; Voelcker, H.B. (1980) Mathematical Foundations of Constructive Solid Geometry: General Topology of Closed Regular Sets. Production Automation Project, Technical Memorandum TM-27a, University of Rochester, NY

    Google Scholar 

  10. Requicha, A.A.G.; Voelcker, H.B. (1977) Geometric modeling of mechanical parts and processes. Computer 10(2), 48–57.

    Google Scholar 

  11. Requicha, A.A.G., Voelcker, H.B. (1985) Boolean operations in solid modeling: Boundary evaluation and merging algorithms. Proceedings of the IEEE 73(1), 30–43

    Google Scholar 

  12. Requicha, A.A.G. (1980) Representations of rigid solids: Theory, methods, and systems. Comput. Surv. 12(4), 437–464

    Google Scholar 

  13. Tilove, R.B. (1980) Set membership classification: A unified approach to geometric intersection problems. IEEE Trans. Comput. C-29(10), 874–883

    Google Scholar 

  14. Messues, A.M.; Taylor, G.Q.; Price, C.F. (1974) Interdisciplinary computer analyses of three dimensional solids defined by polyhedral surfaces. J. Spacecraft Rockets 11(1), 52–54

    Google Scholar 

  15. Requicha, A.A.G.; Voelcker, H.B. (1982) Solid modeling: A historical summary and contemporary assessment. IEEE Comput. Graph. Appl. 2(2), 9–24

    Google Scholar 

  16. Lee, Y.T.; Requicha, A.A.G. (1982) Algorithms for computing the volume and other integral properties of solids. II. A family of algorithms based on representation conversion and cellular approximation. Commun. ACM 25(9), 642–650

    Google Scholar 

  17. Sarraga, R.F. (1982) Computation of surface areas in GMSolid. IEEE Comput. Graph. Appl. 2(7), 65–70

    Google Scholar 

  18. Armstrong, G.T.; Carey, G.C.; de Pennington, A. (1984) Numerical code generation from a geometric modeling system. In: Solid Modeling by Computers: From Theory to Application (Eds. M.S. Picket; F.W. Boyse). New York: Plenum Press

    Google Scholar 

  19. Lee, Y.C., Fu, K.S. (1987) Machine understanding of CSG: Extraction and unification of manufacturing features. IEEE Comput. Graph. Appl. 7(1), 20–32

    Google Scholar 

  20. Roth, S.D. (1980) Ray-casting as a Method for Solid Modelling. Research Publication GMR-3466, Computer Science Dept. General Motors Research Laboratories, Warren, MI

    Google Scholar 

  21. Roth, S. (1982) Ray-casting for modeling Solids. Comput. Graph. Image Process. 18(2), 109–144

    Google Scholar 

  22. Vince, F. (1985) Computer Graphics for Graphic Design. London: Frances Pinter

    Google Scholar 

  23. Gervautz, M. (1986) Three improvements of the ray tracing algorithm for CSG trees. Comput. Graph. 10(4), 333–339

    Google Scholar 

  24. Maruyama, K. (1972) A procedure to determine intersections between polyhedral objects. Int. J. Comput. Inform. Sci. 1(3), 255–266

    Google Scholar 

  25. Braid, IC (1975) The synthesis of solids bounded by many faces. Commun. ACM 18(4), 209–216

    Google Scholar 

  26. Laidlaw, D.H., Trumbone, W.B., Hughes, J.F.: (1986) Constructive solid geometry for polyhedral objects. ACM Siggraph 20(4), 161–170

    Google Scholar 

  27. Ponce, J., Faugeras, O. (1987) An object centered hierarchical representation for 3D-objects: The prism tree. Comput. Vision Graph. Jurage Process, 38(1), 1–28

    Google Scholar 

  28. Foley, J.D.; Van Dam A. (1982) Fundamentals of Interactive Computer Graphics, Menlo Park, CA: Addison-Wesley Publishing, pp. 505–511

    Google Scholar 

  29. Pilz, M. (1986) Graphical Representation of Complex Solids by Using a Polygon Mesh Method in a Solid Modeling System Based on Constructive Solid Geometry. Thesis, University of Arizona, Tucson, University of Stuttgart, West Germany

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Pilz, M., Kamel, H.A. Creation and boundary evaluation of CSG-models. Engineering with Computers 5, 105–118 (1989). https://doi.org/10.1007/BF01199073

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01199073

Keywords

Navigation