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:
_PhHVACBaseA 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).
- add_segment(_segment: PhDuctSegment) None[source]¶
Add a new PhDuctSegment to 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).
- 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:
_PhHVACBaseA single duct segment (linear) with geometry and a attributes.
Note: All geometric information is in the model’s unit-type (meters by default).
- 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).
- 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.