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
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
Member list values
The length, angle, force and utilization shown for each member.
Truss geometry, cut list and shop outputs addons/trusscraft/lib/cutlist.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
OBJ export
The truss set written as an OBJ file.
Truss geometry, cut list and shop outputs addons/trusscraft/lib/bodies.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
Force labels in the force diagram
The force written beside each member.
Truss geometry, cut list and shop outputs addons/trusscraft/lib/cadplan.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
Outline area
The signed area of the roof outline.
A = ½ Σ (xᵢ yᵢ₊₁ − xᵢ₊₁ yᵢ)
Truss layout over a roof addons/trusscraft/lib/layout.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
Ridge direction
The direction the ridge runs, which the trusses span across.
Truss layout over a roof addons/trusscraft/lib/roofset.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
Member lines for the picture
The 3D end points of every member, for drawing.
Truss layout 3D picture addons/trusscraft/lib/view3d.js32-bit, display only- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js32-bit, display only- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
Picture output
Scales the projected lines to the picture size and writes them as SVG.
Truss layout 3D picture addons/trusscraft/lib/view3d.js32-bit, display only- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
-
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.js64-bit- CadCraft
- BimCraft
- ModelCraft
- PartCraft
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.