Set number of Autorouter ripup/retry attempts

Due to the structure of Autorouter, there are some parameters you can use to influence the ripup/retry mechanism. They offer a good compromise between time demand and routing result. You should only carefully change the values for mnRipupLevel, mnRipupSteps and mnRipupTotal when needed.

As a rule, high parameter values allow for many ripups but result in increased computing times.

To understand the meaning of the parameters it helps to know how the router works. The tracks are routed one after the other until no other path can be found. At that point, the router removes up to the maximum number of already routed tracks (this number has been defined with mnRipupLevel) to route the new track. If there are eight tracks in the way, for example, it can only route the new track if mnRipupLevel is at least eight.

After routing the new track, the router tries to reroute all the tracks that were removed. It could be that a new ripup sequence must be started to reroute one of these tracks. The router is then two ripup sequences away from the position at which, because of a track which could not be routed, it started the whole process. Each of the removed tracks which cannot be rerouted starts a new ripup sequence. The maximum number of such sequences is defined with the mnRipupSteps parameter.

The parameter mnRipupTotal defines how many tracks can be removed simultaneously. This value can be exceeded in certain cases.

If one of these values is exceeded, the router interrupts the ripup process and re-establishes the status which was valid at the first track which could not be routed. This track is considered as unroutable, and the router continues with the next track.