ladybug.solarenvelope module

Module for computing solar envelopes.

class ladybug.solarenvelope.SolarEnvelope(geometry_mesh, obstacle_faces, sun_vectors, height_limit=100, solar_rights=False)[source]

Bases: object

Calculate a Solar Envelope boundary for a given site.

Parameters:
  • geometry_mesh – A ladybug geometry Mesh3D for which a solar envelope boundary is computed.

  • obstacle_faces – A list of horizontal planar ladybug geometry Face3D indicating the tops (in the case of solar collection) or bottoms (in the case of solar rights) of context geometries. Being above a solar collection boundary ensures these top surfaces don’t block the sun vectors to ones position. Being below a solar rights boundary ensures these bottom surfaces are protected from shade.

  • sun_vectors – A list of ladybug geometry Vector3D for the sun vectors, which determine the hours of the year when sun should be accessible. These can be obtained from the ladybug.sunpath module.

  • height_limit – A positive number for the minimum distance below (for collections) or maximum distance above (for rights) the average geometry_mesh height that the envelope points can be. This is used when there are no vectors blocked for a given point. (Default: 100).

  • solar_rights – Set to True to compute a solar rights boundary and False to compute a solar collection boundary. Solar rights boundaries represent the boundary below which one can build without shading the surrounding obstacles from any of the sun_vectors. Solar collection boundaries represent the boundary above which the one will have direct solar access to all of the input sun_vectors. (Default: False).

Properties:
  • geometry_mesh

  • obstacle_faces

  • sun_vectors

  • height_limit

  • max_height

  • solar_rights

  • geometry_point2ds

  • obstacle_polygon2ds

  • sun_vector2ds

  • sun_vector2ds_reversed

envelope_mesh()[source]

Compute a Mesh3D representing the solar envelope boundary.

property base_height

Get a number for the absolute Z value of max/min acceptable height.

property geometry_mesh

Get or set a Mesh3D for the site for which a solar envelope is computed.

property geometry_point2ds

Get a list of Point2Ds for the vertices of the geometry_mesh.

property height_limit

Get or set a number for the height limit below or above the geometry_mesh.

property obstacle_faces

Get or set a tuple of Face3D for the context obstacles.

property obstacle_polygon2ds

Get a list of Polygon2Ds for the obstacle boundaries in 2D space.

property solar_rights

Get or set a boolean for whether a solar rights boundary is computed.

If True, the evelope represents the boundary below which one can build] without shading the surrounding obstacles from any of the sun_vectors. If False, the envelope represents the boundary above which the one will have direct solar access to all of the input sun_vectors.

property sun_vector2ds

Get a list of Vector2Ds for the sun vectors in 2D space.

property sun_vector2ds_reversed

Get a list of Vector2Ds for the reversed sun vectors in 2D space.

property sun_vectors

Get or set a tuple of Vector3D for the sun vectors for solar access.