Technology & Engineering
Constructive Solid Geometry
Constructive Solid Geometry (CSG) is a modeling technique used in computer-aided design (CAD) that involves combining simple geometric shapes to create more complex shapes. It allows designers to create complex 3D models by adding, subtracting, or intersecting basic shapes such as cubes, cylinders, and spheres. CSG is widely used in various industries, including architecture, engineering, and manufacturing.
Written by Perlego with AI-assistance
Related key terms
1 of 5
9 Key excerpts on "Constructive Solid Geometry"
- eBook - ePub
Engineering Informatics
Fundamentals of Computer-Aided Engineering
- Benny Raphael, Ian F. C. Smith(Authors)
- 2013(Publication Date)
- Wiley(Publisher)
- Efficient algorithms exist for storing and processing quadtrees and octrees. For example, Boolean set operations are straightforward.
11.4.6 Constructive Solid Geometry (CSG)
CSG refers to the creation of complex solid geometries by combining primitives such as boxes, tetrahedrons and pyramids. The process of combination involves Boolean set operations, for example, union (addition), difference (subtraction) and intersection. If the input objects are valid solids, these operations result in objects that are also valid. An example of an invalid solid is one that contains ‘dangling’ boundary points, lines or faces.Figure 11.23 illustrates Boolean operations used in CSG. Through the repeated application of these operators, complex solids are created. CSG operations are usually represented by a tree structure in which the history of generation of the solid is stored. The leaf nodes of the tree are primitives such as boxes, tetrahedrons, and pyramids. Intermediate nodes are Boolean set operators or geometric transformation operations such as translation and rotation. Figure 11.24 contains an example of an object created using a CSG tree.Figure 11.23Illustration of Boolean operationsThe CSG representation is unambiguous but not unique. Each CSG representation models exactly one object; however, an object might have multiple CSG representations.Figure 11.24(a) A CSG tree and (b) the result of the CSG operationsCertain tasks, such as detecting whether a point lies inside or outside a solid, are carried out easily using CSG. However, visualization requires deriving a boundary representation from a CSG model. This operation is called boundary evaluation. The CSG primitives have to be converted into boundary models and then these models have to be combined using the Boolean set operations. This is a complex process.CSG is a non-intuitive method of defining geometry. Normally, we define an object as a sum (aggregation) of its parts, and many data representations we have examined in chapters 3 and 4 are based on this idea. In CSG, we also define an object in terms of the parts that are missing through the subtraction and intersection operators. Many common shapes such as rounded rectangles are easily defined through these operators. Therefore, most visualization and modelling software support CSG operations. These methods are sometimes called solid operations. - Ronald Goldman(Author)
- 2009(Publication Date)
- CRC Press(Publisher)
20.2 Constructive Solid Geometry (CSG) In Constructive Solid Geometry, we begin with a small collection of simple primitive solids — boxes, spheres, cylinders, cones, and tori (see Figure 20.1) — and we build up more complicated solids by applying boolean operations — union, intersection, and difference (see Figures 20.2 and 20.3) — to these primitive solids. For example, if we want to drill some holes in a block, then we can model this solid by subtracting a few cylinders from a box (see Figure 20.3). Solids are stored in binary trees called CSG trees . The leaves of a CSG tree store primitive solids; the interior nodes store either boolean operations or nonsingular transformations. Nodes storing boolean operations have two children; nodes storing transformations have only one child. Boolean 309 operations allow us to build up more complicated solids from primitive solids. Transformations allow us to reposition the solid from a canonical location to an arbitrary location or to rescale the solid from a symmetric shape to a more general shape. Each node of a CSG tree de fi nes a solid. The solid de fi ned by a leaf node is the primitive solid stored in the leaf. The solids at interior nodes are de fi ned recursively. If the interior node stores a transformation, then the solid corresponding to the node is the solid generated by applying the transformation in the node to the solid stored by the node ’ s child. If the interior node stores a boolean operation, then the solid corresponding to the node is the solid generated by applying the boolean operation in the node to the solids stored in the node ’ s two children. The solid corresponding to the root of the tree is the solid represented by the CSG tree (see Figures 20.2 and 20.3). FIGURE 20.1: (See color insert following page 354.) Primitives for a solid modeling system: a box, a sphere, a cylinder, a cone, and a torus.- eBook - PDF
- Marwan Ansari(Author)
- 2016(Publication Date)
- A K Peters/CRC Press(Publisher)
8 Real-Time Constructive Solid Geometry Sander van Rossen and Matthew Baranowski 8.1 Introduction We present a content generation tool that allows users to specify and manipu-late complex volumetric building blocks that are combined by a Constructive Solid Geometry (CSG) algorithm to produce final optimized geometry ready for use in games. Instead of manipulating individual triangles in a final mesh, using this method, the user can interactively edit volumetric objects such as windows, walls and doors while the system takes care of generating a watertight mesh interactively (see Figure 8.1). This method can be used in an editor to enable faster iterative development of game environments. It can also be used to generate well-behaved meshes from user-generated content in a game. Figure 8.1. Moving a window on a wall interactively. (See Color Plate IV.) 79 80 II Buildable Tools Constructive Solid Geometry is a well-researched algorithm for generating com-plex 3D geometry through the composition of solid volumes using Boolean operators such as union, difference, and intersection. For the purposes of real-time games, we are interested in the outer boundary representation of the resulting CSG volume in the form of a triangle mesh optimized for GPU rendering. Our contribution is to present an algorithm that is incremental, can run at interactive rates, and produces well-behaved meshes with optimized triangulation. This technique has been effectively used in the Id Tech engines, the Source En-gine from Valve, and the Unreal Engines from Epic. These engines implemented CSG calculations with the aid of a BSP-tree data structure. This method is de-scribed in [Schneider 03]. The BSP tree was also used to accelerate visibility deter-mination when these engines initially used software rasterization and, as a result, generated many more triangle fragments than would otherwise be necessary. - eBook - ePub
- Csaba D. Toth, Joseph O'Rourke, Jacob E. Goodman, Csaba D. Toth, Joseph O'Rourke, Jacob E. Goodman(Authors)
- 2017(Publication Date)
- Chapman and Hall/CRC(Publisher)
Chapter 56 , as well as the monographs and surveys [Far88,HL93,Hos92].57.1.1 Constructive Solid Geometry
GLOSSARY- Primitive solids:Traditionally: block, sphere, cylinder, cone, and torus. More general primitives are possible.
- Sweep:Volume covered by moving a solid or a closed contour in space.
- Extrusion:Sweep along a straight line segment.
- Revolution:Circular sweep.
- Regularized Boolean operation:The closure of the interior of a set-theoretic union, intersection, or difference.
- Algebraic halfspace:Points such thatwhere f is an irreducible polynomial.f ( x , y , z ) ≤ 0
- Irreducible polynomial:Polynomial that cannot be factored over the complex numbers.
Constructive Solid Geometry is a special case because it is not only a particular representation of solid shapes, but is also a methodology for composing primitive solids to represent complex solid shapes. Visual representation of a CSG solid, moreover, soon was done converting the CSG representation into boundary representation for faster rendering. In this section, we restrict to the representational aspect of CSG.Classical Constructive Solid Geometry (CSG) represents a solid as a set-the-oretic Boolean expression of primitive solid objects, of a simpler structure [RV77]. The traditional CSG primitives are block, sphere, cylinder, cone, and torus. The traditional operations are regularized union, intersection, and difference. A regularized set operation is obtained by taking the closure of the interior of the set-theoretic result.Each solid has a default coordinate system that can be changed with a rigid body transformation. A Boolean operation identifies the two coordinate systems of the solids to be combined and makes it the default coordinate system of the resulting solid. - eBook - ePub
Manufacturing
Design, Production, Automation, and Integration
- Beno Benhabib(Author)
- 2003(Publication Date)
- CRC Press(Publisher)
Primitive instancing refers to the scaling of simple geometrical models (primitives) by manipulating one or more of their descriptive parameters, for example, elongating a cylinder, changing the dimensions of a rectangular prism, etc. As will be discussed below in Sec. 4.4, geometric primitives can play an integral role in feature-based design, where a set of (form) features are combined to generate a more complex model. It will also be shown that such primitives can be combined through Boolean operators for Constructive Solid Geometry modeling.Due to their simplicity, most geometric primitives can be generated by a sweeping (“extrusion”) process, where a surface is either translated along spatial curve or rotated about it (Fig. 8 ). (The designer must be careful that the end result is a valid solid.) In most cases, solid geometric models generated by a sweeping operation can be converted to construction and boundary representation models.FIGURE 8 Sweeping of surfaces.4.3.2 Constructive Solid Geometry
Constructive Solid Geometry (CSG) modelers allow designers to combine a set of primitives through Boolean operations. In the background (transparent to the user), these modelers represent and store the primitives as “half-space” models—these are simple geometric models comprising point sets bounded by a surface, i.e., points in threedimensional space are defined as belonging to the half-space or being excluded. (An example half-space model would be that bounded by a cylindrical surface extending to infinity—points thus would be on and within the volume enveloped by the surface or be on the outside.) There do exist some CAD systems, however, that allow designers to work with bounded primitives, which are indeed a collection of patched half spaces themselves.CSG-based solid models are represented as tree (or graph) structures. The leaves of the graph are the primitives, while the nodes that connect the branches are the Boolean operations applied on the individual (leaves) primitives (Fig. 9 - eBook - ePub
- G. Farin, J. Hoschek, M.-S. Kim(Authors)
- 2002(Publication Date)
- North Holland(Publisher)
85 ]. By design, the use of CSG is limited by availability of solid primitives and by the necessity to represent and maintain the neighborhood information for points on primitives and their combinations. The latter task is particularly non-trivial for points with non-manifold neighborhoods and/or lying on high-degree tangent surfaces. Complete solutions have been worked out for solids bounded by planar and second degree surfaces, with only limited results available for more complex solids. The attractive properties of CSG include conciseness, guaranteed validity (by definition), computationally convenient Boolean algebraic properties, and natural control of the solid’s shape in terms of high-level parameters defining the solid primitives and their positions and orientations. The relatively simple data structures and the elegant recursive algorithms further contributed to the popularity of CSG in academia and early commercial systems.Other constructive representations
In principle, many other constructions may be added to the lexicon of implicit representations, notably offsetting [94 ], blending [133 ], convolutions [10 ], and other skeletal-based representations, Minkowski operations [25 ],[61 ], and sweeping [37 ],[115 ]. Such constructions have numerous applications in mechanical design, analysis, and planning tasks; they also flourished in computer graphics [113 ] where computational time and guarantee of correctness are often deemed less important than the visually pleasing results. But while such formal definitions are sometimes straightforward, they do not always guarantee the solidity of the result and do not always support a clear point membership query - which came to be regarded as a formal test for any unambiguous representation. The most popular of these constructions is the sweep representation shown in Figure 20.6 (considered a distinct representation scheme in [80 ]), defined for a given set X and continuous motionM (t ) by the infinite union operation:Figure 20.6 Sweep(S,M) is a constructive representation for a set of points occupied by S under motion M; a point membership procedure inverts the construction.(20.7)whereXqdenotes set X positioned at the configuration q. In other words, sweep (X, M ) is the set of all points swept (or occupied) by X at some time during the motion. Sweeps are relatively well understood [2 ] and are useful for variety of representational tasks: computing space occupied by a moving object, material removed by a moving cutter, extrusion of a planar cross-section along one-dimensional path, and so on. The point membership test for sweep follows naturally from the studies of the dual infinite intersection operation and also inverts the construction: p ∈ sweep (S, M ) if and only if the inverted trajectory of the point sweep (p, M −1 ) intersects the original solid S [39 ] (see Figure 20.6 - eBook - ePub
Advances in Concurrent Engineering
CE00 Proceedings
- Biren Prasad(Author)
- 2023(Publication Date)
- CRC Press(Publisher)
1.1.3 Solid Models: Although these use the most computer resources an object is fully understood by both the user and the software. This is because the enclosed space between surfaces (the volume) is known. Therefore a model is represented in terms of its real-life spatial integrity so that physical properties such as mass can be assigned to enable further analysis.For further detail on types of 3D CAD see Nottage, J. 1994 [2 ].1.2. Different CASM Techniques
Solid Modelling is the most recent and by far the most powerful of the above techniques. However, there are various types of CASM packages that employ different representation methods and techniques. These are discussed below.Figure 1. Solid Model under FEA forces1.2.1 Constructive Solid Geometry (CSG): CSG represents a solid model through the use of progressively simple 3D shapes. These are used in combination to form the finished, more complex shape. The simplest of these shapes are called primitives and typically include cylinders, cones, spheres and boxes among others. Primitives are combined with each other through the Boolean operations described below:- Union: Joins two or more shapes together at the area where they intersect.
- Difference: Takes one solid primitive away from the other and keeps the remaining shape.
- Intersection: Keeps only the area of the primitives that intersect.
CSG representations store the solid primitives together with the ‘Boolean set operations’ in a ‘binary tree’. The root node represents the finished object and other nodes represent an intermediate solid, which is in combination of primitives and intermediate solids lower in the tree. The initial primitives are therefore represented in the leaves of the CSG tree. This is a very efficient method or storage, as it gives an historical account of how the final solid was created. Therefore, accessing and altering the model is relatively easy.- 1.2.2 Boundary Representation (B-Rep):
- eBook - PDF
- Zhuming Bi, Xiaoqin Wang(Authors)
- 2020(Publication Date)
- Wiley-ASME Press Series(Publisher)
35 Part I Computer Aided Design (CAD) 37 2 Computer Aided Geometric Modelling 2.1 Introduction Any matter for an object in the world exists in one of four distinct states, i.e. solid, liquid, gas, and plasma. The solid state is a common state for the majority of products around us. To investigate the behaviours of solids, it is necessary to know its geometry and shape. Similarly, to investigate the behaviours of fluid, gas, or plasma in a certain volume, the geometry and shape of boundary surfaces of a fine volume is also needed to be defined. For centuries, geometry has played its crucial role in the development of many scientific and engineering disciplines such as astronomy, geodesy, mechanics, ballistics, civil and mechanical engineering, ship building, and architecture. The importance of the study on geometry has been shown in this century in automobile and aircraft manufacturing. Since geometry is primarily visual, geometry becomes a unique and particularly exciting branch of mathematics. Geometry became a branch of mathematics at the end of the nineteenth century; however, great designs in the history were always inspired by observation and intuition on geometric shapes (Gallier 2008). Geometric modelling is a branch of applied mathematics and computational geometry; it studies the methods and the algorithms for the mathematical representation of geometries and shapes. Geometric modelling serves for the visualization of objects and lays the foundation for computer graphics, which is the construction of models of scenes from the physical world and their visualization as images. Geometric modelling is as important to computer aided technologies as the governing equilibrium equations are to classical engineering fields such as mechanics and thermal fluids. As shown in Figure 2.1, the design of a part, product, or system usually begins with geometric modelling, so that the physical objects to be designed can be represented virtually in computers. - eBook - PDF
- George Zobrist, C Y Ho(Authors)
- 2000(Publication Date)
- CRC Press(Publisher)
CSG schemes are unambiguous but clearly not unique; different CSG trees may describe the same object. The domain of a CSG scheme depends on the set of primitive solids and on the transformation and Boolean operators available. If the primitives of a CSG scheme are bounded, then any CSG tree is a valid representation if the primitive leaves are valid. This means that the validity of a CSG tree can be checked at a purely syntactical level. CSG trees based on halfspaces may represent unbounded sets and thus be invalid: checking if a set is bounded can be a computationally expensive process [43]. In principle, CSG schemes are concise but, in practice, the storage costs tend to grow because additional information for making graphical operations efficient is attached to the model. The main disadvantages of CSG schemes are the difficulties in the generation of images with hidden lines removed, and in computing integral properties directly from the model. For visualization, it is necessary to perform a boundary evaluation of the object from its CSG representation that consists of performing Boolean operations by traversing the CSG tree. Some geometric modelers based on CSG (for instance, PADL2) perform an incremental boundary evaluation by updating the boundary description after each change in the CSG tree. On the other hand, there exist efficient algorithms for rendering CSG models by ray tracing (see [47]). The approximate evaluation of integral properties of CSG representations is usually based on conversion algorithms that implicitly con-struct a decomposition model approximating the object [36, 37]. Wyvill and Kunii [73] propose a variant of the CSG tree (with bounded prim-itives) that we call a CSG-DAG. This scheme describes an object as the combina- REPRESENTATION AND CONVERSION ISSUES IN SOLID MODELING 387 u tion of previously defined objects, or primitive objects (e.g., cylinders, blocks). The Boolean operations allowed are set addition and set subtraction.
Index pages curate the most relevant extracts from our library of academic textbooks. They’ve been created using an in-house natural language model (NLM), each adding context and meaning to key research topics.








