Templot Companion if the A-Z Index tab is missing  click here  

Templot In Full  -  99. origins, methods and intent

This page is an explanation of the origins of Templot, the ideas behind it, and a suggested way of using it.

I'm assuming that you have already learned the basics of Templot and started using it. If not, please see the Templot Explained beginners guide.

This is going to be a long-winded ramble because I think I need to recall some of the 40-year history of Templot, to explain how and why things are the way they are. The historical context is key to understanding Templot, and why it differs from other model track planning software.


Templot first saw the light of day in 1980. It was a product of its time in the UK model railway hobby. Much of the original design and intent remains largely unchanged today.

There are 2 separate and distinct functions in Templot. Please read that again, it's important to the understanding of Templot.

Separate and distinct are not quite the right words nowadays because the two have tended to merge in the later more complex track design functions. But they were certainly the right words originally because there was a 10-year gap between the creation of the two functions.

For this page I'm going to call them the PHASE 1 functions and PHASE 2 functions of Templot.

To see what I mean by PHASE 1, start Templot from scratch and click the [ NEW ] button, or the [ template > new template (quick set) ... ] menu item.

There in these two boxes on the dialog you have almost the entire original 1980s version of Templot:

You can use them to change the input settings to the template generator, and the result is that a curved turnout template is drawn on the screen and can be printed out as a construction template. To watch a video of that, click your first printed template.

In PHASE 1 of Templot that was all you could do.

The templates so printed would be shuffled about on the baseboard to create a track plan, combined with others from commercial sources or the scale societies, and possibly some hand-drawn templates too. In order for the templates from Templot to align with hand-drawn ones, I adopted RAM unit crossing angles as the default in Templot, rather than strictly prototypical CLM angles.

And of course that is equally valid as a way of using Templot today. If you are happy to create a track plan that way, you don't need to read any further here. It all works almost exactly the same now as it did then.

But by the 1990s increased computing power was available, and I began to think of replicating the physical baseboard as a virtual baseboard on the computer screen. There would be no need to mess about with paper and ink and sticky tape and drawing pins, or to build a baseboard first. You would be able to keep trying different track plans on the screen using a collection of generated templates until you arrived at the optimum plan, without any waste of time, paper and materials if you scrapped any. It could all be printed in one go when the planning was complete.

So I devised a screen display having 2 layers. A background layer which represented the railway baseboard, and on which a track plan could be gradually assembled from previously generated templates. And a foreground layer which would contain the original PHASE 1 template generator functions unchanged. As if they were taking place on a transparent plastic film floating on top of the track plan, but not part of it. I didn't want to do anything to change the PHASE 1 functions, so that they could still be used to print individual templates as before when needed:

So PHASE 2 of Templot was born. It would replicate as far as possible the work flow when track planning on a physical baseboard. There would be a virtual box in which to keep all your generated templates, just like your shoebox of paper templates on the baseboard. There would be a means to select one from the box and try it in position, and reject it if not suitable. There would be a means to pin it in position. There would be a means to link templates together in alignment with one another. And of course there would be a means to create the templates in the first place using the PHASE 1 functions, and to store them in the box ready for use.

So far so good, but I then had to write the program code to do all this. It soon became clear that the storage box was key to the whole process, containing a list of all the stored templates. It also became clear that the position and alignment on the baseboard had to be decided and included in the original PHASE 1 function, rather than trying to add it to a generated template after the event. So my original intent to do nothing to modify the original PHASE 1 code began to crumble. But I have mostly stuck to it, because 40 years later it is still very useful to be able to switch on Templot, make a few settings, and print off a usable construction template.

Several functions were created to allow the PHASE 1 generated templates to be stored in and retrieved from the PHASE 2 storage box, and to replicate the process of transferring them to and from the virtual "baseboard", when creating a track plan on there.

Jump forward 25 years, and this original scheme remains the same, underlying all the later changes and developments. The PHASE 1 output from the generator has been given the name the control template, to emphasize its unique nature and the fact that it is not itself part of the track plan. The work area on the screen, representing a physical baseboard, is now called the trackpad.  

But the original idea that you would first create a collection of templates, and only then use them to plan a layout (replicating physical track planning methods on the baseboard) has been largely forgotten, although you can of course work that way if you wish. It is better to create the templates one at a time as they are needed in developing the track plan. This is a more prototypical approach, making it easier to get a flow of smooth curves through pointwork.

Basic working methods

Templot is a tool, so the preferred way of working with it is a matter for individual users. Right from the start when the first public version was released, I made the assumption that users would be familiar with trackbuilding, and would know what they wanted to do. And that it would be useful if there was more than one way of doing things, to fit in with the user's preferred way of working.

In the early years of the public versions of Templot those assumptions were largely accepted, presumably because users were familiar with traditional pencil and paper track planning on the baseboard.

In recent years there has been a demand for a more prescriptive approach - "what do I do next?"

So here is a brief guide to a suggested way of working with Templot:

Let's start with the first template in my intended track plan. I have adjusted it to the size and position I require, and made other changes such as setting the curving radius and the required style of timbering:

If you don't know how to get this far, stop reading here, and please see the Templot Explained beginners guide.

What I'm looking at is the control template, in other words the current PHASE 1 output from the template generator. If I change any of the input settings to the generator it will change instantly. So I need to make a "snapshot" copy of its present state for use in my PHASE 2 track plan.

There are 2 ways I can do that.

1. The first way would be to click the button (or press the INSERT key). This function is called [ store & background ]. It will cause a copy of this template to be added to the storage box, and also mark it as a background template so that it gets drawn on the background layer of the trackpad. But I won't be able to see it, because the control template will still be on the foreground layer in front of it. To see it, I would need to temporarily hide the control template by pressing the HOME key. My next task would be to move the control template away, and make whatever changes to it are necessary to create my next background template in the track plan.

2. But mostly I will be using the second way. Which is to use the make functions on the [ tools ] menu.

Make is an important word in Templot.

Make means that Templot will do the [ store & background ] process for me, and then modify the control template settings to create the next template in the track plan. In this case I want to create an ordinary double-track crossover from this turnout, so I click the [ tools > make ordinary crossover ] menu item.

Note carefully that I use the first method, or the second method. But not both, otherwise I would end up with 2 identical templates in the storage box and on the trackpad background.

The result of clicking [ tools > make ordinary crossover ] is this:

My first template is now a background template, and the output from the template generator in the control template is now the matching turnout needed to make a crossover.

Looking in the storage box I can see that my track plan so far consists of just this one stored template:

Templot has given it a serial number of TL001 (Turnout, Left-hand) and it is shown in the box with the track centre-line and co-ordinates in red, to indicate that it is a background template and is currently being displayed on the trackpad. The button is also red to indicate that the stored template is a background template, it is not a red error or warning. Other colours are used for stored templates which are not background templates, see later.

Returning to the trackpad I extend some exit track on the control template (F4 mouse action), and I am then ready to use another make tool:

I want to insert a turnout in this exit track later, so I need to split it off from the turnout as a separate plain track template. Note again the word make: [ make split > make separate exit track ]. Templot repeats the make process and I now have 2 templates in the storage box and on the trackpad background:

Notice in all these screenshots that the PHASE 1 control template is never part of the PHASE 2 track plan, it is displayed always in front of it on the screen as the current output from the template generator. The control template can only become part of the track plan if I do a [ store & background ], or Templot does it for me as part of a make function.

I have decided that I am not yet ready to do any more work on this plain track template, I want to go back and do more with the first turnout template. So I click on it:

It is highlighted and its pop-up menu appears on the left of the screen. Every background template has a pop-up menu. It contains a great many functions and settings related to this background template. In this case I want the [ make the control ] menu item (or press M on the keyboard).

Notice again the word make there. Which means that Templot will again do a [ store & background ] for me on the current control template (the plain track template). But this time to create a new control template, it will remove (delete) this background template from the storage box and the background track plan, and will copy its settings back into the template generator:

I still have 2 background templates in the storage box. But the first turnout has been removed, and there is now instead the plain track template PR003 (Plain track Right hand). Note that I haven't lost the first turnout, because its settings are now back in the control template where they started. But it is no longer in the track plan as a background template, so I need to keep that in mind if I make any changes to its settings.

What I want to do is to split off its approach track, so again it is a make tool:

With the result:

The turnout part is safely back unchanged in the storage box and on the track plan, with the updated serial number TL004.

And I can now do some work on the plain track in the control template. I want to insert a turnout in it and create a siding. So that's another make tool, [ make branch track ], and I now have 4 background templates in my track plan:

But it is actually the turnout which I want to work on. This siding has actually been taken Out Of Use, and to that end the switch blade and closure rail have been removed from the turnout. Disregarding how likely that is in prototype terms, it will be instructive in some of the further functions in Templot. So clicking on the turnout, I do [ make the control ] again to store the siding template and swap the turnout back into the control template:

With the turnout back in the control template, I can now make some changes to it.

The control template is the only place I can make changes such as this, it can't be done directly on a background template.

As you can see I have used the [ do > omit rails and joint marks... ] function to remove the turnout-road crossing rail:

Unfortunately that has also removed the wing rail from the V-crossing. To get it back, I need to split this turnout into 2 partial templates, and store each one separately. The first one will be the section up to the wing-rail joints only.

So after remembering to move the peg back to the CTRL-0 position (click the peg position indicator), I have shortened this turnout (F4 mouse action) to the wing-rail front rail joint:

This is now a case where I need to do [ store & background ] myself, because there is no make function which will do this for me, I already have the turnout design in the control template. So I click the button, but very little seems to happen:

That's because the control template is still in front of the copy of it which is now on the background. You can confirm its presence from the name label just visible between the timbers, or by hiding the control template (HOME key), or simply by clicking on it. Clicking the control template does nothing, the click will go through to the background template and highlight it (if it exists).

Now the second partial template is needed, which will be remaining section of the turnout, with the wing rail restored.

First I need to undo the shortening of the control template, and the removal of the crossing rail, until it is back to how it was before I did those things. The easy way to do that is to click the blue left arrow a few times [ undo changes ], or SHIFT+CTRL+ROLL the mouse wheel back, until you find the control template which you are looking for. If you don't feel happy relying on the 80-slot rollback register, you could be ultra-cautious and park a copy of the control template in the [ do > parking bay ] before making those changes. Or you could use the the [ do > omit rails and joint marks... ] function again to restore the missing rail.

I used the mouse wheel (easiest and quick), and then the CTRL+F3 blanking length mouse action to blank off the control template up to the wing rail joint.

Here I have blanked it too far, so that you can see the effect of this mouse action. Notice a couple of other things - the fixing peg is back on CTRL-6 after undoing the changes which moved it. The blanking function is not affected by the peg position. And the background template has been given the serial number CR007 (Custom Right hand - custom because of the missing rail):

I zoomed in to make an accurate join, and now I'm going to do [ store & background ] on this too, while I have a coffee and a think, because I'm not yet ready to use the make tools again:


Back to work. I moved (F7 mouse action) the control template into fresh air, so that you can see the finished turnout with a rail removed, comprised of the 2 partial templates, each one stored separately. It is often useful to move the control template out of the way so that you can see what you are doing. Remember that it is not part of your track plan, so it doesn't matter where you put it. This is often the only use for the F7 move function once track planning is under way, unlike in other planning software.

I switched off the name labels (END key) because they can get annoying, and are easily switched back on if needed.

Now I've decided that I want the original turnout to have square-on timbering instead of equalized, so I have clicked on it to get its pop-up menu:

This time I don't want to use make to get it back into the control template, otherwise I will be creating an unwanted background template from the control template. Which if I hadn't moved it would be a duplicate of the one I stored before the coffee.

However, I'm not entirely sure about this change, so I have decided to do [ wipe to the control ] which not only skips that part of the make function, but also leaves the template in the storage box as an unused template while copying its settings back into the control template. As an unused template it is no longer a background template, no longer part of the track plan, and no longer showing on the trackpad screen. But it is still a stored template, and remains in the storage box (and in the data file if the templates are saved):

As an unused template it shows in blue in the storage box. From there it could be quickly copied back to the background, or into the control template, if wanted. So if I change my mind, I can easily get it back. Unlike a conventional undo function, that could be a week later, because it will still be in the template data file.

Obviously a simple change to the timbering style could be made in the control template at any time. But an unused template might contain several more complex settings such as a custom switch, timber shoving, or check rail adjustments, say. By storing a template containing them they can be easily retrieved and re-used at any time if wanted.

In other circumstances you may want to wipe a group of several templates (an entire goods yard for example) while you try a different design [ wipe group ]. Having decided that you preferred the original after all, you can easily copy the group of unused templates to the background again. For this purpose the prefix tags a very useful, making it easy to recreate the original group when needed.

After making the timbering changes I wanted, I'm ready to do [ store & background ] again:

And I now have the beginnings of my track plan, and several templates in my storage box:

I changed the marker colour of the siding template to indicate it is out of use. Notice that the marker colour is indicated in the storage box.

Currently the 6th template is highlighted in the box list, and therefore also shows highlighted on the trackpad while the storage box is showing. By running up and down the list using the arrow keys on the keyboard, you can quickly find the corresponding background template on your track plan.

The unused template is 4th in the list and shows numbered in blue.

I have now decided that I want the upper turnout to be replaced with a single slip into the goods yard.

There is a make tool to do this. But like all make tools it needs to start from the control template, and it will be storing a background template. Which means I first need to get this turnout back into the control template, and also remove the existing background template from the track plan to make a clear space for the new one.

So in this case, after clicking on the turnout, I do [ delete to the control ] on its menu.


Then I can do  [ tools > make slip ] to create the slip, and the result is:

The [ make slip ] function doesn't store the original turnout, so in case I might need it again, it throws it to one side. In fact I don't need it, what I want to do is insert a turnout in the upper track. So that's [ delete to the control ] again, in the process discarding the thrown aside turnout.

And after inserting a turnout in it, I can do [ make branch track ] and add another siding:


I now have 11 templates in my storage box, including 5 making up the slip, and 1 unused:


... to be continued



link to this page: http://templot.com/companion/basics.php