honeybee_ph_utils.face_tools module

Tools for working with Honeybee.face.Face objects.

honeybee_ph_utils.face_tools.find_connected_HB_Faces(_hb_faces: List[Face], _tolerance: float) List[List[Face]][source]

Finds ‘connected’ HB-Faces.

Parameters:
  • Shade] (_hb_faces List[Face |) – A list of Honeybee face or shades to search for connected components.

  • _tolerance – A tolerance value for determining whether two faces are touching.

Returns:

A list of lists, where each inner list contains a connected component of touching faces.

honeybee_ph_utils.face_tools.group_hb_faces(_hb_faces: Sequence[T], _tolerance: float, _angle_tolerance_degrees: float) List[List[T]][source]

Sort HB-Faces into groups of similar, planar, connected faces.

Parameters:
  • _hb_faces – (List[Face | Shade]) A list of HB-Faces to sort.

  • _tolerance – (Model units) The tolerance value for co-planarity test, in model units.

  • _angle_tolerance_degrees – (Degrees) The tolerance for co-planarity, in degrees.

Returns:

(List[List[Face | Shade]]) A list of lists of HB-Faces that are similar, planar, and connected.

honeybee_ph_utils.face_tools.hb_faces_are_touching(_face_2: Face, _face_1: Face, _tolerance: float) bool[source]

Return True if the faces are ‘touching’ one another within the tolerance.

honeybee_ph_utils.face_tools.points_are_coincident(_pt1: Point3D, _pt2: Point3D, _tolerance: float) bool[source]

Return True if two Point3D objects are coincident within the tolerance.

honeybee_ph_utils.face_tools.sort_hb_faces_by_co_planar(_faces: List[T], _tolerance: float, _angle_tolerance_radians: float) List[List[T]][source]

Group HB-Faces with their co-planar neighbors. :param _faces: (List[Face | Shade]) A list of HB-Faces to sort. :param _tolerance: (Model units) The tolerance value for co-planarity test, in model units. :param _angle_tolerance: (Radians) The tolerance for co-planarity, in radians.

Returns:

(List[List[Face | Shade]]) A list of lists of HB-Faces that are co-planar.

honeybee_ph_utils.face_tools.sort_hb_faces_by_type(_faces: Sequence[T]) List[List[T]][source]

Group HB-Faces by their type.