I’m sure this has been requested before, however I have been unable to find anything the relates to the task I am trying to undertake. Also please excuse the naivety as I am a little new to the interoperability between Civil 3D and Revit.
I am currently trying to import a Civil 3D (2026) Surface from a File into Revit as a TopoSolid (Revit 2026). I have the latest version of CivilConnection (2026), although I am receiving an error for Civil Python (2026), this could be because I’ve installed it to the wrong package location.
Anyway, back to the subject in hand, I am struggling to use CivilConnection as I can’t seem to find any workflows, that demonstrate how to open the Civil 3D File from a path and get the surface data from said file into Dynamo, the next task I will need to do once I have managed to open the file is to transpose the surface from OSGB1936 to Revit Project Base Point.
Could anyone share any workflows or give me some assistance to open the document.
Thank you for your link, I have down loaded and created a workflow. However I am now getting errors and using Revit 2026 I can see the option to create the TopoSolid. Any advice/assistance will be welcomed
Morning, thank you for that is one of the issues I’m having is that I can’t find the Toposolid node or a way of selecting the family type for the toposolid.
Hi @dave.middle4ZNRV does your surface.drape.point node work if you flatten the cd3 surface before feed in ? maybe…and in R26 we should have nodes for build toposolid and its possible move and add toposolid point and we can create splitlines as well but no ootb for that… and probably create subdivide…but i couldnt get it to work in python, not sure why…
@sovitek Thank you for your message, however, please excuse my experience. But in respect of flattening the surface. Not sure what you mean, what node would I need to use.
@sovitek & @RMohareb I have finally managed to have dynamo read the Civil 3D Surface and Create a toposolid, however I seemed to have missed a couple of important steps:
Converting Points from Meters to Millimeters. I’ve seen a few post regarding this but all looking a little confusing.
Transposing the coordinates from the Spatial System (OSGB) to Project Base Point.
The other thing I need to do I think is from the C3D Surface identify the Breaklines and add these as 3D Lines into the Toposurface. Is there a method of extracting these lines?
Simply publish the surface in Civil and link it in Revit. With version 2026, the accuracy of the linked topography geometry has been significantly improved and now reflects the triangulation of the Civil surface, which to my knowledge is not yet possible with Dynamo.
@Reto thank you for your input. Unfortunately the shared surface from C3D to Revit still doesn’t allow the BIM Techs to modify the surface. Which is a pain, I have now managed to publish the surface, just have a couple of tasks to do:
Transpose the coords from World Coords to Revit Coords.
I need to add the surface to a particular level, currently when it creates the surface it is creating a new level. I want to be able to select a level as an input (via a dropdown)
I need a dropdown as an input to select the Toposolid Type being used.
Getting there, but unfortunately too, I am only able to use approved packages, which does limit me a little in which packages I can add to my dynamo environment.
The points you mention are very interesting and very important. Unfortunately, many of us find it difficult to work with Civil and Revit, as there is no guide as such for sending natural terrain surfaces or corridors. I have also seen some new nodes that have been added, such as CivilConnection, but none of them have generated a detailed guide, which is a shame, as it would be very useful.
@RMohareb thank you for your reply. I have managed to get a graph that works. But I transformed the coords using math (PBP - C3D Coord). Please see the completed graph, looking at your image there seems to be an easier method.
Let me know if you feel I could make this graph better. One thing I was hoping to do was use the triangles as this will give a really good surface, unfortunately when I try and extract the triangles, dynamo goes unresponsive.