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
-
Splice: joint middle and cut-backs
The middle of the joint between two spliced members and how far each is cut back to leave the joint gap.
mid = J + out·(dJ·out) ÷ 2; setback = max(0, gap ÷ 2 − (dJ·out) ÷ 2)
Connection plates, holes, bolts and cut-backs connections.js64-bit- DetailCraft
-
Splice: flange plates and bolts
The length of the flange cover plates and the position of every flange bolt.
L_F = gap + 2·(2·edge + (n − 1)·pitch); s = ±(gap ÷ 2 + edge + i·pitch); gauge = bf − 80 when not given
Connection plates, holes, bolts and cut-backs connections.js64-bit- DetailCraft
-
Splice: web plates and bolts
The height and length of the web cover plates and the position of every web bolt.
clear = d − 2·(tf + r); H_W = ⌊(clear − 20) ÷ 5⌋·5 when not given; L_W = gap + 2·(2·edge + (cols − 1)·pitch_x)
Connection plates, holes, bolts and cut-backs connections.js64-bit- DetailCraft
-
Gusset: plane of the plate
The gusset's normal and the direction across it, from the brace and the support.
n_P = unit(d × x̂_S); w = unit(n_P × x̂_S)
Connection plates, holes, bolts and cut-backs connections.js64-bit- DetailCraft
-
Gusset: brace cut-back
How far the brace is cut back to clear every member at the joint and a base plate there.
need = max over corners of (off + gap − c·n) ÷ (d·n); setback = largest need
Connection plates, holes, bolts and cut-backs connections.js64-bit- DetailCraft
-
Gusset: bolt line
The position of each bolt along the brace and its matching hole in the gusset.
s_k = setback + edge + k·pitch; Q = P + n_P·(o − (P − N)·n_P)
Connection plates, holes, bolts and cut-backs connections.js64-bit- DetailCraft
-
Gusset: plate size
How far the gusset runs along and across its support, and the width in its profile name.
a0 = min a − margin, a1 = max a + margin; width = round(w1 − w0)
Connection plates, holes, bolts and cut-backs connections.js64-bit- DetailCraft
-
Mitre: where the two center lines meet
The closest points of the two members' center lines and the joint point between them.
s_A = (b·e − d) ÷ (1 − b²), s_B = (e − b·d) ÷ (1 − b²); b = x̂_A·x̂_B, d = x̂_A·r, e = x̂_B·r; J = (P_A + P_B) ÷ 2
Connection plates, holes, bolts and cut-backs connections.js64-bit- DetailCraft
-
Mitre: cut plane
The angle between the two members and the plane that halves it.
angle = acos(clamp(ê_A·ê_B, −1, 1)); n = unit(ê_B − ê_A); out = unit(−(ê_A + ê_B)); w = unit(ê_A × ê_B)
Connection plates, holes, bolts and cut-backs connections.js64-bit- DetailCraft
-
Mitre: the two cut faces
The point each member's cut plane passes through, set back for the gap and the plates.
face_A = J − n·off, face_B = J + n·off; off = gap ÷ 2 + plate thickness
Connection plates, holes, bolts and cut-backs connections.js64-bit- DetailCraft
-
Mitre: where a section edge meets the cut
Where a line along the member through a point of its section crosses the cut plane, in the plane's own two directions.
k = n·(face − Q) ÷ (n·x̂); X = Q + x̂·k − face
Connection plates, holes, bolts and cut-backs connections.js64-bit- DetailCraft
-
Mitre: bolt rows and gauge
The rows of bolts between the flanges of the two end plates and their gauge.
rows spread from c0 + weld + d0 to c1 − weld − d0; gauge = max(⌈2.4·d0 ÷ 5⌉·5, round(width ÷ 2 ÷ 5)·5) when not given
Connection plates, holes, bolts and cut-backs connections.js64-bit- DetailCraft
-
Mitre: weld length round the cut section
The length of the all-round weld between a member's slanted end and its plate.
length = perimeter ÷ |n·x̂|
Connection plates, holes, bolts and cut-backs connections.js64-bit- DetailCraft
-
Mitre: stiffener position and size
Where the pair of web stiffeners sits past the cut and how big each is.
at = far + dist + t ÷ 2; height = d − 2·tf; width = (bf − tw) ÷ 2
Connection plates, holes, bolts and cut-backs connections.js64-bit- DetailCraft
-
Two directions across an axis
Two unit directions square to a bolt or torch axis, used to lay out the sample grid.
u = unit(a × h); v = a × u
Constructability checks constructability.js64-bit- DetailCraft
-
Socket access to a bolt
Whether a socket over a bolt head or nut runs into another part, and how much free length there is.
R_s = 1.96·d ÷ 2 + wall; grid step = max(2.5, R_s ÷ 8); stations at 0, ¼, ½, ¾ and 1 × socket length
Constructability checks constructability.js64-bit- DetailCraft
-
Room between neighboring bolts
Whether the socket over one bolt touches the head of the next.
lat = |dv − A·(dv·A)|; need = 1.96·d_max ÷ 2 + wall + 1.96·d_min ÷ 2
Constructability checks constructability.js64-bit- DetailCraft
-
Fillet weld size limits
The smallest and largest fillet weld allowed for the thinner of the two parts joined.
min = 3, 5, 6 or 8 mm for thickness up to 6.35, 12.7, 19.05 mm or more; max = t when t < 6.35, else t − 1.6
Constructability checks constructability.js64-bit- DetailCraft
-
Torch access along an all-round weld
The share of an all-round fillet weld's line where a torch on the 45 degree bisector is blocked.
start s0 = r·√2 + 1; direction = unit(outward + away); tested every 5 mm for the reach
Constructability checks constructability.js64-bit- DetailCraft
-
Slope of a hollow section
The slope of a tube, used to decide whether an open upper end lets rain in.
slope = asin(|Δz| ÷ length) × 180 ÷ π
Constructability checks constructability.js64-bit- DetailCraft
-
A dimension figure
The number printed on a dimension line, and the value recorded for the sheet.
figure = round(value)
Dimensions and views on drawing sheets drawings.js64-bit- DetailCraft
-
A chain of dimensions with its overall
The run of dimensions between successive positions and the overall dimension beside it.
step_i = v_i − v_{i−1}; overall = v_n − v_0
Dimensions and views on drawing sheets drawings.js64-bit- DetailCraft
-
Positions to dimension
The sorted list of distinct positions a chain is drawn through.
keep v when v − previous kept > 0.5 mm
Dimensions and views on drawing sheets drawings.js64-bit- DetailCraft
-
Sheet scale
The largest standard scale at which a view fits its room on the paper.
first n in the list with size ÷ n ≤ room
Dimensions and views on drawing sheets drawings.jsExact- DetailCraft
-
Model to paper
The scale and offset that place a view on the sheet.
paper = origin + model ÷ s
Dimensions and views on drawing sheets drawings.js64-bit- DetailCraft
-
Part of a member inside a view's slab
The stretch of a member's axis that lies inside the band a plan or elevation shows.
a = (lo − s0) ÷ k, b = (hi − s0) ÷ k; k = x̂·A
Dimensions and views on drawing sheets drawings.js64-bit- DetailCraft
-
Corners of a part's box
The eight corners of a part's section box, moved onto the cut faces at mitre ends.
Dimensions and views on drawing sheets drawings.js64-bit- DetailCraft
-
Outline of a projected part
The convex outline of a part's projected box corners.
pop while cross(o, a, b) ≤ 1e-9
Dimensions and views on drawing sheets drawings.js64-bit- DetailCraft
-
Where two paper lines cross
The position along one segment where it crosses another.
t = ((c − a) × q) ÷ (r × q), u = ((c − a) × r) ÷ (r × q)
Dimensions and views on drawing sheets drawings.js64-bit- DetailCraft
-
A hole's center and axis
Where a hole is in the model and which way it goes through the part.
flange hole: v = ±(depth ÷ 2 − t ÷ 2)
Dimensions and views on drawing sheets drawings.js64-bit- DetailCraft
-
An assembly in its main part's coordinates
The welded-on parts, holes and overall extents of an assembly, measured along and across its main part.
Dimensions and views on drawing sheets drawings.js64-bit- DetailCraft
-
Weights in an assembly's part list
The weight of each part, of each line and of the whole assembly in the part list.
total = Σ n × weight
Dimensions and views on drawing sheets drawings.js64-bit- DetailCraft
-
Rounding to six decimals
The rounding applied to every number written to the file.
round(v × 10⁶) ÷ 10⁶
Drawing sheets as DWG and DXF dwgout.js64-bit- DetailCraft
-
Text position and height
Where a line of text sits and how tall it is in the DWG model.
height = size × 0.718
Drawing sheets as DWG and DXF dwgout.js64-bit- DetailCraft
-
Line and polyline vertices
The points of each line, polyline and solid fill in the DWG model.
Drawing sheets as DWG and DXF dwgout.js64-bit- DetailCraft
-
Outline of a filled circle
The polygon used as the boundary of a filled circle.
(c_x + r·cos(2π·i ÷ 48), c_y + r·sin(2π·i ÷ 48))
Drawing sheets as DWG and DXF dwgout.js64-bit- DetailCraft
-
A number in the DXF text
How each coordinate is printed in the DXF file.
Drawing sheets as DWG and DXF dwgout.js64-bit- DetailCraft
-
Line weight of a pen
The line weight written for a layer, in hundredths of a millimeter.
round(w × 100)
Drawing sheets as DWG and DXF dwgout.js64-bit- DetailCraft
-
Load chart cleaned
The chart rows kept: sorted by radius, with a capacity that never rises as the radius grows.
Erection plan: picks, crane loads and times erection.js64-bit- DetailCraft
-
Capacity at a radius
The chart capacity that applies at a given radius.
capacity = kg of the first row with radius ≥ r; 0 beyond the last row
Erection plan: picks, crane loads and times erection.jsExact- DetailCraft
-
Weight and center of gravity of a pick
The weight of an assembly and the point its weight acts at.
W = Σ w_i; cg = Σ w_i·(a_i + b_i) ÷ 2 ÷ W
Erection plan: picks, crane loads and times erection.js64-bit- DetailCraft
-
Storey a pick belongs to
Which storey a pick is erected with, for the order of the sequence.
Erection plan: picks, crane loads and times erection.js64-bit- DetailCraft
-
Load, radius and share of the chart
The load on the hook, the working radius, the chart capacity there and the share of it used.
load = W·(1 + rigging% ÷ 100) + deduction; radius = max(r_pick, r_set); share = load ÷ capacity
Erection plan: picks, crane loads and times erection.js64-bit- DetailCraft
-
Time of a pick
How long a pick takes and when it starts and ends.
travel = (plan distance + top height) ÷ 1000; minutes = hook + travel ÷ speed + set + release; start = max(crane free, supports done)
Erection plan: picks, crane loads and times erection.js64-bit- DetailCraft
-
Status of a pick
Whether a pick is fine, over the chart, above the chosen limit, out of reach or too high for the hook.
over when share > 1; high when share > limit
Erection plan: picks, crane loads and times erection.js64-bit- DetailCraft
-
Plan totals
The total weight, the total time, the heaviest pick and the pick that uses most of the chart.
total kg = Σ W; minutes = max end time
Erection plan: picks, crane loads and times erection.js64-bit- DetailCraft
-
Figures in the plan's warnings
The numbers quoted when a pick is over the chart, over the limit or too high.
Erection plan: picks, crane loads and times erection.js64-bit- DetailCraft
-
Data handed to the movie
The picks, boxes and times saved into the erection movie page.
Erection plan: picks, crane loads and times erection.js64-bit- DetailCraft
-
Concrete strength from the footing's text
The concrete strength in MPa read from text such as 4000 psi, 28 MPa or C30/37.
MPa = psi × 0.00689476
Footing design checks foundation.js64-bit- DetailCraft
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.