About Archicad's documenting tools, views, model filtering, layouts, publishing, etc.

Expression to return the volume of earth cut

Josh Verran

When documenting the earthworks on a project we draw two meshes.

One which is based on the original survey data, this mesh doesn't change through the life of the project.

The other is a copy of the original, which has all the solid operations etc.

Each has their own layer and relevant reno status.

Both have the same Classification as in that respect they are the same.


I can use a schedule to show the volume of both, then manually calculated the difference which is either the cut or fill volume. Can also export to excel, do the same, then import again.


What I want to achieve is a schedule that automatically displays the cut volume.

I have started to go down the path of expressions, however the expression is just a property assigned to an element, I don't know if/how you could even say property = the Net Volume of X, - the Net Volume of Y.


Any ideas?


Thanks in advance.

The below is a bad example of how it doesn't work.


Screenshot 2021-10-15 152323.pngScreenshot 2021-10-15 152714.png


ARCHICAD 18-27 | BIMcloud Basic | CI Tools | Grasshopper - Rhino | CloudCompare | Bluebeam

LinkedIn | | Tauranga, New Zealand

Windows 10 Pro | Intel Core i9-9900K @3.60GHZ | 32Gb RAM | 2xSamsung S27F350 1920x1080 60Hz | Nvidia Quadro P2200 (5Gb)
Barry Kelly

Unfortunately, the 2 meshes are not aware of each other, so you can't automatically get the volume of mesh X to use in the calculations of mesh Y.

You would have to manually enter the volume of the first mesh in a property for the second mesh.

Once you know the volume of the original site mesh, it should in theory never change.

So it should be safe to manually input that volume into the calculations for your other meshes.



One of the forum moderators.
Versions 6.5 to 27
Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11

Is it possible to add the volume as a figure in the 'Project Info' and then use that in the calculation formula for your other mesh?

I haven't tried, so I am not sure if the property expressions can get values from the project info.



One of the forum moderators.
Versions 6.5 to 27
Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11

You can get volumes from the project info, it just comes in as a string and you have to convert it to a number (STRTONUM) and multiply it by a unit (* 1 m3), used to do a similar thing for site area/site cover with zones.

AC 24 5004 AUS
iMac OSX (10.13.6) 4.2ghz i7
8gb ram/8gb vram

It's not too much trouble to just model the excavation, backfill, grading, paving... is it?   Then it is just a simple matter of Scheduling the volumes.  

ArchiCAD 25 7000 USA - Windows 10 Pro 64x - Dell 7720 64 GB 2400MHz ECC - Xeon E3 1535M v6 4.20GHz - (2) 1TB M.2 PCIe Class 50 SSD's - 17.3" UHD IPS (3840x2160) - Nvidia Quadro P5000 16GB GDDR5 - Maxwell Studio/Render Multilight 2 - Adobe Acrobat Pro - ArchiCAD 6 -25


Expressions are confined to the properties of the element to which they are assigned. You can not use properties of two different elements in one expression.


However, a Python script can access the Net Volume attribute of both Meshs and you could calculate the difference within that script. The script could them copy the net result into a user created property common to both meshes which would then also be available within a schedule..


The downside is that a Python script can only be manually initiated (update) but you could create a shortcut icon to trigger the script (and schedule) by a simple mouse click.


Windows 11 - Visual Studio 2022; ArchiCAD 27

Start a new conversation!

Still looking?

Browse more topics

Back to forum

See latest solutions

Accepted solutions

Start a new discussion!