Energos: Use Record Formats to define energy analysis data: Difference between revisions

From Vectorworks Developer
Jump to navigation Jump to search
No edit summary
Line 19: Line 19:


== Formats ==
== Formats ==
<b>Note: </b> that all the format names and fields are localized. This means that in localized versions of Vectorworks, they will be in the corresponding language. Note the information of how to read the resource containing the localized strings, or look at the scripts below.


=== Thermal Bridge ===
=== Thermal Bridge ===
Line 426: Line 428:
You can use the following scripts to create the formats:
You can use the following scripts to create the formats:


=== Wall ===
<code lang="py">
# Energos Thermal Bridge
vwr = 'EnergyAnalysis/Strings/FormatDef_Wall.vwstrings'
formatName = vs.GetVWRString(vwr, 'FormatName' )
vs.NewField(formatName, vs.GetVWRString(vwr, "FieldInt_SortIndex"              ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, "FieldText_Name"                  ), '', 4, 0 ) #text
vs.NewField(formatName, vs.GetVWRString(vwr, "FieldDim_Area"                  ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, "FieldReal_UValue"                ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, "FieldInt_Orientation"            ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, "FieldInt_OrientInclination"      ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, "FieldReal_ReductionFactorShading"), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, "FieldInt_WallType"              ), '0', 1, 0 ) #int
</code>
=== Thermal Bridge ===
=== Thermal Bridge ===


<code lang="py">
<code lang="py">
# Energos Thermal Bridge
# Energos Thermal Bridge
vs.NewField('Energos Thermal Bridge','Sort Index', '0', 1, 0 ) #int
vwr = 'EnergyAnalysis/Strings/FormatDef_ThermalBridge.vwstrings'
vs.NewField('Energos Thermal Bridge','Name', '', 4, 0 ) #real
formatName = vs.GetVWRString(vwr, 'FormatName' )
vs.NewField('Energos Thermal Bridge','Quantity', '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_SortIndex'), '0', 1, 0 ) #int
vs.NewField('Energos Thermal Bridge','Location', '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldText_Name'   ), '', 4, 0 ) #text
vs.NewField('Energos Thermal Bridge','Length', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldLong_Quantity'), '0', 1, 0 ) #int
vs.NewField('Energos Thermal Bridge','PSI', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldLong_Location'), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Length'   ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_PSI'     ), '0', 3, 0 ) #real
</code>
</code>
   
   
Line 444: Line 461:
<code lang="py">
<code lang="py">
# Energos Window
# Energos Window
vs.NewField('Energos Window', 'Sort Index', '0', 1, 0 ) #int
vwr = 'EnergyAnalysis/Strings/FormatDef_WinDoor.vwstrings'
vs.NewField('Energos Window', 'Name', '',  4, 0 ) #text
formatName = vs.GetVWRString(vwr, 'FormatNameWindow' )
vs.NewField('Energos Window', 'Area', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_SortIndex'         ), '0', 1, 0 ) #int
vs.NewField('Energos Window', 'UValue', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldText_Name'             ), '',  4, 0 ) #text
vs.NewField('Energos Window', 'Orientation', '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Area'               ), '0', 3, 0 ) #real
vs.NewField('Energos Window', 'Inclination', '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_UValue'           ), '0', 3, 0 ) #real
vs.NewField('Energos Window', 'Width', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_Orientation'       ), '0', 1, 0 ) #int
vs.NewField('Energos Window', 'Glazing Area', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_OrientInclination' ), '0', 1, 0 ) #int
vs.NewField('Energos Window', 'Glazing Length', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Width'             ), '0', 3, 0 ) #real
vs.NewField('Energos Window', 'Frame Length', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_GlazingArea'       ), '0', 3, 0 ) #real
vs.NewField('Energos Window', 'Light Transmission Glazing','0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_GlazingLength'     ), '0', 3, 0 ) #real
vs.NewField('Energos Window', 'General Shading', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_FrameLength'       ), '0', 3, 0 ) #real
vs.NewField('Energos Window', 'Surrounding Shading', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_LightTrasmGlazing' ), '0', 3, 0 ) #real
vs.NewField('Energos Window', 'Summer Shading', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ShadingGeneral'   ), '0', 3, 0 ) #real
vs.NewField('Energos Window', 'Additional Shading', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ShadingSurrounding'), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ShadingSummer'     ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ShadingAdditional' ), '0', 3, 0 ) #real
</code>
</code>
   
   
Line 466: Line 485:
<code lang="py">
<code lang="py">
# Energos Door
# Energos Door
vs.NewField('Energos Door', 'Sort Index', '0', 1, 0 ) #int
vwr = 'EnergyAnalysis/Strings/FormatDef_WinDoor.vwstrings'
vs.NewField('Energos Door', 'Name', '',  4, 0 ) #text
formatName = vs.GetVWRString(vwr, 'FormatNameDoor' )
vs.NewField('Energos Door', 'Area', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_SortIndex'         ), '0', 1, 0 ) #int
vs.NewField('Energos Door', 'UValue', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldText_Name'             ), '',  4, 0 ) #text
vs.NewField('Energos Door', 'Orientation', '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Area'               ), '0', 3, 0 ) #real
vs.NewField('Energos Door', 'Inclination', '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_UValue'           ), '0', 3, 0 ) #real
vs.NewField('Energos Door', 'Width', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_Orientation'       ), '0', 1, 0 ) #int
vs.NewField('Energos Door', 'Glazing Area', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_OrientInclination' ), '0', 1, 0 ) #int
vs.NewField('Energos Door', 'Glazing Length', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Width'             ), '0', 3, 0 ) #real
vs.NewField('Energos Door', 'Frame Length', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_GlazingArea'       ), '0', 3, 0 ) #real
vs.NewField('Energos Door', 'Light Transmission Glazing', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_GlazingLength'     ), '0', 3, 0 ) #real
vs.NewField('Energos Door', 'General Shading', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_FrameLength'       ), '0', 3, 0 ) #real
vs.NewField('Energos Door', 'Surrounding Shading', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_LightTrasmGlazing' ), '0', 3, 0 ) #real
vs.NewField('Energos Door', 'Summer Shading', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ShadingGeneral'   ), '0', 3, 0 ) #real
vs.NewField('Energos Door', 'Additional Shading', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ShadingSurrounding'), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ShadingSummer'     ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ShadingAdditional' ), '0', 3, 0 ) #real
</code>
</code>
   
   
Line 488: Line 509:
<code lang="py">
<code lang="py">
# Energos Space
# Energos Space
vs.NewField('Energos Space', 'Name', '',  4, 0 ) #text
vwr = 'EnergyAnalysis/Strings/FormatDef_Space.vwstrings'
vs.NewField('Energos Space', 'Area', '0', 3, 0 ) #real
formatName = vs.GetVWRString(vwr, 'FormatName' )
vs.NewField('Energos Space', 'Volume', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldText_Name'                           ), '',  4, 0 ) #text
vs.NewField('Energos Space', 'Orientation', '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Area'                           ), '0', 3, 0 ) #real
vs.NewField('Energos Space', 'Width', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Volume'                         ), '0', 3, 0 ) #real
vs.NewField('Energos Space', 'Depth', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_Orientation'                     ), '0', 1, 0 ) #int
vs.NewField('Energos Space', 'Height', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Width'                           ), '0', 3, 0 ) #real
vs.NewField('Energos Space', 'Lintel Height', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Depth'                           ), '0', 3, 0 ) #real
vs.NewField('Energos Space', 'Window Width', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Height'                         ), '0', 3, 0 ) #real
vs.NewField('Energos Space', 'Light Transmission Glazing Percent', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_LintelHeight'                   ), '0', 3, 0 ) #real
vs.NewField('Energos Space', 'Lighting Full Load Hours', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_WindowWidth'                     ), '0', 3, 0 ) #real
vs.NewField('Energos Space', 'Installer Light Power', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_LightTransmissionGlazingPercent'), '0', 3, 0 ) #real
vs.NewField('Energos Space', 'Lighting Control', '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_LightingFullLoadHours'         ), '0', 3, 0 ) #real
vs.NewField('Energos Space', 'Motion Detector', '0', 2, 0 ) #bool
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_InstalledLightPower'           ), '0', 3, 0 ) #real
vs.NewField('Energos Space', 'Extract Air Room Type', '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_LightingControl'                 ), '0', 1, 0 ) #int
vs.NewField('Energos Space', 'Extract Air Requirement Volume', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldBool_MotionDetector'                 ), '0', 2, 0 ) #bool
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_ExtractAirRoomType'             ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_ExtractAirRequirement'           ), '0', 3, 0 ) #real
</code>
</code>


Line 510: Line 533:
<code lang="py">
<code lang="py">
# Energos Slab
# Energos Slab
vs.NewField('Energos Slab', 'Sort Index', '0', 1, 0 ) #real
vwr = 'EnergyAnalysis/Strings/FormatDef_Slab.vwstrings'
vs.NewField('Energos Slab', 'Name', '',  4, 0 ) #real
formatName = vs.GetVWRString(vwr, 'FormatName' )
vs.NewField('Energos Slab', 'Area', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_SortIndex'         ), '0', 1, 0 ) #real
vs.NewField('Energos Slab', 'UValue', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldText_Name'             ), '',  4, 0 ) #text
vs.NewField('Energos Slab', 'Orientation', '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Area'               ), '0', 3, 0 ) #real
vs.NewField('Energos Slab', 'Inclination', '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_UValue'           ), '0', 3, 0 ) #real
vs.NewField('Energos Slab', 'RS Internal', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_Orientation'       ), '0', 1, 0 ) #int
vs.NewField('Energos Slab', 'RS External', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_OrientInclination' ), '0', 1, 0 ) #int
vs.NewField('Energos Slab', 'Exposed Perimeter To Open', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_RSInternal'       ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_RSExternal'       ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ExposedPerimToOpen'), '0', 3, 0 ) #real
</code>
</code>
   
   
Line 526: Line 551:
<code lang="py">
<code lang="py">
# Energos Roof
# Energos Roof
vs.NewField('Energos Roof', 'Sort Index', '0', 1, 0 ) #int
vwr = 'EnergyAnalysis/Strings/FormatDef_Roof.vwstrings'
vs.NewField('Energos Roof', 'Nam', '',  4, 0 ) #text
formatName = vs.GetVWRString(vwr, 'FormatName' )
vs.NewField('Energos Roof', 'Area', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_SortIndex'             ), '0', 1, 0 ) #int
vs.NewField('Energos Roof', 'UValue', '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldText_Name'                 ), '', 4, 0 ) #text
vs.NewField('Energos Roof', 'Orientation', '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Area'                   ), '0', 3, 0 ) #real
vs.NewField('Energos Roof', 'Inclination', '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_UValue'               ), '0', 3, 0 ) #real
vs.NewField('Energos Roof', 'Reduction Factor Shading','0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_Orientation'           ), '0', 1, 0 ) #int
</code>
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_OrientInclination'     ), '0', 1, 0 ) #int
 
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ReductionFactorShading'), '0', 3, 0 ) #real
 
== Example Scripts - VectorScript ==
 
You can use the following scripts to create the formats:
 
=== Thermal Bridge ===
 
<code lang="vs">
{Energos Thermal Bridge}
NewField('Energos Thermal Bridge','Sort Index', '0', 1{int}, 0 );
NewField('Energos Thermal Bridge','Name', '', 4{text}, 0 );
NewField('Energos Thermal Bridge','Quantity', '0', 1{int}, 0 );
NewField('Energos Thermal Bridge','Location', '0', 1{int}, 0 );
NewField('Energos Thermal Bridge','Length', '0', 3{real}, 0 );
NewField('Energos Thermal Bridge','PSI', '0', 3{real}, 0 );
</code>
 
=== Window ===
<code lang="vs">
{Energos Window}
NewField('Energos Window', 'Sort Index', '0', 1{int}, 0 );
NewField('Energos Window', 'Name', '',  4{text}, 0 );
NewField('Energos Window', 'Area', '0', 3{real}, 0 );
NewField('Energos Window', 'UValue', '0', 3{real}, 0 );
NewField('Energos Window', 'Orientation', '0', 1{int}, 0 );
NewField('Energos Window', 'Inclination', '0', 1{int}, 0 );
NewField('Energos Window', 'Width', '0', 3{real}, 0 );
NewField('Energos Window', 'Glazing Area', '0', 3{real}, 0 );
NewField('Energos Window', 'Glazing Length', '0', 3{real}, 0 );
NewField('Energos Window', 'Frame Length', '0', 3{real}, 0 );
NewField('Energos Window', 'Light Transmission Glazing','0', 3{real}, 0 );
NewField('Energos Window', 'General Shading', '0', 3{real}, 0 );
NewField('Energos Window', 'Surrounding Shading', '0', 3{real}, 0 );
NewField('Energos Window', 'Summer Shading', '0', 3{real}, 0 );
NewField('Energos Window', 'Additional Shading', '0', 3{real}, 0 );
</code>
 
=== Door ===
 
<code lang="vs">
{Energos Door}
NewField('Energos Door', 'Sort Index', '0', 1{int}, 0 );
NewField('Energos Door', 'Name', '',  4{text}, 0 );
NewField('Energos Door', 'Area', '0', 3{real}, 0 );
NewField('Energos Door', 'UValue', '0', 3{real}, 0 );
NewField('Energos Door', 'Orientation', '0', 1{int}, 0 );
NewField('Energos Door', 'Inclination', '0', 1{int}, 0 );
NewField('Energos Door', 'Width', '0', 3{real}, 0 );
NewField('Energos Door', 'Glazing Area', '0', 3{real}, 0 );
NewField('Energos Door', 'Glazing Length', '0', 3{real}, 0 );
NewField('Energos Door', 'Frame Length', '0', 3{real}, 0 );
NewField('Energos Door', 'Light Transmission Glazing', '0', 3{real}, 0 );
NewField('Energos Door', 'General Shading', '0', 3{real}, 0 );
NewField('Energos Door', 'Surrounding Shading', '0', 3{real}, 0 );
NewField('Energos Door', 'Summer Shading', '0', 3{real}, 0 );
NewField('Energos Door', 'Additional Shading', '0', 3{real}, 0 );
</code>
 
=== Space ===
 
<code lang="vs">
{Energos Space}
NewField('Energos Space', 'Name', '',  4{text}, 0 );
NewField('Energos Space', 'Area', '0', 3{real}, 0 );
NewField('Energos Space', 'Volume', '0', 3{real}, 0 );
NewField('Energos Space', 'Orientation', '0', 1{int}, 0 );
NewField('Energos Space', 'Width', '0', 3{real}, 0 );
NewField('Energos Space', 'Depth', '0', 3{real}, 0 );
NewField('Energos Space', 'Height', '0', 3{real}, 0 );
NewField('Energos Space', 'Lintel Height', '0', 3{real}, 0 );
NewField('Energos Space', 'Window Width', '0', 3{real}, 0 );
NewField('Energos Space', 'Light Transmission Glazing Percent', '0', 3{real}, 0 );
NewField('Energos Space', 'Lighting Full Load Hours', '0', 3{real}, 0 );
NewField('Energos Space', 'Installer Light Power', '0', 3{real}, 0 );
NewField('Energos Space', 'Lighting Control', '0', 1{int}, 0 );
NewField('Energos Space', 'Motion Detector', '0', 2{bool}, 0 );
NewField('Energos Space', 'Extract Air Room Type', '0', 1{int}, 0 );
NewField('Energos Space', 'Extract Air Requirement Volume', '0', 3{real}, 0 );
</code>
 
=== Slab ===
 
<code lang="vs">
{Energos Slab}
NewField('Energos Slab', 'Sort Index', '0', 1{int}, 0 );
NewField('Energos Slab', 'Name', '',  4{text}, 0 );
NewField('Energos Slab', 'Area', '0', 3{real}, 0 );
NewField('Energos Slab', 'UValue', '0', 3{real}, 0 );
NewField('Energos Slab', 'Orientation', '0', 1{int}, 0 );
NewField('Energos Slab', 'Inclination', '0', 1{int}, 0 );
NewField('Energos Slab', 'RS Internal', '0', 3{real}, 0 );
NewField('Energos Slab', 'RS External', '0', 3{real}, 0 );
NewField('Energos Slab', 'Exposed Perimeter To Open', '0', 3{real}, 0 );
</code>
 
=== Roof ===
 
<code lang="vs">
{Energos Roof}
NewField('Energos Roof', 'Sort Index', '0', 1{int}, 0 );
NewField('Energos Roof', 'Nam', '',  4{text}, 0 );
NewField('Energos Roof', 'Area', '0', 3{real}, 0 );
NewField('Energos Roof', 'UValue', '0', 3{real}, 0 );
NewField('Energos Roof', 'Orientation', '0', 1{int}, 0 );
NewField('Energos Roof', 'Inclination', '0', 1{int}, 0 );
NewField('Energos Roof', 'Reduction Factor Shading','0', 3{real}, 0 );
</code>
</code>

Revision as of 15:47, 23 March 2016

.VectorScript|VectorScript ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix

By Vladislav Stanev

Records can be attached to any object to define energy analysis data to be used. Depending on the record the object is identified and used as the corresponding energy analysis element.

Note that these records/formats don't define the full set of properties. They are designed for simplicity to allow any Vectorworks object to be setup to participate in the energy analysis.

if you are integrating custom parametric objects with the energy analysis feature see:

Here is the definition of the formats that are recognized by the feature (all noted units are units defined by the energy analysis units settings):

Formats

Note: that all the format names and fields are localized. This means that in localized versions of Vectorworks, they will be in the corresponding language. Note the information of how to read the resource containing the localized strings, or look at the scripts below.

Thermal Bridge

Attach a record of this format to define the energy properties of a thermal-bridge

Format name: Energos Thermal Bridge

Field name Unit Description
Sort Index Integer Index used to order the elements
Name Text
Area Number Area value in document units
Quantity Integer
Location Integer Location values:

0 - None
1 - Ambient
2 - Perimeter
3 - Floor/Slab

Length Number thermal bridge length in document units
PSI Number

Note: strings are localizable via 'FormatDef_ThermalBridge.vwstrings' of the EnergyAnalysis.vwr



Window

Attach a record of this format to define the energy properties of a window

Format name: Energos Window

Field name Unit Description
Sort Index Integer Index used to order the elements
Name Text
Area Number Area value in document units
UValue Number U - value in document units
Orientation Integer Orientation values:

0 - North
1 - NorthEast
2 - East
3 - SouthEast
4 - South
5 - SouthWest
6 - West
7 - NorthWest
8 - Horizontal

Inclination Integer Orientation inclination degrees:

0 = 0 - Horizontal
1 = 15
2 = 30
3 = 45
4 = 60
5 = 90 - Vertical
6 = 105
7 = 120
8 = 135
9 = 150
10 = 165
11 = 180 - Horizontal

Width Number Width in document units
Glazing Area Number Glazing area in document units
Glazing Length Number Glazing length in document units
Frame Length Number Frame length in document units
Light Transmission Glazing Number
General Shading Number Shading values:

0 - None
-1 - Low
-2 - Medium
-3 - High
X - Custom Value as Specified

Surrounding Shading Number Same values as general shading
Summer Shading Number Same values as general shading
Additional Shading Number Same values as general shading

Note: strings are localizable via 'FormatDef_WinDoor.vwstrings' of the EnergyAnalysis.vwr



Door

Attach a record of this format to define the energy properties of a door

Format name: Energos Door

Field name Unit Description
Sort Index Integer Index used to order the elements
Name Text
Area Number Area value in document units
UValue Number U - value in document units
Orientation Integer Orientation values:

0 - North
1 - NorthEast
2 - East
3 - SouthEast
4 - South
5 - SouthWest
6 - West
7 - NorthWest
8 - Horizontal

Inclination Integer Orientation inclination degrees:

0 = 0 - Horizontal
1 = 15
2 = 30
3 = 45
4 = 60
5 = 90 - Vertical
6 = 105
7 = 120
8 = 135
9 = 150
10 = 165
11 = 180 - Horizontal

Width Number Width in document units
Glazing Area Number Glazing area in document units
Glazing Length Number Glazing length in document units
Frame Length Number Frame length in document units
Light Transmission Glazing Number
General Shading Number Shading values:

0 - None
-1 - Low
-2 - Medium
-3 - High
X - Custom Value as Specified

Surrounding Shading Number Same values as general shading
Summer Shading Number Same values as general shading
Additional Shading Number Same values as general shading

Note: strings are localizable via 'FormatDef_WinDoor.vwstrings' of the EnergyAnalysis.vwr



Space

Attach a record of this format to define the energy properties of a space

Format name: Energos Space

Field name Unit Description
Name Text
Area Number Area value in document units
Volume Number Volume value in document units
Orientation Integer Orientation values:

0 - North
1 - NorthEast
2 - East
3 - SouthEast
4 - South
5 - SouthWest
6 - West
7 - NorthWest
8 - Horizontal

Width Number Width in document units
Depth Number Depth in document units
Height Number Height in document units
Lintel Height Number Height in document units
Window Width Number Width in document units
Light Transmission Glazing Percent Number
Lighting Full Load Hours Number h/a
Installer Light Power Number Document unit for W/m2
Lighting Control Integer Lighting Control Values:

0 - Manual
1 - WithoutOffMode
2 - WithOffMode
3 - BusSystem

Motion Detector Boolean
Extract Air Room Type Integer Extract Air Room Type Value:

0 - Kitchen
1 - Bathroom
2 - Shower
3 - WC
4 - Other

Extract Air Requirement Volume Number Document volume/h

Note: strings are localizable via 'FormatDef_Space.vwstrings' of the EnergyAnalysis.vwr




Slab

Attach a record of this format to define the energy properties of a slab

Format name: Energos Slab

Field name Unit Description
Sort Index Integer Index used to order the elements
Name Text
Area Number Area value in document units
UValue Number U - value in document units
Orientation Integer Orientation values:

0 - North
1 - NorthEast
2 - East
3 - SouthEast
4 - South
5 - SouthWest
6 - West
7 - NorthWest
8 - Horizontal

Inclination Integer Orientation inclination degrees:

0 = 0 - Horizontal
1 = 15
2 = 30
3 = 45
4 = 60
5 = 90 - Vertical
6 = 105
7 = 120
8 = 135
9 = 150
10 = 165
11 = 180 - Horizontal

RS Internal Number
RS External Number
Exposed Perimeter To Open Number

Note: strings are localizable via 'FormatDef_Slab.vwstrings' of the EnergyAnalysis.vwr


Wall -- Attach a record of this format to define the energy properties of a wall Format name: Energos Wall

Field name Unit Description
Sort Index Integer Index used to order the elements
Name Text
Area Number Area value in document units
UValue Number U - value in document units
Orientation Integer Orientation values:

0 - North
1 - NorthEast
2 - East
3 - SouthEast
4 - South
5 - SouthWest
6 - West
7 - NorthWest
8 - Horizontal

Inclination Integer Orientation inclination degrees:

0 = 0 - Horizontal
1 = 15
2 = 30
3 = 45
4 = 60
5 = 90 - Vertical
6 = 105
7 = 120
8 = 135
9 = 150
10 = 165
11 = 180 - Horizontal

Reduction Factor Shading Number
Wall Type Integer Wall types:

0 = Exterior Ambient
1 = Exterior Ground
2 = Partition to Neighbour

Note: strings are localizable via 'FormatDef_Wall.vwstrings' of the EnergyAnalysis.vwr



Roof

Attach a record of this format to define the energy properties of a roof

Format name: Energos Roof

Field name Unit Description
Sort Index Integer Index used to order the elements
Name Text
Area Number Area value in document units
UValue Number U - value in document units
Orientation Integer
Orientation Integer values:

0 - North
1 - NorthEast
2 - East
3 - SouthEast
4 - South
5 - SouthWest
6 - West
7 - NorthWest
8 - Horizontal

Inclination Integer Orientation inclination degrees:

0 = 0 - Horizontal
1 = 15
2 = 30
3 = 45
4 = 60
5 = 90 - Vertical
6 = 105
7 = 120
8 = 135
9 = 150
10 = 165
11 = 180 - Horizontal

Reduction Factor Shading Number

Note: strings are localizable via 'FormatDef_Roof.vwstrings' of the EnergyAnalysis.vwr


Example Scripts - Python Script

You can use the following scripts to create the formats:

Wall

# Energos Thermal Bridge
vwr = 'EnergyAnalysis/Strings/FormatDef_Wall.vwstrings'
formatName = vs.GetVWRString(vwr, 'FormatName' )
vs.NewField(formatName, vs.GetVWRString(vwr, "FieldInt_SortIndex"              ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, "FieldText_Name"                  ), '', 4, 0 ) #text
vs.NewField(formatName, vs.GetVWRString(vwr, "FieldDim_Area"                   ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, "FieldReal_UValue"                ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, "FieldInt_Orientation"            ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, "FieldInt_OrientInclination"      ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, "FieldReal_ReductionFactorShading"), '0', 3, 0 ) #real	
vs.NewField(formatName, vs.GetVWRString(vwr, "FieldInt_WallType"               ), '0', 1, 0 ) #int

Thermal Bridge

# Energos Thermal Bridge
vwr = 'EnergyAnalysis/Strings/FormatDef_ThermalBridge.vwstrings'
formatName = vs.GetVWRString(vwr, 'FormatName' )
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_SortIndex'), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldText_Name'    ), '', 4, 0 ) #text
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldLong_Quantity'), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldLong_Location'), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Length'   ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_PSI'     ), '0', 3, 0 ) #real


Window

# Energos Window
vwr = 'EnergyAnalysis/Strings/FormatDef_WinDoor.vwstrings'
formatName = vs.GetVWRString(vwr, 'FormatNameWindow' )
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_SortIndex'          ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldText_Name'              ), '',  4, 0 ) #text
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Area'               ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_UValue'            ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_Orientation'        ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_OrientInclination'  ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Width'              ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_GlazingArea'        ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_GlazingLength'      ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_FrameLength'        ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_LightTrasmGlazing' ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ShadingGeneral'    ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ShadingSurrounding'), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ShadingSummer'     ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ShadingAdditional' ), '0', 3, 0 ) #real


Door

# Energos Door
vwr = 'EnergyAnalysis/Strings/FormatDef_WinDoor.vwstrings'
formatName = vs.GetVWRString(vwr, 'FormatNameDoor' )
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_SortIndex'          ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldText_Name'              ), '',  4, 0 ) #text
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Area'               ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_UValue'            ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_Orientation'        ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_OrientInclination'  ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Width'              ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_GlazingArea'        ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_GlazingLength'      ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_FrameLength'        ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_LightTrasmGlazing' ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ShadingGeneral'    ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ShadingSurrounding'), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ShadingSummer'     ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ShadingAdditional' ), '0', 3, 0 ) #real


Space

# Energos Space
vwr = 'EnergyAnalysis/Strings/FormatDef_Space.vwstrings'
formatName = vs.GetVWRString(vwr, 'FormatName' )
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldText_Name'                           ), '',  4, 0 ) #text
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Area'                            ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Volume'                          ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_Orientation'                     ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Width'                           ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Depth'                           ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Height'                          ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_LintelHeight'                    ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_WindowWidth'                     ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_LightTransmissionGlazingPercent'), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_LightingFullLoadHours'          ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_InstalledLightPower'            ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_LightingControl'                 ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldBool_MotionDetector'                 ), '0', 2, 0 ) #bool
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_ExtractAirRoomType'              ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_ExtractAirRequirement'           ), '0', 3, 0 ) #real

Slab

# Energos Slab
vwr = 'EnergyAnalysis/Strings/FormatDef_Slab.vwstrings'
formatName = vs.GetVWRString(vwr, 'FormatName' )
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_SortIndex'          ), '0', 1, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldText_Name'              ), '',  4, 0 ) #text
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Area'               ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_UValue'            ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_Orientation'        ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_OrientInclination'  ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_RSInternal'        ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_RSExternal'        ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ExposedPerimToOpen'), '0', 3, 0 ) #real


Roof

# Energos Roof
vwr = 'EnergyAnalysis/Strings/FormatDef_Roof.vwstrings'
formatName = vs.GetVWRString(vwr, 'FormatName' )
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_SortIndex'              ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldText_Name'                  ), '',  4, 0 ) #text
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldDim_Area'                   ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_UValue'                ), '0', 3, 0 ) #real
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_Orientation'            ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldInt_OrientInclination'      ), '0', 1, 0 ) #int
vs.NewField(formatName, vs.GetVWRString(vwr, 'FieldReal_ReductionFactorShading'), '0', 3, 0 ) #real