VEModel

class iesve.VEModel

Bases: object

Interface for VE models.

Basic usage:

project = iesve.VEProject.get_current_project()
realmodel = project.models[0]
selectedbodies = realmodel.get_bodies(True)

Notes on VEModel objects

A project will consist of at least one building model, this is usually the real (proposed) building.

When working with rating or compliance systems where baseline / reference etc variant models are created. These variants will follow the real model in the models list. Some variant models are only available from within the context of a particular view (as they are generated on demand). An example of such an on-demand variant is UK Compliance (NCM) Notional building. The PRM Baseline building, on the other hand, is always available once it has been generated using the appropriate Navigator step.


assign_construction_template_to_rooms(template: VEConstructionTemplate, ids: list[str]) None

Assign the VEThermalTemplate template to the rooms, indicated by list of Room IDs (strings or VEBody objects).


assign_thermal_template_to_rooms(template: VEThermalTemplate, ids: list[str | VEBody]) None

Assign a VEConstructionTemplate to the rooms, indicated by list of Room IDs (strings)


get_assigned_profiles(expand_profiles: bool = False) list[str]

Returns a list of strings representing the profile IDs in use by this model variant. Set expandProfiles to True to also return daily profiles


get_bodies(selected_only: bool) list[VEBody]

Returns the list of VEBody objects for this model variant. Set selectedOnly to True to return only selected bodies, False for all bodies


get_bodies_and_ids(selected_only: bool) dict[str, VEBody]

Returns the dictionary of VEBody objects with the room ID as key. Set selectedOnly to True to return only selected bodies, False for all bodies.


get_current_ashrae_standard() eASHRAEStandard

Gets the current ashrae compliance standard enum.


get_excluded_bodies_for_umlh() list[VEBody]

Returns the list of VEBody objects for this model variant that are excluded for UMLH.


get_exterior_lighting_details(lighting_standard: LightingStandard) dict

Obtains exterior lighting data for the model. Includes a ‘results’ key which contains an ordered list of tuples for each of the sections


get_included_bodies_for_umlh() list[VEBody]

Returns the list of VEBody objects for this model variant, except those excluded for UMLH.


get_mep_details(attribute_type: attribute_type = attribute_type.unknown_attributes) dict

Obtains MEP power data from the model. The attribute_type parameter is optional and does not need to be specified unless it is an NECB model, where it must be supplied to provide the correct results.


get_model_level_infiltration_rate() float

Gets the model level infiltration rate, which has units L/(s⋅m^2 ).


rebuild_adjacencies() None

Rebuilds the adjacencies in the model. If the model has inner volumes and newly-assigned constructions have differing thicknesses to the previous ones, this is required to be called.


suncast() VESuncast

Get a VESuncast object for this model


id: str

Model description


model_type: VEModels



Enums

class iesve.VEModels(*values)

Bases: IntEnum


ActualBuilding = 1


BaselineBuilding = 6


GreenMarkProposedBuilding = 12


GreenMarkReferenceBuilding = 13


LEEDSunCastSS71Building = 15


NECBProposedBuilding = 19


NECBReferenceBuilding = 20


NewZealandProposedBuilding = 10


NewZealandReferenceBuilding = 11


NotionalBuilding = 2


ProposedBuilding = 5


RealBuilding = 0


ReferenceBuilding = 4


Section63PrescriptiveBuilding = 17


SunCastSolarVisBuilding = 14


Title24ProposedBuilding = 16


Title24StandardDesignBuilding = 18


TypicalBuilding = 3


VEModels_NA = -1



class iesve.LightingStandard(*values)

Bases: IntEnum


IECC2012 = 3


NECB2011 = 4


NECB2017 = 6


NECB2020 = 8


PRM2007 = 0


PRM2010 = 1


PRM2013 = 2


PRM2016 = 5


PRM2019 = 7