Contents of the EDITTRAK.DOC file
26 MAY 1991
EDIT TRACK (or ET) is a drafting aid designed to help you design
model railroad track plans on an IBM PC (or equivalent). It is
the result of my own frustrations with trying to accurately
design complicated trackwork. I simply could not accurately draft
the switches, so this program was born.
ET displays the track plans on the screen as you construct them.
ET also calculates and displays (or prints out) the track
coordinates which can then be used for layout construction. Track
plans and parts of track plans can be saved and retrieved from
disks. They can also be graphically printed on IBM compatible
graphics printers and HP Laserjets.
EDIT TRACK requires that you provide the actual dimensions of the
switches, diamonds etc. that are to be used in your layout.
Approximate dimensions for some code 70 and code 100 Shinohara HO
switches are provided for practice designing layouts. I've also
provided some dimension files for Marklin Z scale and LGB G scale
Designing trackwork with ET requires some attention to detail and
occasionally some calculations; a calculator can be helpful. You
might also find the "Layout Design Tips" section at the end
EDIT TRACK is COPYRIGHTED by Envirocomp. You cannot resell this
program for profit and the source code to EDIT TRACK is not
available. However you may use it as much as you like and freely
distribute it. Please, only distribute a copy of the complete
diskette with all subsidiary files and this documentation
included. New versions of ET can be obtained from me. Please send
$5 (U.S. or Canadian) to cover diskettes, mailers, handling and
postage. Please specify whether a 3 1/2" or 5 1/4" diskette is
If you have a problem, read this document again. If the problem
persists and you think it's a bug, please send me as much
information as possible, including a diskette with the
troublesome track plan. Any suggestions, comments or criticisms
are also welcome.
IMPORTANT: Please read this document thoroughly!
EDIT TRACK requires an IBM PC compatible computer with a CGA, EGA
or VGA graphics adapter and a color monitor. Since CGA is
marginal in terms of both the track and font displays, an EGA or
VGA is highly recommended. In general, the higher the video
resolution, the more powerful the computer required to drive the
display at reasonable speeds. If you use VGA resolution and the
display seems sluggish, try EGA instead (see the discussion of
the ET.OPT file below). Some graphics adapters (e.g. VGA) can run
with black and white monitors, however running EDIT TRACK under
these conditions can be difficult.
As intermediate calculations require trigonometric calculations,
an 80x87 math co-processor really speeds things up. If you have
and 8088 or 8086 CPU, a math coprocessor is almost essential;
however, it is not necessary on an 80386 CPU.
Some of ET's best features can only be accessed with a Microsoft-
compatible mouse although it is possible to construct track plans
without one. EDIT TRACK has been successfully tested with PCMOUSE
and LOGITECH mice. Be sure the mouse driver is loaded before
running ET. See your mouse manual about this.
This version of ET supports both IBM (originally EPSON)
compatible graphics printers and HP Laserjets. Most 9-pin dot
matrix printers have an IBM compatible graphics mode, and most
laser printers have an HP Laserjet compatible graphics mode.
Both summary and detailed layout data can be printed on any DOS
compatible text printer.
These printers can be attached to the LPT1, LPT2, COM1 or COM2
ports; a temporary disk file can also be used to store printer
output. If the COM1 or COM2 ports are used, be sure that the MODE
command has been run (usually in the autoexec.bat command file)
to properly set up communications between the port and the
printer. See your DOS manual for more information about the MODE
command. If you print to a disk file, this file can later be sent
to the printer with the following command (assume it is attached
to the LPT1 port) :
COPY FileName LPT1 /b
The /b is not necessary for text only print jobs.
FOR USERS OF EDIT TRACK VERSION 1
Version 2 is a substantially improved version with many new and
revised pieces of track. However, it can read version 1 track
plans with the following caveats:
- Minimum layout X and Y dimensions are changed from 0 to -100.
- Jumps are discarded.
- Angles in layout and tree files are now degrees not radians,
to make them consistent with config files. However, 360 degree
curves (full circles) in version 1 layout files may now be
converted to 0 degree curves when read in to version 2. You will
have to correct these in EDIT TRACK.
- The old absolute Join is converted to the new relative Join.
- If you've been fiddling with the track specification part of
your layout files or the old TRACK.CFG file, make sure that
characters specifying the track object are all in upper case. For
S 4 8.3300 15.4800 16.2840 0.2444
is ok, but not:
s 4 8.3300 15.4800 16.2840 0.2444
EDIT TRACK version 2 is case sensitive.
The Version 1 TRACK.CFG file has been split into two files in
Version 2: ET.OPT and TRACK.CFG. ET.OPT will be created
automatically for you. To create a Version 2 TRACK.CFG file, read
in a Version 1 layout file with the appropriate track dimensions,
dummy edit a frog switch then save TRACK.CFG when prompted.
Let's start laying track at a given point and in a specific
direction. I'll be working in metric units (centimetres or cm),
but think in inches if you wish. EDIT TRACK supports both. First
we have to decide where to start, how about (100cm 100cm)? This
(X Y) notation gives the flat plane, map, or Cartesian
coordinates: X is the horizontal distance and Y is the vertical
distance from the lower left hand corner (0 0), the origin, of
your layout. Now in what direction will we go? Let's add a
section of track horizontally to the right at an angle of 0
IMPORTANT: ET expects angles of direction to be measured in
degrees COUNTER-CLOCKWISE from the horizontal line (X axis)
that extends off to the right.
First add a 30cm section of straight track. Since we started at
(X Y) = (100cm 100cm), the end (or "node") of the straight line
is at (130cm 100cm) and has a direction of 0d, or (130cm 100cm
0d). Next add a curved section of track with a radius of 70cm and
an arc of 90 degrees curving clockwise to the right. The node at
its end will be (200cm 30cm 270d). Recall that angles are
measured in the COUNTER-clockwise direction, so that 90d
clockwise to the right is either -90d or +270d (360d - 90d) as
measured counter-clockwise. Simple, right? Actually, when you do
it on the graphics display, it really is simple.
A switch is then connected at the last node. Assume that it has a
number 4 frog, is a "left-hand" switch, and that the end
connected to that last node is the points end. You will have
already stored the actual dimensions of a #4 switch (including
the lengths of its different arms and the angle between them) in
the program. Alternatively you may opt to enter unique dimensions
for this particular switch alone. The data you provide is used to
calculate the positions of the next two nodes at ends of the two
switch arms. Afterwards, we have the choice of connecting a new
object either to the node at the end of the straight-through arm
of the switch or to the node at the end of the branch curving off
to the left.
I think you get the picture. First define the starting point and
direction, then start attaching objects, either pre-defined
objects like switches and diamonds, or objects defined "on the
fly" like straight and curved lines of arbitrary lengths and
curvatures. EDIT TRACK makes sure that the objects you add are
attached at the proper position and angle. At this point, it's
probably best to try EDIT TRACK.
The current drive\directory should be the drive\directory where
ET.EXE is found. For the examples below, make sure that the file
TRACK.CFG that came with the program is in the same
drive\directory. If you have an EGA or VGA adapter, copy the
appropriate file (EGA.OPT or VGA.OPT) to ET.OPT. For example:
COPY EGA.OPT ET.OPT
If you have a VGA adapter but would still like to operate in EGA
mode, copy the EGA.OPT file to ET.OPT. There should NOT be an
ET.OPT file in the current drive\directory unless you are sure it
specifies the correct video monitor. If ET.OPT is not present,
EDIT TRACK will assume you have a CGA adapter and create ET.OPT
at the end of your first session.
NOTE: ET can be optionally followed by the name of a layout file
(preceed the layout file's name with the disk drive and
subdirectory if necessary). ET automatically adds .LAY to
the layout file name if you give no extension.
To remove the ET Logo, click on the OK with your mouse, or press
the letter O or press ENTER.
IMPORTANT: If the ET Logo did not appear, the incorrect graphics
adapter may have been specified in ET.OPT. Reboot, copy the
correct file to ET.OPT and try again.
You will next have to wait a bit for ET to set up its internal
tables. When the "Please wait ..." message disappears, click on
UTIL or press U. Then click on Aspect or press A. Or, once the
drop down menu has been activated, the arrow keys can be used to
highlight the ASPECT menu item; you then use ENTER to select it.
Using the up and down arrow keys, ensure that the semi-circle is
round. There should be exactly 4 squares from the bottom to the
top of the semi-circle. Use the number keys to adjust the
resolution of movement: 1 = fine, 9 = coarse. Press ENTER when
finished. EDIT TRACK will store the aspect ratio in ET.OPT when
NOTE: An improper aspect ratio is suspect if your curves do not
appear round or do not line up with attached objects at
their ends. (There will always be a small error especially
with large radius, relatively horizontal curves but it
should not be pronounced).
If you have a printer, select UTIL again and then PRINTER. Enter
the printer type (either IBMGP or HPLASER for IBM graphics
printer or HP Laserjet, respectively). Enter the name of the port
your printer is attached to (it can be LPT1, LPT2, COM1, COM2,
COM3 or any filename).
TAB, SHIFT-TAB and UP/DOWN arrow keys can be used to move between
fields on the form. Within a field, BACKSPACE, DELETE and
LEFT/RIGHT arrow keys can be used for editing purposes. When the
entries are ready, click your mouse on OK, or press ENTER or ALT-
O. Alternatively, it you want to return to the previous menu
without changing anything, click on CANCEL or press ESC or ALT-C.
If you selected IBMGP for printer type, now enter 1.2 and 10 for
the printer aspect ratio and printer height respectively. If you
selected HPLASER, now enter 1.0, 10 and 75 for the printer aspect
ratio, printer height and printer resolution (Dots Per Inch)
respectively. More about these later.
EDIT TRACK will store all this information in ET.OPT when you
Now click on the FILE menu or press F. Note that your only
options at this point are to create a NEW layout, READ an old
layout file, read ABOUT ET or EXIT.
Click on NEW or press N. ET next presents a form asking for the
minimum and maximum (X Y) coordinates of your layout. The minimum
coordinates can be thought of as the bottom, left corner of your
layout or model railroad room, and the maximum (X Y) coordinates
as the upper, right corner. Make sure that the minimum and
maximum (X Y) coordinates will enclose your complete track plan,
as ET verifies that the end nodes of every track object fall
between them. The min and max are also used when you tell ET to
print out the whole track plan. They can be changed later, so for
now make (500 500) the maximum (X Y) and (0 0) the minimum.
As before, TAB, SHIFT-TAB and UP/DOWN arrow keys can be used to
move between fields on the form. Within a field, BACKSPACE,
DELETE and LEFT/RIGHT arrow keys can be used for editing
purposes. When all the entries are ready, click on OK, or press
ENTER or ALT-O. Alternatively, it you want to return to the
previous menu without doing anything, click on CANCEL or press
ESC or ALT-C.
ET next asks for the initial starting coordinates, the starting
angle and the tree's title. Enter the coordinates (100 100 0) and
whatever you wish for the tree's title. Wait a minute, what's a
Tree ...? I thought we were talking railroads! Well ..., a layout
can consist of up to 100 "trees", each starting at a particular
place and a particular angle, each having a different name and
each consisting of as many track pieces ("objects") as you like
all linked together at nodes. Trees can be written to disk and
read from disk, are graphically displayed or hidden. Also many of
the cut, copy and paste operations in EDIT TRACK operate on trees
or parts of trees (branches). As will be shown later, it's
usually a good idea to break up your layout into several
different, relatively small trees.
For example, you could break up your railroad into divisions, but
even these might be too big. Alternatively, there could be a
Mainline tree, a Huntsville Yard tree, a Waterford Branch tree,
etc. You could also, for example, have a separate tree for each
electrical block in your layout. For multi-level layouts,
different levels could also be different trees. However you do
it, having several smaller trees will make the display, printing,
editing and changing of different parts of your layout easier.
Note that the clarity of the tree titles is very important when
you have 20 trees and are trying to decide which one is which!
After you've entered all this stuff, click on OK, press ENTER or
ALT-O. Do you see the little cross mark down on the left hand
corner of your screen? Now take look at the status line that
appears under the upper menu bar. You should see:
100.0, 100.0, 0.0 | Start, main | Your title here!
This display tells you all about the current node, current object
and tree. The (X Y) coordinates of the current node are displayed
as well as its angle, just as you entered them. But why is the
current object called a "Start" object? Well ... (here we go
again), Start objects are a little weird. Think of them as place
holders; they don't take up any space on your layout and have no
dimensions; but all trees start with one, and you can attach
objects on either side of them. For example, let's attach an
object to the "main" side of this Start object. Click on ADD or
press A, then choose LINE. Enter 30 then click on OK, press ENTER
NOTE: If you have a mouse there is an alternative. Click on (ALT)
MOUSE in the form and then press and hold the mouse's left
button while you drag the line to the length you want. The
current line length is shown on the status line. Dragging
operations go ONLY Left-Right or Up-Down depending upon the
angle of the current node. The status line and long arm of
the cursor tell you which way to drag.
If the operation was successful, you should now see on the status
130.0, 100.0, 0.0 | Straight line, 30.0 end | Your title here!
As before, the status line tells you exactly where you are on the
layout (the current node) and describes the current object: a
straight line, 30cm long in this case. Just as "main" referred to
which side of the start object you were on, "end" tells you here
which end of the line the current node is attached to. To
illustrate this further, type CTRL-RETURN; that is, press the
CTRL key and the RETURN key simultaneously. You should see the
100.0, 100.0, 0.0 | Straight line, 30.0 origin | Your title here!
We are now at the other end of the straight line, the "origin"
end which is attached to the Start object. The "origin" end of
all objects is the end originally attached when you built the
tree. ET remembers this information and maintains a default sense
of direction from the Start object all the way out to the tips of
each tree. Now just type RETURN. You should see next:
100.0, 100.0, 180.0 | Start, branch | Your title here!
RETURN is used to move along your track plan from one object to
the next in the current direction. CTRL_RETURN is used to rotate
from one node to the next of the same object, thus changing the
current direction. We have just arrived at the other side (the
"branch" side) of the Start object. The (X Y) coordinates of the
current node are the same as the "main" side, but the angle is
180d in the other direction. If we wished, we could start adding
track off in this direction as well. But let's turn around and
return to "end-of-track" in the other direction. Type CTRL-RETURN
and then RETURN again. You should be at:
130.0, 100.0, 0.0 | Straight line, 30.0 end | Your title here!
NOTE: If you are thinking in inches, then instead of having a
display of 130 you might prefer 10'10". Go to the UTIL menu
and toggle "units=Feet" on. The primary unit is still
inches, but for certain displays, inches are converted to
the feet(') inches(") notation. Also, when you enter data in
a form, if the feet(') inches(") notation is not used,
inches are assumed.
Have you noticed how the color of an object and the size of a
node changes when they become current?
Try RETURN one more time. You should get a message telling you
that there's no place to go.
NOTE: Moving around your layout with a mouse is much easier. Just
move the tip of the arrow cursor to the node (not object) of
interest and click on it with the left button. The right
button causes the current object to move just like the ENTER
key does and the middle button (if you have one) rotates
around the nodes of an object like CTRL-ENTER does. Return
to the tip of your tree before continuing.
Select ADD and then CURVE. Answer the questions, giving it a 70cm
radius, 90d arc and clockwise curve to the right.
NOTE: If you have a mouse you can specify left or right
handedness as well as ONLY one of the radius length or arc
angle. The other must be blank. Then click on (ALT) MOUSE in
the form and then press and hold the mouse's left button
while you drag the curve to the size you want. If you left
the radius field blank, then the radius will change with the
mouse motion and the arc angle will remain constant, and
vica-versa. The status line keeps you informed of the
current size of the curve. As with Lines, dragging
operations go ONLY Left-Right or Up-Down depending upon the
angle of the current node. The status line and long arm of
the cursor tell you which way to drag.
You should now be at:
200.0, 30.0, 270.0 | Curve, 70.0 90.0 R (130.0,30.0) end | ...
We have already discussed the coordinates of the current node;
just remember that ET reports angles as measured counterclockwise
from the horizontal line extending off to the right. The curved
line's radius, arc and handedness (clockwise to the Right (R) in
this case) are reported with its name, as well as which end of
the object is attached to the current node (the "origin" or
"end"). Curved Line objects also have in parentheses the (X Y)
coordinates of the centre of the arc. You can use these
coordinates later to draw the curved line on plywood by hand when
coonstructing your layout.
Select ADD again but then select SWITCH then FROG. Enter a frog #
of 4, and tell ET that the switch diverges to the Left (left-
handed). You also must specify which end to attach to the current
node (for example enter A, the points end), and which end to
continue on with next (enter B, the continuation of the straight
track segment through the switch).
In general, for all types of Switches, the switch points end is
referred to as A, the main continuation end opposite the points
is B and the diverging track end is C. Wye switches use A for the
points end but L and R for the left and right hand diverging
branches. You can attach any end to the current node and continue
on at any end. When a switch is the current object, the line
below the menu bar identifies which end is attached to the
current node using A, B or C (A, L and R for wye switches). In
fact, you should now see the following:
200.0 6.2 270.0 | Switch, #4L (A origin) B branch | ...
NOTE: this assumes that the original TRACK.CFG file was found in
your current directory. As will be discussed below,
TRACK.CFG contains the default dimensions for various
switches and diamonds that ET uses for its calculations. The
dimensions provided in the original TRACK.CFG supplied with
EDIT TRACK are for some HO scale Shinohara switches as
measured in centimetres. If you are working in inches, it
will be necessary to provide your own dimensions in inches.
Use CTRL-RETURN or your mouse to rotate around the three nodes of
the Switch to see how the display changes. Note that you are
informed which end is the "origin" (parenthetically when that
node is not the current node).
In general, EDIT TRACK provides two types of objects that you can
add to a tree: those that the USER defines "on the fly", and
those that are predefined and referenced by their FROG numbers.
For example, LINEs, CURVEs, D-XOVERs (double cross-overs),
JOINSs, BOXes and OVALs are individually USER defined when they
are added to the track plan. However SWITCHs, KURVED SWITCHs,
DIAMONDs and SPLINEs can be either USER defined or else you can
specify a FROG number. SPLINE SWITCHs must always be predefined
and referenced with a frog number.
All predefined objects that you use via the FROG number can be
edited, created and saved for future use in other track plans by
selecting UTIL then EDIT FROG. Remember that the units (inches,
centimetres, millimetres, etc.) used when predefining SWITCHs,
etc. must be the same used in USER defined objects such as CURVEs
ADD can be used to INSERT an object at any node in a Tree, not
just at the empty nodes at the end. Just move to the node of
interest and select ADD.
Now make the Start object the current object and select EDIT
ALTER from the menu. You can change the starting coordinates and
angle of the whole tree. Try changing them to (200 200 90). If
part of the tree is offscreen use the arrow keys to shift it back
in. Note that the line and switch moves right along. Now move the
tree back to where you were and use the arrow keys again to see
NOTE: use EDIT SHIFT to alter ALL trees in the layout at once.
Now make the switch the current object. Select DELETE then OBJECT
(or just use the DEL key). The switch is removed and you should
be back at the end of the previous object:
200.0 30.0 270.0 | Curved line, 70.0 90.0 R (130.0 100.0) end |
DELETE OBJECT (or DEL) can also be used to remove the current
object at any point in the tree if it has only one branch coming
off it. DELETE OBJECT cannot remove a whole "branch" consisting
of several objects. If you want to delete the current object plus
all objects extending out to the tip of the tree (a "branch" of
the tree), select DELETE then BRANCH.
This is where a tree's sense of direction comes into play. As you
build a tree from the Start object outward, ET remembers each
step and knows which objects were added on after others. Thus
when you tell it to DELETE a BRANCH (perhaps Prune would have
been a better word?), ET knows how to go from the current object
to all objects out at the branch's "tips". It deletes all the
objects it finds along the way.
This sense of direction is also used for default navigation using
the RETURN key or right mouse button. If you start at the START
object of a tree, and just keep hitting RETURN, ET will move
outward, choosing at each Switch the node/branch that you
initially selected to add another object to. Conversely, if you
change directions and start to move back from the tip of a tree,
ET will automatically choose the Origin branch at each Switch and
eventually lead you back to the Start object and continue on to
its other side. Of course if you have a mouse, it is usually
easier to just click with the left button on the node you are
Sometimes ET's sense of direction is not exactly what you want.
How, for example would you delete all the objects from the
current object back to the Start (and beyond)? DELETE BRANCH
deletes all objects outward away from the Start object, not
inward back to it. Also you just cannot delete the old start
object as you need a Start object for every tree. The simplest
solution is to move the Start object to your current node using
EDIT MOVE, then move to the first object in the branch you want
to delete, then delete the branch.
When using DELETE BRANCH, you can optionally save the branch to
be deleted in a scratch buffer and later use EDIT PASTE to attach
it to an empty node somewhere else. DELETE can also be used to
delete a whole TREE, or even your whole LAYOUT. EDIT COPY can be
used directly to copy a branch into the scratch buffer, but
without deleting it.
Now try adding more trees by selecting ADD then TREE. You'll be
asked for the starting coordinates and angle. You may want to
start another tree right at the same spot occupied by current
node, and in the same direction. In this case, instead of
entering the current node's coordinates and angle, just type a *
for the X coordinate. You can now cut and paste the old branch to
the new START object. Remember, its a good idea to break your
layout up into several different trees, even if the actual track
will be continuous from one tree to the next. Mouse users just
enter the new tree's starting angle, click on (ALT) MOUSE, move
the mouse cursor to the new (X Y) coordinates and click the
mouse's left button.
Try adding several new trees with a few simple objects each. Use
EDIT ALTER to modify any existing object.
Now select VIEW then INCLUDE. There you can specify which trees
are in or out of the Current Tree List. This list determines
which trees are visible, printed, summarized, written and
accessible (through the GOTO NEXT command or mouse selection).
The trees currently included are marked by an asterix. If not all
trees appear on the list, use the mouse to click on the up and
down arrows or on the shaded portion of the elevator bar.
Alternatively use the UP/DOWN keys to highlight a selection. To
toggle the asterix on or off, use the mouse to click on the tree
so that it appears in the upper box, or use the UP/DOWN arrow
keys followed by ENTER. Then select OK by clicking with the mouse
or pressing the letter O (OK cannot be selected with the ENTER
key). The asterix next to the tree's name will appear if it was
not present before or vica-versa. Do the same for any tree you
want to change. When finished, select END by clicking with the
mouse or pressing the letter E.
Selecting GOTO then GOTO again permits you to add a tree to the
current tree list and make it the current tree simultaneously. To
do this, first select the tree to make current so that it shows
in the upper box, than select OK by clicking or pressing the
Now select FILE then EXIT or just EXIT from the main menu bar.
You will be asked if you really want to leave ET. At this point
you should decide whether you want to save your layout or just
forget it. Let's save it by writing it to a layout file.
Select CANCEL or press ESC or C. Now select FILE then WRITE. You
are first prompted for the path\filename which should be blank
initially as you have not entered a filename yet and ET is using
the current directory as the default path. At this point, edit
the default path to store your file on some other drive or in a
different directory and add a filename. The .lay extension will
be added automatically. Note that you can also just save the
trees in the Current Tree List in a file with the default .tre
NOTE: When ET saves a layout, is also saves all the current
Switch, Diamond, etc. FROG dimensions in the layout file.
When you next read in that layout file, these dimensions
will replace any dimensions previously loaded in from the
default TRACK.CFG file. You can have different versions of
the configuration file (by default, TRACK.CFG) available:
for example, one with code 70 HO Shinohara Switches and
Diamonds, another with PECO code 100 HO, another with Atlas
or your own etc. Unfortunately, any layout built with one
set of Switch and Diamond dimensions will probably not work
properly with a different set unless all the layout's Line
lengths and Curved Line dimensions are adjusted as well.
This is the rationale for storing the Switch and Diamond
dimensions with each layout file. These dimensions are NOT
stored with a TREE file however. You can thus write out
trees built with one configuration file, then read them into
a layout that is using different Switch and Diamond
dimensions. I'm not sure why anyone would want to do this
Now select FILE, READ, LAYOUT. Note that the current layout must
first be deleted. If you have not saved it yet, CANCEL then FILE
WRITE etc. Once that's done you can safely continue. Next you are
asked to edit the file search path before a list of possible
filenames is shown. A blank line means the current
drive/directory. If you wish, enter a different drive and
directory that has .lay files in it. The search routine looks
only for .lay files. Select the desired file so it is displayed
in the upper box and then press O or click on OK.
If you have a standard DOS text printer, select FILE then PRINT.
The whole layout or just the trees on the Current Tree List are
printed much as if you had started out at the START object of
each tree and traversed out to one branch tip, then back-tracked
to successive branches and printed them out, one by one. Note how
the objects in each tree are uniquely numbered successively on
the left margin starting with the Start object, and that a blank
line is printed when the program backs up to the next branch to
be printed out. When that's finished try UTIL then SUMMARY and
SCREEN or PRINT. Note that all USER objects (switchs, etc.) are
added into the total track length but not FROG objects. The track
length of USER SPLINEs is only roughly estimated. Only those
trees in the Current Tree List are included.
It's time to learn through exploration. Try the filled and
unfilled versions of BOX and OVAL objects. These can be coupled
together with JOINs to create a string of structures or major
landscape features in a single tree.
A JOIN's main purpose in life is to change the current
coordinates and angle of a tree in any way that you specify. For
example, to construct a tree that indicates where the windows are
in your layout room, use START to set the coordinates and angle
of the line used to indicate the first window, then add the Line
of appropriate length, then add a JOIN to set the coordinates and
angle of the line to be used for the second window, etc. On my
trackplan, I have a single tree that outlines a stairwell, a
circular stove-pipe and a wall that intrudes into the layout
space. Another such tree can be used to define the outer edge of
the layout itself, again using primarily JOINs, LINEs, CURVEs and
JOINs can be specified in three ways: relative to the origin of
the layout (0 0), relative to the (X Y) coordinates of the
current node, and the mouse method. Coordinates relative to the
origin are the default; you simply give the new (X Y) coordinates
and the angle of the new node. To specify coordinates relative to
the (X Y) position of the current node, preface a + or -before
your numbers. For example, if the current node is (100cm 100cm
50d) and you specified (-30cm +30cm -40d), the JOIN would connect
the current node to (70cm 130cm 10d).
NOTE: No matter whether coordinates relative to the origin or
current node are given, JOINs are stored internally in
ANGLE-relative coordinates (these are different! see SPLINEs
below). This means that when a tree with JOINs is rotated
about its START position, the positions of all its "joined"
objects remain in the same relative orientation with the
same distances between them. Also, if you delete an object,
any objects joined further out are moved in. Maybe you
should just try some and see how they behave.
Take a look at SPLINEs which can be both USER and FROG SPLINEs.
USER SPLINEs are entered with ANGLE-relative coordinates by
default but absolute coordinates are possible. FROG splines
require ANGLE-relative coordinates (as do Spline Switches) when
you enter their dimensions under UTIL then EDIT FROG. For example
if the current node is (200 200 45d) and the User spline's ANGLE-
relative coordinates are (+100 +100 +25d), the new node is NOT
(300 300 70d), rather it is (200 341.4 70d). In other words you
go straight out from the node at its 45 degree angle for 100
units (the ANGLE-relative X axis), then turn left 90 degrees and
go for another 100 units (left is in the positive Y direction in
ANGLE-relative units). Finally you add the 25 degrees to 45.
Perhaps some experimentation is in order to figure out just what
I'm trying to get across here.
Splines can be tricky. If you do not specify a reasonable angle,
the calculated curve will fly all over the screen. The best way
is to practice: start with a relative 90 degree angle and ANGLE-
relative (not absolute) coordinates of (+50 +50 +90d). Use EDIT
ALTER to try different relative angles. Go into UTIL and toggle
the Spline Lines switch on. This permits you to see the two
bounding lines that determine the spline.
FROG SPLINEs can be useful if you want predefined easements for a
few standard curves, although see the discussion under Layout
Design Tips later for an alternative. FROG splines require ANGLE-
relative coordinates when you enter their dimensions.
SPLINE SWITCHES are yet another type of switch; they must be
predefined with a frog number by selecting UTIL then EDIT_FROG
then SPLINE SWITCH. The left hand version is the one you define,
EDIT TRACK will compute the right hand version when you request
it. The switch consists simply of two splines with a common end
(the A or points end). The B end should be that end with the
least curvature to the left (the "outer" spline), and the C end
would be the end with the most curvature (the "inner" spline).
SPLINE SWITCHES require ANGLE-relative coordinates when you enter
their coordinates. These switches are useful general purpose
switches when none of the others can be made to fit.
Perhaps a recap of all the different switch types is in order.
Remember that FROG switches are pre-defined; you edit their
dimensions in the UTIL EDIT_FROG section, then when building your
layout just specify the frog number and orientation. Thus all
switches in your layout with the same frog number have the same
dimensions. Conversely, all information about USER switches is
provided as you build the layout and may be unique for each
SWITCH (FROG) - defined by the straight line from A to B and the
branch to C. Distances needed are: A to centre, B to centre and C
to centre; the frog angle is also needed. A special case of this
switch occurs when the A to centre and C to centre distances are
equal. Under these circumstances the switch can be equivalently
defined by the full A to B linear distance, as well as the radius
and arc of the curve from A to C (e.g. LGB switches use this
method). I call this the "Effective Radius Method" and you will
be asked if you prefer it whenever entering data for a new
frogged switch or whenever editting a frogged switch with A to
centre equalling C to centre.
NOTE: Switchs with different A to centre and C to centre
SWITCH (USER) - this switch is more useful for those who hand lay
their own track. It uses the "Effect Radius Method" and so is
defined by the full A to B linear distance and the radius and arc
of a curve from A to C.
NOTE: Currently User switches are less flexible than frogged
switches as the A to centre must always equal the C to
centre distance. If you need the additional flexibility,
drop me a note. I'll probably put it in the next version
anyway. However, rather than specifying the A to centre, B
to centre and C to centre distances, it seems to me that
specifying the A to B distance and then the ANGLE-relative
coordinates of the C node would be preferable (just as when
specifying a spline curve). Any preferences?
KURVED SWITCH (FROG) - defined by the radius and angle of an
outer curve (A to B) and an inner curve (A to C).
KURVED SWITCH (USER) - user and frog versions of this switch are
identical in their construction.
WYE SWITCH (FROG only) - defined by the A to centre and L (or R)
arm to centre distance, and the angle between the L and R
NOTE: When editing standard frog switches and wyes, use the
actual lengths of the B,C and L (R) branches, NOT the length
parallel to the A branch. Some catalogues (e.g. Lambert's)
give the parallel dimensions. Parallel B's and C's can be
converted by dividing them by cosine(angle). For wyes,
parallel L's (or R's) can be converted by dividing by
SPLINE SWITCH (FROG only) - defined by an outer spline from A to
the B arm and an inner spline from A to the C arm. ANGLE-Relative
X, Y offsets and the relative angle offset are specified for each
spline, assuming a left hand switch.
NOTE: If a User version of the Spline Switch would be useful to
you, drop me a note.
EDIT TRACK does not support 3-way switches, although this may
happen in a future version. For now create a regular switch and
then start a new tree right on top of it, curving off in the
direction of the third branch of your 3-way switch.
Now type X (eXit) to exit. Start up ET again by typing ET
followed by the name of the file you last saved. The .LAY
extension will be automatically added if you do not use a file
extension. Now try the arrow keys. By default the arrow keys move
the screen about 1/3 of a screen length in the direction you
choose. If, however, you now type 9, you will (with subsequent
arrow keys) move 9/9'ths or one full screen in the direction
chosen, or if you type 1, only 1/9th of a screen, etc.
Fool around and try some of the other commands out. For example,
select VIEW then ZOOM. Change the graphics (X Y) origin to (10
10) and the bottom (X) axis width of your window to 50. By
default the bottom window width is set to the maximum X
coordinate specified for the layout (1000 in this example).
Usually this is too big. Make it smaller to ZOOM in and examine
parts of your layout in detail. The mouse can easily be used to
ZOOM in, and you can then UNDO ZOOM and get back to where you
were before. When you specify the bottom (X) width of the window,
ET automatically selects the (Y) vertical height so that curves
are true and circles circular (not ellipses, etc.).
NOTE: if you zoom in too far your curves will replaced by a
series of linked lines that will not join up well with their
end nodes. I hope to have this problem fixed in the next
version of EDIT TRACK.
If you have an IBM compatible graphics printer or an HP Laserjet
or compatible then select FILE then HARDCOPY. The SCREEN option
just prints out the current screen. If you choose LAYOUT, ET
starts with bottom left hand corner of your layout and prints it
out in pieces up to the layout maximum coordinates. The width of
each piece is the same as what you see on the screen blown up to
a standard printer page width (about 7 inches). You defined the
height of each piece (e.g. 10 inches) in the UTIL PRINTER setup
form. All graphics print jobs are first written to internal
memory buffers, so HP Laserjet users will almost certainly run
out of memory if they set their resolution to 300 dpi and printer
height to anything over a couple of inches. 100 dpi should be
good enough for most jobs. If you run out of memory, reduce the
dpi and/or height.
THE CONFIGURATION FILE
By default, ET reads in TRACK.CFG (and ET.OPT) every time it
starts up. You do not have to tell it to do this, but you can
force ET to read in a different track configuration file by
giving a second file name on the command line. For example:
ET MyLayout MyConfig
will tell ET to read in MYCONFIG.CFG as the configuration file
and MYLAYOUT.LAY as the layout file. Alternatively, if you
include the .CFG extension in the configuration file name, the
configuration file can be first, second or all alone on the
These configuration files are simple ASCII files that you can
easily edit to suit your own preferences. Do NOT use a word
processor like WordStar or WordPerfect unless NON-document or
Text-Out mode is used. Preferably, however, the track dimensions
should be edited and saved within ET by using the Edit function
described above. An example TRACK.CFG file follows:
S 4 8.3300 15.4800 16.2840 0.2444
S 6 8.3300 19.2900 19.3150 0.1658
S 8 13.3350 23.4200 23.0950 0.1248
S 16 6.3300 12.4900 12.7200 0.1658
K 6 60.9600 50.8000 0.5709 0.6672
K 8 91.4400 81.2800 0.4820 0.5372
D 1 7.8800 1.5708
D 2 10.4000 1.0472
D 3 12.0000 0.7854
W 4 9.6840 14.0080 0.2138
Configuration files consist of ET 2.0 on the first line and as
many subsequent lines as necessary to list all the FROG objects
and their dimensions (one per line). Each starts with S, W, K, D,
p and F (for Switch, Wye, Kurved switch, Diamond, Spline switch
and frogged Spline respectively), followed by a frog number
between 0 and 99 (e.g. 4, 6 or 8).
S types then have four more numbers: length of the A, B, C
branches and the frog angle in degrees.
W types have three more numbers: the length of the A, L (or R)
branches and the full angle between the two branches in
K types then have four numbers: radius of inner and outer curves,
followed by their respective arcs in degrees.
D types have two more numbers: the full length of each cross-arm
(not the half length) and the smaller of the angles the two
arms in degrees.
p types have six more numbers: the relative angle and X, Y
offsets for the outer then inner spline respectively (X, Y
must be specified in ANGLE-relative coordinates).
F types have three numbers: the relative angle and X, Y offsets
(in ANGLE-relative coordinates).
Be sure to use the same units in your TRACK.CFG file as you plan
to use throughout your layout plan for straight LINEs and
CURVE's. The TRACK.CFG file listed above and the one provided as
the default on the diskette has the dimensions in CENTIMETRES of
Shinohara code 70 Switches and Diamonds. However the Kurved
switches are Shinohara Code 100 and Switch #16 is a code 70
Shinohara #6 cut down to what I think is the minimum practical
dimensions on all three arms. This is useful for tight corners
etc. These dimensions are my best estimates but are by no means
Anybody who has gone to a lot of trouble to measure and check the
dimensions of other brands of pre-fab track should consider
passing them around as another .CFG file on the distribution
diskette. I would appreciate a copy as well.
On the diskette are two extra configuration files that have been
sent to me by users. One is called MARKLINZ.cfg and is for
Marklin Mini-Club sectional track in units of millimetre. Marklin
provides a curved switch that cannot be exactly represented by
two arcs of constant radius (one is actually a spline curve), so
I converted it to a spline switch. Hopefully my conversion is
accurate. There is one regular switch, one diamond and one spline
switch in this file, all are referenced as frog #1.
The other configuration file is called LGB.cfg. The dimensions
are right out of the LGB catalogue. There are two switches and
two diamonds one each corresponding to LGB's standard radius #1
(60 cm) and standard radius #3 (117.5 cm). The corresponding frog
#s are 1 and 3 as well. Switch #1 corresponds to LGB's #1200,
1205, 1210 and 1215 switches. Switch #3 corresponds to LGB's
#1605 and 1615. Diamond #3 is actually LGB's double x-over #1226.
Diamond #1 is LGB's #1300, but both arms are set to the length of
the shortest (30 cm) arm of this asymetric diamond. You will have
to add a 2.05 cm line to both sides of the other arm to match
Layout files are simple text files that look like a combination
of the TRACK.CFG file and a printout. Tree files do not have the
dimensional information at the top. Take a look if you are
THE OPTION FILE
ET.OPT is a simple ascii text file that EDIT TRACK writes out at
the end of each session. It can also be edited with an ascii
file editor. If one exists when you start ET, the options it
provides are used as defaults. The file CGA.OPT that is provided
for CGA displays is listed below:
NONE 0 0.00000
ET 2.0 is always the first line. The second line lists the
display adapter (CGA, EGA or VGA) followed by the aspect ratio.
The third line is for graphics printing. It can be as shown, or
have IBMGP followed by the printer aspect ratio (1.2) and the
height (inches) of the printed graphics; or have HPLASER followed
by the printer aspect ratio (1.0), the height (inches) of the
printed graphics and the resolution in dots per inch. The fourth
line lists the output port for your standard DOS printer (LPT1,
LPT2, COM1, COM2, COM3 or perhaps a path\file name). The next
line lists the default file path. A blank line here means the
current directory. The last line lists the Units=Feet and Spline
Lines toggles (0=off, 1=on) respectively.
LAYOUT DESIGN TIPS
1. Study John Armstrong's superb books, especially "Track
planning for realistic operation" - Kalmbach Books.
2. EASEMENTS: typically the small change in radii due to spiral
curve easements at the beginning and end of a normal curve are
too small to justify plotting out (though EDIT TRACK does provide
both user and frog splines for this purpose if you want). It is
important however to incorporate the "lead in" section at each
end of the curve (L/2 in John Armstrong's Fig. 8.8) in your
trackplan. L is the length of the transition section from the
straight tangent to the full curve radius. The bigger the L, the
more gradual the easement. For my layout, I chose L = 25 cm; this
is only 1/4 the radius of my wide 100 cm curves but 1/3 the
radius of my minimum 75 cm curves (which is good, as you want a
greater percentage on your sharpest curves). This is the range
recommended by Paul Mallery in his book "Design Handbook of Model
Railroads" - Carstens Publ. However, John Armstrong recommends
L's (his Fig. 8.8) that are twice as large, ranging from just
over 1/2 to 2/3's of the curve's radius. He argues that it is
preferable to have sharper curves with more gradual easements
than vica-versa. You may want to test some alternatives before
choosing. At any rate, once you've decided on an L for a
particular curve, add straight sections of track of length L/2 at
the beginning and end of the curve in the track plan. Then, when
you actually lay the track, gradually "ease in" the curve
starting at the L/2 straight section and continuing a distance
L/2 into the curve. See John Armstrong's Figure 8.8 for details.
3. REVERSE or S CURVES: usually it's a good idea to have a full
car length of straight track between the back-to-back reverse
curves. However when the curves are "eased", you can get away
with less, the exact amount depending upon your chosen L for
easements. In any case, your track plan will end up having 3
straight sections between the two curves: two L/2 sections with
your chosen reverse curve length in between (or one straight
section with the same length as all three).
4. PARALLEL SIDINGS and PASSING TRACKS: It is a good idea to
predesign a "standard" parallel siding entrance. Create a "Dummy"
tree with a 0d angle just for trying things out like this. First,
decide on the required distance between parallel tracks. I use 5-
6 cm. Now, starting with the branch (C) arm of a switch, add a
straight section followed by a curve with same arc but opposite
curvature as the switch (e.g. 9.5d right for a # 6 left switch).
To be consistent, the radius of the curved piece should be no
smaller than the closure rail radius of the switch (e.g. 43" or
109 cm for a #6; see Fig. 5.4 in Armstrong's book), and the
length of the straight piece in between should be that which
makes the parallel branch the required distance from the main
track. Trial and error is required here. On the layout, the
straight section can be "eased" into the curved section, as can a
section of the parallel siding beyond the curved piece (of course
this shortens the siding a bit). Note that parallel sidings and
passing track entrances are reverse curve situations, just like
cross-overs. They require careful handling.
5. LADDERS: similarly, it is useful to figure out on a "Dummy"
tree the necessary straight section lengths to put together yard
ladders of various types using various switches. Once you have
all the pieces figured out, you can plug them into more
complicated situations. In other words, it is easier to lay out a
yard on a dummy tree with an angle of 0d, rather than on the real
track plan where the yard angle might be 33d, or whatever.
Remember to watch for reverse curve situations.
6. PARALLEL CURVES: The outer parallel curve should have a radius
equal to the inner curve radius plus the between track distance
(BTD). If the angle at the start of the parallel curve is 0d,
then the curves start at the same X value, but the outer curve's
starting Y value is displaced by BTD. If the angle is 90d, then
the curves start at the same Y value but with X displaced by BTD
for the outer curve. In general, the start of the outer curve is
displaced in the X and Y dimensions from the inner curves
starting coordinates by BTD x SIN(angle) and BTD x COS(angle)
respectively. Or else just use trial and error!
7. WHEN TO STOP: It's not necessary to have everything match up
exactly in your track plan. Undoubtedly many small adjustments
will have to be made anyway when the track plan is actually
transformed into a layout. Anyway, translating a track plan into
a layout accurate to one millimeter (or 1/10 of an inch or
whatever) is a near impossibility.