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
-
Member stiffness matrix
The 12 by 12 stiffness of one beam-column in its own axes.
EA ÷ L, GJ ÷ L, 12EI ÷ L³, 6EI ÷ L², 4EI ÷ L, 2EI ÷ L
3D frame analysis frame/frame-solve.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Equivalent nodal loads
A load along a member as forces and moments at its two ends.
p = ∫ N(ξ) · w(ξ) dx, by 4-point Gauss-Legendre quadrature
3D frame analysis frame/frame-solve.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Banded Cholesky factorisation
Factorises the stiffness matrix once, for every load set.
K = L · Lᵀ; pivot s = k_jj − Σ l²; mechanism when s ≤ 1e-11 × k_jj
3D frame analysis frame/frame-solve.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Forward and back substitution
Displacements for one load set from the factorised matrix.
L · y = f, then Lᵀ · u = y
3D frame analysis frame/frame-solve.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Length of a segment or arc
The true length of one straight or curved piece of a run.
θ = 4 · atan(b); r = c ÷ (2 · sin(θ ÷ 2)); length = r × |θ|
Takeoff lengths and areas geom.js64-bit- TakeoffCraft
-
Area under an arc
The area between an arc and its chord.
area = r² × (θ − sin θ) ÷ 2
Takeoff lengths and areas geom.js64-bit- TakeoffCraft
-
Area of an outline
The area inside a closed outline by the shoelace formula, arcs included.
A = ½ Σ (xᵢ · yᵢ₊₁ − xᵢ₊₁ · yᵢ) + Σ arc areas
Takeoff lengths and areas geom.js64-bit- TakeoffCraft
-
Perimeter
The length around a closed outline.
P = Σ segment lengths, the closing segment included
Takeoff lengths and areas geom.js64-bit- TakeoffCraft
-
Net area with cut-outs
Gross area, cut-outs, net area and perimeter of an area mark.
net = gross − Σ cut-outs
Takeoff lengths and areas geom.js64-bit- TakeoffCraft
-
Centroid
The center of area of an outline, where its label goes.
C_x = Σ (xᵢ + xᵢ₊₁) · fᵢ ÷ 6A, fᵢ = xᵢ · yᵢ₊₁ − xᵢ₊₁ · yᵢ
Takeoff lengths and areas geom.js64-bit- TakeoffCraft
-
Add, subtract, multiply, divide
The four operations on values that carry units.
a + b and a − b need the same dimensions; a × b and a ÷ b combine them
Calc sheets calc.js Every app64-bit -
Comparisons
Pass or fail checks such as M <= 40 kN m.
a ≤ b is true when a ≤ b + 1e-12 × max(1, |a|, |b|)
Calc sheets calc.js Every app64-bit -
Number shown
A result as text in the sheet.
6 significant digits; exponent form from 1e9 up and below 1e-4
Calc sheets calc.js Every app64-bit -
Knot span
Which span of the knot vector a parameter falls in.
i such that U[i] ≤ u < U[i + 1], by bisection
B-spline basis functions nurbs/basis.js64-bit- ModelCraft
- PartCraft
-
Basis functions
The p + 1 basis functions that are not zero at a parameter.
N(i, p)(u) by the Cox-de Boor recurrence (A2.2)
B-spline basis functions nurbs/basis.js64-bit- ModelCraft
- PartCraft
-
Basis function derivatives
The basis functions and their derivatives up to a chosen order.
N⁽ᵏ⁾(i, p)(u) for k = 0 … d (A2.3)
B-spline basis functions nurbs/basis.js64-bit- ModelCraft
- PartCraft
-
Line and line
The point where two lines cross.
t = ((b₁ − a₁) × d₂) ÷ (d₁ × d₂); parallel when |d₁ × d₂| < 1e-12 × |d₁| × |d₂|
Line, arc and circle intersections geom.js64-bit- CadCraft
-
Line and circle
The points where a line meets a circle or arc.
A·t² + B·t + C = 0; t = (−B ± √(B² − 4AC)) ÷ 2A
Line, arc and circle intersections geom.js64-bit- CadCraft
-
Circle and circle
The points where two circles or arcs meet.
x = (d² + r₁² − r₂²) ÷ 2d; h = √(r₁² − x²)
Line, arc and circle intersections geom.js64-bit- CadCraft
-
Is the point on the object
Whether a computed crossing lies on the drawn part of each object.
−tol ≤ t·L ≤ L + tol, with tol = 1e-7; arcs: the angle within 1e-7 of the sweep
Line, arc and circle intersections geom.js64-bit- CadCraft
-
Plan extents and edge tolerance
The outside box of the level's walls and how close to it a wall must lie to count as an outside edge.
T = 1.2 × max(150 mm, thickest wall)
Automatic plan dimensions autodim.js64-bit- BimCraft
-
Dimension line offset
How far the dimension line sits from the two points it measures.
offset = round((target − a)·n × 10) ÷ 10, n = (−dy, dx) ÷ |b − a|
Automatic plan dimensions autodim.js64-bit- BimCraft
-
Reference station on a wall
The saved position of a dimension's end along its wall, 0 at one end and 1 at the other.
station = round(station × 10⁶) ÷ 10⁶
Automatic plan dimensions autodim.js64-bit- BimCraft
-
Is this dimension already there
Compares two references so the same dimension is not made twice.
Automatic plan dimensions autodim.js64-bit- BimCraft
-
Measured segment along an axis
Makes one dimension between two points, measured along X or along Y.
Automatic plan dimensions autodim.js64-bit- BimCraft
-
Stops along an outside edge
The wall ends, opening edges and meeting walls that a row of dimensions runs between.
opening stations = offset ÷ L and (offset + width) ÷ L
Automatic plan dimensions autodim.js64-bit- BimCraft
-
Inverse of a 4 × 4 matrix
The inverse of the model's coordination matrix.
M⁻¹ = adj(M) ÷ det(M)
Issue viewpoints in BCF files bcf.js64-bit- BimCraft
- ModelCraft
-
Viewer point to model point
A camera position or a point on a section plane in the model's own coordinates, in meters with Z up.
(x, y, z) = C⁻¹ v; IFC = (x, −z, y)
Issue viewpoints in BCF files bcf.js64-bit- BimCraft
- ModelCraft
-
Viewer direction to model direction
A camera direction, up vector or section plane normal in the model's own axes.
Issue viewpoints in BCF files bcf.js64-bit- BimCraft
- ModelCraft
-
Model point to viewer point
A point read from an issue file, placed in the viewer.
v = C (x, z, −y)
Issue viewpoints in BCF files bcf.js64-bit- BimCraft
- ModelCraft
-
Model direction to viewer direction
A direction read from an issue file, in the viewer's axes.
Issue viewpoints in BCF files bcf.js64-bit- BimCraft
- ModelCraft
-
Numbers written to the file
How each coordinate, direction, field of view and scale is written in a viewpoint.
round(v × 10⁶) ÷ 10⁶
Issue viewpoints in BCF files bcf.js64-bit- BimCraft
- ModelCraft
-
Numbers read from the file
Reads the X, Y and Z of a point or direction.
Issue viewpoints in BCF files bcf.js64-bit- BimCraft
- ModelCraft
-
Camera read from a viewpoint
The camera of an issue as BimCraft keeps it.
Issue viewpoints in BCF files bcf.js64-bit- BimCraft
- ModelCraft
-
Which stated quantity is used
Picks an element's volume, area or length from the quantities the file states.
Element quantities for carbon and cost carbon-calc.js64-bit- BimCraft
-
Volume of a mesh
The volume of an element from its triangles, used when the file states none.
V = |Σ a·(b × c)| ÷ 6 × (unit ÷ 1000)³
Element quantities for carbon and cost carbon-calc.js64-bit- BimCraft
-
Floor area of the building
The floor area the carbon total is divided by when the person has not typed one.
area = Σ space floor areas, else Σ floor slab areas
Element quantities for carbon and cost carbon-calc.js64-bit- BimCraft
-
Quantities per material part
The volume, area and length handed on for each material of an element.
part volume = element volume × share
Element quantities for carbon and cost carbon-calc.js64-bit- BimCraft
-
Middle of a room
The point the interior elevation cuts through.
middle = (min + max) ÷ 2 on each axis
Interior elevations and their dimensions comforts-views.js64-bit- BimCraft
-
Frame of an interior elevation
The width and height of the wall shown, and how deep the view looks.
x₀, x₁ = min, max of p·right; depth from the room's middle to max(p·dir) + 50 mm
Interior elevations and their dimensions comforts-views.js64-bit- BimCraft
-
Dimension values on elevations and sections
The widths, heights and level spacings written on a view.
width = x₁ − x₀; height = y₁ − y₀; level spacing = yᵢ₊₁ − yᵢ
Interior elevations and their dimensions comforts-views.js64-bit- BimCraft
-
Where a door or window is tagged
The plan point, the height range and the outward side of each opening.
middle station = offset + width ÷ 2; top = sill + height
Interior elevations and their dimensions comforts-views.js64-bit- BimCraft
-
Views placed at scale on the sheet
Takes view millimeters to paper millimeters at the sheet's scale.
k = 1 ÷ scale ratio; paper = origin + view × k
Interior elevations and their dimensions comforts-views.js64-bit- BimCraft
-
Where a drag puts an item
The position and turn saved when a placed item is dragged or turned by its grip.
turn = round(atan2(dy, dx) × 180 ÷ π ÷ step) × step, step 15° or 1° with Shift
Interior elevations and their dimensions comforts-ui.js64-bit- BimCraft
-
Room height on the interior elevations
The floor-to-floor height the elevations are framed to, and the height of each tagged item.
height = next level − this level, else the level's own height
Interior elevations and their dimensions comforts-ui.js64-bit- BimCraft
-
Project origin and survey point
Where the site's survey point is in the file's coordinates, with its elevation and map grid position.
survey point = site placement origin × file unit in mm; elevation in m = RefElevation × unit ÷ 1000
Coordinate readouts and survey point coords.js64-bit- BimCraft
-
Level a height is on
Picks the level whose floor is at or just below a height.
the highest level with elevation ≤ z + 1 mm
Coordinate readouts and survey point coords.js64-bit- BimCraft
-
Foot and US survey foot
The two sizes of foot a map's unit is compared with.
ft = 0.3048 m; US ft = 1200 ÷ 3937 m
Coordinate readouts and survey point coords.jsExact- BimCraft
-
Map grid coordinates as text
A point's eastings and northings in the map's own unit.
value = meters ÷ map unit in meters, written with 3 decimals
Coordinate readouts and survey point coords.js64-bit- BimCraft
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.