roofPyramid operation



roofPyramid(valueType, value)



The roofPyramid operation builds a pyramid roof perpendicular to each face of the current shape's geometry. The polygon center (average of all vertices) gets extruded along the face normal by the given height and connected to all polygon vertices. The new triangles are the roof faces. If an angle is given the height is chosen such that the angle between roof triangle 1 and the polygon is as specified.

The connectivity of the roof mesh is optimized for trim plane generation to cut bricks inserted into the roof planes (see examples below).


The scope orientation is set in the following way:

The scope's sizes are adjusted to tighly fit the extruded geometry.

Component tags

The operation automatically applies semantic component tags to the resulting face components:
"roof.bottom"Blue: original face.
""Green: roof faces.

For more information on working with component tags, refer to:



Simple Pyramid Roof

A basic pyramid roof is generated on top of an extruded L-lot.

Lot  --> extrude(10) Mass
Mass --> comp(f) { top: Top | all: X }
Top  --> roofPyramid(30) Roof
A pyramid roof with roof slope 30 degrees is built on top of an extruded lot. Note the setting of the pivot and scope.

Roof --> comp(f) { all : X }
After a component split, each roof face contains trim planes to cut bricks on insertion.

There is exactly one roof face perTop shape edge.

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