IfcCsgSolid

Natural language names
deCSG - Festkörper
enCsg Solid
frSolid Csg
Semantic definitions at the entity
Entity definition

An IfcCsgSolid is the representation of a 3D shape using constructive solid geometry model. It is represented by a single 3D CSG primitive, or as a result of a Boolean operation. The operants of a Boolean operation can be Boolean operations themselves forming a CSG tree. The following volumes can be parts of the CSG tree: solid models, such as faceted B-Rep (IfcFacetedBrep, IfcFacetedBrepWithVoids), swept area solids (IfcExtrudedAreaSolid, IfcRevolvedAreaSolid, IfcSurfaceCurveSweptAreaSolid), swept disk solids (IfcSweptDiskSolid), half space solids (IfcHalfSpaceSolid and subtypes), and CSG primitives (subtypes of IfcCsgPrimitive3D).

NOTE  Definition according to ISO/CD 10303-42:1992
A solid represented as a CSG model is defined by a collection of so-called primitive solids, combined using regularized Boolean operations. The allowed operations are intersection, union, and difference. As a special case a CSG solid can also consists of a single CSG primitive.

A CSG solid requires two kinds of information for its complete definition: geometric and structural.
  • The geometric information is conveyed by solid models. These typically primitive volumes such as cylinders, wedges and extrusions, but can include general B-Rep models. Solid models can also be half space solids.
  • The structural information is in a tree (strictly an acyclic directed graph) of Boolean result and CSG solids, which represent a ‘recipe’ for building the solid. The terminal nodes are the geometric primitives and other solids. Every CSG solid has precisely one Boolean result associated with it which is the root of the tree that defines the solid. (There may be further Boolean results within the tree as operands). The significance of a CSG solid entity is that the solid defined by the associated tree is thus identified as a significant object itself, and in this way it is distinguished from other Boolean result entities representing intermediate results during the construction process.
NOTE  Entity adapted from csg_solid is defined in ISO 10303-42.
HISTORY  New entity in IFC1.5.1
Attribute definitions
#AttributeTypeCardinalityDescription C
1TreeRootExpressionIfcCsgSelect[1:1] Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). X
Inherited definitions from supertypes
Entity inheritance IfcSolidModel IfcGeometricRepresentationItem IfcRepresentationItem
Attribute inheritance
#AttributeTypeCardinalityDescriptionC
IfcRepresentationItem
LayerAssignmentIfcPresentationLayerAssignment
@AssignedItems
S[0:1]Assignment of the representation item to a single or multiple layer(s). The LayerAssignments can override a LayerAssignments of the IfcRepresentation it is used within the list of Items. X
StyledByItemIfcStyledItem
@Item
S[0:1]Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve. X
IfcGeometricRepresentationItem
IfcSolidModel
Dim
:=3
IfcDimensionCount[1:1]The space dimensionality of this class, it is always 3. X
IfcCsgSolid
1TreeRootExpressionIfcCsgSelect[1:1] Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). X
Examples
Formal representations
XSD Specification
 <xs:element name="IfcCsgSolid" type="ifc:IfcCsgSolid" substitutionGroup="ifc:IfcSolidModel" nillable="true"/>
 <xs:complexType name="IfcCsgSolid">
  <xs:complexContent>
   <xs:extension base="ifc:IfcSolidModel">
    <xs:sequence>
     <xs:element name="TreeRootExpression">
      <xs:complexType>
       <xs:group ref="ifc:IfcCsgSelect"/>
      </xs:complexType>
     </xs:element>
    </xs:sequence>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
EXPRESS Specification
ENTITY IfcCsgSolid
 SUBTYPE OF (IfcSolidModel);
  TreeRootExpression : IfcCsgSelect;
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

Link to this page  Link to this page