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

  • Point loads from carried trusses

    Adds point loads, such as the reactions of jack trusses on a girder, at the nearest top-chord joint.

    Truss member forces and timber checks addons/trusscraft/lib/design.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Attic frame sizing passes

    Repeats the frame solve and the sizing of an attic truss until the sizes settle.

    Truss member forces and timber checks addons/trusscraft/lib/design.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Stub forces and the governing force per member

    The force in each bearing stub and, for the joints and the drawing, the force of largest size in each member over all combinations.

    stub force = −vertical reaction; governing = value with the largest |force|

    Truss member forces and timber checks addons/trusscraft/lib/design.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Forces used for the deflection

    Chooses the member forces the deflection estimate is based on.

    service force = dead case + snow case

    Truss member forces and timber checks addons/trusscraft/lib/design.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Bearing reactions

    The largest and smallest vertical reaction at each bearing and the largest horizontal reaction, over the combinations.

    Truss member forces and timber checks addons/trusscraft/lib/design.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Ceiling and floor loads of an attic truss

    The load on each bottom-chord member of an attic truss in a combination.

    w = f_D × ceiling dead × spacing + f_S × floor live × spacing (room floor only)

    Truss member forces and timber checks addons/trusscraft/lib/design.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Joint merge

    Reuses an existing joint when a new one is asked for at the same place.

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/geometry.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Member length and angle

    The centerline length and the slope angle of a member between two joints.

    len = √(Δx² + Δz²); angle = |atan2(Δz, Δx)| in degrees

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/geometry.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Frame of a named truss type

    The joints and members of a king, queen, Howe, Pratt, Fink, scissor, mono or attic truss from span, pitch and overhang.

    rise(x) = min(x, span − x) × tan(pitch); panel points at span × i ÷ n

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/geometry.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Bearing stubs under a raised heel

    Adds a vertical stub under each heel joint when the heel is raised.

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/geometry.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Heel depth and raise

    The heel depth the chords need at the outer face and how far a taller stated heel raises the truss.

    needed = d_bottom ÷ 2 + d_top ÷ (2 cos pitch); raise = max(0, heel − needed)

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/geometry.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Roof section along a truss line

    The height of the roof's underside along the line a truss stands on.

    z = start + (n·p − c) ÷ speed on each face; highest face wins

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/profile.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Profile simplification

    Removes repeated points and points that lie on a straight line between their neighbors.

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/profile.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Height of a profile at x

    The profile's height at a distance along the truss.

    z = z₀ + (z₁ − z₀)(x − x₀) ÷ (x₁ − x₀)

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/profile.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • What a profile is

    Decides whether a roof section is a plain triangle, has a flat top, has a valley across it, and is symmetric.

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/profile.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Frame from a roof profile

    The joints and members of a truss whose top chord follows the roof's section.

    pitch = atan(slope of the first panel), or atan(steepest profile slope) when the left end stands on a post

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/profile.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Chord pieces

    Joins chord members that run straight on through a joint into one piece of timber, with its length.

    joined when acos(|u·v|) < 0.5°; len = √(Δx² + Δz²)

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/cutlist.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Cut length and end angles

    The length to cut each piece and the angle of each end cut.

    cut = joint length − set_A − set_B + (d ÷ 2)(tan A + tan B); web set = (host depth ÷ 2) ÷ max(0.2, sin φ)

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/cutlist.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Member list values

    The length, angle, force and utilization shown for each member.

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/cutlist.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Joint schedule and plate choice

    The members meeting at each joint with their angles and forces, and the first plate of the table that fits.

    plate: capacity ≥ largest |force| and min(w, h) ≥ min(deepest member + 25, 152)

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/cutlist.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Bird's mouth cut

    The plumb cut of a rafter seat and the depth left above it.

    plumb = seat × tan(pitch); left = depth − plumb × cos(pitch)

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/cutlist.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Jig drawing at full size

    The outline of every member on the 1:1 jig sheet.

    corner = joint ± (−Δz, Δx) ÷ L × d ÷ 2

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/fab.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Stock plan

    Nests the cut pieces of a truss set onto stock lengths and lists them as CSV.

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/fab.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Member as a solid

    A closed box for one member from its two end points, depth and thickness, with its volume.

    V = |Σ a · (b × c) ÷ 6| over the 12 triangles

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/bodies.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Members placed in plan and height

    The 3D end points of every member of a laid-out truss.

    p = a + x × (b − a) ÷ span; z = z₀ + node z + raise + base

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/bodies.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • STL export

    The truss set written as an ASCII STL file.

    text = round(v × 1000) ÷ 1000

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/bodies.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • OBJ export

    The truss set written as an OBJ file.

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/bodies.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Millimeters to drawing coordinates

    Places truss drawings in a CadCraft drawing at a point and a scale.

    X = at_x + x × k; Y = at_y + y × k

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/cadplan.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Member outlines in the elevation

    The closed outline drawn for each member in the truss elevation.

    corner = joint ± (−Δz, Δx) ÷ L × d ÷ 2

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/cadplan.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Force labels in the force diagram

    The force written beside each member.

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/cadplan.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Schedule rows in the drawing

    The cut list and joint schedule as rows of a table drawn in CadCraft.

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/cadplan.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Dimension labels on the elevation picture

    The span, overhang, pitch, rise and heel written on the truss elevation.

    Truss geometry, cut list and shop outputs addons/trusscraft/lib/drawing.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Outline area

    The signed area of the roof outline.

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

    Truss layout over a roof addons/trusscraft/lib/layout.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Where a truss line crosses the outline

    The points where a station line enters and leaves the roof outline.

    v = a_v + (u − a_u) ÷ (b_u − a_u) × (b_v − a_v)

    Truss layout over a roof addons/trusscraft/lib/layout.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Trusses along an outline

    The station, end points and span of each truss over a plain outline, and the actual spacing.

    bays = ceil(length ÷ spacing); step = length ÷ bays; span = v₁ − v₀

    Truss layout over a roof addons/trusscraft/lib/layout.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Ridge direction

    The direction the ridge runs, which the trusses span across.

    Truss layout over a roof addons/trusscraft/lib/roofset.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Valley pairs of a roof plan

    Finds pairs of valley lines that meet at a wing's ridge, with the wing's axis and reach.

    Truss layout over a roof addons/trusscraft/lib/roofset.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Valley truss set

    The span, rise, base height and position of each valley truss of a wing roof over a main roof.

    ridge height = (W ÷ 2) tan(wing pitch); rise = d × tan(main pitch); span = 2 d tan(main pitch) ÷ tan(wing pitch)

    Truss layout over a roof addons/trusscraft/lib/roofset.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Stations along the ridge

    The truss stations of a roof and the stretches of each station that lie inside the outline.

    bays = ceil(length ÷ spacing); u = u₀ + inset + i × step

    Truss layout over a roof addons/trusscraft/lib/roofset.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • A truss from a roof section

    Decides the form of the truss at a station, its design key, and the values stored for it.

    common truss pitch = atan(2 × apex ÷ span)

    Truss layout over a roof addons/trusscraft/lib/roofset.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Jack trusses in a hip end

    The jack and corner trusses between the end wall and a girder truss, and where each bears on the girder.

    count = ceil((width − 2 × inset) ÷ spacing); v = v₀ + inset + k × step

    Truss layout over a roof addons/trusscraft/lib/roofset.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Member lines for the picture

    The 3D end points of every member, for drawing.

    Truss layout 3D picture addons/trusscraft/lib/view3d.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    32-bit, display only
  • View projection

    Turns 3D points into picture coordinates for a view direction.

    x′ = x cos A − y sin A; y′ = −(z cos E + (x sin A + y cos A) sin E)

    Truss layout 3D picture addons/trusscraft/lib/view3d.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    32-bit, display only
  • Picture output

    Scales the projected lines to the picture size and writes them as SVG.

    Truss layout 3D picture addons/trusscraft/lib/view3d.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    32-bit, display only
  • Height of a roof face over a point

    The height of a face's plane above a plan point.

    z = start + (n·p − c) ÷ speed

    Roof faces, ridges and areas from an outline addons/trusscraft/lib/bim/res-skeleton.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Solver tolerance

    Sets the tolerance every merge, split and overlap test in the roof solver uses.

    scale = max(1, width, depth of the outline); eps = 1e-7 × scale

    Roof faces, ridges and areas from an outline addons/trusscraft/lib/bim/res-skeleton.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Edge lines

    The direction, inward normal and line offset of each eave edge.

    u = (b − a) ÷ |b − a|; n = (−u_y, u_x); c = n·a

    Roof faces, ridges and areas from an outline addons/trusscraft/lib/bim/res-skeleton.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Corner velocity

    How a corner of the shrinking polygon moves per unit of height.

    n_a·v = v_a; n_b·v = v_b; determinant = n_a × n_b

    Roof faces, ridges and areas from an outline addons/trusscraft/lib/bim/res-skeleton.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Next event height

    Finds the height at which the polygon next changes: an edge starts to move, an edge shrinks to nothing, or a reflex corner reaches another edge.

    collapse: t = T + length ÷ closing rate; split: t = T + distance ÷ approach rate

    Roof faces, ridges and areas from an outline addons/trusscraft/lib/bim/res-skeleton.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • PartCraft
    64-bit
  • Advance to the event

    Moves every corner to the event height and records its path as a roof line and a face boundary.

    p′ = p + v × (t_next − T)

    Roof faces, ridges and areas from an outline addons/trusscraft/lib/bim/res-skeleton.js
    • CadCraft
    • BimCraft
    • ModelCraft
    • 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.