From Rev. 2.1.2736 the tab "Router/Checker" of the Rocrail properties is removed! The options are displayed in the call dialogs of router and checker and may be setup for the current session. See: Router/Checker Options |
The Router 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 Router 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 Router can serve as a blueprint.
See also section Limitations
The Router can be activated manually.
The feature is started manually by
If the router is re-started after changes to the track plan, all routes with the option "automatically generated" are deleted.
This ensures that no invalidated routes are included in the plan before routes are created or recreated.
The option "automatically generated" must be activated for all routes so the changes can be implemented.
Manually-added routes with no auto-created option remain unchanged in the list.
![]() |
The graphic shows the positioning of feedback sensors ( fb ) and Distant- ( sgv ) and Main ( sgh ) signals for a block ( bk ). The sensors and signals are thus correctly assigned to the block and the routes of both sides of the block. On both sides of the block, the sensors and signals must be positioned between the block and the next turnout ( sw ). The order of objects between block and turnout is arbitrary. |
|
|
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 the block).
The all enter - route accordingly is used for all routes entering the - side of the block.
Sensors have to be assigned to the routes on the routes tab of Block: Routes in the block properties.
Note:
The assignment by the router works only when using "enter" and "in" sensors.
In addition, place only 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.
The distant signal associated with a main signal of a block must be positioned on the opposite side of the block.
The assignment is visible on the tab Block: Signal and can be changed manually, if necessary.
Direction tracks (s. also Types of Tracks) can be used to restrict the routes generated by the Router to one particular direction. For this purpose the direction track is placed between one or more blocks:
Tip: If there is no route to be created in a track section in both directions, this can be achieved by two opposite direction track symbols, or for the time of router activity, a track symbol is removed from the section.
See also: Router direction exceptions
change from Rev. 2.0.1564+ |
---|
The previously possible use of the numbers 0…9 for multiple connector pairs leads to the termination of the router run. The orthogonal positioning and mutually facing cut surfaces of both symbols are no longer considered. This includes also divided bridge element (tracknr 2). ![]() So that the track plan for the router is "healthy" and previous pairings remain valid in the future, the "old" connector pairs 0…9 must be changed into a unique numbering for all levels in the entire track plan. |
change from Rev. 2.1.1593+ |
---|
|
Notice:
The SVG files for these symbols have been moved to the User SVG theme. If these symbols are to continue to be used, the User theme must also be selected. Setting up and changing routes (including representations of blocks and routes) that run over these track elements must be done manually.
Connectors can be used to connect distant elements: The Router is seeking for a counterpart (second connector) in the same direction and ignores gaps and elements between these two.
With connectors it's easy to connect different levels on the layout.
With module plans, connectors can be used at the module transitions when paired are defined with the same number in the range 0…65535.
Disadvantages:
Connectors at the module transition without a partner with the same number the router reports as error.
If the module layout is set up in a different compilation, the numbering of affected connector pairs must be adapted.
If in the compilation two connectors with the same number are forgotten somewhere, "strange" routes can arise.
Recommendation:
To the mentioned disadvantages - among others: Errors, high effort for changes, etc. - it is recommended to avoid connectors at the module transitions.
Instead of the connectors, "straight track elements" should be positioned so that they match each other without interruption when arrange the modules.
This results in the perspective of the router continuous track connections from which routes can be easily generated.
With this method, all the disadvantages with connectors at module transitions are eliminated in a very simple way.
See also Messages in the server log
Switch Type "Accessory" | |
---|---|
Accessory# | Description |
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 |
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 Router 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 Router will generate some wrong routes
<stlist> <st id="[01+]-[02+]" generated="true" bka="01" bkb="02" bkaside="true" bkbside="true" show="false" x="0" y="0"> <swcmd id="sw1" cmd="straight"/> </st> <st id="[01+]-[03+]" generated="true" bka="01" bkb="03" bkaside="true" bkbside="true" show="false" x="0" y="0"> <swcmd id="sw1" cmd="turnout"/> </st> <st id="[04+]-[01-]" generated="true" bka="04" bkb="01" bkaside="true" bkbside="false" show="false" x="0" y="0"/> <st id="[02-]-[04-]" generated="true" bka="02" bkb="04" bkaside="false" bkbside="false" show="false" x="0" y="0"> <swcmd id="sw2" cmd="straight"/> </st> <st id="[03-]-[04-]" generated="true" bka="03" bkb="04" bkaside="false" bkbside="false" show="false" x="0" y="0"> <swcmd id="sw2" cmd="turnout"/> </st> </stlist>
Note: The previously used prefix autogen- is replaced by the parameter generated = "true"
in the route record2)
Q: Why is Router always overwriting or removing my changes?
A: At first the Router deletes all routes with the activated option 'Automatically generated'.
Q: How can I prevent the router from recreating a route?
A: By deactivating the option 'Automatically generated' (→ no deletion → no recreating)
Preventing alternative routes from A- to B+ (avoid changing tracks)
- Manual actions:
- After:
To display the router results, Trace: calculation must be activated.
Note: The message to the last action is at the top of the log.
Server log at "Analyze" with typical design plan error:
17:23:09 route generator (re)created routes (0 -> 8) 17:23:08 Router: max. recursion depth (101 > 100) reached 17:23:08 Router: max. recursion depth (101 > 100) reached
Server log at "Clean all routing" and then "Routing":
23:45:36 route generator (re)created routes (0 -> 4) 23:45:35 starting router... 23:45:25 route generator cleanup removed 4 routes (4 -> 0) 23:45:24 starting router cleanup...
Server log at "Routing" with typical connectors errors:
14:08:06 Router skipped because plan has ERRORs 14:08:06 ERROR: connector [tk5] at (6-5-1) number[3] : Too many counterparts (total 3) 14:08:06 WARNING: connector [tk4] at (14-3-0) with number[2] : no counterpart found. 14:08:06 ERROR: connector [tk3] at (14-1-0) number[3] : Too many counterparts (total 3) 14:08:06 ERROR: connector [tk2] at (6-3-0) number[3] : Too many counterparts (total 3)