honeybee_phhvac.ducting module

Honeybee-PH-HVAC-Equipment: Ducts.

class honeybee_phhvac.ducting.PhDuctElement(_display_name: str | None = None, _duct_type: int = 1, *args: Any, **kwargs: Any)[source]

Bases: _PhHVACBase

A Duct Element made up of one or more individual Duct Segments.

Note: All geometric information is in the model’s unit-type (meters by default).

ToString()[source]
add_segment(_segment: PhDuctSegment) None[source]

Add a new PhDuctSegment to the Duct Element.

clear_segments() None[source]

Clear all the segments from the duct element.

classmethod default_exhaust_duct(*args: Any, **kwargs: Any) PhDuctElement[source]

Returns a default PhDuctElement with a single segment and a length of 1.0

classmethod default_supply_duct(*args: Any, **kwargs: Any) PhDuctElement[source]

Returns a default PhDuctElement with a single segment and a length of 1.0

duplicate() PhDuctElement[source]
classmethod from_dict(_input_dict: Dict) PhDuctElement[source]
move(moving_vec3D)[source]

Move the duct element’s segment along a vector.

Parameters:

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

reflect(normal_vec3D, origin_pt3D)[source]

Reflected the duct element’s segment across a plane with the input normal vector and origin.

Parameters:
  • normal_vec3D – A Vector3D representing the normal vector for the plane across which the line segment will be reflected. THIS VECTOR MUST BE NORMALIZED.

  • origin_pt3D – A Point3D representing the origin from which to reflect.

rotate(axis_vec3D, angle_degrees, origin_pt3D)[source]

Rotate the duct element’s segment by a certain angle around an axis and origin.

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

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

  • angle_degrees – An angle for rotation in degrees.

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

rotate_xy(angle_degrees, origin_pt3D)[source]

Rotate the duct element’s segment counterclockwise in the XY plane by a certain angle.

Parameters:
  • angle_degree – An angle in degrees.

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

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

Scale the duct element’s segments by a factor from an origin point.

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

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

to_dict() Dict[str, str | dict][source]
property display_name

Get or set a string for the object name without any character restrictions. If not set, this will be equal to the identifier.

property identifier
property identifier_short: str
property is_round_duct: bool
property key
property length: float

Return the total duct length of all the PhDuctSegments in model-units.

property segments: List[PhDuctSegment]

Return a list of all the PhDuctSegments that make up the PhDuctElement.

property shape_type: int | None
property shape_type_description: str | None
class honeybee_phhvac.ducting.PhDuctSegment(_geom: LineSegment3D, _insul_thickness: float = 0.0254, _insul_conductivity: float = 0.04, _insul_refl: bool = True, _diameter: float = 0.16, _height: float | None = None, _width: float | None = None)[source]

Bases: _PhHVACBase

A single duct segment (linear) with geometry and a attributes.

Note: All geometric information is in the model’s unit-type (meters by default).

ToString()[source]
classmethod default() PhDuctSegment[source]

Return a default Duct segment with a length of 1.0

duplicate() PhDuctSegment[source]
classmethod from_dict(_input_dict: Dict) PhDuctSegment[source]
move(moving_vec3D: Point3D) PhDuctSegment[source]

Move the duct segment along a vector.

Parameters:

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

reflect(normal_vec3D: Point3D, origin_pt3D: Point3D) PhDuctSegment[source]

Reflected the duct segment across a plane with the input normal vector and origin.

Parameters:
  • normal_vec3D – A Vector3D representing the normal vector for the plane across which the line segment will be reflected. THIS VECTOR MUST BE NORMALIZED.

  • origin_pt3D – A Point3D representing the origin from which to reflect.

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

Rotate the duct segment by a certain angle around an axis and origin.

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

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

  • angle_degrees – An angle for rotation in degrees.

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

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

Rotate the duct segment counterclockwise in the XY plane by a certain angle.

Parameters:
  • angle_degrees – An angle in degrees.

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

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

Scale the duct segment by a factor from an origin point.

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

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

to_dict() Dict[str, str | dict][source]
property display_name

Get or set a string for the object name without any character restrictions. If not set, this will be equal to the identifier.

property identifier
property identifier_short: str
property is_round_duct: bool
property key
property length: float

Return the length of the duct segment in model-units.

property shape_type: int
property shape_type_description: str

Return a string description of the shape of the duct segment.