13th April 2023
How to 3D print a 2D surface terrain directly from Revit
At Edward Williams Architects we like to innovate and discover novel solutions for resolving software and architectural issues. We believe software should support our work and enable it, not constrain it. In this article, we outline the step-by-step process we follow to generate a 3D print model of our project site using Revit 2022 and Dynamo (Revit's programming language). Dynamo is our primary tool for extracting data from the Revit model, which allows us to produce intricate geometry for our site model that cannot be accomplished using Revit's existing tools. Revit 2022 represents terrain as a surface rather than a mass, making it unsuitable for 3D printing. To transform Revit's surface into a solid mass, we use Dynamo, a visual programming language that enables us to automate and enhance Revit's functionality. With it, we create visual scripts that automate repetitive tasks and facilitate custom workflow. You can find below the explanation of the ten step to print your 3D Terrain directly from Revit 2022, without using different software, for which you will probably have to pay. With new Revit 2024 the terrain is represented as solid element, for this reason, we suggest using the following approach if you do not have the latest Revit 2024 version.
The first step of the process is to decide how you would like to create your surface terrain in Revit. Generally, there are three options:
Option A: Directly create the surface terrain in Revit by placing points.
Option B: Automatically create a surface terrain by importing a DWG file. (It is the best and suggested option, especially when there is a DWG digital measured survey available for the project).
Option C: Generate a surface terrain from a Points File.
After you have chosen the preferred option to generate the surface terrain, you can open a 3D view or a site plan view in Revit and click Massing & Site Tab » Model Site Panel » Toposurface.
Option A - Create a surface terrain by using Place point: 1.Click Massing & Site Tab » Model Site Panel » Toposurface. 2.In the Toposurface command click Modify / Edit Surface Tab » Tools Panel » Place point. In this editing sheet, it is possible to locate a minimum of three points to generate a surface terrain. The user can setup the z coordinate value (‘elevation’) for every inserted point.
Option B - Create a surface terrain by using Create from Import / Select Import Instance (selected option for this project): For this option, prior to using Revit, it is necessary to set up a DWG file where the terrain points must be placed in the right cartesian coordinates to generate a correct surface. In Revit, the user can import the DWG file in the following way: 1.Click Insert Tab » Import Panel » Import Cad. When the DWG file is visible in the 3D view (or the site plan view), it is possible to generate automatically a surface terrain. 2.Click Massing & Site Tab » Model Site Panel » Toposurface. 3.In the Toposurface command click Modify / Edit Surface Tab » Tools Panel » Create from Import / Select Import Instance. 4.In the opened dialog ‘Add Point from selected Layers’ the user can select the DWG layers to use for creating the surface terrain.
Option C - Create a surface terrain by using Create from Import / Specify Points File: This option is useful when you need to import a points file from a civil engineering application to create a Toposurface in the Revit model. The imported points file must adhere to these requirements: • The points file must be in a comma-delimited file format (a CSV or TXT file). •The file must contain x, y, and z coordinate numbers as the first numeric values in the file. •Any additional numeric information for a point must occur after the x, y, and z coordinate values. Additional information in the file (such as a point name) is ignored. If the file contains 2 points with the same x and y coordinates, Revit uses the point with the largest z value. To create a Toposurface with a points file: 1.Open a 3D view or a site plan view. 2.Click Massing & Site Tab » Model Site Panel » Toposurface. 3.In the Toposurface command click Modify / Edit Surface Tab » Tools Panel » Create from Import / Specify Points File. 4.In the Open dialog, navigate to the location of the points file. 5.In the Format dialog, specify the units used to measure the points in the points file (for example, decimal feet or meters), and click OK.
The 3D terrain surface In Revit will look like this.
The user can define the project site footprint in the surface terrain using ‘Building Pad’: 1.Open a 3D view or a site plan view. 2.Click Massing & Site Tab » Model Site Panel » Building Pad. In this editing sheet, it is possible to locate a minimum of three points to generate a project site footprint in the surface terrain.
The project site in the surface terrain is set up, but this will not 3D print because it is a surface. The ULTIMAKER CURA 3D Printer requires a 3D solid geometry.
Dynamo: Dynamo is a visual programming language and graphical interface for building custom workflows and automating tasks in Autodesk Revit, which is a building information modelling (BIM) software used for architecture, engineering, and construction projects. With Dynamo, Revit users can create custom scripts and tools to manipulate and interact with Revit data, automate repetitive tasks, and perform complex calculations and analyses. Dynamo enables Revit users to extend the capabilities of the software beyond its out-of-the-box features, and it has become an important tool for BIM professionals looking to streamline their workflows and improve their productivity. Dynamo is a free Revit plug-in and you can download it connecting at www.dynamobim.org/download/. After the Dynamo is installed onto the computer, it is possible to open it directly from Revit by clicking on Manage » Visual Programming » Dynamo In this article, we will explain what Dynamo allows us to do. If you are interested in understanding how Dynamo works, we will post another article on EWA’s website for this scope soon. Our goal is to use Dynamo for transforming the 2D surface terrain into a 3D printable solid geometry for our 3D Printer machine. The Dynamo script works in the following way: 1.Import the Revit surface terrain in the Dynamo working area. 2.Transform the imported 2D geometry in a 2D Dynamo surface. 3.Editing data and geometries: this step is the most important step, because we need to create a script that uses the imported 2D Dynamo surface data and geometries to create other new surfaces. 4.New surfaces must give us the opportunity to combine them with the imported 2D Dynamo surface to generate a new 3D solid geometry. 5.Using ‘Solid.ByJoinedSurfaces’ Dynamo generates a 3D solid geometry. 6.Export the new 3D solid geometry from Dynamo into Revit.
Please note that in some cases the new 3D object in Revit needs to be scaled to suit the right terrain dimensions.
The ULTIMAKER CURA 3D Printer reads STL file format and for this reason the 3D object in Revit must be exported as an STL File. To do so, click File Tab » Export » CAD Formats » STL. It is important to select the following settings: Format: Binary; Resolution: Medium; Unit: Millimetres.
In the 3D Printer software, the imported geometry needs to be scaled in accordance with the output scale chosen. The quality of the 3D printer output and other minor settings need to be laid out.
The final general terrain model is ready to be used. The same process needs to be done to generate the project site terrain model.