Track plan Analyser

Important change

Analyzer Route name changed
:!: From Rev. 12.859+ is the “autogen-”-prefix (see below) by the option Automatically generated replaced.
For routes, which still contain the leading “autogen”, this will be removed during the next analyzer run and replaced by the new option.
In addition, “Generated by the analyzer” is entered in the 'Description' field.
In the dialog Route: General a leading “ * ” in the “Description” column shows the activated option 'Automatically generated'.


  • Analyse the track plan and create all possible routes automatically.
  • Sets the routes field in tracks, signals and sensors → route representation.
  • The direction track can be used to restrict a route generation only in that direction.
  • With connectors routes across other objects, empty fields and track plan levels can be created.
  • Turnout commands are added to the route.
  • Signal pair selection (optional).
  • Enter- and In- sensor assignment to blocks (optional).
  • Module support.
  • Fiddle Yard support.


The Analyser was introduced as a tool especially for the new and inexperienced user allowing for quick access to fully automated model railroading.
However, with complex or unusual layouts the Analyser may fail to generate all routes possible or it may generate unexpected routes or in worst case it may even hang.
In all these cases settings have to be adjusted or completed by hand while those routes generated correctly by the Analyser can serve as a blueprint.
See also section Limitations



  1. Track plan must be healthy before analysing!
  2. Activated option Use block side routes in the Rocrail automatic tab.
  3. All items must be connected without a space in between them. Exception: The Connector
  4. Only one item at one position in the plan is allowed. (No overlapping.)
  5. The analyser is based on the symbol sizes found in the default SpDrS60 theme. (See also themes basics)


The Analyser can be activated manually.

The feature is started manually by

  • either entering z in the Rocrail server terminal if the -console option is active
  • or by selecting Analyse from the File menu of Rocview.

Clean up

On rerunning the analyser after changes in the track plan all routes with an ID starting with “autogen-” that became invalid, e.g. due to changes in the relations of blocks or by introducing direction tracks, will be deleted from the route list.
Manually added routes not starting with “autogen-” will stay in the list unmodified.

Sensor Configuration

Sensors have to be assigned to the routes on the routes tab found in the block properties. The sensors are assigned to the routes all enter + and all enter -, respectively. The all enter + route is for all routes entering the + side of the block (marked with the little + in SpDrS60 theme). The all enter - route accordingly is used for all routes entering the - side of the block.


The assignment by the analyzer works only when using “enter” and “in” sensors.
In addition, must be one sensor on each side between the block and the next switch.
For blocks with one, three or four sensors there are no usable items.
With more than one sensor on a block side, only the sensor nearest the block will be considered.

Direction Tracks

Direction tracks (s. also Types of Tracks) can be used to restrict the routes generated by the analyser to one particular direction. For this purpose the direction track is placed between one or more blocks:

Example Description Routes generated by the analyser
Two blocks connected by tracks From A to B and from B to A
Two blocks with a track indicating both directions in between Same as above; the track for both directions is descriptive only but has no function
Two blocks with a direction track in between, arrow pointing to the right Only from A to B
Two blocks with a direction track in between, arrow pointing to the left Only from B to A
Branch without direction tracks A to B, A to C, B to A and C to A
Direction track within a branch A to B, A to C and B to A
Direction track in front of a branch A to B and A to C


Connectors can be used to connect distant elements: The analyser is seeking for a counterpart (second connector) in the same direction and ignores gaps and elements between these two.

Examples for connectors
Avoiding track elements without function

Connectors illustrating a bridge

Bridge with two connectors
Top with track type “connector”
Below with track type “tracknr” = 2
Bridge with one symbol of track type “tracknr” = 3
Thus the analyzer is able to recognize and generate the possible routes A- < > B+ und C- < > D+

  • The maximum distance between corresponding connectors is unlimited
  • Connectors on the same track plan level where the orientation is in the way shown in the above example and the connectors face each other are handled as counterparts (Exception below)
  • Connectors configured with a track number between 10 and 99 must have one corresponding connector with the same track number anywhere in the plan. The direction of the counterpart doesn't matter. The counterpart may be on a different track plan level.

Important note for Module layouts

Connectors must not be used between modules, otherwise the analyser will not generate routes across module borders :!:

On Module transitions use straight track elements :!:


  • The analyser ist not perfect, errors can occur.
  • Not all 'weird' situations are recognized.
  • The analyser configures sensors (feedbacks) only after the option “Assign feedbacks to blocks” in Rocrail properties → Analyser has been enabled (by default this option is off).
  • If “Assign feedbacks to blocks” is activated, the analyser tries only to allocate the sensors enter and / or in in generic routes that are not yet fully generated (whether manually configured by the user or already existed from previous analyzes).

> Note: Previously configured enter and / or in sensors are maintained and the analyser does not change them (even if they were completely wrong).

  • The above applies only to the closest (there are exceptions in special situations) sensors near a block that are unique to this block.
  • If a configured enter2in is found in a block, then no change is made to this block.
  • An enter2in sensor is never assigned (or deleted) by the analyser.
  • Roads are not supported.
  • Only a few objects of the Switch type "Accessory" and the Track typ "tracknr" are recognized:

Switch Type “Accessory”
1 double track railroad crossing, obsolete
10 single track railroad crossing, ungated
11 single track railroad crossing, one side barrier
12 single track railroad crossing, double sided barriers
40 double track flap bridge
41 single track flap bridge
Track Typ “tracknr”
2 bridge connector
3 bridge crossing

Other accessory or track numbers are not supported . It doesn't know the various grid sizes and orientations of these symbols. Therefore, before starting the analyser these objects should be replaced temporarily (and possibly later again) with normal track objects.

Note: Do not use two or more double track items consecutively. The Analyser will generate some wrong routes :!:


Generated Routes

    <st id="autogen-[01+]-[02+]" bka="01" bkb="02" bkaside="true" bkbside="true" show="false" x="0" y="0">
      <swcmd id="sw1" cmd="straight"/>
    <st id="autogen-[01+]-[03+]" bka="01" bkb="03" bkaside="true" bkbside="true" show="false" x="0" y="0">
      <swcmd id="sw1" cmd="turnout"/>
    <st id="autogen-[04+]-[01-]" bka="04" bkb="01" bkaside="true" bkbside="false" show="false" x="0" y="0"/>
    <st id="autogen-[02-]-[04-]" bka="02" bkb="04" bkaside="false" bkbside="false" show="false" x="0" y="0">
      <swcmd id="sw2" cmd="straight"/>
    <st id="autogen-[03-]-[04-]" bka="03" bkb="04" bkaside="false" bkbside="false" show="false" x="0" y="0">
      <swcmd id="sw2" cmd="turnout"/>

Tips and Tricks

Keep Routes

Q: Why is analyser always overwriting or removing my changes?
A: At first the analyser deletes all routes starting with “autogen-” and then creates new (missing) routes.

Q: How can I prevent analyser to recreate a route?
A: By renaming it, so it does not start with “autogen-” (→ no deletion → no recreating)

Alternative Routes

Preventing alternative routes from A- to B+ (avoid changing tracks)

- Before:

  • “autogen-[A-]-[B+]” (direct route)
  • “autogen-[A-]-[B+]-42” (alternative route using side track)

- Manual actions:

  • rename “autogen-[A-]-[B+]” to ”[A-]-[B+]”
  • delete/remove “autogen-[A-]-[B+]-42”

- After:

  • calling analyser will leave ”[A-]-[B+]” untouched (does not start with “autogen-” ) and will not create any alternative route from [A-] to [B+], because there is already a “manually configured” route for this relation.

Messages in the server log

- ANALYSER: max. recursion depth (101 > 100) reached

⇒ Please follow the Best practice

Personal Tools