Recently I have an task - transfer Civil 3d’s designed surface (with linear triangulation) with absolute accuracy to Revit. Since Revit 2020 there is method below:
Create Method (Document, IList(XYZ), IList(PolymeshFacet))
I created it with small .NET custom library [dynamo package named “CreateRevitTopoSurface”]. Source code you can find at Git repo - GitHub - GeorgGrebenyuk/TopoSurfaceToRevit: Repo with code for Autodesk dynamo package to create Revit's surface from initial landxml file.
Info about nodes (their count = 2) look at git repo with link above. Russian article about it look here.
Script also placed at repo and attached here
CreateTopoFromLandXml.dyn (9.3 KB)
Result of working:
As small case - we’re successfully translated 13-km rail-based surfaces with ~80 000 points during ~15 minutes to Revit (file’s size ~15 Mb). As a disadvantage - there are no opportunity to set internal/outside borders (no API’s methods).
P.S. I know about practice load topo from BIM 360 - but that product can’t be used at state companies.