Resources Numerical accuracy
Calculations
Every calculation under our calculation policies: what it works out, its formula and the precision it runs at. Open one to see its code as it is in the released app.
Calculations
-
Vertex positions and normals written
Fills the position and normal buffers of an object.
n = (b − a) × (c − a) ÷ |…|
3D check view exported as glTF glb.js32-bit in part- TakeoffCraft
-
Bounds of each position buffer
The minimum and maximum of a position buffer, written beside it.
3D check view exported as glTF glb.js32-bit in part- TakeoffCraft
-
Quantities carried with each object
Attaches each object's mark, item, kind and measured values to its node.
3D check view exported as glTF glb.js64-bit- TakeoffCraft
-
Arcs as Bézier curves for drawing
Turns a run or an outline into move, line and curve commands.
k = 4 ÷ 3 × tan(φ ÷ 4); c₁ = p₀ + k·r·tangent₀; c₂ = p₃ − k·r·tangent₁
Marks and sheets written to PDF geom.js64-bit- TakeoffCraft
-
A mark's path written to the page
Writes a mark's commands as PDF path operators.
Marks and sheets written to PDF pdfmarks.js64-bit- TakeoffCraft
-
Quantities printed in the legend
The quantity of each item on that sheet, as text in the page's legend.
Marks and sheets written to PDF pdfmarks.js64-bit- TakeoffCraft
-
A drawing's lines written as vector paths
Writes each batch of the drawing's lines to the PDF page under the sheet's matrix.
width = max(0.25, lw × 72 ÷ 25.4 [× 0.5]) ÷ scale
Marks and sheets written to PDF cadpdf.js64-bit- TakeoffCraft
-
Unit conversions to the factor table's basis
How many meters, square meters, cubic meters or items one of each takeoff unit is.
CY → m³: × 0.764554858 (exact: 0.9144³ = 0.764554857984)
Embodied carbon from quantities carbon.js64-bit- TakeoffCraft
-
Quantity in the factor's basis
Converts a line's quantity with waste into the unit its carbon factor is given in.
qty = qtyW × factor; kg basis: qtyW × factor × density
Embodied carbon from quantities carbon.js64-bit- TakeoffCraft
-
Kilograms per line and the total
The carbon of each line for the chosen modules, and their sum.
kg = qty × (A1–A3 + A4 + A5); total = Σ kg
Embodied carbon from quantities carbon.js64-bit- TakeoffCraft
-
Carbon lines written to a file
Writes each line's quantity and kilograms to a CSV file.
written = round(v × 100) ÷ 100
Embodied carbon from quantities carbon.js64-bit- TakeoffCraft
-
Unit conversions for the price table
The table unit and factor for each takeoff unit.
Rates exported as a price table carbon.jsExact- TakeoffCraft
-
Rates converted and rounded
One table row per priced item, with its material rate, labor rate and waste.
rate = round(rate4 ÷ 10000 × factor × 10⁶) ÷ 10⁶
Rates exported as a price table carbon.js64-bit- TakeoffCraft
-
Quantity rounded for the package
Rounds a quantity to 4 decimals before it is sent.
qty = round(v × 10000) ÷ 10000
Quantities sent in a bid package bidsend.js64-bit- TakeoffCraft
-
Scope lines of a package
Builds the lines of a bid package: item, quantity, unit and sheets.
Quantities sent in a bid package bidsend.js64-bit- TakeoffCraft
-
Vertex buffers for the 3D view
Copies an object's triangles into a buffer for the graphics card.
Drawing the 3D check view and CAD sheets on screen view3d.js32-bit, display only- TakeoffCraft
-
Canvas paths for a CAD sheet
Builds the canvas paths of one batch of lines and fills.
Drawing the 3D check view and CAD sheets on screen cadset.js32-bit, display only- TakeoffCraft
A calculation is added only after its source was read. Each statement can be checked in the code shown on its policy's page; the app repositories are public. When a release changes a calculation, its page says so until it has been read again.