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.

  • 6,917 calculations in 1,248 source files
  • 143 exact
  • 6,286 in 64-bit
  • 335 with a 32-bit step
  • Last reviewed

Calculations

  • Slab reinforcement and shear

    The steel required and provided per meter in each layer, and the one-way shear check of a slab.

    d = h − cover − bar ÷ 2 (outer layer); provided = (π d_b² ÷ 4) × 1000 ÷ s; need = max(required, ρ_min × 1000 × h); ratio = need ÷ provided

    Concrete member and slab checks on a solved frame frame/slab-design.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Concrete stiffness for the analysis

    The elastic modulus, shear modulus and density given to concrete members.

    E = 4700 √f′c; G = E ÷ 2.4; ρ = 2400 kg/m³

    Concrete member and slab checks on a solved frame frame/frame-concrete.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Cracked stiffness factor

    The share of the gross stiffness used for cracked members.

    0.70 columns; 0.35 beams; 1 when not cracked

    Concrete member and slab checks on a solved frame frame/frame-concrete.js
    • CadCraft
    • BimCraft
    • DetailCraft
    Exact
  • Area of a bar

    The cross-section area of a reinforcing bar from its diameter.

    A = π d² ÷ 4

    Concrete member and slab checks on a solved frame frame/frame-concrete.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Approximate period

    The building's approximate fundamental period from its height and structural system.

    Ta = Ct × (hn ÷ 1000)^x, hn in mm

    Seismic loads and story drift to ASCE 7-22 frame/loads-asce7.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Upper limit factor on the period

    The factor Cu that caps a period taken from analysis.

    table of SD1 against Cu, straight lines between rows

    Seismic loads and story drift to ASCE 7-22 frame/loads-asce7.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Seismic response coefficient

    The coefficient Cs that multiplies the building's weight to give the base shear.

    Cs = SDS ÷ (R ÷ Ie), at most SD1 ÷ (T R ÷ Ie) or SD1 TL ÷ (T² R ÷ Ie), at least max(0.044 SDS Ie, 0.01) and 0.5 S1 ÷ (R ÷ Ie) where S1 ≥ 0.6

    Seismic loads and story drift to ASCE 7-22 frame/loads-asce7.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Height exponent

    The exponent k of the vertical distribution of the story forces.

    k = 1 for T ≤ 0.5 s; 2 for T ≥ 2.5 s; 1 + (T − 0.5) ÷ 2 between

    Seismic loads and story drift to ASCE 7-22 frame/loads-asce7.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Base shear and story forces

    The base shear, the force on each floor and the shear in each story.

    V = Cs W; Cvx = wx hx^k ÷ Σ wi hi^k; Fx = Cvx V; Vx = Σ F from the top down

    Seismic loads and story drift to ASCE 7-22 frame/loads-asce7.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Story force on a rigid floor

    Puts a story force on a floor at its master point, with the accidental torsion.

    Mz = −((x₀ − x_m) Fy − (y₀ − y_m) Fx) ± 0.05 × plan size × F

    Seismic loads and story drift to ASCE 7-22 frame/loads-asce7.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Design drift against the allowable

    The design story drift and its ratio to the allowable drift.

    δ = Cd δ_e ÷ Ie; allowed = 0.020, 0.015 or 0.010 × story height; ratio = δ ÷ allowed

    Seismic loads and story drift to ASCE 7-22 frame/loads-asce7.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Suggested floor levels

    The heights at which level members meet, offered as the building's floors.

    z = (z_a + z_b) ÷ 2 of a level member; levels within 1 mm are one; stored z rounded to 0.1 mm

    Seismic loads and story drift to ASCE 7-22 frame/frame-concrete.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Floor weights into newtons

    Turns the floor weights typed in kN into the N the procedure works in.

    w (N) = w (kN) × 1000

    Seismic loads and story drift to ASCE 7-22 frame/frame-concrete.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Period of the analyzed frame

    The fundamental period in each direction from the floor weights and the frame's displacements under the seismic forces.

    T = 2π √(Σ wᵢ δᵢ² ÷ (g Σ fᵢ δᵢ))

    Seismic loads and story drift to ASCE 7-22 frame/frame-concrete.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Weight of each floor from the loads

    The vertical load of chosen load cases gathered at each floor, as its seismic weight.

    node load = node forces + member equivalent loads + plate corner loads; each node's load goes to the floor at or above it

    Seismic loads and story drift to ASCE 7-22 frame/frame-concrete.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • A number as report text

    Writes a value with a fixed number of decimals.

    text = v.toFixed(d); 0 when |v| < 0.5 × 10⁻ᵈ

    Numbers in the frame analysis report frame/frame-report.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Force in kN

    A force in newtons printed in kilonewtons.

    kN = N ÷ 1000, 2 decimals; kN·m = N·mm ÷ 10⁶, 2 decimals

    Numbers in the frame analysis report frame/frame-report.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Reactions, largest displacement and the envelope

    Gathers each set's reactions, the node that moves most, each member's extremes, and the largest value of each force over all sets.

    displacement = √(ux² + uy² + uz²); envelope = the value with the largest magnitude over the sets

    Numbers in the frame analysis report frame/frame-report.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Deflection as a span ratio

    Prints a member's deflection as L over a whole number.

    'L/' + round(L ÷ deflection)

    Numbers in the frame analysis report frame/frame-report.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Demand and capacity as text

    Prints a design check's demand and capacity in kN or kN·m.

    kN = round(N ÷ 10) ÷ 100; kN·m = round(N·mm ÷ 10⁴) ÷ 100; ratios to 3 decimals

    Numbers in the frame analysis report frame/frame-design.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Utilization as a percentage

    Prints a utilization ratio as a percentage with one decimal.

    round(ratio × 1000) ÷ 10, 1 decimal

    Numbers in the frame analysis report frame/frame-design.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • A number in the concrete and seismic tables

    Writes a value with a chosen number of decimals.

    round(v × 10ᵈ) ÷ 10ᵈ, then d decimals

    Numbers in the frame analysis report frame/frame-concrete.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Values in the shared problem list

    The found and required values attached to a failed concrete check or drift.

    utilization rounded to 0.0001; drift rounded to 0.01 mm

    Numbers in the frame analysis report frame/frame-concrete.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Slab and wall rows of the report

    For each slab or wall: its largest deflection, its largest positive and negative moments, twisting moment and shear.

    max and min of the plates' center values; Q = √(Qx² + Qy²); w = largest node displacement; kN·m/m = N·mm/mm ÷ 1000, 2 decimals

    Numbers in the frame analysis report frame/plate-draw.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Values in a slab problem

    The required and provided steel, or the shear and its strength, attached to a failed slab check.

    steel rounded to 0.1 mm²/m; shear to 0.1 kN/m

    Numbers in the frame analysis report frame/slab-design.js
    • CadCraft
    • BimCraft
    • DetailCraft
    64-bit
  • Deflected shape

    The members' deflected shape, enlarged so it can be seen.

    drawn point = point + scale × displacement; scale = 0.015 × model size ÷ largest displacement

    Analysis results drawn on the model frame/frame-draw.js
    • CadCraft
    • BimCraft
    • DetailCraft
    32-bit, display only
  • Force diagram beside a member

    A filled diagram of one internal force drawn square to each member, with its largest value labeled.

    height = value × 0.08 × model size ÷ largest value

    Analysis results drawn on the model frame/frame-draw.js
    • CadCraft
    • BimCraft
    • DetailCraft
    32-bit, display only
  • Plate contours

    Each plate as two triangles colored by its corner values, with the largest values labeled.

    color = ramp(|value| ÷ largest |value|); kN·m/m = N·mm/mm ÷ 1000

    Analysis results drawn on the model frame/plate-draw.js
    • CadCraft
    • BimCraft
    • DetailCraft
    32-bit, display only
  • Table values in millimeters

    Converts each published row to millimeters, mm² and kg/m.

    mm = in × 25.4; mm² = in² × 25.4 × 25.4; kg/m = lb/ft × 1.48816394; r = (k_des − t_f) × 25.4

    Steel section dimensions, areas and outlines shapes/sections.js
    • CadCraft
    • BimCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Exact section area

    The cross-section area worked out from the dimensions, with fillets and rounded corners included.

    I: 2·b_f·t_f + (d − 2t_f)·t_w + (4 − π)·r²; RHS: 2t(h + b − 2t) − (4 − π)(r_o² − r_i²); CHS: π(D − t)·t

    Steel section dimensions, areas and outlines shapes/sections.js
    • CadCraft
    • BimCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Section outline

    The outline of a section as loops of points, centered on its bounding box.

    arc point = (cx + r·cos a, cy + r·sin a), a = a₀ + (a₁ − a₀)·i ÷ n

    Steel section dimensions, areas and outlines shapes/sections.js
    • CadCraft
    • BimCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Rounded rectangle loop

    The outer or inner loop of a rectangular hollow section with rounded corners.

    Steel section dimensions, areas and outlines shapes/sections.js
    • CadCraft
    • BimCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Loop area

    The signed area of an outline loop.

    A = ½ × Σ (xᵢ·yᵢ₊₁ − xᵢ₊₁·yᵢ)

    Steel section dimensions, areas and outlines shapes/sections.js
    • CadCraft
    • BimCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Loop perimeter

    The length around an outline loop.

    L = Σ √(Δx² + Δy²)

    Steel section dimensions, areas and outlines shapes/sections.js
    • CadCraft
    • BimCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Parameter levels

    The evenly spaced values of a parameter between its two bounds.

    vᵢ = from + (to − from) × i ÷ (steps − 1)

    Design study variants and ranking study/study.js
    • CadCraft
    • BimCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Rounding of parameter values

    Rounds a parameter value before it is put in a variant.

    v → v to 12 significant digits

    Design study variants and ranking study/study.js
    • CadCraft
    • BimCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Variant list

    Every combination of parameter levels, or a seeded random sample between the bounds.

    random: v = from + (to − from) × u, u = 32-bit integer ÷ 2³²

    Design study variants and ranking study/study.js
    • CadCraft
    • BimCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Meeting the limits

    Whether a variant's results meet every limit of the study.

    min goal: value ≤ limit; max goal: value ≥ limit

    Design study variants and ranking study/study.js
    • CadCraft
    • BimCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Trade-off front

    The variants that no other variant beats on every goal at once.

    a dominates b when a is no worse on every goal and better on at least one

    Design study variants and ranking study/study.js
    • CadCraft
    • BimCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Weighted ranking

    A score for each feasible variant from its goals and the weights a person gives.

    x = (value − lo) ÷ (hi − lo); score = Σ w × (x for max goals, 1 − x for min goals)

    Design study variants and ranking study/study.js
    • CadCraft
    • BimCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Load factor to the limit

    The factor by which every load can be multiplied before the design's utilization reaches 1.

    find λ with util(λ) = 1: double λ until util ≥ 1, then bisect with mid = √(lo × hi) until hi − lo ≤ 10⁻⁴ × hi

    Load reserve and escape route checks study/breakit.js
    • CadCraft
    • BimCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Escape route widths

    For each room, the route out whose narrowest door is widest, and its margin against the required width.

    width of a route = min of its door widths; margin = width − required

    Load reserve and escape route checks study/breakit.js
    • CadCraft
    • BimCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Part reserve from a stress study

    The load factor to first yield and to buckling of a solved part.

    λ = minimum safety factor ÷ wanted safety factor; utilization = 1 ÷ λ

    Load reserve and escape route checks study/breakit.js
    • CadCraft
    • BimCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Matrix product

    Combines two transforms into one.

    o[c][r] = Σₖ a[k][r] × b[c][k]

    USD transforms and placement usd/geom.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • TakeoffCraft
    • CivilCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Matrix inverse

    The transform that undoes another.

    inverse = cofactor matrix ÷ determinant

    USD transforms and placement usd/geom.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • TakeoffCraft
    • CivilCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Transforming a point

    Applies a transform to a point.

    p′ = (M × [x, y, z, 1]) ÷ w

    USD transforms and placement usd/geom.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • TakeoffCraft
    • CivilCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Rotation about an axis

    The matrix of a rotation by an angle in degrees about X, Y or Z.

    a = deg × π ÷ 180; entries cos a, ± sin a

    USD transforms and placement usd/geom.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • TakeoffCraft
    • CivilCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Quaternion to rotation matrix

    The rotation matrix of an orientation stored as a quaternion.

    q ÷ |q|; R₀₀ = 1 − 2(y² + z²), R₀₁ = 2(xy + wz), …

    USD transforms and placement usd/geom.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • TakeoffCraft
    • CivilCraft
    • DetailCraft
    • PartCraft
    64-bit
  • Value at a time

    An animated value at a given time, between its stored samples.

    v = a + (b − a) × (t − t₀) ÷ (t₁ − t₀)

    USD transforms and placement usd/geom.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • TakeoffCraft
    • CivilCraft
    • DetailCraft
    • PartCraft
    64-bit
  • An object's own transform

    Builds the transform of one object from its list of translate, rotate, scale and matrix operations.

    M = op₁ × op₂ × … in the listed order; an inverted operation uses its inverse

    USD transforms and placement usd/geom.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • TakeoffCraft
    • CivilCraft
    • DetailCraft
    • PartCraft
    64-bit

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.