From Volume to Surface with the Component Split

A typical approach is to decompose an architectural design into geometric components. In the CGA shape grammar, the component split permits breaking down shapes into shapes of lesser dimensions. The operation

comp(comp-selector) { selector : operations | selector : operations ... }

splits a predecessor shape, based on its geometry, into its components and executes a set of operations on each component. The parametercomp-selector identifies the type of the component to split; it can be eitherf for faces,e for edges orv for vertices. Theselector parameters define the selection of components. As a basic example, the rule

 A--> comp(f){ all: B }

creates a new shape B for each face of shape A's geometry. Similarly we use comp(e){ all: B } and comp(v){ all: B } to split into edges and vertices respectively.

To access only selected components, we use operation calls such as comp(f){ 3 : B } to create a shape consisting of the original shape's third face. Such calls are not very generic and require the user to be aware of the topology of the predecessor shape's geometry. Therefore, as an alternative, we use semantic selection keywords:

 Building --> comp(f){ side : Facade }

selects only the vertical side faces of Building's geometry and creates the new facade shapes accordingly. To accomplish this, the rule interpreter analyzes the spatial properties of the geometry components. The following semantic selection keywords are available:

Examples


Facade selection a
Let us split the mass model of a building into the main facade and a number of side facades.
Note the orientation of the pivot (the annotated axes).


Facade selection b
Building-->	
   comp(f) { 
      front : color("#ff0000") Main | 
      side  : color("#0000ff") Side 
   }

Facade selection c
Each face is now the geometry of a new shape; the new shapes' scopes and pivots depend on the faces' orientation. The x-axis points along the first edge and the z-axis points along the face normal. The scope's z-dimension is zero.

In the example above, a mass model is divided into front and side facades (Main and Side shapes). Typically, the facades are then sudivided further into floors. Each of the new Main and Side shapes has its pivot and scope positioned and oriented such that the facade rules can be written conveniently.

Another important feature of the component split are trim planes. Refer to the CGA shape grammar reference for more information.

 

 

 

 

Copyright ©2008-2016 Esri R&D Center Zurich. All rights reserved.