Civil 3D to Revit: how to bring surfaces, coordinates, alignments and pipe networks across without anything moving
How to go from Civil 3D to Revit: link or import the surface as a toposolid, share coordinates, and bring alignments, corridors and pipe networks across.
Civil 3D · Revit · Interoperability
Civil 3D works in real-world coordinates. Revit works near its origin. That's where every problem starts.
How to share coordinates between the two programs, how to bring a Civil 3D surface into Revit as a toposolid, what to do with alignments, corridors and pipe networks, and which part of the handoff is worth automating.
The school is designed well. The site is 30 kilometers away
It happens on projects that combine buildings and infrastructure: schools, hospitals, treatment plants, developments with community buildings. The civil engineer designs the grading, roads and utilities in Civil 3D; the architect designs the building in Revit. When they come together, the building floats above the ground, shows up rotated, or lands miles away.
It's almost never a design error. The two programs locate things differently, and nobody agreed on how to translate one into the other.
The right order to go from Civil 3D to Revit
Shared coordinates
Always first
Terrain as a toposolid
Linked or imported
Alignments and profiles as reference
To place the building
Corridors and pipes as solids
For coordination
From Civil 3D to Revit, in 7 blocks
Why the two programs don't understand each other, how to share coordinates, how to bring the terrain across and what to do with alignments, corridors and pipes.
- 01Concept
Why they don't match
Real-world coordinates versus Revit's origin
- 02First
Shared coordinates
Shared Reference Point or a linked DWG
- 03Terrain
The terrain
Link from the cloud or import as a toposolid
- 04References
Alignments and profiles
References, Dynamo or a plugin, and level 0
- 05Coordination
Corridors and pipes
Export as solids for coordination
- 06Errors
Common errors
Terrain far away, rotated building, levels and units
- 07Action
What to automate
Surface prep, coordinate checks and pipes into Revit
Civil 3D works in real-world coordinates. A project in the US is usually drawn in state plane coordinates, often millions of feet from the drawing origin. For Civil 3D, that's normal.
Revit works near its internal origin. It was built for buildings, and its precision degrades when geometry sits far from that origin. That's why Revit warns when elements are tens of miles from the origin.
The consequence: if you move the Revit model to state plane or UTM coordinates, graphic and precision errors appear. The right approach is to keep the building near the origin and tell Revit, through shared coordinates, where it sits in the world.
Revit has two key points: the Project Base Point, used for measurements inside the building, and the Survey Point, which ties it to real-world coordinates. There are two common ways to align them with Civil 3D:
A. Autodesk's Shared Reference Point extension.
- In Civil 3D, from the extension manager in the Toolspace, export an origin point and a second point that sets the direction, both at the same elevation. This creates an XML file.
- In Revit, from the Add-Ins tab, import shared coordinates from that XML, picking the same points in the same order.
- Make the new system the project's current location.
B. Acquire coordinates from a linked DWG. Link a Civil 3D DWG at its real location into Revit and use its coordinates as the project reference. It's faster, but it depends on the DWG being properly georeferenced.
Option 1: Link Topography (with Autodesk Construction Cloud). Since Revit 2019, Link Topography reads a Civil 3D surface published to Autodesk's cloud. Since Revit 2024, the terrain comes in as a toposolid. The advantage: when the civil engineer publishes a new version of the surface, Revit can update it.
Option 2: Export and import. Without the cloud, export the Civil 3D surface to a file and create the toposolid in Revit from that import, or from points in a CSV.
| Criterion | Link Topography (cloud) | Export and import a file |
|---|---|---|
| Requires Autodesk Construction Cloud | Yes | No |
| When the surface changes | Publish and update | Export and import again |
| Setup | Configure the cloud project | Immediate |
| Best for | Long projects with changes | One-off deliveries |
Civil 3D alignments and profiles don't turn into Revit objects on their own. The usual routes:
- As reference: link a DWG with centerlines, edges of pavement and profile grades into Revit to place driveways and floor levels.
- With Dynamo: community tools such as CivilConnection exchange information between Civil 3D, Dynamo and Revit.
- With a custom plugin: when the handoff repeats on every project with the same rules.
Elevation is what matters. The building pad, finished floor elevation and access grades have to match in both models. Agreeing which elevation Revit's level 0 represents prevents half of the clashes.
To coordinate the building with roads and utilities, Civil 3D can export its objects as solids: corridors, pipe networks and surfaces become 3D geometry that Revit, or Navisworks, can link.
The limit: a solid doesn't know it was a pipe. In Revit you can't query its diameter or slope the way you can with a Revit pipe. It's for viewing and clash detection, not for continuing the design.
If the project needs site utilities to reach Revit as real pipes —for example, to connect with the building's plumbing—, a script or plugin can read the Civil 3D network and rebuild it with Revit families.
- The terrain shows up miles away. Shared coordinates weren't set up, or the model was moved instead of using the Survey Point.
- The building comes in rotated. North wasn't agreed: Civil 3D works with grid north and Revit distinguishes project north from true north.
- Levels don't match. Revit's level 0 isn't referenced to the same elevation as Civil 3D.
- Revit slows down or the toposolid fails. The surface is too large or has too many triangles for the area you need.
- Different units. One file in millimeters or inches and another in meters or feet: everything comes in at the wrong scale.
- The terrain doesn't update. The civil engineer changed the surface but didn't publish the new version.
If your firm does this handoff on every project, these tasks repeat the same way every time:
- Preparing the surface for Revit: trimming it to the project area and simplifying it with a fixed rule.
- Checking coordinates, north and elevations in both models before each submittal, with a report.
- Bringing alignments, profiles and levels from Civil 3D into Revit references.
- Rebuilding site utilities as Revit pipes to connect with the building systems.
They're tested in Dynamo and, once used daily, turned into a plugin. We explain it in Revit and Civil 3D add-in development.
Related resources
- UTM coordinates and datums: coordinate converter.
- Getting the surface right: Civil 3D contours from Google Earth or a survey.
- Pipe networks in 3D: Civil 3D pipe networks with fittings.
- What changed between versions: comparing Revit and Civil 3D models.
- The Civil 3D map: automating Civil 3D, the complete guide.
- The add-in map: Revit and Civil 3D add-in development.
- Terrain for early design: contour map generator with DXF export.
Frequently asked questions about going from Civil 3D to Revit
There are two routes. With Revit's Link Topography tool, available since Revit 2019, you link a Civil 3D surface published to Autodesk Construction Cloud; since Revit 2024 it comes in as a toposolid and updates when a new version is published. Without the cloud, export the surface to a file and create the toposolid in Revit from that import or from points in a CSV.
Technical note: tool names and releases follow Autodesk's documentation as of October 2026.
Keep reading on this topic
Revit and Civil 3D Add-in Development: The Complete Guide (2026)
The complete guide to Revit and Civil 3D add-in development: what add-ins are, what to automate, C# and the Autodesk API, deployment and cost.
Automating Civil 3D: The Complete Guide (2026)
What you can automate in Civil 3D and how: Dynamo, Python, C# and AutoLISP compared, the 15 automations with the best ROI, and which to build first.
How to Build a Civil 3D Plugin with Claude Code Without Being a Programmer: End-to-End 2026 Guide
How to build a Civil 3D plugin with Claude Code without coding experience: architecture, prompts that work, and how to compile and deploy it.
Dynamo vs C# in Civil 3D and Revit: when to use each + automations that save hours
Dynamo or C# for automating Civil 3D and Revit: the real differences, when each one is worth it, and automations that save hours, with examples.