SDK:Energos Thirdparty Support

From Vectorworks Developer
Jump to navigation Jump to search

Energy Analysis is a plugin which uses data from objects in the Vectorworks document to calculate energy performance of a 3D building. It provides the user with a graphical and numerical feedback. It provides also a set of functions to give the ability to include third-party objects into energy calculations.

This document explains how to use the set of SDK functions to include third-party objects to the energy calculation.

The functions are grouped in several categories, respectively they are in different header files. The namespace is VectorWorks::EnergyAnalysis.

Unit conversion support

Measure SI Imperial US Enum class variable
Area Square millimeters [mm2] Square inches [in2] EEnergyUnitType::SqMM
Area Square meters [m2] Square foot [ft2] EEnergyUnitType::SqM
CO2 Emission (annually) Kilograms per square meter per year
[kg/(m2a)]
Pounds per square foot per year [lb/(ft2a)] EEnergyUnitType::KGPSqMA
Electric consumptions Watt-hour per cubic meter [Wh/m3] British thermal unit per hour per cubic foot [Btu/h/ft3] EEnergyUnitType::WhPCuM
Energy Watt-hour [Wh] British thermal unit [Btu] EEnergyUnitType::Wh
Energy Kilowatt-hour [kWh] British thermal unit [Btu] EEnergyUnitType::kWh
Energy (annually) Kilowatt-hour per year [kWh/a] British thermal unit per year [Btu/a] EEnergyUnitType::kWhA
Energy (daily) Kilowatt-hour per day [kWh/d] British thermal unit per day[Btu/d] EEnergyUnitType::kWhD
Energy flux Watt per square meter [W/m2] British thermal unit per hour per square foot [Btu/h ft2] EEnergyUnitType::WPSqM
Flow rate Cubic meter per hour [m3/h] Cubic feet per minute [CFM] EEnergyUnitType::CuMh
Heat storage capacity of construction when its temperature varies 1 K [Wh/m2 K] [Btu/ft2 F] EEnergyUnitType::WhPSqMK
Heating degree hours (Gt) Kilo-Kelvin hours per year [kKh/a] Kilo degree Fahrenheit per year [kFh/a] EEnergyUnitType::kKhA
Length Millimeter [mm] Inch [in] EEnergyUnitType::MM
Length Meter [m] Foot [m] EEnergyUnitType::M
Percentage Percent [%]
Range: 0 - 100
Percent [%]
Range: 0 - 100
EEnergyUnitType::Percent
Percentage [normalized] Percent normal [%]
Range: 0 - 1
Percent normal [%]
Range: 0 - 1
EEnergyUnitType::PercentNormal
Power Watt [W] British thermal units per hour [Btu/h] EEnergyUnitType::W
Power Kilowatt [kW] British thermal units per hour [Btu/h] EEnergyUnitType::kW
Solar radiation (annually) Kilowatt hour per square meter per year
[kWh/m2/a]
British thermal units per squared feet per year [Btu/ft2/a] EEnergyUnitType::KWhPSqMA
Solar radiation (monthly) Kilowatt hour per square meter per month
[kWh/m2/month]
British thermal units per squared feet per month [Btu/ft2/month] EEnergyUnitType::KWhPSqMM
Temperature Celsius [C] Fahrenheit [F] EEnergyUnitType::C
Temperature difference Kelvin [K] Fahrenheit [F] EEnergyUnitType::K
Thermal conductivity Watt per meter per Kelvin [W/m K] British thermal unit per foot per hour per Fahrenheit degree
[Btu/ft h F]
EEnergyUnitType::WPMK
Thermal heat transfer coefficient
(U - value)
Watt per square meter per Kelvin [W/(m2K)] British thermal unit per square foot per hour per Fahrenheit degree
[Btu/h ft2 F]
EEnergyUnitType::WPSqMK
Thermal resistance coefficient
(R - value)
Kelvin meter squared per watt [[m2K]/W] Square foot degrees Fahrenheit hours per British thermal unit
[[ft2 F h]/Btu]
EEnergyUnitType::SqMKPW
Velocity Meter per second [m/s] Feet per second [fps] EEnergyUnitType::MPS
Volume Cubic millimeter [mm3] Cubic inch [in3] EEnergyUnitType::CuMM
Volume Cubic meter [m3] Cubic foot [ft3] EEnergyUnitType::CuM
Volume Liter [l] Gallon [gallon] EEnergyUnitType::L
Volumetric heat capacity Mega joule per cubic meter Kelvin [MJ/m3K] British thermal unit per square foot degree Fahrenheit
[Btu/ft3 F]
EEnergyUnitType::MJPCuMK
Air permeability at 50 Pa, noted q50 or qa50 Cubic meter per hour per squared meter
[m3/(h·m2]
Cubic feet per minute per square foot [CFM/ft2] EEnergyUnitType::CuMHrSqM

It is strongly recommended to use energy analysis functions to convert values. All functions provided by energy analysis module use meters, square meter, cubic meters, etc.

The VCOM interface for unit support is in class IEnergyUnits in VectorWorks::EnergyAnalysis namespace. It is recommended and convenient to use the template class IEnergyUnitsPtr because this class invokes the Release() method in the destructor and there is no need to think about pointers. The following seven functions are the most important functions in the class.

Space object support

Each building type element use own functions to get/set/save energy data in objects and that happens with support from energy analysis plugin. Energy analysis plugin attaches energy data node to each object who is involved into energy calculation. All the functions which set data are mandatory. Otherwise the energy analysis module won’t handle the object properly or will exclude it from calculation.

The VCOM interface for space object is in class IEnergySpace in VectorWorks::EnergyAnalysis namespace. It is recommended and convenient to use the template class IEnergySpacePtr because this class invokes the Release() method in the destructor and there is no need to think about pointers.

Window/door object support

Each building type element use own functions to get/set/save energy data in objects and that happens with support from energy analysis plugin. Energy analysis plugin attaches energy data node to each object who is involved into energy calculation. All the functions which set data are mandatory. Otherwise the energy analysis module won’t handle the object properly or will exclude it from calculation. Windows and doors are components of the building envelope.

The VCOM interface for space object is in class IEnergyBuildingElementWinDoor in VectorWorks::EnergyAnalysis namespace. It is recommended and convenient to use the template class IEnergyBuildingElementWinDoorPtr because this class invokes the Release() method in the destructor and there is no need to think about pointers.

Wall object support

Each building type element use own functions to get/set/save energy data in objects and that happens with support from energy analysis plugin. Energy analysis plugin attaches energy data node to each object who is involved into energy calculation. All the functions which set data are mandatory. Otherwise the energy analysis module won’t handle the object properly or will exclude it from calculation.

The VCOM interface for space object is in class IEnergyBuildingElementWall in VectorWorks::EnergyAnalysis namespace. It is recommended and convenient to use the template class IEnergyBuildingElementWallPtr because this class invokes the Release() method in the destructor and there is no need to think about pointers.

Slab object support

Each building type element use own functions to get/set/save energy data in objects and that happens with support from energy analysis plugin. Energy analysis plugin attaches energy data node to each object who is involved into energy calculation. All the functions which set data are mandatory. Otherwise the energy analysis module won’t handle the object properly or will exclude it from calculation.

The VCOM interface for space object is in class IEnergyBuildingElementSlab in VectorWorks::EnergyAnalysis namespace. It is recommended and convenient to use the template class IEnergyBuildingElementSlabPtr because this class invokes the Release() method in the destructor and there is no need to think about pointers.

Roof object support

Each building type element use own functions to get/set/save energy data in objects and that happens with support from energy analysis plugin. Energy analysis plugin attaches energy data node to each object who is involved into energy calculation. All the functions which set data are mandatory. Otherwise the energy analysis module won’t handle the object properly or will exclude it from calculation.

The VCOM interface for space object is in class IEnergyBuildingElementRoof in VectorWorks::EnergyAnalysis namespace. It is recommended and convenient to use the template class IEnergyBuildingElementRoofPtr because this class invokes the Release() method in the destructor and there is no need to think about pointers.