When the tin surface of the terrain, which is a Civil object, is used as the surface of a Dynamo object, the data of the surface becomes very large.
Because of this, it’s hard to get Dynamo working.
How can we make the data on this surface a bit smaller?
Does it help to put a border on the surface before creating the Dynamo geometry? I haven’t tried it, but it might work if you don’t need to entire surface for computation.
Do you need all triangles?? Are they redundant for your target?
Sometimes surfaces are generated with level curves and the number of triangles are not important because you can obtain the same surface with less triangles. You can smooth the number of triangles you in civil 3d and afterwards use dynamo.
@oh_ruki creating surface geometries for each triangle of a large mesh such as yours is extremely inefficient as a surface is a heavy-weight geom object. I would recommend you use the Mesh type in Dynamo that has a node called ByPointsFaceIndices as shown:
For this you would need a list of vertices and the indices of the 3 vertices in the vertex list that belong to each triangle. OR better yet I would suggest you check out the MeshToolkit package available on the package manager.