Rail3d Simulation


If you’ve just worked your way through the tutorials, you may be feeling a bit overwhelmed. The purpose of this article is to provide a reasonably concise overview of what all the different parts of a Rail3D layout do, and how they work together. 

Rail3D Space

A Rail3D layout exists within a virtual three-dimensional space. Every feature of the layout (a node, a scenery item, a terrain point, whatever) has a defined (x,y,z) position in that space. These positions are defined in metres from the layout origin (0,0,0).

The horizontal x-coordinate (“Easting”) and y-coordinate (“Northing”) are allowed to take positive values from 0 to about 600km. The vertical z-coordinate can (apparently) take any value.

For example, the default Home Position is at (20000,20000,0), i.e. it is 20km (20,000 metres) East of the origin, 20km North of the origin, and 0m above the origin.


Track in Rail3D is primarily used to represent railway track, but it can be used for any kind of linear feature of your layout, whether or not it is actually guiding vehicles — common uses include roads and rivers, but monorails, cableways and other exotic guideways are all possible.

The most important feature of track for most purposes is that trains can travel along it, responding appropriately to any switches, signals, stops or other track features they encounter.

Track consists of a series of nodes joined by links. Dragging with the mouse in tracklaying mode creates nodes and links.


A node is a point in Rail3D space to which links and track features like signals and stops can be attached. Double-clicking on the node opens a dialogue where you can set the properties of the node and of any track features.

As well as (x,y,z) coordinates, a node also has a defined angle (between -π and +π radians), which determines the curvature of the links attached to the node.

Links can be attached to both sides of the node.

  • If a node does not have at least one link on each side, it is considered to be “open”, and is displayed as a red cross when Track Aids are turned on.
  • If two links are connected to the same side of a node, Rail3D considers the node to be a switch. You can define in the switch properties tab which trains should be sent in each direction.


A link determines the actual line of the track from one node to the next. Links are drawn as Bezier curves. Links are curved such that a tangent to the link at the node is at the node angle.

The link is drawn using a particular track model. For most purposes, you can regard the track model as purely aesthetic — as far as Rail3D is concerned, your model of Flying Scotsman will run just as happily on a river or a monorail track as it does on standard gauge railway track. You can set the track model to use for new links in the Track Options dialogue, and you can change the track model for an individual link from the Link Properties dialogue, which you open by double-clicking on the link.

There are a lot of other properties you can set for the link. Some relate to OHLE and others relate to the way the track interacts with terrain. Auto Cutting and Cutting Width are discussed below.


A train consists of one or more vehicles, and runs — obviously, perhaps — along the track.

Vehicles are defined in stock files, which contain the information Rail3D needs to calculate how the vehicle should move (power, weight, length, wheelbase, etc.) as well as a 3d model of the vehicle.

By default trains are controlled automatically, but the user can take over control of a train and drive it by hand from the Drive Train dialogue, or — where fittted — using cab controls.


Signals regulate the movement of trains. Rail3D looks after the operation and interlocking of the signals, and normally sets routes automatically. You can also set up signal panels or lever frames in your layout that allow you to take over manual control of (part of) the signalling. Basic signalling in Rail3D can be as simple as inserting a few signals at key nodes in your layout, or as complicated as you like.

Trains normally rely exclusively on the signal system to regulate them: you can use a Shunt Feature or Drive-on- Sight  for situations where more than one train is in a section at once(e.g. coupling, road traffic).



Terrain in Rail3D is used to model the shape of the Earth’s surface in the layout area. Instead of the regular mesh of points used to define terrain in most 3d simulations, Rail3D allows you to use an arbitrary set of points. In principle, you define Terrain Points  — “spot heights” — wherever you need them in your layout, click on  Generate, and Rail3D joins them up into a mesh of triangles to attempt to make a continuous surface.

Creating terrain points

A terrain point is simply defined by its (x,y,z) coordinates in the Rail3D coordinate system. You can create terrain points:

  • individually in your layout by clicking with the Create Terrain Point Tool
  • by “stitching” along a track using a Terrain Setting Train.
  • by clicking along map contours in the Digitiser Tool
  • using an external program to generate data (e.g. from a DEM file) and pasting it into Rail3D


The triangulation function is launched by clicking on  Generate. For large layouts it may take some minutes to complete. 

Rail3D will not attempt to triangulate points more than 1km apart.


As part of the terrain generation process, Rail3D will automatically create cuttings and embankments as necessary for links that have Auto Cutting switched on. The terrain points created for this purpose are temporary and cannot be edited directly.

Terrain textures

By default, the terrain is covered in a texture called “grass.bmp”, tiled every 10m. If you want to use a different global texture, you can specify this in Layout PropertiesLayout Properties.

You can use the Texture PaintbrushTexture Paintbrush tool to apply a different texture to selected terrain points.


Scenery items are 3d models that can be placed in your layout to represent trees, buildings, and other features. Scenery items in general only have a visual function.

Standard scenery items

These can be dropped anywhere on the layout by dragging from the scenery library dialogue. If dropped on a node, they will be placed with the elevation and orientation of the node; otherwise they will be placed with the current terrain elevation.

Linear scenery

Linear scenery items can only be placed on links. They are used for scenery that follows the line of the track, e.g. station platforms, tunnel linings.


Trees placed using the spraygun tool or the hedgerow function are special types of scenery object, optimised to reduce their impact on framerate.


Fences placed using the fence tool are also specially optimised scenery items.




MRG 28/06/2013 19:04:12