Site cut and fill¶
What this page covers: how a Volume result is worked out. It covers the formation level and falls, the cut and fill from the TIN (the figure reported), the cell sheet (the grid figure) and why the two differ, the balancing level and the zero line. At the end is a worked example you can check with a calculator.
For the steps in the program, see Cut and fill to level a site. For how the surface itself is made, see The contour surface (TIN).
What is worked out¶
Inside a boundary, against a formation:
- Cut: the volume of ground above the formation, in m³, and the plan area where the ground is above it.
- Fill: the volume of space between the ground and the formation where the ground is below it, in m³, and its plan area.
- The balancing level: the formation level at which the cut equals the fill.
- The zero line: where the ground is at the formation level, the line between the cut and the fill.
- The cell sheet: the same cut and fill by the grid method, cell by cell, as a check that can be followed by hand.
At every place the depth is the ground less the formation: positive is cut, negative is fill. The sheets write it as Cut (+) / Fill (−).
1. The formation¶
In the Volume dialog, the formation is one of these:
- A flat level: the Formation level, the same everywhere.
- A level and a fall (Add a fall…): a sloping plane. The level you type is the Formation level at the centre, where the centre is the centroid of the boundary's area. Falls p % towards θ (a bearing in degrees from north, clockwise) makes the formation drop by p m per 100 m in that direction. Fall as 1 in N is the same as a fall of 100 ÷ N %. A Cross fall of q % at right angles, to the right or the left, is added to it. The formation at (E, N) is:
F = L + g_E·(E − E₀) + g_N·(N − N₀)
where (E₀, N₀) is the centre, and g_E and g_N are the rises per metre east and north: g_E = −p/100 · sin θ − q/100 · sin θ′, g_N = −p/100 · cos θ − q/100 · cos θ′, with θ′ the bearing of the cross fall (θ + 90° to the right, θ − 90° to the left). - Through three levels instead: the plane through three pegs. The pegs must be at least 1 m apart, and not in a line. - Use another surface…: the depth is this job's ground less another job's surface at the same place, such as the engineer's formation levels or a second survey. There is no level and no balancing level then; only the part where both surfaces exist is worked out.
2. The TIN figure (the one reported)¶
This is the cut and fill on the tiles, in the banner, on the print and in the TIN (reported), m³ row of the Summary sheet. It is exact for the TIN: nothing is sampled on a grid.
- Each kept triangle is cut to the boundary. The part of the triangle inside the boundary is a polygon (the whole triangle, or a piece of it).
- Each piece is split by the formation. The ground is a plane on each triangle and the formation is a plane too, so the depth changes in a straight line across the piece. The line where the depth is 0 splits it into a cut part and a fill part.
- Each part gives area × depth at its centroid. Because the depth is a plane over the part, this is the exact volume of the prism between the ground and the formation. For a triangle it is the same as area × the mean of its three corner depths.
- The parts are added up: the cut parts to the cut, the fill parts to the fill, and their areas to the cut area and the fill area.
Things to know:
- Where part of the boundary has no TIN under it (outside the points, or where long triangles were left out at the edges), that part is left out of the cut and fill. The checks strip says "… m² of the boundary has no TIN under it and is left out", and the Summary sheet has a No TIN, m² row.
- Ground lying exactly at the formation level, and flat, is neither cut nor fill.
- Smoothing the contours does not change any of this: the volume is worked out on the TIN.
3. The balancing level¶
The balancing level is found by halving. It starts with the lowest and highest levels of the points, works out the cut and fill at the level halfway between, and keeps the half in which the balance lies. If the cut is larger the level goes up, if the fill is larger it comes down. It stops when the cut and the fill agree within 0.001 m³.
For a flat formation this is the same as the mean level of the ground over the boundary: the volume between the TIN and any datum, divided by the area, added to the datum. That is a useful hand check.
- It is shown to 3 decimals: "Balancing level 101.548, where cut equals fill." in the dialog, and in the Summary sheet.
- The Volume dialog first opens at the balancing level rounded to the nearest 0.25 m. Use it puts the balancing level itself in Formation level, to 3 decimals. A level is worked out to the millimetre, so the cut and fill then differ by at most the area × 0.0005 m.
- With a fall, the fall is kept and the plane is moved up or down: the balancing level is the Formation level at the centre that balances.
- Down to another surface there is no balancing level: a surface cannot be moved.
4. The zero line¶
The zero line is the contour of the TIN at the formation level, traced across the triangles as any contour is, and cut to the boundary. With a fall it is the line where the depth (the ground less the sloping formation) is 0. Down to another surface it is where the two surfaces meet. Like the volume, it is never smoothed.
5. The cell sheet (the grid figure)¶
The cell sheet is the grid method that clients and checkers work by hand. Grid for the cell sheet (5, 10 or 20 m; 10 m to start with) sets its size. It does not change the reported volume.
The grid. It starts at the south-west corner of the boundary, rounded down to a multiple of the grid. It has enough columns and rows to cover the boundary. Nodes are named by column letter (A, B … Z, AA …) and row number, with A1 the south-west node. Turn or move the grid… turns the grid, or puts a node at a place of yours.
The nodes (Grid levels sheet: Node, Easting, Northing, Ground R.L., Formation, Cut (+) / Fill (−)). A node's ground level is read from the TIN at the node. A node off the TIN has none: its depth says "outside the TIN".
The cells (Cut-Fill by cell sheet: Cell, Nodes, Area m², SW, SE, NE, NW, Cut m³, Fill m³):
- A cell is listed if any of it is inside the boundary. They are numbered from 1, row by row from the south. Nodes names its south-west and north-east nodes, such as A1–B2.
- Area m² is the part of the cell inside the boundary, cut exactly. A cell cut by the boundary has its area marked *.
- SW, SE, NE and NW are the depths at its four corners. A corner outside the boundary still counts, as long as it is on the TIN. A corner off the TIN shows "–" and is left out.
- With n the number of corners that have a depth (normally 4), Σh⁺ the sum of the positive depths and Σh⁻ the sum of the sizes of the negative ones:
- All cut: cut = A × Σh⁺ / n.
- All fill: fill = A × Σh⁻ / n.
- Both (the four-point formula): cut = A × (Σh⁺)² / (n × (Σh⁺ + Σh⁻)) and fill = A × (Σh⁻)² / (n × (Σh⁺ + Σh⁻)).
- The Total row adds up the areas, the cut and the fill. The Summary sheet carries the totals in its Grid 10 m, m³ row (with the grid's size).
6. Why the two figures differ, and the check¶
The TIN figure follows every triangle. The cell sheet knows only the four corner depths of each cell, and treats the ground between them by a formula. So:
- Ground that bends inside a cell (a drain, a bank, a hump between nodes) is missed by the cells. The TIN has a triangle edge along it.
- A cell cut by the boundary uses its four corner depths (some of them outside the boundary) over its area inside. The real depths inside may be quite different.
- A cell crossed by the zero line is shared out by the four-point formula. That is an approximation unless the ground and the zero line happen to suit it.
The finer the grid, the closer the cells come to the TIN. The checks strip compares them. For the cut and for the fill it works out |grid − TIN| ÷ TIN × 100, and takes the larger of the two. A part under 0.5 m³ counts as nothing, so a crumb of fill does not read as 100 % off. It then says one of these:
- "Cell sheet within 2.8% of the TIN": 3 % or less.
- "Cell sheet is 14.2% off the TIN: try a 10 m grid": over 3 %, with half the grid offered (5 m at the least).
- "Cell sheet is 4.1% off the TIN at the finest grid (5 m): use the TIN figure": over 3 % at 5 m already. A finer grid is not offered. The TIN figure is the correct one, and it is the one reported.
7. Rounding and where each figure is shown¶
- The tiles and the banner give whole m³ and m²: "At 101.200: cut 172 m³, fill 50 m³ over 350 m²."
- The sheets give areas and volumes to 2 decimals, levels to 3, and depths to 2 with a sign ("+0.30", "−1.20").
- The Points sheet's Cut (+) / Fill (−) column is each point's R.L. less the formation at the point.
- Nothing is rounded during the working out. The rounding is only in how a figure is shown.
Worked example¶
A plot on even ground: 16 points on a 10 m grid, from E 1000 to 1030 and N 2000 to 2030. The ground rises 0.10 m per metre east and 0.05 m per metre north, from 100.000 at the south-west: R.L. = 100 + 0.1 × (E − 1000) + 0.05 × (N − 2000). The boundary is five points coded BND, listed first in the file so that they are joined in order round the plot.
| Point | Easting | Northing | R.L. | Code |
|---|---|---|---|---|
| B1 | 1000.000 | 2000.000 | 100.000 | BND |
| B2 | 1020.000 | 2000.000 | 102.000 | BND |
| B3 | 1020.000 | 2020.000 | 103.000 | BND |
| B4 | 1010.000 | 2020.000 | 102.000 | BND |
| B5 | 1000.000 | 2010.000 | 100.500 | BND |
| 6 | 1010.000 | 2000.000 | 101.000 | GL |
| 7 | 1030.000 | 2000.000 | 103.000 | GL |
| 8 | 1010.000 | 2010.000 | 101.500 | GL |
| 9 | 1020.000 | 2010.000 | 102.500 | GL |
| 10 | 1030.000 | 2010.000 | 103.500 | GL |
| 11 | 1000.000 | 2020.000 | 101.000 | GL |
| 12 | 1030.000 | 2020.000 | 104.000 | GL |
| 13 | 1000.000 | 2030.000 | 101.500 | GL |
| 14 | 1010.000 | 2030.000 | 102.500 | GL |
| 15 | 1020.000 | 2030.000 | 103.500 | GL |
| 16 | 1030.000 | 2030.000 | 104.500 | GL |
The boundary is a 20 m square with its north-west corner cut off: 400 − 50 = 350 m². The formation is a flat 101.200, and the grid is 10 m.
The zero line. The ground is at 101.200 where 0.1 × (E − 1000) + 0.05 × (N − 2000) = 1.2. That line enters at (1012.000, 2000.000) on the south side and leaves at (1004.667, 2014.667) on the side from B5 to B4. South-west of it is fill, the rest is cut.
The TIN figure. The ground here is a plane, so every triangle lies in it. The fill part is the polygon (1000, 2000), (1012, 2000), (1004.667, 2014.667), (1000, 2010). Split it into two triangles from the south-west corner, and use area × mean corner depth:
- (1000, 2000), (1012, 2000), (1004.667, 2014.667): area ½ × 12 × 14.667 = 88.000 m², depths 1.200, 0, 0, mean 0.400. Fill 35.200 m³.
- (1000, 2000), (1004.667, 2014.667), (1000, 2010): area ½ × 10 × 4.667 = 23.333 m², depths 1.200, 0, 0.700, mean 0.633. Fill 14.778 m³.
- Fill = 49.98 m³ over 111.33 m².
The cut follows from the net. The boundary's centroid is at (1010.952, 2009.048): the square's centre (1010, 2010), weighted 400, less the cut-off triangle's centroid (1003.333, 2016.667), weighted 50. The ground there is 100 + 0.1 × 10.952 + 0.05 × 9.048 = 101.548, the mean level over the boundary. So:
- cut − fill = 350 × (101.548 − 101.200) = 121.67 m³
- Cut = 49.98 + 121.67 = 171.64 m³ over 350 − 111.33 = 238.67 m².
The banner says "At 101.200: cut 172 m³, fill 50 m³ over 350 m²."
The balancing level is the mean level, 101.548. The dialog opens at 101.500, the balancing level rounded to 0.25 m.
The cell sheet. The grid starts at A1 (1000, 2000), with 2 columns and 2 rows. The depth at each node is its ground less 101.200.
| Cell | Nodes | Area m² | SW | SE | NE | NW | Cut m³ | Fill m³ |
|---|---|---|---|---|---|---|---|---|
| 1 | A1–B2 | 100.00 | −1.20 | −0.20 | +0.30 | −0.70 | 0.94 | 45.94 |
| 2 | B1–C2 | 100.00 | −0.20 | +0.80 | +1.30 | +0.30 | 55.38 | 0.38 |
| 3 | A2–B3 | 50.00 * | −0.70 | +0.30 | +0.80 | −0.20 | 7.56 | 5.06 |
| 4 | B2–C3 | 100.00 | +0.30 | +1.30 | +1.80 | +0.80 | 105.00 | |
| Total | 4 cells | 350.00 | 168.88 | 51.38 |
- Cell 1 has both: Σh⁺ = 0.3 and Σh⁻ = 2.1. Cut = 100 × 0.3² / (4 × 2.4) = 0.94, fill = 100 × 2.1² / (4 × 2.4) = 45.94.
- Cell 2: Σh⁺ = 2.4, Σh⁻ = 0.2. Cut = 100 × 2.4² / (4 × 2.6) = 55.38, fill = 100 × 0.2² / (4 × 2.6) = 0.38.
- Cell 3 is cut by the boundary: only its south-east half (50 m²) is inside. Its NW node, A3, is outside the boundary but on the TIN, so its depth (−0.20) still counts. Σh⁺ = 1.1, Σh⁻ = 0.9. Cut = 50 × 1.1² / (4 × 2.0) = 7.56, fill = 50 × 0.9² / (4 × 2.0) = 5.06.
- Cell 4 is all cut: 100 × (0.3 + 1.3 + 1.8 + 0.8) / 4 = 105.00.
The check. The cut is |168.88 − 171.64| ÷ 171.64 = 1.6 % off, and the fill |51.38 − 49.98| ÷ 49.98 = 2.8 %. The larger is 2.8 %, so the checks strip says "Cell sheet within 2.8% of the TIN". With a 20 m grid on the same plot, the one cell gives 147.88 and 42.88 m³: "Cell sheet is 14.2% off the TIN: try a 10 m grid". With 5 m, 170.92 and 50.30 m³: "Cell sheet within 0.6% of the TIN".
Even on a perfect plane the cells are 2.8 % off at 10 m. That comes from cells 1, 2 and 3, the ones crossed by the zero line or cut by the boundary. Cell 4, wholly in cut, is exact.
To try it in the program, put the 16 points in a CSV file in this order, make a job, and import it. The boundary comes from the BND points. Add a Volume… at 101.200 with Grid for the cell sheet at 10 m, then open the sheets.
Related pages¶
- Cut and fill to level a site: the steps in the program.
- Draw or code a boundary: points coded, outline and drawn.
- The contour surface (TIN): how the triangles and their levels are made.
- How CSE calculates: pond capacity: the same prisms, below a series of water levels.
- Print and export a contour plan: the cut-fill plan and its EARTHWORK table.