VEBody

class iesve.VEBody

Bases: object

Interface for a VE Body object.

Basic usage:

project = iesve.VEProject.get_current_project()
realmodel = project.models[0]
bodies = realmodel.get_bodies(False)
for body in bodies:
    area = body.get_areas()
    windowArea = area['ext_wall_glazed'] + area['int_wall_glazed']
    print('Body: {}.  Glazing area: {}.'.format(body.id, windowArea))

Notes on VE Body Objects

A model can consist of bodies of various types. The VEBody object has a type attribute to discover the object type of that particular space. Object types can be categorised as follows:

  • 3D bodies: rooms, local or topographical shades, adjacent buildings

  • 2D bodies: masterplanning surfaces, boundaries

  • 1D bodies: annotations

Each body has a unique ID. The ID is unique only within the model that contains the room. In a variant model, the same room will have the same ID - this allows you to find the same room across models and compare them.


assign_construction(construction: VECdbConstruction, surface: VESurface) None

Assign construction to surface. If the model has inner volumes and newly-assigned constructions have differing thicknesses to the previous ones, rebuild_adjacencies must be called on the VEModel.


assign_construction_to_opening(construction: VECdbConstruction, surface: VESurface, opening_id: str) None

Assign construction to an opening with the specified id.


assign_opening_type_by_id(surface_index: int, macroflo_id: str, opening_id: str) None

Assign macroflo opening type to opening.


deselect() None

deselects this body. Perform operations on the selected body using the iesve.VEGeometry API..


get_areas() dict

The following areas are returned (All areas are returned in m² units. Room volume is returned in m³):

  • int_floor_area

  • ext_floor_area

  • int_floor_opening

  • ext_floor_opening

  • int_floor_glazed

  • ext_floor_glazed

  • int_ceiling_area

  • ext_ceiling_area

  • int_ceiling_opening

  • ext_ceiling_opening

  • int_ceiling_glazed

  • ext_ceiling_glazed

  • int_ceiling_door

  • ext_ceiling_door

  • int_wall_area

  • ext_wall_area

  • int_wall_opening

  • ext_wall_opening

  • int_wall_glazed

  • ext_wall_glazed

  • int_wall_door

  • ext_wall_door

  • volume

Note: space total floor / ceiling etc. area comprises both internal and external areas.


get_assigned_constructions() list[tuple[str, str]]

Returns a list of tuples containing construction IDs assigned to this space. The second element in the tuple is currently unused.


get_assigned_profiles() list[tuple[str, str]]

Returns a list of tuples containing profile IDs in use by this space. The second element in the tuple is currently unused.


get_index() int

Get the index of the body


get_processes() list[VEComponentProcess]

Returns a list of VEComponentProcess objects representing the component processes in the body.


get_properties() dict

Returns a dictionary with the following properties:

  • min_height

  • max_height

  • floor_height_above_ground


get_room_data(type: attribute_type = attribute_type.active_attributes) VERoomData

Returns a VERoomData object for closer inspection of data assigned to this room. The returned data depends on the input type: the default type of ‘real_attributes’ gives the default data for the room, but NCM, PRM and Title 24 specific data can be requested (but only for their respective building variants).


get_surfaces() list[VESurface]

Returns a list of VESurface objects that bound this space


is_3d_shade() bool

Checks whether the body is a 3d shade. Returns True for a topographical or local shade but False for a vegetated shade.


select() None

Selects this body. Perform operations on the selected body using the iesve.VEGeometry API.


bim_id: str


cad_object_id: str


hvac_methodology: hvac_methodology

(iesve.hvac_methodology) Body HVAC methodology


id: str


in_active_layer: bool


name: str

Body name. Modifiable


selected: bool


subtype: VEBody_subtype


type: VEBody_type



Enums

class iesve.hvac_methodology(*values)

Bases: IntEnum


apache_hvac = 1


apache_system = 0



class iesve.VEBody_subtype(*values)

Bases: IntEnum


boundary_building_footprint = 1004


boundary_leed = 1001


boundary_site = 1000


boundary_stormwater = 1002


boundary_stormwater_collect_drainage = 1003


parking_bay_indoor = 1201


parking_bay_outdoor = 1202


ra_plenum = 2003


road_motorway = 1101


road_primary = 1102


road_secondary = 1103


road_tertiary = 1104


road_unclassified = 1105


room = 2001


sa_plenum = 2004


unclassified = 0


void = 2002



class iesve.VEBody_type(*values)

Bases: IntEnum


adjacent_building = 2


annotation = 203


boundary = 113


hard_landscape = 104


local_shade = 4


parking_bay = 103


pavement = 102


pervious_landscape = 105


road = 101


room = 1


soft_landscape_groundcover = 108


soft_landscape_mixedveg = 109


soft_landscape_shrubs = 107


soft_landscape_turf = 106


soft_landscape_wetlands = 110


topographical_shade = 3


tree = 5


vegetated_shade = 111


water = 112



class iesve.attribute_type(*values)

Bases: IntEnum


active_attributes = 10


bprm_attributes = 2


green_mark_attributes = 6


green_star_attributes = 4


ncm_attributes = 1


necb_attributes = 7


new_zealand_attributes = 5


real_attributes = 0


t24_attributes = 3


unknown_attributes = 9