The first steps for creating a new route, are far easier, if you are able to use a utility which generates smooth curves and pointwork (For example the program Switch from Rüdiger Hülsmann).
The very first version of TrackGen was created by Nils Busch, as a console application with the ability to create smooth curves and straights, and a later release provided a C# based GUI.

With Nils’ permission, I’ve fixed a bug which rendered Trackgen unusable in Windows 8 and done a small amount of work to add a couple of extra options.

Function Descriptions:

TrackGen v1.6.1

TrackGen v1.6.1


  1. Track Type- Select whether you wish to create a switch, curve or straight track. Straight track is predefined and uses less polygons.
  2. Curve Radius/ Deviation- The radius of the player’s track (Rail 0). Alternatively, you can enter a deviation distance of upto 50m in order for the program to calculate the necessary radius.
  3. Deviation for Diverging Track- Enter the distance between the player’s track (Rail 0) and the diverging track.
  4. Switch Length- Enter the multiplication factor for your switch’s length- For a 50m switch enter 2, for a 75m switch enter 3 and so-on…..
  5. Z-Adjustment- Move the resulting object in the Z-Axis.
  6. Platform Side- Build either a left or right platform.
  7. Platform Height- Sets the height of your platform.
  8. Platform Width (Near)- Sets the width at the near end of your platform.
  9. Platform Width (Far)- Sets the width at the far end of your platform. Note: A minimum width of 1m is required.
  10. Platform Ramp- Choose the type of ramp (if applicable) for your platform.
  11. Platform Fence- Sets whether your platform should have a fence, and it’s height.
  12. Add point motor- This creates a simple 3D point motor.
  13. Without embankment- By default, RailGen adds a short grass dropoff.
  14. Invert Textures- This inverts the sleeper texture, and is necessary for textures which simulate a 3D effect.
  15. Use PNG textures.
  16. Do not texture rails- This sets the rails to be solid colors, as per those created with Switch15. This may help performance in very intensive route situations.
  17. Track gauge- Sets the track gauge for generated track/ platforms in m.
  18. Viaduct type- Chooses whether to generate a stone or steel viaduct.
  19. Additional pier height- Adds additional height to the default stone viaduct piers (Default height is 22m).
  20. Number of tracks- Sets the number of tracks on the viaduct. The gauge for these may be modified with the track gauge option.


TrackGen will accept any input texture format that Windows natively supports, and will convert them to either BMP or PNG as selected by you, and move them to your output directory.
Please don’t move or delete the ‘Textures’ folder, as this contains the default texture set necessary for TrackGen to run.
Your generated objects will be found in the appropriate subdirectory of the ‘Output’ folder.

Version History (Release versions only):

15th January 2017


  • Fixed an issue when generating on systems not using the period as the decimal separator.

08th October 2015


  • Steel viaduct generation added, These will require a pillar [Not supplied, as there are too many different combinations of spans/ pillars]
  • Bug fixed in platform generation causing unnecessary Texture statements.

14th December 2014


  • Viaduct generation added.
  • Tweaks to curved track generation code to prevent Z-Fighting & gaps.
  • Translations updated.

07th November 2014


  • Variable rail gauge option.
  • Tweaks to platform generation code to prevent Z-Fighting.
  • French translation added.

16th March 2014


  • Platform generation added.
  • Fence generation for platforms added.
  • Texture selection available for main textures.
  • TrackGen will now convert input images to your selected format.

28th January 2014


  • No longer crashes when an invalid path is entered.
  • No longer crashes when write access is not available to the selected path.

27th January 2014


  • Generation of curved rails & switches now works correctly on locales using a comma as the decimal separator.
  • The selected language is written to the registry & remembered between runs.

26th January 2014


  • Fixed GUI in Windows 8
  • Added option to use .PNG textures
  • Added option to use untextured rails.

05th March 2009


  • Menu language selectable from German & English

08th June 2008


  • Initial release.