Utilities to determine the path of light taken through interior spaces of a model.
light_path_from_room(model, room_identifier, static_name='__static_apertures__')¶
Get the dynamic aperture groups that need to be simulated for a room in a model.
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__’).
A list of lists where each sub-list contains the identifiers of the aperture groups through which light is passing
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.apertures_by_ratio(0.4, 0.01) # east interior window room1.apertures_by_ratio(0.4, 0.01) # outdoor south window south_ap1 = room1.apertures south_ap1.properties.radiance.dynamic_group_identifier = 'SouthWindow1' room2 = Room.from_box('Tiny_House_Room2', 5, 10, 3, origin=Point3D(5, 0, 0)) room2.apertures_by_ratio(0.4, 0.01) # west interior window room2.apertures_by_ratio(0.4, 0.01) # outdoor north window north_ap2 = room2.apertures 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']]