LandXML Surface Import

by Civil Visions in Scripts and Addons

Whether you're creating visualizations for architecture, civil site designs, or transportation projects, LandXML is the fastest and easiest way to bring terrain into Blender. Easily exported by virtually all civil design applications, LandXML is the perfect link between CAD design and visualization in Blender.

Terrain is More than Just Triangles!

LandXML surface objects can also contain linear break line objects that can be used to define entities like pavement striping, guardrails, and other linear features. The LandXML Surface Import add-on lets you bring those linear features into the 3D scene as curve objects, allowing them to be used for creating any number of additional design features right inside Blender.

Generated Contours

Sometimes contours are just the thing that makes terrain visualization easy to read. By placing contours at user-specified intervals, the final visualization can more effectively convey the features of a terrain model.

The LandXML Surface Import add-on allows for automatic contour generation, with both major and minor contours placed at user-defined elevation intervals. Major and minor contour objects are imported as separate curve objects, allowing different materials to be applied to each set.

Blender Scenes Versus the Real World

CAD design projects deal in real-world coordinates, sometimes using northing, easting, and elevation coordinate values that are miles (or kilometers) away from the Cartesian origin. Blender and other 3D applications work best with objects centered around the scene origin.

The LandXML Surface Import add-on allows for automatic or user-defined centering of terrain objects. And once a terrain object is imported, others can be brought into Blender using the same coordinate shift, ensuring that all existing and proposed terrain objects are aligned perfectly in the center of your scene.

Automatic and manual unit scaling is also supported, allowing intelligent conversion between Metric and Imperial terrain models based on your Blender scene's unit settings.

Terrain is Just The Beginning!

The LandXML Surface Import add-on is the first in a series of products to be released by Civil Visions. All of these products work together to allow artists and engineering professionals to create stunning visualizations of their civil projects.

Future Civil Visions releases include:

Horizontal and Vertical Geometry

By being geometrically aware, Blender scenes can place objects using Station and Offset designation. LandXML import of horizontal and vertical alignments will even allow you to push templates along 3D alignment objects to create roadway and other linear features.

Survey Features

Need your existing conditions rendered in 3D? By bringing survey data directly into Blender, real-world features like trees, above- and below-ground structures, and other objects can be visualized quickly and easily.

Subsurface Utilities

By viewing proposed sewer networks and other underground utilities, crossing conflicts and other design issues can be visualized quickly and easily.

Civil Visualization Assets

The only way to create civil visualizations quickly and effectively is to have access to a library of high-quality assets to populate your scenes. Survey features, automobiles, roadway design elements, and other assets will make visualization of your civil project fast and cost-effective.




Introduction

Welcome to the LandXML Terrain add-on for Blender! This add-on is part of the Civil Visions Suite, a set of tools, assets and add-ons that provide Blender users with everything they need to easily work with civil engineering data in Blender.
Whether you're creating visualizations for architecture, civil site designs, or transportation projects, LandXML is the fastest and easiest way to bring civil engineering data into Blender. Easily exported by virtually all civil design applications, LandXML is the perfect link between CAD design and visualization in Blender.

More Than Just Triangles

LandXML surface objects can also contain linear break line objects that can be used to define entities like pavement striping, guardrails, and other linear features. The LandXML Surface Import add-on lets you bring those linear features into the 3D scene as curve objects, allowing them to be used for creating any number of additional design features.

User-Defined Contours

Sometimes contours are just the thing that makes terrain visualization easy to read. By placing contours at user-specified intervals, the final visualization can more effectively convey the features of a terrain model.
The LandXML Surface Import add-on allows for automatic contour generation, with both major and minor contours placed at user-defined elevation intervals. Major and minor contour objects are imported as separate curve objects, allowing different materials to be applied to each set.

Blender Scenes Versus the Real World

CAD deals in real-world coordinates using northing, easting, and elevation coordinate values that are miles (or kilometers) away from the Cartesian origin. Blender and other 3D applications work best with objects centered around the scene origin.
The LandXML Surface Import add-on provides automatic or user-defined coordinate shifting to center terrain objects. And once a terrain object is imported, other Civil Visions objects can be imported into Blender using the same coordinate shift, ensuring that all existing and proposed terrain objects are aligned perfectly in the center of your scene.
Automatic and manual unit scaling is also supported, allowing intelligent conversion between Metric and Imperial terrain models based on your Blender scene's unit settings.


Installation

The first thing we need to do is install the Import LandXML Terrain add-on.

  1. Place the installation Zip file somewhere on your computer where you can access it. There is no need to unzip the installation file.
  2. Select File > User Preferences from Blender's pull-down menu or press Ctrl+Alt+U.
  3. Select the Add-ons tab along the top of the dialog window.
  4. Click the Install From File... button and then navigate to the location where you saved the installation Zip file. Select the Zip file and click the Install Add-on from File... button at the top of the window.
  5. Finally click the box next to the Import-Export: LandXML Surface Import add-on to activate it. When activated, there will be a small check in the box.
  6. (Optional) If you want to have the add-on available every time you run Blender, you should now click the Save User Settings button at the bottom of the Blender User Preferences dialog.


Quick Start

Now that you’ve installed the add-on, let’s import our first surface. If you have a LandXML file available for one of your projects, go ahead and use it. If not, you can download datasets created using many different civil design and surveying applications from the LandXMLorg web site at: http://www.landxml.org/webapps/landxmlsamples.aspx.
Note that the LandXML file you use needs to contain at least one Surface element. If you’re unsure whether the file you have contains a Surface element, don’t worry — we will be able to check the contents of the file in a moment.

1. Select File > Import > LandXML Surface from Blender's pull-down menu. Alternately, you can place the mouse pointer over Blender’s 3D view and press the Space Bar and then start typing "LandXML" into the pop-up search field. Once you see Import LandXML Surface appear, press the Enter key.

2. Using Blender’s file browser, locate the LandXML file you want to import and highlight it by clicking once on its file name.

3. Before we actually import a surface, let’s make sure there is a Surface element contained in the LandXML file we’re working with. In the Tool Shelf located on the left side of the file browser window, locate the Import LandXML Terrain section and check the box labeled Report Only.
* If you don’t see the tool shelf you may need to hit the T key on your keyboard to toggle it open.

4. With the desired LandXML file highlighted, click the Import LandXML Terrain button at the top of Blender’s file browser window. The file browser window will disappear, returning you to the standard 3D view. By activating the Report Only checkbox, the add-on scanned the LandXML file we selected and wrote information about all the Surface elements it found in that file. In order to see this information, we’ll need to display Blender’s Console Window by selecting Window > Toggle System Console from Blender’s pull-down menu.
* Note: Activating the Console with the pull-down menu is only available when running Blender on a Windows computer. Users with Linux or Mac computers access the Console window using other means.

5. The add-on displays statistics about each of the surface objects it found in the LandXML file, including the names and descriptions of the surfaces, unit settings, and the number of points, faces and breaklines contained within each surface. If you don’t see any surface object statistics displayed then the LandXML file you selected does not contain any surface objects.

6. Now that you have a LandXML file that contains at least one surface object, let’s go ahead an import it into Blender. Once again, select File > Import > LandXML Surface from Blender’s pull-down menu. Remember to un-check the Report Only box to reveal the LandXML Surface Import settings.

7. Once again, select the LandXML file that contains the surface objects by clicking on its file name. Note that double-clicking the name will immediately import the LandXML surfaces from the file using whatever settings are currently displayed in the Tool Shelf.

8. We will go over the various import settings in the next section. For now, leave the settings at their defaults and click the Import LandXML Terrain button at the top of the dialog window. The LandXML file will be processed and a 3D mesh terrain object will be created for each of the surface elements contained in the file. Major and minor contour objects and breaklines will be created as well if those options were checked.
* Note: Contour sets for very large surfaces or surfaces that have a very wide elevation range can take a long time to process. In these cases, try turning off the Draw Contours option or increase the Contour Spacing and/or decrease the number of minor contours between majors.


Surface Import Settings

Report Only

When the Report Only box is checked, statistics about the LandXML surface elements found in the selected file will be written to the console window. No LandXML surfaces will be imported into the Blender scene.

Filter

In cases where the selected LandXML file contains more than one surface element, the Filter field will allow you to import only specified surface elements based on name patterns. To import a single surface, type the its name into the field. Standard operating system wildcards are allowed, including * and ?. Multiple patterns can be entered by separating them with semicolons (;).

Coordinate Shift and Scale

In most cases, LandXML surfaces will be located in a world coordinate system with northing, easting, and elevation values far from Blender’s scene origin of 0,0,0. It is a limitation of Blender (as well as most other 3D modeling applications) that objects are expected to be oriented around the scene origin. To accommodate this limitation, the add-on can perform a uniform coordinate shift to bring the surface objects to the center of the scene.
Several options are available for how the coordinate shift is applied when a LandXML surface is imported.

Bounds
- A bounding box is computed for the surface being imported. The bounding box center is placed on the scene origin. In cases where multiple surfaces are being imported at once from a single LandXML file, a bounding box center is computed for the surface with the largest surface area and then the same coordinate shift is applied to all imported surfaces.

CV Obj - This option allows a new surface to be imported with the same coordinate shift as that of a previously imported surface. This is useful in cases where an existing terrain object was created from one LandXML file and additional proposed surfaces need to be imported using the same coordinate shift to remain properly registered.**In order to use the CV Obj option, make sure that a CV terrain object is active in the Blender scene by right-clicking it in the 3D window before selecting File > Import > LandXML Terrain from Blender’s pull-down menu.

Custom - This option allows you to enter custom northing, easting, and elevation shift values to position the imported terrain in the scene. The values entered will be subtracted from the LandXML surface point coordinates upon import.

None - No coordinate shift is applied and the imported surface is placed at the coordinates found in the LandXML surface definition.

Draw Options

These three check boxes allow you to select which terrain features are created and drawn into the 3D scene.

Surface Mesh - Draws the triangulated representation of the faceted terrain.
* Creates a Blender 3D Mesh Object.

Breakline Features - Draws linear breakline features found in the LandXML surface definition. Breakline features for each surface are placed into Blender groups for easier selection.
* Creates Blender Curve objects.

Contours - Draws computed contour objects at user-specified intervals. Contour Spacing setting controls the frequency of the major contour objects. The Minors Per Major setting controls how many minor contours are drawn between major contours.
* Creates Blender Curve Objects.

Smooth Contours - Creates contours using Bezier rounding to create smooth curvature. This works well for gently rolling terrain, but can produce erratic results on terrain with sharply defined edges such as curbs or wall sections.

Does the add-on work with Blender 2.8?

All Civil Visions add-ons will be updated once Blender 2.8 is close to official release.

How do I change the thickness of the generated contours?

The major and minor contour elements are two separate Blender curve objects. To change the thickness, first select the desired contour object and make it active. In the Object Data section of the Properties panel,  adjust the Bevel Depth setting found in the Geometry section.

My LandXML file contains multiple surfaces. How can I import only the ones I want?

In the import options, use the Filter field to designate the surfaces you want by entering their names separated by a semicolon. You can also use wildcard characters like * and ? in the Filter field. For example, if you enter Prop* into the Filter, all surfaces with names beginning with "Prop" will be imported.

What version of LandXML is supported?

The add-on has been designed and tested to work with LandXML 1.0, 1.1, and 1.2 surfaces.

Importing my file takes a really long time. What's up?

If you are importing a large LandXML surface with a large elevation range, it could be that the add-on is taking a while to create a large number of contours. Try importing the surface without contours by un-checking Draw Contours. If the surface imports just fine without contours, you may want to increase the contour spacing and/or reduce the number of minor contours between majors.

Item Rating

This item has an average rating of 4 from 2 ratings by the community.

0%
100%
0%
0%
0%
  • newart 3 months ago

    This came along at exactly the right time. I am getting tired of dealing with my Civil/Survey Visuals in LumenRT. I love Blender and I want to do all my visuals in it and this tool takes me another step closer to making this a reality. Thank you. Looking forward too more tools

  • yansommi 6 months ago

    Working in the Land Survey and Civil Engineering field this add-on is a breath of fresh air. It's current version is very basic at this time. This tool will be indispensable once the creator is able to add more features to the add-on such as horizontal and vertical geometry. I still highly recommend this to anyone who uses blender for civil engineering visualizations.

Purchase this item to leave a review!