roofShed operation

Syntax

  • roofShed(angle)
  • roofShed(angle, index)
  • roofShed(valueType, value)
  • roofShed(valueType, value, index)

Parameters

  1. anglefloat
    Angle of the roof-plane generation (byAngle).
  2. indexfloat
    Edge index (thus integral value) to specify the orientation of the shed roof.
  3. valueTypeselector
    { byAngle | byHeight }—Type of roof generation.
  4. valuefloat
    Angle or height of the roof-planes as specified by valueType.

Description

The roofShed operation builds a shed roof perpendicular to each face of the current shape's geometry. At edge index (default value 0), a plane is generated with a given angle or height wrt. the polygon plane.

If index is set, the roof plane is oriented to the specified edge.

Note:

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

Scope

The scope orientation is set in the following way:

  • x-axis direction is kept as much as possible (old x-axis is projected to the plane of the first face).
  • y-axis along the face normal of the first face.
  • z-axis normal to the two above.

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

Component tags

The operation automatically applies semantic component tags to the resulting face components:

"roof.bottom"

"roof.side.outer"

"roof.side.inner"

"roof.top"

Blue: original face.

Yellow: side faces.

Red: side faces from holes.

Green: roof faces.

Auto-tag roofShed

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

Related

Examples

Simple Shed Roof

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

A shed roof with roof slope 10 degrees is built on top of an extruded L-lot. The edge index is set to 3. Note the roof orientation and the setting of the pivot and scope.

Lot  --> 
   extrude(10) Mass
   
Mass --> 
   comp(f) { top : Top 
           | all : X }
		   
Top  --> 
   roofShed(10, 3) Roof
Shed roof built on L lot

After a component split, each roof face contains trim planes to cut bricks on insertion.

Roof --> 
   comp(f) { all : X }
Shed roof after comp split

Note:
There is exactly one roof face per Top shape edge.