Takeoff formulas

Choose a measure, filter drawing marks, and calculate quantities with takeoff formulas.

Updated

A Takeoff cell reads drawing marks. For example, area(wall) measures the area of marks assigned the wall preset or tag.

A Formula column calculates from other columns, such as Quantity * Rate. See column types and calculations.

1. Choose a measure

MeasureResult
count(…)One per matching mark, in EA.
length(…)Path length, or the perimeter of a closed shape, in LF or m.
area(…)Enclosed area, in SF or m².
volume(…)Area × the mark's depth, in CY or m³.

Length, area, and volume need a calibrated page. Marks without suitable geometry or depth are excluded. Counting marks does not need a scale.

2. Filter the marks

Write the filter inside the measure's parentheses.

Presets and tags

Use a preset or tag name, such as count(door) or area(exterior-wall). A preset also includes marks assigned to its nested presets.

Names ignore case and punctuation. Use a hyphen or underscore between words, or quote a name containing spaces: area("Exterior Wall").

Combine conditions

  • And: area(wall & rated) includes marks matching both names.
  • Or: count(window, door) includes either name. You can also use |.
  • Not: count(door & !temporary) excludes temporary marks.
  • Group: area(wall & (rated, fire-wall)) combines alternatives.

Filter by page or property

Use =, <=, or >= to compare values:

count(door & page=3)
area(window & u_value<=0.3)
length(pipe & size>=4 & size<=12)
count(door & "Room Name"="Main Bedroom")

Property names and text values are case-sensitive. Quote names or values containing spaces; nested properties use dots, such as spec.size=3068.

The names type, page, status, label, and origin refer to the mark itself. Other names refer to its properties.

Use !finish=oak for “not equal.” The operators !=, ==, <, and > are not supported. To match a tag, use its name directly: count(window), not count(tag=window).

3. Calculate the quantity

Use +, -, *, /, numbers, and parentheses.

Deduct openings using the same measure on both sides:

area(wall) - area(window, door)

Deta tracks deductions separately from the gross quantity.

Add 10% waste after deducting openings:

(area(wall) - area(window, door)) * 1.1

Convert square feet to square yards:

area(paving) / 9

Then set the row's unit to SY. Choosing a unit only changes the label; the formula must perform the conversion.

Units

Deta derives units from the measures. If it cannot determine a unit, the cell shows units? and stays out of quantity totals. Check the calculation, then click the marker to choose a unit if needed.

A chosen unit applies to that row and its expanded groups, not the whole column.

Fixed quantities

Enter 4500 for a fixed number or 4500 LS for a quantity with a unit. These values stop following drawing marks. Enter a takeoff formula again to restore a live quantity.

Warnings and missing results

Hover a warning beside the quantity for its explanation.

WarningWhat to check
name?A named tag, property, or value was not found in this version. Check the spelling and suggested match.
units?Deta cannot determine the unit. Check the formula, then choose a unit.
formula?The expression is invalid. Check its syntax.
math?The arithmetic has no valid result, such as division by zero.

For an empty or zero result without a warning, check that marks match all filter conditions, measured pages have a scale, and volume marks have a depth. A property of type Tag has no separate value: match its name directly.