VESurface

class iesve.VESurface

Bases: object

Surface data. Returned by VEBody method iesve.VEBody.get_surfaces()

Notes on Surfaces

A VE body is physically represented by a number of surfaces.

A surface can contain any number of openings (holes, windows, doors) and adjacencies (internal building surfaces that join 2 rooms). Note that openings can not overlap, and openings can not span surfaces. It is perfectly valid for a surface to have an area of 0 where it consists entirely of opening(s) or adjacencies (or any combination thereof).

A surface type is derived from its tilt angle and the VE setting for Vertical-horizontal transition angle (VE Model Settings dialog). Similarly, whether a section of a surface is an adjacency is controlled by the Adjacency separation distance.


get_adjacencies() list[VEAdjacency]

Returns a list of VEAdjacency objects for the surface.


get_areas() dict[str, float]

the various area values for the surface (all in m² units). Dictionary keys:

  • total_gross

  • total_net

  • total_window

  • total_door

  • total_hole

  • total_gross_openings

  • internal_gross

  • internal_net

  • internal_window

  • internal_door

  • internal_hole

  • internal_gross_openings

  • external_gross

  • external_net

  • external_window

  • external_door

  • external_hole

  • external_gross_openings


get_constructions() list[str]

Returns a list of construction IDs (string) used in the surface (including the constructions assigned to any openings in the surface.


get_opening_by_id(opening_id: str) VEGeometry

Returns the opening associated to the id (VEGeometry object)


get_opening_totals() dict[str, int]

Returns the number of openings of each of the following types: openings, doors, holes, windows, external_doors, external_holes, external_windows


get_openings() list[VEGeometry]

Returns a list of openings (VEGeometry objects)


get_properties() dict

Returns assorted properties of the surface

Key

Description

aps_handle

(int, id) the aps handle

area

(float, m²) surface area

id

(string) Surface ID

orientation

(degrees from north) angle of orientation, not adjusted for site angle

thickness

(meters) the fixed inner volume offset if it has been set, else

construction thickness

tilt

(degrees from horizontal) tilt angle, where 0 is straight up,

90 = vertical.

type

(string) representation of type attribute


get_thermal_bridges_non_repeating() list[VEThermalBridge_NonRep]

Gets a list of non repeating thermal bridge objects for the surface


get_thermal_bridges_random() list[VEThermalBridge_Random]

Gets a list of random thermal bridge objects for the surface


id() str

Gets the ID of the surface.


move(distance: float) None

Moves the surface by the distance provided.


index: int

Index of Surface within parent body


type: VESurface_type

The surface type



class iesve.VEThermalBridge_NonRep

Bases: object

Non repeating thermal bridge data


flux_factor: float


length: float


psi: float


type: ThermalBridge_NonRepType



class iesve.VEThermalBridge_Random

Bases: object

Random thermal bridge data


dimension: float


transmittance: float


type: ThermalBridge_RandomType



Enums

class iesve.VESurface_type(*values)

Bases: IntEnum


ceiling = 1


ext_door = 6


ext_glazing = 4


ext_wall = 2


floor = 0


ground_floor = 7


hole = 11


int_door = 5


int_glazing = 3


int_wall = 10


roof = 8


roof_glazing = 9



class iesve.ThermalBridge_NonRepType(*values)

Bases: IntEnum


exterior_corner = 1


internal_wall_to_roof = 11


jamb = 9


lintel = 7


none = 12


roof_ridge = 6


roof_wall = 5


rooflight_kerb = 10


sill = 8


wall_ground_floor = 0


wall_intermediate_floor = 2


wall_intermediate_floor_partition = 3


wall_vertical_partition = 4



class iesve.ThermalBridge_RandomType(*values)

Bases: IntEnum


area_perimeter = 0


linear = 1


point = 2