Worksheet Functions: Difference between revisions

From Vectorworks Developer
Jump to navigation Jump to search
(Created page with "<div class="rightmenu"> __TOC__ </div> == General == {| border=0 | colspan="3" | <big>RunScript(scriptPath [, functionName])</big> |- | style="width: 10pt;" | || valign="to...")
 
No edit summary
Line 583: Line 583:
|  || valign="top" | Returns 1 if the object is flipped, otherwise it returns 0.
|  || valign="top" | Returns 1 if the object is flipped, otherwise it returns 0.
|-
|-
|  || valign="top" | <pre style="white-space:-moz-pre-wrap; white-space:-pre-wrap; white-space:-o-pre-wrap; white-space:pre-wrap; word-wrap:break-word;">Database header cell:਍㴀䤀猀䘀氀椀瀀瀀攀搀 爀攀琀甀爀渀猀 琀栀攀 昀氀椀瀀 猀琀愀琀攀 昀漀爀 攀愀挀栀 漀戀樀攀挀琀 椀渀 琀栀攀 搀愀琀愀戀愀猀攀ഀഀ
|  || valign="top" | <pre style="white-space:-moz-pre-wrap; white-space:-pre-wrap; white-space:-o-pre-wrap; white-space:pre-wrap; word-wrap:break-word;">Database header cell:=IsFlipped returns the flip state for each object in the database


਍匀瀀爀攀愀搀猀栀攀攀琀 挀攀氀氀㨀ഀ
Spreadsheet cell:
=IsFlipped(PON='window') returns the flip state of the window object if it resolves to only one, otherwise returns the total number of window objects in the drawing that are flipped
=IsFlipped(PON='window') returns the flip state of the window object if it resolves to only one, otherwise returns the total number of window objects in the drawing that are flipped</pre>
</pre>
|-
|-
| colspan="3" | <big>XCoordinate()</big>
| colspan="3" | <big>XCoordinate()</big>
Line 759: Line 758:
|  || valign="top" | Returns the U-Value of objects.
|  || valign="top" | Returns the U-Value of objects.
|-
|-
|  || valign="top" | <pre style="white-space:-moz-pre-wrap; white-space:-pre-wrap; white-space:-o-pre-wrap; white-space:pre-wrap; word-wrap:break-word;">Database header cell:਍㴀伀戀樀攀挀琀唀嘀愀氀甀攀 爀攀琀甀爀渀猀 琀栀攀 唀ⴀ瘀愀氀甀攀 昀漀爀 攀愀挀栀 眀愀氀氀Ⰰ 爀漀甀渀搀 眀愀氀氀Ⰰ 爀漀漀昀Ⰰ 爀漀漀昀 昀愀挀攀Ⰰ 猀氀愀戀Ⰰ 搀漀漀爀Ⰰ 愀渀搀 眀椀渀搀漀眀 漀戀樀攀挀琀 椀渀 琀栀攀 搀愀琀愀戀愀猀攀ഀഀ
|  || valign="top" | <pre style="white-space:-moz-pre-wrap; white-space:-pre-wrap; white-space:-o-pre-wrap; white-space:pre-wrap; word-wrap:break-word;">Database header cell:
=ObjectUValue returns the U-value for each wall, round wall, roof, roof face, slab, door, and window object in the database


਍匀瀀爀攀愀搀猀栀攀攀琀 挀攀氀氀㨀ഀ
Spreadsheet cell:
=ObjectUValue(n='wall-1') returns the U-value for the wall named “wall-1”
=ObjectUValue(n='wall-1') returns the U-value for the wall named “wall-1”</pre>
</pre>
|-
|-
| colspan="3" | <big>ObjRValue()</big>
| colspan="3" | <big>ObjRValue()</big>
Line 1,829: Line 1,828:
The heated area is the area that does not include an overhang.
The heated area is the area that does not include an overhang.
|-
|-
|  || valign="top" | <pre style="white-space:-moz-pre-wrap; white-space:-pre-wrap; white-space:-o-pre-wrap; white-space:pre-wrap; word-wrap:break-word;">Database header cell:਍㴀刀漀漀昀䄀爀攀愀开䠀攀愀琀攀搀 爀攀琀甀爀渀猀 琀栀攀 栀攀愀琀攀搀 愀爀攀愀 昀漀爀 攀愀挀栀 爀漀漀昀 愀渀搀 爀漀漀昀 昀愀挀攀 漀戀樀攀挀琀 椀渀 琀栀攀 搀愀琀愀戀愀猀攀ഀഀ
|  || valign="top" | <pre style="white-space:-moz-pre-wrap; white-space:-pre-wrap; white-space:-o-pre-wrap; white-space:pre-wrap; word-wrap:break-word;">Database header cell:=RoofArea_Heated returns the heated area for each roof and roof face object in the database


਍匀瀀爀攀愀搀猀栀攀攀琀 挀攀氀氀㨀ഀ
Spreadsheet cell:
=RoofArea_Heated (st=roofface) returns the combined heated area of all roof face objects in the drawing
=RoofArea_Heated (st=roofface) returns the combined heated area of all roof face objects in the drawing</pre>
</pre>
|-
|-
| colspan="3" | <big>RoofArea_TotalProj()</big>
| colspan="3" | <big>RoofArea_TotalProj()</big>
Line 2,060: Line 2,058:
|  || valign="top" | Returns the number of the space that surrounds the object.
|  || valign="top" | Returns the number of the space that surrounds the object.
|-
|-
|  || valign="top" | <pre style="white-space:-moz-pre-wrap; white-space:-pre-wrap; white-space:-o-pre-wrap; white-space:pre-wrap; word-wrap:break-word;">Database header cell:਍㴀䜀攀琀匀瀀愀挀攀一甀洀䘀漀爀伀戀樀 爀攀琀甀爀渀猀 琀栀攀 猀瀀愀挀攀 渀甀洀戀攀爀 昀漀爀 攀愀挀栀 漀戀樀攀挀琀 椀渀 琀栀攀 搀愀琀愀戀愀猀攀ഀഀ
|  || valign="top" | <pre style="white-space:-moz-pre-wrap; white-space:-pre-wrap; white-space:-o-pre-wrap; white-space:pre-wrap; word-wrap:break-word;">Database header cell:=GetSpaceNumForObj returns the space number for each object in the database


਍匀瀀爀攀愀搀猀栀攀攀琀 挀攀氀氀㨀ഀ
Spreadsheet cell:
=GetSpaceNumForObj(n='chair-1') returns the space number for the object named “chair-1”
=GetSpaceNumForObj(n='chair-1') returns the space number for the object named “chair-1”</pre>
</pre>
|}
|}



Revision as of 15:36, 17 September 2021

General

RunScript(scriptPath [, functionName])
Executes a script and returns the result value.
Database header cell:
=RunScript('My Script') executes the VectorScript script named “My Script” and returns a value for each object in the database

Spreadsheet cell:
=RunScript(2, 'ScriptFile.py', 2, 1) executes the Python script “ScriptFile.py” in the Vectorworks Plug-Ins folder, passing the parameters “2” and “1,” and returns a value
FormatField(format_name, field_name)
Returns the value of a given field name of the specified format.
Database header cell:
=FormatField(‘Door’, ‘Width’), where “Door” is the name of a record format, returns the value for the “Width” field for each object in the database.

Spreadsheet cell:
=FormatField(sel=true, 'Door', ‘Width’), where “Door” is the name of a record format, returns the value for the “Width” field for the selected objects in the drawing.
RunScriptEdit(scriptPath [, functionName])
Executes a script and returns the result value. The cells are editable and the same script is executed to handle the edit.
Database(criteria)
Creates a database of objects that meet the criteria.
=DATABASE((L='Floor-1')) creates a worksheet database of all objects on layer “Floor-1.”
DatabaseByScript([scriptPath], scriptName, ...params...)
Runs a script to create a database of objects.
=DataBaseByScript('MyScript.py', 2, 1) creates a worksheet database by executing the script named “My Script.py,” passing the parameters “2” and “1” to the script.

Logic

Switch(number, value1, value2, ... value_no_match)
Use value1, or value2, or value3, etc depending on the (number). When no value is available, then use value_no_match.
=switch(3, 10, 20, 30, 40, 50, 60, 'no match') returns 30
IFS((logic1), value1, (logic2), value2, ..., (logicN), valueN))
One of several possible results based on a series of tests. The first value which passes the test is chosen.
=ifs(A4>30, 'yes', A4<=30, 'no') returns 'yes' if the number in the cell A4 is >30. Else, if it is <=30 'no' is returned
Exact(value1, value2)
True when the two values are exactly the same. It will perform a case-sensitive comparison if the values are strings.
=exact('text', 'text') returns True, while exact('Text', 'text') will return False.
IsNA(value)
True when the value is N/A.
=IF(IsNA(Angle('energos'), '-', 'has value') On a database row, calculates the Energos angle of the objects, and decides which value to output based on if energos is applicable or not.

Note, you can use IfNA in order to use alternative value only when it's not applicable, the 'Angle' would have to be repeated for the IF function.

IfNA(value, value_when_na)
Use value_when_na when value resolves to N/A, otherwise use the value itself.
=IfNA(Angle('energos'), '-') On a database row, calculates the Energos angle of the objects, and if they are not applicable, would use '-'

FirstNonEmpty(value1, value2, value3, ...)
Use value1 if not empty, otherwise use value2 if not empty, otherwise use value3 if not empty, etc. Empty means: empty string, zero value, or N/A value. N/A will be returned if no match.
=FirstNonEmpty('Format-1'.'data', B1, 'Empty')

Return the value of the data field of the Format-1, if empty return B1, or the string 'Empty' if that is empty too.

IsError(value)
True when the value resolves to an error.
IfError(value, value_when_error)
Use value_when_error when value resolved to an error, otherwise use the value itself.
if((logical_test), value_if_true, value_if_false)
Use value_if_true if logical_test is true, value_is_false if logical_test is false.
=if(('Existing Tree'.'Condition'='Not Set'), '-', 'Existing Tree'.'Condition') If no condition value was set for the existing tree object, the value in this cell is a dash; otherwise, the value in this cell is the condition value that was set for the tree object.

=if(('Existing Tree'.'Condition'='Not Set'); '-'; 'Existing Tree'.'Condition')

Lookup

VLookup(value, [use_pattern], result_col_index, not_found_value, table)
Finds a value in the table range, looking at the leftmost column, and returns the value at the result_col_index in that same row.
=VLookup(value, [use_pattern], result_col_index, not_found_value, table)

Find a value in the table range, looking at the first column, and return the value at the resut_col_index of that row.

Parameters:
  value - the value that will be searched in the first column of 'table'.
  use_pattern - use regular expression pattern for the search.
  result_col_index - the number of the column in 'table' which will return the result_col_index.
  not_found_value - the result if 'value' is not found
  table - a range referencing the data. the first column will be searched, and 'result_col_index' will specify the result.

=VLookup(A3, 2, 'no email', B1..C4)
=VLookup(A3, 2, 'no email', 'Worksheet-1':B1..C4)

This example will search for the value of A3 in column B, and if found it will return the value in the C column, otherwise it will return 'no email'.

If the table is like this, 'tech' will be searched in B column, and it will return 'tech@vectorworks.net'
Note the second example, the table is a range for another worksheet named 'Worksheet-1'

  |    A   |     B     |     C
-------------------------------------------------
1 |        |  support  | support@vectorworks.net
2 |        |  tech     | tech@vectorworks.net
3 |  tech  |  PR       | PR@vectorworks.net
XLookup(value, [use_pattern], not_found_value, array_lookup, array_result)
Finds a value in the array_lookup, and returns the value from the array_result at the found row. The arrays should be ranges on the same column.
=XLookup(value, [use_pattern], not_found_value, array_lookup, array_result)

Find a value in the array_lookup, and return the value from the array_result at the found row. the arrays should be ranges on the same column.

Parameters:
  value - the value that will be searched in 'array_lookup' (a range defined in a single column).
  use_pattern - use regular expression pattern for the search.
  not_found_value - the result if 'value' is not found
  array_lookup - a range defined in a single column to search the 'value' in
  array_result - a range defined in a single column to to provide the result from the row that the 'value' was found in 'array_lookup'

=XLookup('tech', 'not found', 'Worksheet-Values':A1..A3, 'Worksheet-Result':B1..B3)

Named worksheet: 'Worksheet-Values':

  |     A     
--------------
1 |  support
2 |  tech
3 |  PR       

Named worksheet: 'Worksheet-Result':

  |   A    |     B
-----------|-------------------------
1 |  1234  | support@vectorworks.net
2 |  1235  | tech@vectorworks.net
3 |  1236  | PR@vectorworks.net

Math

round(number)
Rounds the specified number to the nearest whole number.
=round(2.345) returns 2
sin(number)
Returns the sine of a given angle.
=sin(deg2rad(32)) converts a 32-degree angle to its radian equivalent, and returns the sine of the angle
cos(number)
Returns the cosine of a given angle.
=cos(deg2rad(23)) converts a 23-degree angle to its radian equivalent, and returns the cosine of the angle
exp(number)
Returns e raised to the power of number.
=exp(2) returns the numeric value of e raised to the power of 2
ln(number)
Returns the natural logarithm (base e) of a number.
=ln(12) returns the natural logarithm of 12
sqrt(number)
Returns the square root of a number.
=sqrt(D27) returns the square root of the number in cell D27
atan(number)
Returns the arctangent of a number.
=atan(A3) returns the angle for which the tangent value is given in cell A3
rad2deg(number)
Converts number from radians to degrees.
=rad2deg(0.5235987) converts the radian angle measurement to its degree equivalent
deg2rad(number)
Converts number from degrees to radians.
=deg2rad(47) converts the 47-degree angle measurement to its radian equivalent
asin(number)
Returns the arcsine of a number.
=asin(A3) returns the angle for which the sine value is given in cell A3
acos(number)
Returns the arccosine of a number.
=acos(3/5) returns the angle for which the cosine value is 3/5
rounddown(number, digits)
Rounds the specified number down to a specified number of decimal digits.
=rounddown(2.345, 2) returns 2.34
roundup(number, digits)
Rounds the specified number up to a specified number of decimal digits.
=roundup(2.345, 2) returns 2.35
abs(number)
The absolute value of a number.
=abs(-12) returns the absolute value of the number -12
quotient(numerator, denominator)
Computes the quotient of an integer division.
=quotient(5, 2) returns 2
gcd(number1, number2, …)
The greatest common divisor of a group of numbers.
=gcd(5, 10, 20) returns 5
lcm(number1, number2, …)
The least common multiple of a group of numbers.
=lcm(2, 5, 11) returns 110
median(number1, number2, …)
The median (middle number) of a group of numbers
=median(1, 2, 3, 4, 5, 6) returns 3.5
logX(number, base)
The natural logarithm of a number with specified base. Number is the positive real number for which the logarithm is calculated. Related function: Power
=logx(16, 2) returns 4
power(number, power)
Raises a number to the given power. The function works like an exponent in a standard math equation.
=power(10, 3) returns 1000
sqrtpi(number)
The square root of (number * pi).
=sqrtpi(3.1415) returns 3.142 (square root of pi*3.1415)
sumsq(number1, number2, …)
The sum of the squares of the arguments.
=sumsq(0, 1, 2, 3, 4, 5) returns 55
randBetween(number1, number2)
A number between bottom and top, including bottom but not including top.
=rand(10, 100) returns a random number in the range [10, 100]
rand()
A number between 0 and 1, including 0 but not including 1.
=rand() returns a random number in the range [0, 1)
ceiling(number, [significance])
Rounds a number rounded up, away from zero, to the nearest multiple of significance.
=ceiling(123.123, 0.01) returns 123.13 (123.123 rounded up to the nearest multiple of 0.01)
floorNum(number, [significance])
Rounds a number down, toward zero, to the nearest multiple of significance.
=floorNum(123.123, 0.01) returns 123.12 (123.123 rounded down to the nearest multiple of 0.01)
truncate(number, [num digits])
A number truncated to the specified number of decimal places.
=truncate(123.123, 2) returns 123.12
average(number1, number2,...)
Returns the average (mean) of the arguments.
=average(A2,A10..A12) returns the average of the numbers contained in cells A2, A10, A11, and A12
int(number)
Rounds a number down to the nearest integer.
=int(3.8) returns the value 3
log(number)
Returns the base 10 logarithm of a number.
=log(100) returns the base 10 logarithm of 100
max(number1, number2,...)
Returns the largest number in the list of arguments.
=max(C5,C7,C9) returns the largest of the numbers that are in cells C5, C7, and C9
min(number1, number2,...)
Returns the smallest number in the list of arguments.
=min(C5,C7,C9) returns the smallest of the numbers that are in cells C5, C7, and C9
tan(number)
Returns the tangent of a given angle.
=tan(deg2rad(32)) converts a 32-degree angle to its radian equivalent, and returns the tangent of the angle
sum(number1, number2,...)
Returns the sum of all numbers in the list of arguments.
=sum(A2,A10..A12) returns the sum of the numbers contained in cells A2, A10, A11, and A12

Objects

General

Depth([optional parameters])
Returns the object's depth. The optional parameters will return specific values for certain objects, and the available options will be listed separately.
Weight([optional parameters])
Returns the object's wight. The optional parameters will return specific values for certain objects, and the available options will be listed separately.
ProjectedArea([optional parameters])
Returns the object's projected area. The optional parameters will return specific values for certain objects, and the available options will be listed separately.
FootPrintArea([optional parameters])
Returns the object's footprint area. The optional parameters will return specific values for certain objects, and the available options will be listed separately.
CrossSectionArea([optional parameters])
Returns the object's cross section area. The optional parameters will return specific values for certain objects, and the available options will be listed separately.
SpecialArea([optional parameters])
Returns the object's special area typically defined by parameters. The optional parameters will return specific values for certain objects, and the available options will be listed separately.
ObjectData('Class Description')
Returns the class description of the object's class.
ObjectData('General Name')
Returns the object's name and if it's a symbol with no name, returns the symbol name.
Database header cell:
=ObjectData('General Name')        Returns the name for each object in the DB row.
                                If the object is a symbol, it will return the name of the symbol

Spreadsheet cell:
=ObjectData(SEL=TRUE, 'General Name')    Returns the name for the selected object
                                      If the object is a symbol, it will return the name of the symbol
ObjectData('Layer Description')
Returns the layer description of the object's layer.
ObjectData('Object Variable', variable_index)
Returns the specified object variable from the object.
ObjectData('Universal Value', format_name, field_name, [is format])
Returns the universal value of the specified field of record or format if the optional parameter is True. It will work with the parametric format when the format_name is empty. Returns N/A if the object doesn't have the record attached or the format doesn't exist.
Database header cell:
=ObjectData('Universal Value', 'My Format-1', 'data')        Returns the 'data' field for the attached 'My Format-1' for each object in the DB row. Returns N/A if the format or the field is not available.
=ObjectData('Universal Value', 'My Format-1', 'data', True)  Returns the 'data' field for the attached 'My Format-1' for each object in the DB row. Returns N/A if the format or the field is not available.
=ObjectData('Universal Value', '', 'Door Height')            Returns the 'Door Height' field for each parametric in the DB row. Returns N/A if the field is not avaialble or the object is not a parametric.
=ObjectData('Universal Value', '', 'Door Height', True)      Returns the 'Door Height' field default value for each parametric in the DB row. Returns N/A if the field is not avaialble or the object is not a parametric.

Spreadsheet cell:
=ObjectData(t=wall, 'Universal Value', 'My Format-1', 'data')        Returns the 'data' field for the attached 'My Format-1' for the wall. Returns N/A if the format or the field is not available.
=ObjectData(t=wall, 'Universal Value', 'My Format-1', 'data', True)  Returns the 'data' field for the attached 'My Format-1' for the wall. Returns N/A if the format or the field is not available.
=ObjectData(PON='Door', 'Universal Value', '', 'Door Height')        Returns the 'Door Height' field for the parametric object Door. Returns N/A if the field is not avaialble or the object is not a parametric.
=ObjectData(PON='Door', 'Universal Value', '', 'Door Height', True)  Returns the 'Door Height' field default value the parametric object Door. Returns N/A if the field is not avaialble or the object is not a parametric.
ObjectType()
Returns the object type ID.
Database header cell:
=ObjectType returns the object type value for each object in the database

Spreadsheet cell:
=ObjectType(sel=true) returns the object type value of the selected object; for example, the object type value for a light is 81
Width([optional parameters])
Returns the delta X (width) of objects. The optional parameters will return specific values for certain objects, and the available options will be listed separately.
Database header cell:
=Width returns the width (delta x) for each object in the database

Spreadsheet cell:
=Width(sel=true) returns the combined width (delta x value) of the selected object
Height([optional parameters])
Returns the delta Y (height) of objects. The optional parameters will return specific values for certain objects, and the available options will be listed separately.
Database header cell:
=Height returns the height (delta y) for each object in the database

Spreadsheet cell:
=Height(sel=true) returns the combined height (delta y) value of the selected objects in the drawing
Count([optional parameters])
Returns the number of objects. The optional parameters will return specific values for certain objects, and the available options will be listed separately.
Database header cell:
=Count returns the total number of objects for each row in the database

Spreadsheet cell:
=Count(s='simple sofa') returns the total number of symbol objects named “simple sofa” in the drawing

When used with the COUNT function, the SEL (selection status) criterion counts objects that are actually non-selectable, such as the individual items within a group. The VSEL (visible selection status) criterion counts only the visibly selected items, which is the same counting method used for the Object Info palette. For example, if you select and count a group that has 11 items in it, the SEL criterion returns a value of 12 (the group, plus the 11 items). The VSEL criterion returns a value of 1 (the group only).
Angle()
Returns the angle of lines and walls, the span angle of arcs (in degrees), and the slope angle of slabs (in degrees).
Database header cell:
=Angle returns the angle of each object in the database

Spreadsheet cell:
=Angle((t=arc)&(n='arc-1')) returns the sweep angle of the arc object named “arc-1” in the drawing
IsFlipped()
Returns 1 if the object is flipped, otherwise it returns 0.
Database header cell:=IsFlipped returns the flip state for each object in the database

Spreadsheet cell:
=IsFlipped(PON='window') returns the flip state of the window object if it resolves to only one, otherwise returns the total number of window objects in the drawing that are flipped
XCoordinate()
Returns the X coordinate of the object relative to the user origin.
Database header cell:
=XCoordinate returns the x coordinate value for each object in the database
YCoordinate()
Returns the Y coordinate of the object relative to the user origin.
Database header cell:
=YCoordinate returns the y coordinate value for each object in the database
ZCoordinate()
Returns the Z coordinate of the object relative to the object's layer plane.
Database header cell:
=ZCoordinate returns the z coordinate value for each object in the database
Area()
Returns the area of 2D objects. The optional parameters will return specific values for certain objects, and the available options will be listed separately.
Database header cell:
=Area returns the area of each object in the database

Spreadsheet cell:
=Area(t=rect) returns the combined area of all rectangle objects in the drawing
BotBound()
Returns the minimum Y coordinate of objects.
Database header cell:
=BotBound returns the bottom 2D boundary of each object in the database

Spreadsheet cell:
=BotBound(t=locus) returns the bottom 2D boundary of the locus that has the lowest bottom 2D boundary value in the drawing
TopBound()
Returns the maximum Y (top boundary) of the objects.
Database header cell:
=TopBound returns the top 2D boundary for each object in the database

Spreadsheet cell:
=TopBound(sel=true) returns the top 2D boundary of the topmost selected object
LeftBound()
Returns the left side minimum X (left boundary) of the objects.
Database header cell:
=LeftBound returns the left 2D boundary for each object in the database

Spreadsheet cell:
=LeftBound(t=locus) returns the left 2D boundary of the leftmost locus in the drawing
RightBound()
Returns the right side minimum X (right boundary) of the objects.
Database header cell:
=RightBound returns the right 2D boundary for each object in the database

Spreadsheet cell:
=RightBound(t=rect) returns the right 2D boundary of the rightmost rectangle in the drawing
Perim([optional parameters])
Returns the object's perimeter. The optional parameters will return specific values for certain objects, and the available options will be listed separately.
Database header cell:
=Perim returns the perimeter for each object in the database

Spreadsheet cell:
=Perim(sel=true) returns the total perimeter of all selected objects
Length([optional parameters])
Returns the length of lines or walls. The optional parameters will return specific values for certain objects, and the available options will be listed separately.
Database header cell:
=Length returns the length for each object in the database

Spreadsheet cell:
=Length(t=line) returns the total length of all line objects in the drawing
XCenter()
Returns the center of objects in the X direction.
Database header cell:
=XCenter returns the x coordinate value of the center of the 2D boundary for each object in the database

Spreadsheet cell:
=XCenter(sel=true) returns the x coordinate value of the center of the 2D boundary of the selected object
YCenter()
Returns the center of objects in the Y direction.
Database header cell:
=YCenter returns the y coordinate value of the center of the 2D boundary for each object in the database

Spreadsheet cell:
=YCenter(sel=true) returns the y coordinate value of the center of the 2D boundary of the selected object
ZCenter()
Returns the center of objects in the Z direction.
Database header cell:
=ZCenter returns the z coordinate value of the center of the 2D boundary for each object in the database

Spreadsheet cell:
=ZCenter(sel=true) returns the z coordinate value of the center of the 2D boundary of the selected object
SurfaceArea([optional parameters])
Returns the object's surface area. The optional parameters will return specific values for certain objects, and the available options will be listed separately.
Database header cell:
=SurfaceArea returns the surface area for each object in the database

Spreadsheet cell:
=SurfaceArea(st=sphere) returns the total surface area of all sphere objects in the drawing
Volume([optional parameters])
Returns the object's volume of objects. The optional parameters will return specific values for certain objects, and the available options will be listed separately.
Database header cell:
=Volume returns the volume for each object in the database

Spreadsheet cell:
=Volume(t=xtrd) returns the total volume of all extrude objects in the drawing
Image()
Returns an image of the object.
Database header cell:
=Image returns the image for each object in the database

Spreadsheet cell:
=Image(s='cabinet') returns the image of the symbol named “Cabinet”
ObjUValue()
Returns the U-Value of objects.
Database header cell:
=ObjectUValue returns the U-value for each wall, round wall, roof, roof face, slab, door, and window object in the database

Spreadsheet cell:
=ObjectUValue(n='wall-1') returns the U-value for the wall named “wall-1”
ObjRValue()
Returns the R-Value of objects.
Database header cell:
=ObjectRValue returns the R-value for each wall, round wall, roof, roof face, slab, door, and window object in the database

Spreadsheet cell:
=ObjectRValue(n='wall-1') returns the R-value for the wall named “wall-1”
ObjIncludeInEnergos()
Returns 1 if object will be included in Energos calculations, otherwise it returns 0.
Database header cell:
=ObjIncludeInEnergos returns the Energos status for each wall, round wall, roof, roof face, slab, door, and window object in the database

Spreadsheet cell:
=ObjIncludeInEnergos(t=wall) returns the Energos status for all walls in the drawing
PluginStyleName()
Returns the name of the plug-in style used by the object.
Database header cell:
=PluginStyleName returns the plug-in style name for each object in the database

Spreadsheet cell:
=PluginStyleName(sel=true) returns the plug-in style name for all selected objects in the drawing
Layer()
Returns the object's layer name.
Database header cell:
=Layer returns the layer of each object in the database

Spreadsheet cell:
=Layer(sel=true) returns the layer name of the selected objects in the drawing
Class()
Returns the object's class name.
Database header cell:
=Class returns the class of each object in the database

Spreadsheet cell:
=Class(sel=true) returns the class name of the selected objects in the drawing
ObjectTypeName()
Returns the object's type name.
Database header cell:
=ObjectTypeName returns the type name for each object in the database

Spreadsheet cell:
=ObjectTypeName(sel=true) returns the type name of the selected objects in the drawing
Name()
Returns the object's name.
Database header cell:
=Name returns the name for each object in the database

Spreadsheet cell:
=Name(sel=true) returns the name of the selected objects in the drawing
Story()
Returns the object's story.
Database header cell:
=Story returns the story name for each object in the database

Spreadsheet cell:
=Story(sel=true) returns the story name of the selected objects in the drawing
ObjectTileFill()
Returns the object's tile fill.
Database header cell:
=TileFill returns the tile fill for each object in the database

Spreadsheet cell:
=TileFill(sel=true) returns the tile fill of the selected objects in the drawing
ObjectHatchFill()
Returns the object's hatch fill.
Database header cell:
=HatchFill returns the hatch fill for each object in the database

Spreadsheet cell:
=HatchFill(sel=true) returns the hatch fill of the selected objects in the drawing
ObjectGradientFill()
Returns the object's gradient fill.
Database header cell:
=GradientFill returns the gradient fill for each object in the database

Spreadsheet cell:
=GradientFill(sel=true) returns the gradient fill of the selected objects in the drawing
ObjectTexture()
Returns the object's texture name.
Database header cell:
=ObjectTexture returns the texture of each object in the database

Spreadsheet cell:
=ObjectTexture(sel=true) returns the texture of the selected objects in the drawing
ObjectSketchStyle()
Returns the object's sketch style name.
Database header cell:
=SketchStyle returns the sketch style for each object in the database

Spreadsheet cell:
=SketchStyle(sel=true) returns the sketch style of the selected objects in the drawing
ObjectLineType()
Returns the object's line type.
Database header cell:
=LineType returns the line type for each object in the database

Spreadsheet cell:
=LineType(sel=true) returns the line type of the selected objects in the drawing
ObjectImageFill()
Returns the object's image fill.
Database header cell:
=ImageFill returns the image fill for each object in the database

Spreadsheet cell:
=ImageFill(sel=true) returns the image fill of the selected objects in the drawing
GetCOBieSource(worksheetName.columnName.country.version)
Returns data source of a COBie property for an object.
=GETCOBIESOURCE ('space.floorname') returns the FloorName data source for objects whose COBie property is Space
GetCOBieProperty(worksheetName.columnName.country.version)
Returns the value of a COBie property for an object.
=GETCOBIEPROPERTY ('space.floorname') returns the FloorName value for objects whose COBie property is Space
SymbolName()
Returns the symbol name.
Database header cell:
=SymbolName returns the name for each symbol instance in the database

Spreadsheet cell:
=SymbolName(sel=true) returns the symbol name of the selected symbol instances in the drawing
DataTagField(fieldname)
Returns the value of the specified field in the data tag object. Fieldname is the name of the field in the data tag layout.
Database header cell:
=DataTagField('Color'), where “Color” is the label of a user-entered text field in a data tag, returns the value for the “Color” field (for example, “Red”) for each data tag in the database.

Spreadsheet cell:
=DataTagField(sel=true, 'Color'), where “Color” is the label of a user-entered text field in a data tag, returns the value for the “Color” field (for example, “Red”) for the selected data tag in the drawing.
ImageByViewport(viewportName)
Returns an image of the object with the specified viewport's color scheme(s) applied.
Database header cell:
=Imagebyviewport('Plan A') applies the data visualizations from the viewport named “Plan A” to each image in the database 

Spreadsheet cell:
=Imagebyviewport('Space Allocation') applies the data visualization from the viewport named “Space Allocation” to the image in the cell
ImageByDataVis(dataVisName)
Returns an image of the object with the specified data visualizations's color scheme applied.
Database header cell:
=Imagebydatavis('truss by type') applies the “truss by type” data visualization to each image in the database rows

Spreadsheet cell:
=Imagebydatavis('offices') applies the data visualization named “offices” to the image in the cell
XRotation()
Returns the object's rotation angle (in degrees) around the X-axis.
YRotation()
Returns the object's rotation angle (in degrees) around the Y-axis.
ZRotation()
Returns the object's rotation angle (in degrees) around the Z-axis.
PartTypeName()
Returns the part type name of the subpart object. Returns the object type name if the object is not a subpart.
Database header cell:
=PartTypeName returns the part type name for each subpart object in the database. if the database object is not a subpart, the object type name is returned

FillForeColor()
Returns the object's fill foreground color name.
Database header cell:
=FillForeColor returns the name of the fill foreground color for each object in the database

Spreadsheet cell:
=FillForeColor(t=rect) returns the name of the fill foreground color of the rectangle object
FillBackColor()
Returns the object's fill background color name.
Database header cell:
=FillBackColor returns the name of the fill background color for each object in the database

Spreadsheet cell:
=FillBackColor(t=rect) returns the name of the fill background color of the rectangle object
PenForeColor()
Returns the object's pen foreground color name.
Database header cell:
=PenForeColor returns the name of the pen foreground color for each object in the database

Spreadsheet cell:
=PenForeColor(t=rect) returns the name of the pen foreground color of the rectangle object
PenBackColor()
Returns the object's pen background color name.
Database header cell:
=PenBackColor returns the name of the pen background color for each object in the database

Spreadsheet cell:
=PenBackColor(t=rect) returns the name of the pen background color of the rectangle object
IsFilled()
Returns 1 if the object has any fill attribute, otherwise returns 0.
Database header cell:
=IsFilled returns the attribute fill state (1 if filled, otherwise 0) for each object in the database



Spreadsheet cell:
=IsFilled(T=WALL) returns the attribute fill state of the wall object if the criteria resolves to one object, otherwise returns the total number of walls in the drawing that are filled

Legacy

ComponentArea( index)
Returns the area of one side of the specified component,

minus any holes in the 3D object.

Database header cell:
=ComponentArea(2) returns the combined area of the second component for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=ComponentArea(t=wall,1) returns the combined area of the first components for all walls in the drawing
ComponentVolume(index)
Returns the total 3D volume of the specified component,

minus any holes in the 3D object.

Database header cell:
=ComponentVolume(2) returns the combined volume of the second component for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=ComponentVolume(t=wall,1) returns the combined volume of the first components for all walls in the drawing
ComponentName(index)
Returns the name of the specified component.
Database header cell:
=ComponentName(2) returns the name of the second component for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=ComponentName(t=wall,1) returns the name of the first component for all walls in the drawing
GetIFCProperty(instanceName.propertyName)
Returns the value of the property field of the given instance or preset.
=GETIFCPROPERTY ('ifcfurnishingelement.name') returns the Name value for IFC objects whose IFC entity is IfcFurnishingElement 
ComponentLambda(index)
Returns the lambda of the specified component.
Database header cell:
=ComponentLambda(2) returns the Lambda value of the second component for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=ComponentLambda(t=wall,1) returns the Lambda value of the first component for all walls in the drawing
ComponentUValue(index)
Returns the U-Value of the specified component.
Database header cell:
=ComponentUValue(2) returns the combined U-values of the second component for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=ComponentUValue(t=wall,1) returns the combined U-values of the first components for all walls in the drawing
ComponentRValue(index)
Returns the R-Value of the specified component.
Database header cell:
=ComponentRValue(2) returns the combined R-values of the second component for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=ComponentRValue(t=wall,1) returns the combined R-values of the first components for all walls in the drawing
ComponentThickness(index)
Returns the thickness of the specified component.
Database header cell:
=ComponentThickness(2) returns the combined thickness of the second component for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=ComponentThickness(t=wall,1) returns the combined thickness of the first components for all walls in the drawing
CompAreaByClass(class)
The area of one side of the specified wall, slab, or roof component, minus any holes. Class is a string that specifies the component's class. If multiple components use the specified class the values will be summed.
Database header cell:
=CompAreaByClass('Class-1') returns the combined area of the components assigned to the class “Class-1” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompAreaByClass(t=wall,'Class-1') returns the combined area of the components assigned to the class “Class-1” for all walls in the drawing
CompLambdaByClass(class)
The Lambda value of the specified wall, slab, or roof component. Class is a string that specifies the component's class. If multiple components use the specified class the lambda value of the first matching component will be returned.
Database header cell:
=CompLambdaByClass('Class-1') returns the Lambda value of the first component assigned to the class “Class-1” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompLambdaByClass(t=wall,'Class-1') returns the Lambda value of the first component assigned to the class “Class-1” for all walls in the drawing
CompNameByClass(class)
The name of the specified wall, slab, or roof component. Class is a string that specifies the component's class. If multiple components use the specified class the first component name will be returned.
Database header cell:
=CompNameByClass('Class-1') returns the name of the first component assigned to the class “Class-1” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompNameByClass(t=wall,'Class-1') returns the name of the first component assigned to the class “Class-1” for all walls in the drawing
CompRValueByClass(class)
The R-Value of the specified wall, slab, or roof component. Class is a string that specifies the component's class. If multiple components use the specified class the values will be summed.
Database header cell:
=CompRValueByClass('Class-1') returns the combined R-values of the components assigned to the class “Class-1” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompRValueByClass(t=wall,'Class-1') returns the combined R-values of the components assigned to the class “Class-1” for all walls in the drawing
CompThicknessByClass(class)
The thickness of the specified wall, slab, or roof component. Class is a string that specifies the component's class. If multiple components use the specified class the values will be summed.
Database header cell:
=CompThicknessByClass('Class-1') returns the combined thickness of the components assigned to the class “Class-1” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompThicknessByClass(t=wall,'Class-1') returns the combined thickness of the components assigned to the class “Class-1” for all walls in the drawing
CompUValueByClass(class)
The U-Value of the specified wall, slab, or roof component. Class is a string that specifies the component's class. If multiple components use the specified class the values will be summed.
Database header cell:
=CompUValueByClass('Class-1') returns the combined U-values of the components assigned to the class “Class-1” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompUValueByClass(t=wall,'Class-1') returns the combined U-values of the components assigned to the class “Class-1” for all walls in the drawing
CompVolumeByClass(class)
The volume of the specified wall, slab, or roof component. Class is a string that specifies the component's class. If multiple components use the specified class the values will be summed.
Database header cell:
=CompVolumeByClass('Class-1') returns the combined volume of the components assigned to the class “Class-1” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompVolumeByClass(t=wall,'Class-1') returns the combined volume of the components assigned to the class “Class-1” for all walls in the drawing
CompAreaByName(name)
The area of one side of the specified wall, slab, or roof component, minus any holes. Name is a string that specifies the component's name. If multiple components use the same name the values will be summed.
Database header cell:
=CompAreaByName('Brick Veneer') returns the combined area of the components with the name “Brick Veneer” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompAreaByName(t=wall,'Brick Veneer') returns the combined area of the components with the name “Brick Veneer” for all walls in the drawing
CompLambdaByName(name)
The Lambda value of the specified wall, slab, or roof component. Name is a string that specifies the component's name. If multiple components use the same name the lambda value of the first matching component will be returned.
Database header cell:
=CompLambdaByName('Brick Veneer') returns the Lambda value of the first component with the name “Brick Veneer” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompLambdaByName(t=wall,'Brick Veneer') returns the Lambda value of the first component with the name “Brick Veneer” for all walls in the drawing
CompClassByName(name)
The class of the specified wall, slab, or roof component. Name is a string that specifies the component's name. If multiple components use the specified name the first component class will be returned.
Database header cell:
=CompClassByName('Brick Veneer') returns the class of the first component with the name “Brick Veneer” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompClassByName(t=wall,'Brick Veneer') returns the class of the first component with the name “Brick Veneer” for all walls in the drawing
CompRValuesByName(name)
The R-Value of the specified wall, slab, or roof component. Name is a string that specifies the component's name. If multiple components use the same name the values will be summed.
Database header cell:
=CompRValueByName('Brick Veneer') returns the combined R-values of the components with the name “Brick Veneer” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompRValueByName(t=wall,'Brick Veneer') returns the combined R-values of the components with the name “Brick Veneer” for all walls in the drawing
CompThicknessByName(name)
The thickness of the specified wall, slab, or roof component. Name is a string that specifies the component's name. If multiple components use the same name the values will be summed.
Database header cell:
=CompThicknessByName('Brick Veneer') returns the combined thickness of the components with the name “Brick Veneer” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompThicknessByName(t=wall,'Brick Veneer') returns the combined thickness of the components with the name “Brick Veneer” for all walls in the drawing
CompUValueByName(name)
The U-Value of the specified wall, slab, or roof component. Name is a string that specifies the component's name. If multiple components use the same name the values will be summed.
Database header cell:
=CompUValueByName('Brick Veneer') returns the combined U-values of the components with the name “Brick Veneer” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompUValueByName(t=wall,'Brick Veneer') returns the combined U-values of the components with the name “Brick Veneer” for all walls in the drawing
CompVolumeByName( name)
The volume of the specified wall, slab, or roof component. Name is a string that specifies the component's name. If multiple components use the same name the values will be summed.
Database header cell:
=CompVolumeByName('Brick Veneer') returns the combined volume of the components with the name “Brick Veneer” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompVolumeByName(t=wall,'Brick Veneer') returns the combined volume of the components with the name “Brick Veneer” for all walls in the drawing
CompMatByClass(class)
The material of the specified wall, slab, or roof component. Class is a string that specifies the component's class. If multiple components use the specified class the values will be summed.
Database header cell:
=CompMatByClass('Class-1') returns the materials used by the first component assigned to the class “Class-1” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompMatByClass(t=wall,'Class-1') returns the material used by the first component assigned to the class “Class-1” for all walls in the drawing
CompMatByName(name)
The material of the specified wall, slab, or roof component. Name is a string that specifies the component's name. If multiple components use the same name the values will be summed.
Database header cell:
=CompMatByName('Siding') returns the materials used by the first component with the name “Siding” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompMatByName(t=wall,'Siding') returns the material used by the first component with the name “Siding” for all walls in the drawing
CompAreaByMat(material)
The area of one side of the specified wall, slab, or roof component, minus any holes. Material is a string that specifies the component's material. If multiple components use the specified material the values will be summed.
Database header cell:
=CompAreaByMat('Mortar MT') returns the combined area of the components that use the material “Mortar MT” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompAreaByMat(t=wall, 'Mortar MT') returns the combined area of the components that use the material “Mortar MT” for all walls in the drawing
CompClassByMat(material)
The class of the specified wall, slab, or roof component. Material is a string that specifies the component's material. If multiple components use the specified material the first component class will be returned.
Database header cell:
=CompClassByMat('Mortar MT') returns the class of the first component that uses the material “Mortar MT” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompClassByMat(t=wall, 'Mortar MT') returns the class of the first component that uses the material “Mortar MT” for all walls in the drawing
CompLambdaByMat(material)
The Lambda value of the specified wall, slab, or roof component. Material is a string that specifies the component's material. If multiple components use the specified material the lambda value of the first matching component will be returned.
Database header cell:
=CompLambdaByMat('Mortar MT') returns the Lambda value of the first component that uses the material “Mortar MT” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompLambdaByMat(t=wall,'Mortar MT') returns the Lambda value of the first component that uses the material “Mortar MT” for all walls in the drawing
CompNameByMat(material)
The name of the specified wall, slab, or roof component. Material is a string that specifies the component's material. If multiple components use the specified material the first component name will be returned.
Database header cell:
=CompNameByMat('Mortar MT') returns the name of the first component that uses the material “Mortar MT” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompNameByMat(t=wall,'Mortar MT') returns the name of the first component that uses the material “Mortar MT” for all walls in the drawing
CompRValueByMat(material)
The R-Value of the specified wall, slab, or roof component. Material is a string that specifies the component's material. If multiple components use the specified material the values will be summed.
Database header cell:
=CompRValueByMat('Mortar MT') returns the combined R-values of the components that use the material “Mortar MT” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompRValueByMat(t=wall,'Mortar MT') returns the combined R-values of the components that use the material “Mortar MT” for all walls in the drawing
CompThicknessByMat(material)
The thickness of the specified wall, slab, or roof component. Material is a string that specifies the component's material. If multiple components use the specified material the values will be summed.
Database header cell:
=CompThicknessByMat('Mortar MT') returns the combined thickness of the components that use the material “Mortar MT” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompThicknessByMat(t=wall,'Mortar MT') returns the combined thickness of the components that use the material “Mortar MT” for all walls in the drawing
CompUValueByMat(material)
The U-Value of the specified wall, slab, or roof component. Material is a string that specifies the component's material. If multiple components use the specified material the values will be summed.
Database header cell:
=CompUValueByMat('Mortar MT') returns the combined U-values of the components that use the material “Mortar MT” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompUValueByMat(t=wall,'Mortar MT') returns the combined U-values of the components that use the material “Mortar MT” for all walls in the drawing
CompVolumeByMat(material)
The volume of the specified wall, slab, or roof component. Material is a string that specifies the component's material. If multiple components use the specified material the values will be summed.
Database header cell:
=CompVolumeByMat('Mortar MT') returns the combined volume of the components that use the material “Mortar MT” for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=CompVolumeByMat(t=wall,'Mortar MT') returns the combined volume of the components that use the material “Mortar MT” for all walls in the drawing

Material

MaterialName()
Returns the object's material.
Database header cell:
=MaterialName returns the names of materials in objects for each row in the database

Spreadsheet cell:
=MaterialName(t=SOLIDCSG) returns the names of materials in generic solids in the drawing
MaterialCount()
Returns the object's number of materials.
Database header cell:
=MaterialCount returns the total number of materials in objects for each row in the database

Spreadsheet cell:
=MaterialCount(t=SOLIDCSG) returns the total number of materials in generic solids in the drawing
MaterialTexture()
Returns the name of the object's material's texture assignment.
Database header cell:
=MaterialTexture returns the texture of the material assigned to objects for each row in the database

Spreadsheet cell:
=MaterialTexture(t=SOLIDCSG) returns the texture of the material assigned to the generic solid in the drawing
MatPropertyByName(materialName, propertyName)
Returns the value of the specified property for the specified material.
Spreadsheet cell:
=MatPropertyByName('Mortar MT','MaterialFinish') returns the material finish property for the material “Mortar MT”
MaterialIsSimple()
Returns true if the object's material is a simple material.
Database header cell:
=MaterialIsSimple returns TRUE if the material of the object referenced by the database row is a simple material.

Spreadsheet cell:
=MaterialIsSimple(t=SOLIDCSG) returns TRUE if the material of the generic solid in 6th drawing is a simple material.
MaterialPartName(materialName)
Returns the name of the material-bearing geometry that uses the specified material in the object.
Database header cell:
=MaterialPartName('Metal Steel MT') returns the name of the first part that uses the material “Metal Steel MT” for each row in the database

Spreadsheet cell:
=MaterialPartName(t=wall, 'Metal Steel MT') returns the name of the first part that uses the material “Metal Steel MT” for walls in the drawing
MaterialSurfaceArea()
Returns the surface area of the object's specified material assignment.
Database header cell:
=MaterialSurfaceArea('Mortar MT') returns the surface area for objects that use the material named “Mortar MT” for all objects for each row in the database

Spreadsheet cell:
=MaterialSurfaceArea(t=wall,'Mortar MT') returns the surface area for objects that use the material named “Mortar MT” for all walls in the drawing
MaterialVolume()
Returns the volume of the object's specified material assignment.
Database header cell:
=MaterialVolume('Mortar MT') returns the volume for objects that use the material named “Mortar MT” for all objects for each row in the database

Spreadsheet cell:
=MaterialVolume(t=wall,'Mortar MT') returns the volume for objects that use the material named “Mortar MT” for all walls in the drawing
MaterialPercent(materialName)
Returns percentage of the object's specified material.
Database header cell:
=MaterialPercent('Mortar MT') returns the percentage of the material “Mortar MT” in all objects for each row in the database

Spreadsheet cell:
=MaterialPercent(t=wall,'Mortar MT') returns the percentage of the material “Mortar MT” for all walls in the drawing
ComponentMaterial(index)
Returns the material of the specified component.
Database header cell:
=ComponentMaterial(2) returns the material used by the second component for each wall, round wall, roof, roof face, and slab object in the database

Spreadsheet cell:
=ComponentMaterial(t=wall,1) returns the material used by the first component for all walls in the drawing
MaterialProperty(propertyName)
Returns the value of the specified property for the material resource.
Database header cell:
=MaterialProperty('MaterialFinish') returns the value of the material property "MaterialCategory" for each material resource in the database

Spreadsheet cell:
=MaterialProperty((t=material) & (n='material-1'), 'MaterialCategory') returns the value of the material property "MaterialCategory" for the material resource named "material-1"

Available property names:

- General info fields
	'MaterialDescription'
	'MaterialKeynote'
	'MaterialMark'

- Physical values
	'MaterialUsesAcousticImpedance' and 'MaterialAcousticImpedance'
	'MaterialUsesAlbedo' and 'MaterialAlbedo'
	'MaterialUsesDensity' and 'MaterialDensity'
	'MaterialUsesEmbodiedCarbon' and 'MaterialEmbodiedCarbon'
	'MaterialUsesEmissivity' and 'MaterialEmissivity'
	'MaterialUsesLambda' and 'MaterialLambda'
	'MaterialUsesModulusOfElasticity' and 'MaterialModulusOfElasticity'
	'MaterialUsesSlipResistance' and 'MaterialSlipResistance'
	'MaterialUsesSoundVelocity' and 'MaterialSoundVelocity'
	'MaterialUsesSpecificGravity' and 'MaterialSpecificGravity'
	'MaterialUsesSpecificHeat' and 'MaterialSpecificHeat'
	'MaterialUsesTensileStrength' and 'MaterialTensileStrength'
	'MaterialUsesThermalExpansionCoefficient' and 'MaterialThermalExpansionCoefficient'
	'MaterialUsesYieldStrength' and 'MaterialYieldStrength'

Construction info
	'MaterialCategory'
	'MaterialClassificationDescription'
	'MaterialCost'
	'MaterialFinish'
	'MaterialIsSurfaceAreaMeasure'
	'MaterialIsVolumetric'
	'MaterialManufacturer'
	'MaterialProductDescription'
	'MaterialProductModel'
	'MaterialProductName'
	'MaterialProductURL'
	'MaterialReferenceID'
	'MaterialSource'
	'MaterialStandard'

Specialized for Circuit

ObjectData('eval circuit destination device', '<RecordName>', '<FieldName>')
Get parameter value or attached record field from the circuit's destination device.
ObjectData('eval circuit destination socket', '<RecordName>', '<FieldName>')
Get parameter value or attached record field from the circuit's destination socket.
ObjectData('eval circuit source device', '<RecordName>', '<FieldName>')
Get parameter value or attached record field from the circuit's source device.
ObjectData('eval circuit source socket', '<RecordName>', '<FieldName>')
Get parameter value or attached record field from the circuit's source socket.

Specialized for Curtain Wall

CurtWallFrameLength(classname)
Returns the length of curtain wall frames in class 'classname'.
Database header cell:
=CurtWallFrameLength('') returns the combined length of the curtain wall frames for each curtain wall in the database

Spreadsheet cell:
=CurtWallFrameLength(t=wall, '') returns the combined length of the curtain wall frames for all curtain walls in the drawing
CurtWallPnlAreaGross(classname)
Returns the gross area of the curtain wall panels in class 'classname'.
Database header cell:
=CurtWallPnlAreaGross('') returns the combined gross area of the curtain wall panels for each curtain wall in the database

Spreadsheet cell:
=CurtWallPnlAreaGross(t=wall, '') returns the combined gross area of the curtain wall panels for all curtain walls in the drawing
CurtWallPnlAreaNet(classname)
Returns the net area of the curtain walls panels in class 'classname'.
Database header cell:
=CurtWallPnlAreaNet ('Class-1') returns the combined net area of the curtain wall panels assigned to the class “Class-1” for each curtain wall in the database

Spreadsheet cell:
=CurtWallPnlAreaNet(t=wall, 'Class-1') returns the combined net area of the curtain wall panels assigned to the class “Class-1” for all curtain walls in the drawing

Specialized for Door

Angle('energos')
Get the orientation from the north used in the Energos calculations for this object.

Specialized for Door CW

Angle('energos')
Get the orientation from the north used in the Energos calculations for this object.

Specialized for Hardscape

Depth()
Calculate the depth of the Landscape Area, Hardscape, or Site Model and their components.
ProjectedArea()
Calculate the projected area of the Landscape Area, Hardscape, or Site Model and their components.
ObjectData('component name')
Return the name of the component subpart for Landscape Area, Hardscape, and Site Model.
Area()
Calculate the surface area of the Landscape Area, Hardscape, or Site Model and their components.
SurfaceArea()
Calculate the surface area of the Landscape Area, Hardscape, or Site Model and their components.
Volume()
Calculate the volume of the Landscape Area, Hardscape, or Site Model and their components.

Specialized for Landscape Area

Depth()
Calculate the depth of the Landscape Area, Hardscape, or Site Model and their components.
ProjectedArea()
Calculate the projected area of the Landscape Area, Hardscape, or Site Model and their components.
ObjectData('component name')
Return the name of the component subpart for Landscape Area, Hardscape, and Site Model.
ObjectData('divider')
Return the divider string or empty of this divider from a Landscape Area. This must be used on a database row listing the dividers/plants of Landscape Areas.
ObjectData('Landscape Area', <field>)
Provides access to the Landscape Area data field for edit if the style allows.
ObjectData('percentage')
Return the percentage value of this plant from a Landscape Area. This must be used on a database row listing the plants of Landscape Areas.
ObjectData('Plant Record', <field>)
Provides access to the Plant Record data of the Landscape Area Plant subparts for edit if the style allows.
ObjectData('rate')
Return the rate value value of this plant from a Landscape Area. This must be used on a database row listing the plants of Landscape Areas.
ObjectData('rate unit')
Return the rate unit string of this plant from a Landscape Area. This must be used on a database row listing the plants of Landscape Areas.
ObjectData('rate with unit')
Return the rate value and unit of this plant from a Landscape Area. This must be used on a database row listing the plants of Landscape Areas.
Area()
Calculate the surface area of the Landscape Area, Hardscape, or Site Model and their components.
SurfaceArea()
Calculate the surface area of the Landscape Area, Hardscape, or Site Model and their components.
Volume()
Calculate the volume of the Landscape Area, Hardscape, or Site Model and their components.

Specialized for Plant

PlantImage(index)
Returns an image of the object at the specified index.
Database header cell:
=PlantImage(2) displays the image specified for Image Detail in the Plant Data pane of the plant symbol definition

Spreadsheet cell:
=PlantImage((‘Plant’.’plant ID’=’TaxfR’), 4) displays the image specified for Custom Image in the Plant Data pane of the plant symbol definition with a plant ID of TaxfR

Specialized for Roof

RoofArea_Total()
Returns the total area along the slope of a roof.
Database header cell:
=RoofArea_Total returns the total area for each roof and roof face object in the database

Spreadsheet cell:
=RoofArea_Total(st=roofface) returns the combined total area of all roof face objects in the drawing
RoofArea_Heated()
Returns the heated area along the slope of a roof.

The heated area is the area that does not include an overhang.

Database header cell:=RoofArea_Heated returns the heated area for each roof and roof face object in the database

Spreadsheet cell:
=RoofArea_Heated (st=roofface) returns the combined heated area of all roof face objects in the drawing
RoofArea_TotalProj()
Returns the total area of a roof projected on the active layer plane.
Database header cell:
=RoofArea_TotalProj returns the total area for each roof and roof face object in the database, as projected to the layer plane

Spreadsheet cell:
=RoofArea_Totalproj(t=roof) returns the combined total area of all roof objects in the drawing, as projected to the layer plane
RoofArea_HeatedProj()
Returns the heated area of a roof projected on the active layer plane.

The heated area is the area that does not include an overhang.

Database header cell:
=RoofArea_HeatedProj returns the heated area for each roof and roof face object in the database, as projected to the layer plane

Spreadsheet cell:
=RoofArea_HeatedProj (t=roof) returns the combined heated area of all roof objects in the drawing, as projected to the layer plane
RoofStyleName()
Returns the name the roof style used by the object.
Database header cell:
=RoofStyleName returns the roof style name for each roof object in the database

Spreadsheet cell:
=RoofStyleName(n='roof-1') returns the roof style name for the object named “roof-1”

Specialized for Site Model

Depth()
Calculate the depth of the Landscape Area, Hardscape, or Site Model and their components.
ProjectedArea()
Calculate the projected area of the Landscape Area, Hardscape, or Site Model and their components.
ObjectData('component name')
Return the name of the component subpart for Landscape Area, Hardscape, and Site Model.
Area()
Calculate the surface area of the Landscape Area, Hardscape, or Site Model and their components.
SurfaceArea()
Calculate the surface area of the Landscape Area, Hardscape, or Site Model and their components.
Volume()
Calculate the volume of the Landscape Area, Hardscape, or Site Model and their components.

Specialized for Slab

ObjectData('Component Name')
Returns the name of the wall, slab or roof component.
ObjectData('Component Name')
Returns the name of the wall, slab or roof component.
ObjectData('Lambda')
Returns the Lambda value of the object.
ObjectData('Lambda')
Returns the Lambda value of the object.
ObjectData('RValue')
Returns the R-Value of the object.
ObjectData('RValue')
Returns the R-Value of the object.
ObjectData('UValue')
Returns the U-Value of the object.
ObjectData('UValue')
Returns the U-Value of the object.
Width()
Returns the thickness of a wall, slab, roof or a roof face object or their components.
Width()
Returns the thickness of a wall, slab, roof or a roof face object or their components.
Angle('energos')
Get the orientation from the north used in the Energos calculations for this object.
Angle('energos')
Get the orientation from the north used in the Energos calculations for this object.
SlabThickness()
Returns the thickness of slab objects.
Database header cell:
=SlabThickness returns the thickness for each object in the database

Spreadsheet cell:
=SlabThickness(PON=slab) returns the combined thickness of all slab objects in the drawing
SlabStyleName()
Returns the name of the slab style used by the slab.
Database header cell:
=SlabStyleName returns the name of the slab style for each slab object in the database

Spreadsheet cell:
=SlabStyleName(n='slab-1') returns the name of the slab style for the object named “slab-1”
Area()
Returns the area of a wall, slab, roof or a roof face object or their components.
Area()
Returns the area of a wall, slab, roof or a roof face object or their components.
Volume()
Returns the volume of a wall, slab, roof or a roof face object or their components.
Volume()
Returns the volume of a wall, slab, roof or a roof face object or their components.

Specialized for Socket

ObjectData('eval socket device', '<RecordName>', '<FieldName>')
Get parameter value or attached record field from the socket's device.

Specialized for Space

GetSpaceNameForObj()
Returns the name of the space that surrounds the object.
Database header cell:
=GetSpaceNameForObj returns the space name for each object in the database

Spreadsheet cell:
=GetSpaceNameForObj(n='chair-1') returns the space name for the object named “chair-1”
GetSpaceNumForObj()
Returns the number of the space that surrounds the object.
Database header cell:=GetSpaceNumForObj returns the space number for each object in the database

Spreadsheet cell:
=GetSpaceNumForObj(n='chair-1') returns the space number for the object named “chair-1”

Specialized for Wall

ObjectData('Component Name')
Returns the name of the wall, slab or roof component.
ObjectData('Lambda')
Returns the Lambda value of the object.
ObjectData('RValue')
Returns the R-Value of the object.
ObjectData('UValue')
Returns the U-Value of the object.
Width()
Returns the thickness of a wall, slab, roof or a roof face object or their components.
Height('average')
Returns the average height of a wall, including wall peaks and different starting and ending heights.
Height('overall')
Returns the overall height of a wall.
Angle('energos')
Get the orientation from the north used in the Energos calculations for this object.
WallArea_Net()
Returns the average of the net area of the interior and exterior face of the wall. The net area is adjusted for holes in the wall.
Database header cell:
=WallArea_Net returns the average of the net area of the interior and exterior face of the wall, for each wall in the database; the net area is adjusted for holes in the wall

Spreadsheet cell:
=WallArea_Net(t=wall) returns the average of the net area of the interior and exterior face of the wall, combined for all walls in the drawing; the net area is adjusted for holes in the wall
WallArea_Gross()
Returns the average of the gross area of the interior and exterior face of the wall. The gross area ignores holes in the wall.
Database header cell:
=WallArea_Gross returns the average of the gross area of the interior and exterior face of the wall, for each wall in the database; the gross area ignores holes in the wall

Spreadsheet cell:
=WallArea_Gross(t=wall) returns the average of the gross area of the interior and exterior face of the wall, combined for all walls in the drawing; the gross area ignores holes in the wall
WallAverageHeight()
Returns the average wall height of a wall, including wall peaks and different starting and ending heights.
Database header cell:
=WallAverageHeight returns the average height for each wall object in the database

Spreadsheet cell:
=WallAverageHeight((t=wall)&(sel=true)) returns the average height of all walls that are selected in the drawing
WallThickness()
Returns the thickness of the wall.
Database header cell:
=WallThickness returns the thickness for each wall object in the database

Spreadsheet cell:
=WallThickness(t=wall) returns the combined thickness of all walls in the drawing
WallStyleName()
Returns the name of the wall style used by the wall.
Database header cell:
=WallStyleName returns the name of the wall style for each wall object in the database

Spreadsheet cell:
=WallStyleName(n='wall-1') returns the name of the wall style for the object named “wall-1”
Area()
Returns the area of a wall, slab, roof or a roof face object or their components.
Volume()
Returns the volume of a wall, slab, roof or a roof face object or their components.
WallOverallHeight()
Returns the overall height of walls.
Database header cell:
=WallOverallHeight returns the average overall height for each wall object in the database

Spreadsheet cell:
=WallOverallHeight((t=wall)&(sel=true)) returns the average overall height of all walls that are selected in the drawing

Specialized for WinDoor 6.0

Angle('energos')
Get the orientation from the north used in the Energos calculations for this object.

Specialized for Window

Angle('energos')
Get the orientation from the north used in the Energos calculations for this object.

Specialized for Window CW

Angle('energos')
Get the orientation from the north used in the Energos calculations for this object.

Text

concat(text1, text2,...)
Joins several text strings into one text string.
=concat(B3,', ',B4) returns the contents of cells B3 and B4 as a single string, separated by a comma and a space
SubString(text, delimiter, index)
Splits a single string into an array of strings using a delimiter, and returns the string at the specified index.
=SUBSTRING('kitchen;bedroom;bathroom;basement', ';', 2) returns “bedroom,” which is the second substring in the specified string
txt(value, ToUnit, [Param1], [Param2], ...)
Converts a numeric value from document units to the specified units and returns a string representation using the options to control formatting. More information is available in the example.
The first parameter must be <ToUnit> and then a list of optional parameters to fine tune the conversion.

Parameter Details:
 - <ToUnit> - the units in which the value will be converted from the current document units
	Possible options are for using the current document units:
		Dim		- flinear dimension 
		Area	- area dimension
		Volume	- volume dimension
		Angle	- angular dimension
		
	General purpose options:
		General	- as a general number
		Sci		- as a scienific number
		Percent	- as a percent number
	
	Linear specific units options (one of the list):
		FeetNInches, Inches, Feet, Miles, Yards, Microns, Millimeters, Centimeters, Meters, Kilometers, Degrees, Ares
	
	Area specific units options (one of the list):
		SquareInches, SquareFeet, SquareYards, SquareMiles, Acres, SquareMicrons, SquareMillimeters, SquareCentimeters, SquareMeters, SquareKilometers, Hectares
	
	Volume specific units options (one of the list):
		CubicInches, CubicFeet, CubicYards, Gallons, CubicMillimeters, CubicCentimeters, CubicMeters, Litres

 - <optional param> - rounding style
		Dec		- decimal representation of the number
		Frac	- fractional representation of the number
		Auto	- will use fractional representation if rounds up to one, or decimal representation if not

 - <optional param> - rounding format
	Decimal rounding represented by the number of digits after the decimal dot.
	Examples:
		0.000	- would round up three digits. e.g. 0.356 if the number is 0.3556678
		0.0		- would round up one digit. e.g. 0.4 if the number is 0.3556678
		0.		- would round up to no digits. e.g. 0 if the number is 0.3556678
	
	Fractional rounding represented by the number after the / symbol, from 1/1 to 1/64 max.
	Examples:
		1/8		- would round to 1/8th
		1/64	- would round to 1/64th
		1/1		- wourd round to integer number

- <optional param> - rounding base using multiples of tenths, quarters, or halves
		RoundTenth
		RoundQuarter
		RoundHalf

- <optional param> - Units display
		NoUnits
		Units

- <optional param> - thoudsnds separator display
		ThousandsSeparator
		NoThousandsSeparator

- <optional param> - trailing zero display
		NoTrailingZero
		TrailingZero

- <optional param> - leading zero
		NoLeadingZeroes
		LeadingZeroes

Examples:
=TXT(2.45, 'Dim') - returns the number in the documents linear dimensions
=TXT(2.45, 'Feet', 'Frac', '1/16') - returns the number in feet as fraction with 1/16 rounding
isalnum(text)
True if all characters in the string are letters and/or digits and there is at least one character or digit, false otherwise. Real numbers will return False.
=isalnum('word123') returns True
isalpha(text)
True if all characters in the string are alphabetic and there is at least one character, false otherwise.
=isalpha('word') returns True
isdigit(text)
True if all characters in the string are digits and there is at least one digit, false otherwise. Real numbers will return False.
=isdigit('1234') returns True
islower(text)
True if all cased characters in the string are lowercase and there is at least one cased character, false otherwise. Non-alphabetic characters don't have a case and will return true.
=islower('does not have upper char') returns True
isspace(text)
True if there are only whitespace characters in the string and there is at least one character, false otherwise.
=isspace('      ') returns True
istitle(text)
True if the string is a titlecased string and there is at least one character, for example uppercase characters may only follow uncased characters and lowercase characters only cased ones. False otherwise.
=isTitle('This Is Title Text') returns True
isupper(text)
True if all cased characters in the string are uppercase and there is at least one cased character, false otherwise. Non-alphabetic characters don't have a case and will return true.
=isUpper('DOES NOT HAVE LOWER CHARS') returns True
TextJoin(delimiter, text1, text2, …)
The string which is the concatenation of the strings in the sequence seq. The separator between elements is the string providing this method.
=textJoin(', ', 1, 2, 3) returns '1, 2, 3'
Lower(text)
Converts all characters in a text string to lowercase.
=lower('MAKE THIS LOWER') returns 'make this lower'
TrimLeft(text, [chars])
Removes leading characters from a text string. The chars argument is a string specifying the set of characters to be removed. If omitted or None, whitespaces will be removed.
=trimLeft('abbcwordabbc', 'abc') returns 'wordabbc'
Replace(string, oldString, newString, [count])
Replaces occurrences of a substring in a text with a different substring. If the optional argument count is given, only the first count occurrences are replaced.
=replace('my car is your car', 'car', 'ball', 2) returns 'my ball is your ball'
TrimRight(text, [chars])
Removes trailing characters from a text string. The chars argument is a string specifying the set of characters to be removed. If omitted or None, whitespaces will be removed.
=trimRight('abbcwordabbc', 'abc') returns 'abbcword'
Trim(text, [chars])
Removes leading and trailing characters from a text string. The chars argument is a string specifying the set of characters to be removed. If omitted or None, whitespaces will be removed.
=trim('abbcwordabbc', 'abc') returns 'word'
Proper(text)
Converts a text string to titlecase. The first letter in each word starts with uppercase characters, all remaining characters are lowercase.
=proper('make this title text') returns 'Make This Title Text'
Upper(text)
Converts all characters in a text string to uppercase.
=upper('make this upper') returns 'MAKE THIS UPPER'
Len(text)
The number of characters in the (text) string.
=len('hello there') returns 11
 
Insert(text, index, textToInsert)
Inserts a text (textToInsert) into an existing text string (text) at specified index position.
=insert('hey, this is ok', 12, ' not') returns 'hey, this is not ok'
Left(text, count)
Returns a string with the specified number of characters from the start of the text value.
=left('this is sample', 4) returns 'this'
Right(text, count)
Returns a string with the specified number of characters from the end of the text value.
=right('this is sample', 6) returns 'sample'
Mid(text, index, count)
Returns a string with the specified number of characters starting at a given position in the text value
=mid('apple', 2, 3) returns 'ppl'
=mid('apple', -4, 3) looking the index backwards, returns 'ppl'
=mid('apple', 4, -3) getting characters backward from the index, returns 'ppl
Delete(text, index, count)
Removes the specified number (count) of characters from the text string starting at a given position (index).
=delete('this is sample', 4, 3) returns 'this sample'. Here 3 characters after the 4th are deleted.
Quote(text)
Returns a the text enclosed in quotation marks.
=quote('quote this') returns "quote this" (The text, in double quotes)
Rept(text, num)
Repeats text a given number of times.
=rept('Line ', 3) returns 'Line Line Line '
Fixed(num, [decimals])
Formats a number as text with a fixed number of decimals.
=fixed(10.12345, 3) returns 10.123 (up to the 3rd digit after the decimal point)
JustNum(num, width)
Returns a numeric string of the specified size (width) with leading zeros appended to the number. The original string is returned if width is less than the original string length.
=justNum(10.123, 8) returns '0010.123'
Char(number)
Returns the Unicode character or text representation (U+1234) referenced by the given number .
=char(8734) returns the symbol ∞
=char('U+221E') also returns ∞
Code(text)
Returns the number (Unicode code point) for the first character of the text.
=code('∞') returns 8734. The unicode codepoint for ∞
Find(subtext, text, [caseSensitive])
The lowest index in the (text) where substring (subtext) is found. If the optional argument (case) is set to true, case-sensitive search is performed. Index of -1 if (subtext) is not found.
=find('text', 'this is text') returns 8
FindPattern(pattern, text, [caseSensitive])
The lowest index in the (text) where the regular expression provided in (pattern) is found. If the optional argument (case) is set to true, case-sensitive search is performed. Index of -1 if (subtext) is not found. Regular expression is a sequence of characters that specifies a search pattern.
=findPattern('(Soft)(.*)', 'soft Software', True) returns 5
value(text)
Converts a text string that represents a number to a number.
=value('2e3') returns the numeric value of 2 times 10 raised to the power of 3