honeybee_radiance.lightpath module¶
Utilities to determine the path of light taken through interior spaces of a model.
- honeybee_radiance.lightpath.light_path_from_room(model, room_identifier, static_name='__static_apertures__')[source]¶
Get the dynamic aperture groups that need to be simulated for a room in a model.
- Parameters:
model – A honeybee Model object which will be used to identify the aperture groups that are needed to simulate a single room.
room_identifier – Text string for the identifier of the Room in the model for which the light path will be computed.
static_name – An optional name to be used to refer to static apertures found within the model. (Default: ‘__static_apertures__’).
- Returns:
A list of lists where each sub-list contains the identifiers of the aperture groups through which light is passing
Usage:
from honeybee_radiance.lightpath import light_path_from_room from honeybee.room import Room from honeybee.model import Model from ladybug_geometry.geometry3d.pointvector import Point3D room1 = Room.from_box('Tiny_House_Room1', 5, 10, 3) room1[2].apertures_by_ratio(0.4, 0.01) # east interior window room1[3].apertures_by_ratio(0.4, 0.01) # outdoor south window south_ap1 = room1[3].apertures[0] south_ap1.properties.radiance.dynamic_group_identifier = 'SouthWindow1' room2 = Room.from_box('Tiny_House_Room2', 5, 10, 3, origin=Point3D(5, 0, 0)) room2[4].apertures_by_ratio(0.4, 0.01) # west interior window room2[1].apertures_by_ratio(0.4, 0.01) # outdoor north window north_ap2 = room2[1].apertures[0] north_ap2.properties.radiance.dynamic_group_identifier = 'NorthWindow2' Room.solve_adjacency([room1, room2], 0.01) model = Model('TinyHouse', [room1, room2]) print(light_path_from_room(model, room1.identifier)) >> [['SouthWindow1'], ['__static_apertures__', 'NorthWindow2']]