Create a "report":
I think one of the sample TMLs does an export to an Excel file, or at least a comma-separated-value (CSV) file. That's probably the simplest way to create a "report". Back in the day, all reports had a "viewer" option (it had Save-As options like PDF, Word?, and Excel - which was sometimes funky what it created) and once and a while, a report would have a specific export to Excel version. But later on, some of the construction reports just had a simple Excel option because users could easily manipulate it on their own and use it with other software.
Surface-to-surface volume calculation:
You might try looking in Trimble.Vce.Gem.dll - this has the surface generation engine and I think the Model3D entity, which is the base surface entity that all surfaces are based upon.
How UI looks:
The UI framework used by the TML samples, that plugs into the Python code directly, is WPF. So you can search online for WPF samples to see how different WPF controls look/work. I'm guessing that the majority of TML needs can be handled by basic WPF controls and the TBC controls - i.e. a StackPanel with labels and controls. If you want fancier UI, WPF is pretty powerful - you can search for WPF tutorials (you may have to convert C# into IronPython yourself, since most examples will probably be in C#, and how WPF xml binds to the IronPython is a little bit different)
I know it's a lot to take in, but hope that helps some.
Quan
Revenant Solutions | Trimble Community
Independent TML Development - Build. Share. Grow.