honeybee_ph.properties.room module

HB-Room Passive House (PH) Properties.

class honeybee_ph.properties.room.PhSpecificHeatCapacity(_value: str | int = 1)[source]

Bases: CustomEnum

ToString()
classmethod from_dict(_dict: dict[str, Any]) CustomEnum
to_dict() dict[str, Any]
allowed: list[str] = ['1-LIGHTWEIGHT', '2-MIXED', '3-MASSIVE', '4', '5', '6-USER_DEFINED']
property allowed_upper: list[str]
property number: int

Returns the index pos of self.value (usually 1-based)

property value: str
class honeybee_ph.properties.room.RoomPhProperties(_host: Room | None)[source]

Bases: object

ToString()[source]
add_foundation(_ph_foundation: PhFoundation) None[source]
add_new_space(_new_space: Space) None[source]

Adds a new PH-Space to the RoomProperties collection.

apply_properties_from_dict(room_prop_dict: Dict[str, Any], bldg_segments: Dict[str, BldgSegment]) None[source]

Apply properties from a RoomPhPropertiesAbridged dictionary.

Arguments:

  • room_prop_dict (dict): A RoomPhPropertiesAbridged dictionary loaded from

    the room object itself. Unabridged. In Abridged form, this dict will just include the ‘ph_bldg_segment_id’ reference instead of the the entire properties data dict.

  • bldg_segments (dict[str: BldgSegment]): A dict of the BldgSegment

    objects found at the Model level. Segment-id is used as the key.

Returns:

  • None

duplicate(new_host: Any | None = None, include_spaces: bool = True) RoomPhProperties[source]
classmethod from_dict(_input_dict: Dict[str, Any], host: Any) RoomPhProperties[source]
merge_new_space(_new_space: Space) None[source]

Try and merge a new Space with the existing Space.

If there is no existing Space, will set this as the Room’s Space.

move(moving_vec3D: Vector3D) None[source]

Move the RoomPhProperties and its Volumes along a vector.

Parameters:

moving_vec3D – A Vector3D with the direction and distance to move the ray.

reflect(plane: Plane) None[source]

Reflected the RoomPhProperties and its Volumes across a plane with the input normal vector and origin_pt3D.

Parameters:

plane – A Plane representing the plane across which the object will be reflected.

rotate(axis_vec3D: Vector3D, angle_degrees: float, origin_pt3D: Point3D) None[source]

Rotate the RoomPhProperties and its Volumes by a certain angle around an axis_vec3D and origin_pt3D.

Right hand rule applies: If axis_vec3D has a positive orientation, rotation will be clockwise. If axis_vec3D has a negative orientation, rotation will be counterclockwise.

Parameters:
  • axis_vec3D – A Vector3D axis_vec3D representing the axis_vec3D of rotation.

  • angle_degrees – An angle for rotation in degrees.

  • origin_pt3D – A Point3D for the origin_pt3D around which the object will be rotated.

rotate_xy(angle_degrees: float, origin_pt3D: Point3D) None[source]

Rotate the RoomPhProperties and its Volumes counterclockwise in the XY plane by a certain angle.

Parameters:
  • angle_degrees – An angle in degrees.

  • origin_pt3D – A Point3D for the origin_pt3D around which the object will be rotated.

scale(scale_factor: float, origin_pt3D: Point3D | None = None) None[source]

Scale the RoomPhProperties and its Volumes by a factor from an origin_pt3D point.

Parameters:
  • scale_factor – A number representing how much the line segment should be scaled.

  • origin_pt3D – A Point3D representing the origin_pt3D from which to scale. If None, it will be scaled from the World origin_pt3D (0, 0, 0).

to_dict(abridged: bool = False) Dict[str, Any][source]
property host
property ph_foundations: List[PhFoundation]
property spaces: List[Space]
property total_space_floor_area: float

The total unweighted floor-area of all spaces hosted by the honeybee-Room.

honeybee_ph.properties.room.get_ph_prop_from_room(_room: Room) RoomPhProperties[source]

Get the RoomPhProperties of a HB-Room object.