envelope operation

Synopsis

  • envelope (direction, maxHeight, frontBaseHeight, frontAngle)
  • envelope (direction, maxHeight, frontBaseHeight, frontAngle, backBaseHeight, backAngle)
  • envelope (direction, maxHeight, frontBaseHeight, frontAngle, backBaseHeight, backAngle, sideBaseHeight, sideAngle)
  • envelope (direction, maxHeight, frontBaseHeight, frontAngle, backBaseHeight, backAngle, sideBaseHeight, sideAngle, leftBaseHeight, leftAngle)

Parameters

  1. directionselstring
    { normal | world.up }—direction along which the envelope is erected.
  2. maxHeightfloat
    Maximum height of the envelope in meters. If this height is reached, the volume is cut and sealed horizontally.
  3. frontBaseHeightfloat
    Base height of the front sides in meters.
  4. frontAnglefloat
    Slope angle of front sides in degrees.
  5. backBaseHeightfloat
    Base height of the back sides in meters.
  6. backAnglefloat
    Slope angle of back sides in degrees.
  7. sideBaseHeightfloat
    Base height of both the right and left sides in meters.
  8. sideAnglefloat
    Slope angle of both the right and left sides in degrees.
  9. rightBaseHeightfloat
    Base height of the right sides in meters.
  10. rightAnglefloat
    Slope angle of right sides in degrees.
  11. leftBaseHeightfloat
    Base height of the left sides in meters.
  12. leftAnglefloat
    Slope angle of the left sides in degrees.

Description

The envelope operation creates a building envelope above each face of the current shape's geometry. Each edge of the face is classified according to the street.front, street.back, street.right, street.left, street.side selectors. Sides with the according baseHeights are then built perpendicular to the face. Finally, sloped planes are added at the top of each side, with the according slope angle. Evaluation of the street.xxx selectors is based on the streetWidth attribute, see Auto-generated street width attributes. If the attribute is not available, component selection falls back to the object.xxx selectors.

Here are basic envelope() operation parameters. The baseHeight and angle parameters of the other sides are analogue.

Basic operation parameters

The street.front, street.back, street.right, street.left, street.side selectors are applied on a lot of a block (with auto-generated streetWidth attributes).

Street selectors applied on a lot

Related

Examples

Street-facing slope

The example code above creates a building envelope with a slope of 30 degrees facing the street-side. Eave height is 15 meters. Before creating the envelope, a front yard of 10 meters is split from the lot using the setback operation in conjunction with the street.front selector.

Lot-->
   setback(10) { street.front : color(0,1,0) 
                                FrontYard 
               | remainder    : Building }	              

Building-->
    envelope(normal, 50, 15, 30)
Street-facing slope

In this topic