# XTrackCAD User's Manual

Version 5.3.0GA

Copyright 2003, Sillub Technology and Copyright 2007, Bob Blackwell and Martin Fischer and Copyright 2020, Martin Fischer, Adam Richards and Dave Bullis

- Chapter 1: Introduction To XTrackCAD

- 1.1 Why Choose XTrackCAD
- 1.2 Key XTrackCAD Features
- 1.3 Additional XTrackCAD Features
- 1.4 About This Manual
- 1.5 Installation
- 1.6 Start the Program
- 1.7 Quick Tour
- 1.8 Performance Issues
- 1.9 Files and Directories
- 1.10 Removing XTrackCAD
- 1.11 Bugs and Enhancements

- Chapter 2: Command Menus

- 2.1 Add Menu
- 2.2 Change Menu
- 2.3 Draw Menu
- 2.4 Edit Menu
- 2.5 File Menu
- 2.6 Help Menu
- 2.7 Hot Bar
- 2.8 Macro Menu
- 2.9 Manage Menu
- 2.10 Options Menu
- 2.11 Status Bar
- 2.12 View Menu
- 2.13 Window Menu

- Chapter 3: Navigation

- 3.1 Main Window Overview
- 3.2 General Operation
- 3.3 Keyboard Shortcuts
- 3.4 Mouse Actions

- Appendix A: Frequently Asked Questions

- A.1 Moving from Design to Roadbed
- A.2 Hot Bar Items Missing!
- A.3 Unable to Add Cars to Inventory!
- A.4 How Do I Place and Join Tracks

- Appendix B: Glossary

- B.1 Window Terms
- B.2 XTrackCAD Terms
- B.3 Control Element Scripts and the Model RR System's Dispatcher

- Appendix C: Messages and Explanations

- C.1 Message Types
- C.2 Message Explanations

- Appendix D: Upgrade From Earlier XTrackCAD Version

- D.1 Version 5.x
- D.2 Version 2.x
- D.3 Version 4.0.3
- D.4 Version 4.0.x

- Appendix E: Warranty, License and Copying

- E.1 Warranty
- E.2 Copying and Distribution
- E.3 GNU General Public License License
- E.4 Contributions

- Index

Introduction To XTrackCAD

# Chapter 1: Introduction To XTrackCAD

XTrackCAD is a CAD (computer-aided design) program for designing Model Railroad layouts. XTrackCAD supports any scale, has libraries of popular brands of turnouts and sectional track (plus you add your own easily), can automatically use spiral transition curves when joining track and has extensive on-line help and demonstrations. XTrackCAD lets you manipulate track much like you would with actual flex-track to modify, extend and join tracks and turnouts. Additional features include tunnels, 'post-it' notes, on-screen ruler, parts list, 99 drawing layers, undo/redo commands, bench-work, 'Print to Bitmap', elevations, train simulation and car inventory.

Using it, you can

- Design layouts in any scale and gauge,

- Use predefined libraries for many popular brands of turnouts to help you get started easily,

- Add your own favorite components,

- Manipulate track much like you would with actual flex-track to modify, extend and join tracks and turnouts,

- Automatically generated Cornu transition curves (easements) whenever the track radius changes.

- Test your design by running trains, including picking them up and moving them with the mouse.

- Trace tracks and other objects over a background image of a real-world location map, a scanned trackplan, or other image.

- Print the design in a scale of your choice. When printed in 1:1 scale the printout can be used as a template for laying the track to build your dream layout.

New users should run the demonstrations (via the Help>Demos menu) to get an overview of the many features of the program. A number of example layout designs are also available.

Be sure to visit the project web page for latest news and updates: XTrackCAD Fork Website

- 1.1 Why Choose XTrackCAD
- 1.2 Key XTrackCAD Features
- 1.3 Additional XTrackCAD Features
- 1.4 About This Manual
- 1.5 Installation

- 1.5.1 Microsoft Windows Installation
- 1.5.2 OSX Installation Mac Installation
- 1.5.3 Linux Installation

- 1.6 Start the Program
- 1.7 Quick Tour
- 1.8 Performance Issues
- 1.9 Files and Directories

- 1.9.1 Directories Overview
- 1.9.2 Install Directory
- 1.9.3 Working Directory

- 1.10 Removing XTrackCAD
- 1.11 Bugs and Enhancements

- 1.11.1 Reporting Bugs
- 1.11.2 Enhancement Requests
- 1.11.3 User Support

Why Choose XTrackCAD

# 1.1 Why Choose XTrackCAD

Why Choose XTrackCAD

Easy to use

XTrackCAD was designed to operate in a similar way to pencil and paper: You can draw tracks by dragging the mouse, you select and place turnout "templates" anywhere on existing tracks, and you can use fixed radii for initial design.

But extra capabilities have been added that give more power by using Flex-tracks (Cornu) you have tracks that automatically redraw as you drag turnouts around, creating smooth curves, you can zoom in and out, and of course, undo and deleting tracks are easier!

You don't have to be an expert CAD user to make the most of XTrackCAD but the program will ensure that dimensions, radii and angles are accurate.

You don't have to specify line lengths or angles and just draw. But if you want to be more precise, you can enter precise dimensions both in real-world and scale sizes.

XTrackCAD is a specialized CAD for railway modelling, it deals with tracks as tracks, not as line segments. Tracks are connected correctly to each other and with endpoints of turnouts and other components.

As you zoom in, the two rails are drawn and then ties are added.

Free

Thanks to the generosity of Dave Bullis, who wrote the progam, and the active help of open-source volunteers, XTrackCAD is free to own and use. You can even take up the cudgels and help!

Available Help

On-line demonstrations show the actual operation of many of the program's features. Extensive help is available for all commands and operations. There are communities of users and developers who can answer quaestions.

Packed with features

XTrackCAD is designed from the ground up to be a complete tool for many aspects of Model Railroad layout design.

Active UI Prompting
  As the mouse moves over the layout objects, a set of different anchors are shown to indicate what is possible in each command with each modifier key if clicked or double clicked at that location.

Train Simulation and Car Inventory
  Any number of Cars and Locomotives can be placed on your layout to check clearances, siding capacities and track layout. Trains can be animated to simulate operations and switching on your layout.

  The Car Inventory dialog records your cars and locomotives and these can be exported and imported from spreadsheets.

Track Manipulation
  Track segments can be lengthened or shortened by simple click and drag. Tangents to a curve are created by dragging away from the curve. Tracks are extended by dragging from an Endpoint, creating new straight or curved segments. New tracks can be snapped into place or precisely placed and then Joined.

  Track circles are especially handy for determining overall designs and seeing what will fit in a given area.

  The Cornu flex-track features create dynamically variable tracks that optimise the curvature of tracks to ensure a protypical appearance. They alter as the other tracks are moved just as flex-track will in the 12 inches to the foot world!

  The Parallel command easily creates new straight or curved tracks, laying out yards and sidings in a few easy steps. Accurate platforms can be created with the Parallel Lines command followed by the Join Lines command.

  The Join command links any two tracks (Straights, Curves, Turnouts or Turntables) with accurate aligned connecting track segments which can be easements including Cornu easements. The connected tracks are trimmed or extended as required.

  The Helix Track command computes the number of turns, radius, grade and vertical separation based on your criteria.

  Turntables can be constructed with any radius and can either have fixed or dynamic bay tracks

Turnout Select and Placement
  The Turnout Hot Bar contains a scrolling list of Turnouts, Sectional Tracks and Structures available in the current Scale. Simply click on one and click again drop it onto the layout.

  As Turnouts are dragged over existing tracks they are automatically aligned. XTrackCAD searches for any other tracks that align with each of the Turnout's Endpoints, and shows you the number of connections that will be made and the maximum offset as you position the Turnout. Just adjust the Turnout's position to minimize the offset to ensure the best fit.

  When a turnout is placed, each Endpoint is examined to see if it aligned to an existing track. If so, the track is split to create a perfect connection to the turnout. Placing Turnouts is a 'snap'.

Layers
  Layers are an important feature for manageing the design for layouts of any complexity. Use one layer for the main-line and others for staging tracks, Bench-work or scenery. Multilevel designs can have groups of layers for each level.

  XTrackCAD allows up to 99 layers layers can have their own button to control visibility. Each layer can have a name which is displayed as the balloon help for the layer button.

  Modular Layout assembly is supported with Modular Layers which ensure thier contents are moved as a set.

  Tracks and other objects can be colored according to which layer they are in. Also, each layer can be frozen to prevent accidental changes to parts of the layout that are finalized.

Elevations and Profile
  Elevations are one of the most powerful features of XTrackCAD they are dynamically recalulated as the layout changes.

  Traditional layout designs (such as published in magazines) show elevations at selected spots on the layout. They may also show grades between elevations. These can be input into XtrkCAD.

  XTrackCAD lets you define the elevation of any Endpoint on the layout. You can also have XTrackCAD automatically compute the elevation and grade between defined elevation points. You can define the elevation at the bottom and top of a sloped track, then have XTrackCAD compute the elevation at each riser position between.

  Once you have defined a few elevations, you can display the Elevation Profile for the layout along a path of connected track segments. The Profile display shows the length of the track, the elevation of each defined elevation point and the grades between them. You can even adjust the elevations directly on the Profile display.

Easements (Cornu Transition Curves)
  Easements are special sections of gradually curving track used to connect straight and curved tracks (or two curved tracks). Easements reduce the effects of sudden changes in track curves which can cause derailments. They also look great!

  XTrackCAD can use Easements anytime the radius of the track changes. The Modify and Join commands will automatically insert Easement Track segments whenever needed. Each Easement is computed based on the radius of the neighboring tracks. You don't even have to think about it!

Flexible and Powerful Printing
  Printing is an important part of a layout design program, and XTrackCAD has a flexible Print command to get your design onto the layout.

  Printing is used for many purposes:
  - A snapshot of the whole layout.
  - Detailed closeups to examine areas of complicated track work.
  - Full 1:1 for direct transfer to the layout.

  The Print command lets you scale the printout from a one page overall view (with the handy Snap-Shot button) right up to full size 1:1.

  Multiple page printouts are easy to do. A gird representing each page is drawn over the layout and you can click on the pages you want to print. The gird can be moved and rotated to any position so the orientation of the printout matches your layout. Pages can be printed in Portrait or Landscape format.

  At 1:1, registration marks can be printed every 3" (or 10cm) to help align different sets of printouts. Also, the roadbed outline can be drawn at a user-specified width to assist cutting the roadbed from sheet material.

Turnout and Structure Creation
  XTrackCAD comes with Turnout, Sectional Track and Structure Parameter Files for many brands of tracks and accessories. However, your brand may not supplied. The Turnout Designer dialogs and the Group command make it easy to add your own custom definitions.

  The Turnout Editor has separate screens for designing Turnouts (Regular, Curved, Wye and 3-way), Crossings, Slip-switch, Crossovers and Sectional Track. In each dialog a few measurements are required to create a new definition. Full size printouts can be made directly from the dialog to check your design.

  The Group command can create Structure definitions from selected tracks, lines and shapes. You can make structures as simple as a rectangle or highly detailed. You can also modify existing designs to add details or make adjustments.

Lines, Shapes, Table Edges, Text and Notes
  Layout designs are more than track!

  The XTrackCAD Draw command is used to draw lines (straight, curved and circles) and shapes (filled boxes, circles, polylines and polygons). These can be different colors and lines can have different widths. The Polylines and Polygons can have curved sides. These are useful for drawing scenic features (rivers, bridges, mountains).

  You can add Bench-work and dimension lines too.

  Special types of lines are drawn by the Table Edge command are used to represent the boundary at the edge of the layout.

  Text can be added to the layout.

  Notes can be attached to particular spots on the layout. When selected they can display special information about that part of the layout, such as prototype features, construction details or operation notes. This includes URL links to files on the Internet.

Parts and Price Lists
  The Parts List command generates a list of the number of the different types of Turnouts, Sectional Track and Structures selected on the layout. You can select everything or just the areas you are working on. As well, the total length of flex-track (for each track scale/gauge used on the layout) is listed.

  You can enter the price of each type of Turnout, Sectional Track and Structure, plus the length and price of flex-track. XTrackCAD will compute the price of each types and the grand total. The total number of flex-track sections is also listed.

Support for Sectional Track
  Numerous Sectional Track Parameter Files are included with XTrackCAD (Atlas, Marklin, Peco, ...). The Hot Bar allows easy selection.

  The automatic alignment feature of Turnout and Sectional Track placements makes track pieces just 'snap' together.

  The Connect Track command adjusts Sectional Track to smooth out the slight gaps that can arise when working with Sectional Track.

Refer to Section 1.2 and Section 1.3 for a listing of XTrackCAD features.

Key XTrackCAD Features

# 1.2 Key XTrackCAD Features

- Annotate with text and notes

- Automatic easement calculation

- Create Custom Designed Turnouts and Structures

- Create parallel straight and curved tracks

- Delete objects

- Describe objects

- Draw lines, arcs, polylines and polygons and filled polygons or circular shapes (for showing river edges etc.)

- Draw table edges, Bench-work and dimension lines

- Elevations, grades and profiles

- Extend (or shrink) a segment by dragging its Endpoint

- Extend a segment with a curve (or straight)

- Generate parts list for all or selected areas of the layout

- Hand-laid Turnouts

- Helix track

- Hot Bar for Turnout and Structure selection

- Join any two tracks

- Move and rotate any group of objects

- Ninety-nine drawing Layers

- On-line demonstrations, extensive help, tips and error message explanations

- On-screen ruler for measurements

- Panning and zooming via a map window and also in Pan/Zoom Mode

- Price lists can be entered to allow the layout to be priced

- Printing in any scale (up to 1:1) at any position and angle

- Straight and curved flex-track segments

- Supports any scale

- Track circles and tangent tracks

- Train Simulation

- Tunnels (hidden tracks)

- Turnouts, crossings (and sectional track such as Atlas Snap-track)

- Turntables (user defined diameter)

- Undo the last ten commands

- Zoom in and zoom out of the drawing area

Additional XTrackCAD Features

# 1.3 Additional XTrackCAD Features

XTrackCAD has many other carefully selected features:

- Sections of track can be hidden, which can be drawn as dashed lines, or completely hidden. A Tunnel Portal is drawn when a hidden track connects with normal track.

- Sections of track can be tagged as bridge tracks which draws a bridge parapet on each side.

- Drawing Turntable stall tracks is easy, just drag from the Turntable with the Modify command. The minimum angle between tracks can be set to ensure accurate, evenly spaced tracks.

- Connections to non-visible layers are marked to an arrow head to show you the track continues on another layer.

- The Group command can be used to decorate custom designed Turnouts and Sectional Track with details to indicate switch machines, ground throws and power connections.

- Custom designed Turnouts can be modified, renamed or deleted with the Custom Management dialog.

- Flex-track connected to Turnouts is labeled with the total length to aid cutting flex-track to length.

- An on-screen ruler can be user to measure arbitrary distances.

- At 1:1 drawing (and printing) scale the track center line is drawn to make it easy to position roadbed and track.

- The balloon help for the Undo and Redo buttons shows the command that would be Undone or Redone.

- The Snap Grid can positioned at any origin and any angle. It can also be printed to help when transferring coordinates to the layout.

- The Map window is used to position the Main window on the layout. It can also be used to change the drawing scale.

- You can rescale and flip objects, trim turnouts and create block gaps.

About This Manual

# 1.4 About This Manual

Typographic Conventions

Throughout this manual the following typographic conventions are used to make finding information easier:

  Bold - Shows menu, file or dialog item titles.

  `Mono-spaced` - Shows commands or text entries by user. On entry fields the spelling given has to be followed exactly.

  Italic - Marks a new expression, usually followed by a short description

  `Capital Key` - Usually used in a sequence of key strokes or in combination with Shift, Alt or Ctrl key.

  `Key+Key` - Combination of keys, e.g., `Ctrl+S`

  `Key, Key, Key` - Sequence of key strokes, e.g., `Alt, F, S`

  Selection>Selection - Sequence of selections from menu, e.g., File>Save

Installation

# 1.5 Installation

XTrackCAD is designed to operate under Linux, Apple MacOS or Microsoft Windows. Information within this section of the manual pertains to installation of the application in either of these environments.

- 1.5.1 Microsoft Windows Installation
- 1.5.2 OSX Installation Mac Installation
- 1.5.3 Linux Installation

Microsoft Windows Installation

# 1.5.1 Microsoft Windows Installation

XTrackCAD is shipped as a self-installing self-expanding program (executable).

1. Using Windows Explorer, locate the directory in which you downloaded or copied your new version of XTrackCAD.

2. Start the installation program by double clicking on the xtrkcad-setup-5.3.0GA.exe file icon.

3. Follow the steps in the installation program.

4. The installation lets you define the directory in which XTrackCAD is installed. The directory is created automatically if it doesn't already exist.

5. A program folder named `XTrkCad` will be created during the installation process. The folder contains the program, documentation, parameter and example files.

OSX Installation Mac Installation

# 1.5.2 OSX Installation Mac Installation

XTrackCAD for OSX is shipped as a package containing an application.

1. Start the installation by opening the package and dragging the contained application into the Applications folder using the shortcut in the package. The application includes the program, documentation, parameter and example files within it.

2. To run on Apple MacOS, the XQuartz package must first have been installed - see http://www.xquartz.org. XQuartz will need to be upgraded after each OS version upgrade.

3. OSX Run Security When the application is first run, it will need to be authorized by OSX. There will be a OSX prompt that asks if it should be opened. And then it will still fail to run. After opening it for the first time, go to System Preferences>Security & Privacy and you will see that the app is named as having been blocked. Hit the Run Anyway button and the program should start. This sequence may be necessary after each OS upgrade.
4. On Mac OS Catalina, the program will need to be started by right-clicking it and selecting Open.

Linux Installation

# 1.5.3 Linux Installation

XTrackCAD for LINUX is shipped as a self-extracting archive (executable).

1. Installing from the self-extracting archive.
     After downloading open a command line then
     `./xtrkcad-setup-5.3.0GA.i386.sh --prefix=/usr/local --exclude-subdir`
     This will install the executable in /usr/local/bin. A directory named `xtrkcad` will be created in /usr/local/share and all files will be unpacked into it.

If you install XTrackCAD into another directory, set the `XTRKCADLIB` environment variable to point to that directory.

Start the Program

# 1.6 Start the Program

The XTrackCAD executable is named xtrkcad.exe on Windows and xtrkcad on Linux and OSX.

It is usually started by clicking on its icon, or right-click and Open in OSX Catalina, but there are command line options as well.

Command Line

On Windows:

    xtrkcad [/c config] [/v] [/l logfile] [/d logcontrol] layoutfile

On Mac OSX:

    cd /Applications
    ./open xtrkcad --args [-c config] [-v] [-l logfile] [-d logcontrol] layoutfile

On Linux:

    xtrkcad [-c config] [-v] [-l logfile] [-d logcontrol] layoutfile

Command line parameters

`c config`
  configuration to use. This allows you to have several distinct configurations (eg. parameter files, display options).

`layoutfile`
  filename for the layout to load. This parameter takes precedence over the option to resume with the last layout (Section 2.10.7).

Debugging Parameters

The following parameters are for debugging purposes and are mainly of interest to the developers.

`v`
  verbose mode.

`d logcontrol`
  specifies the amount of logging. The argument logcontrol has the format `logmodule[=level]`. logmodule defines the functionality that should be logged, the optional level specifies the loglevel. Zero means no logging. Defaults are no modules are logged and loglevel is 1 if omitted from logonctrol parameter.

`l logfile`
  set logfile, only needed in conjunction with the debug option.

`T`
  Runs all Regression tests (Demos) and exits with 0 if all are successful or with 1 if there any failures. Regression progress and failures are logged to stdout (Linux and Mac OSX) or xtclog.txt (Windows).

`V`
  Display the xtrkcad version and exit(0).

Quick Tour

# 1.7 Quick Tour

When XTrackCAD starts, it displays the Main (Section 3.1) and Map (Section 3.2.2) windows. The Map window is used to change the origin of the Main window when the entire layout cannot be displayed at one time.

The Menu Bar across the top of the Main window contains standard Windows menus. Some of these are particularly useful to the new user:

- The File>Exit menu exits XTrackCAD. You can also exit by selecting the System menu in the upper left corner of the Window.

- The File>Open menu opens existing layout files and archives. When first installed, the default directory contains some example programs you can look at.

- The Help menu can be used to read the XTrackCAD Help file. Also, the Help>Demos menu selects a number of demonstrations which illustrate various features of XTrackCAD.

- The Options>Layout menu specifies the working scale and overall room size.

- The Options>Preferences menu specifies some less frequently changed items. You can use this menu to choose Metric units (Section 2.10.7).

The Tool Bar contains icons for each of the commands in the Menus. The icons shown can be customized using the View->ToolBar submenu.

- The main drawing Mode command is Select - which is shown with the red arrow icon. From this mode, selected objects can be Modified as well. A close second is the Describe mode which allows properties of Objects to be seen and Changed.

- A different mode is Train which allows trains to be simulated on the Layout.

Under the Tool Bar is the Hot Bar. This contains defined track and drawing objects taken from parameter files. To use a template you select it and then click on the Drawing Area.

The main part of the window is the Drawing Area, this is where the Layout is shown in 2D. The view can be zoomed or panned. The Pan-Zoom command whise symbol is the crossed arrows allows easiest control, but in Select command you can pan with the arrow keys and zoom with the trackpad or mousewheel or Ctrl+"+" or "-" can affect the zoom level.

At the bottom on the screen are two more areas. The Status Bar contains messages about commands as they are being used, and the Info Bar shows the zoom level and the position of the cursor.

Performance Issues

# 1.8 Performance Issues

This section lists some things that can improve the performance of XTrackCAD.

- On the View dialog (Section 3.3.11) turn off Show Snap Grid or Change Grid... to have fewer grid points.

- To speed up initialization, remove unused parameter files (See Parameter Files dialog - Section 2.5.7).

- Close the Map window if you don't need it to move about the layout. The Window (Section 2.13) menu can be used reopen the Map window.

- On the Display dialog (Section 2.10.3) turn off drawing Endpoints, decrease the Two Rail Scale, increase Min Grid Spacing, set Draw Ties to None and turn off Live Map.

Files and Directories

# 1.9 Files and Directories

Information within this section of the manual identifies installation directory names, file names and directory and file locations.

- 1.9.1 Directories Overview
- 1.9.2 Install Directory
- 1.9.3 Working Directory

Directories Overview

# 1.9.1 Directories Overview

XTrackCAD uses two directories on your system:

- The XTrackCAD Install directory, which contains the data and parameter files used by XTrackCAD.

- The XTrackCAD Working directory, which contains configuration and Check Point files.

On MS Windows, the Install directory is set when you install XTrackCAD. All data files (parameters, demos, examples) can be found in the `share/xtrkcad` subdirectory underneath the Install directory. The Working directory is in your personal profile.

On Linux, the Install directory is usually `/usr/local/lib/xtrkcad/`, but you can change this by defining the `XTRKCADLIB` environment variable before starting XTrackCAD. The working directory is `{HOME}/.xtrkcad/`.

On Mac OSX, the Install directory is the application package, usually located in the `/Applications` directory. All the included parameters, demos and examples can be found inside the package under the `/Applications/xtrkcad/Contents/Resources/xtrkcad` directory. The Working directory is created as `.xtrkcad` - a hidden directory - under the active user's directory in `/Users`

Layout files (`*.xtc`) and export (Section 2.5.1) files (`*.xti`) can be saved anywhere you wish, as specified in the Save File and Open File dialogs.

In MacOS Catalina, the program has no access to certain directories - the Documents and Download directories in particular.

Example layouts can be found in the `example` directory under the XTrackCAD install directory.

Install Directory

# 1.9.2 Install Directory

- `xtrkcad.xtq` is the main parameter file which contains definitions for each scale. It also includes turnout definitions for the demos and lists the playback (.xtr) files for the demos.

- `params` directory contains `*.xtp` files which are the XTrackCAD Library parameter files. These files (`atlasn.xtp, pecon55.xtp, ...`) contain definitions for turnouts, sectional track pieces and structures. These files to be used are selected in the Parameter Files ( Section 2.5.7 ) dialog.

- `xtrkcad.chm` (on MS-Windows) is the XTrackCAD help file.

- `xtrkcad.exe` (MS-Windows) or `xtrkcad` (Linux or Mac OSX) is the XTrackCAD program.

- `xtrkcad.tip` contains the Tip of the Day information accessible from the Help menu or shown during startup.

- `xtrkcad0.ini` specifies the location of the XTrackCAD working directory (MS-Windows only).

- `demos` directory contains `*.xtr` which are the XTrackCAD demonstration files which can be run via the Help>Demos menu item.

- `examples` directory contain some example `.xtc` files

Working Directory

# 1.9.3 Working Directory

- `xtrkcad.ckp` are the check-point files created periodically while running XTrackCAD. If your system XTrackCAD hangs or crashes you get the choice of loading the checkpoint file and so recover (most of) your work by saving it to your current layout file.

  The check-point frequency is set by the Check Point field found in the Preferences dialog (Options>Preferences).

- The `xtrkcad.cus` file contains parameter information. This is mostly information created by the Turnout Designer dialogs (Section 2.9.9) and Group (Section 2.9.4) command. You can use the Edit>Custom Management dialog to manipulate these parameters.

- The `xtrkcad.ini` (on MS-Windows) or the `xtrkcad.rc` (on Linux or Mac OSX) file contains various parameter settings from each use of XTrackCAD. Most changes you make (such as scale, room size, window position) are saved in this file for the next time you use XTrackCAD.

Removing XTrackCAD

# 1.10 Removing XTrackCAD

Remove XTrackCAD by deleting the XTrackCAD Install directory, or application (on Mac OSX), deleting any `xtrkcad.*` files from the Working directory, and deleting any *.xtc and *.xti files.

On MS-Windows only, you can also use the Uninstall icon in the XTrackCAD program group.

Bugs and Enhancements

# 1.11 Bugs and Enhancements

This section of the manual describes how and where to report a bug or seek an enhancement.

- 1.11.1 Reporting Bugs
- 1.11.2 Enhancement Requests
- 1.11.3 User Support

Reporting Bugs

# 1.11.1 Reporting Bugs

If you encounter an unreported bug please submit detail regarding such to the Bug Tracker located at the XTrackCAD Fork Project Site.

Be sure to provide the three basic elements of a bug report: What you were doing at the time the bug occurred, what you expected to happen and what actually happened. This detail will help developers replicate the error, find and correct the offending code.

A Sample Bug Report Follows;

  After completing installation of XTrackCAD on a Dell PC with 1024 MB of memory running Windows 7, the following error occurred when attempting to edit a Text Label;

  `Notice: allocateButt: Can't find 13. Do you want to save the layout?`

  Selecting either "Yes" or "No" results in a Windows error and XTrackCAD closes.

  The error can be replicated by opening the file named cascade.xtc. Set the magnification at 4:1. Attempting to move the text label named "Granville Island" located at the approximate grid coordinates of x=8", y=4' 5". Selecting the label causes the error to occur.

  The error is repeatable with other files contain text labels.

Always search the bug database first. Advice so good, we'll repeat it twice. Always search the bug database first. The odds are good that if you've found a problem, someone else found it too. If you spend a few minutes of your time making sure that you're not filing a duplicate bug, that's a few more minutes someone can spend helping to fix that bug rather than sorting out duplicate bug reports.

If you don't understand an error message, ask for help. Don't report an error message you don't understand as a bug. There are a lot of places you can ask for help in understanding what is going on before you can claim that an error message you do not understand is a bug. (Once you've understood the error message and have a good suggestion for a way to make the error message clearer, you might consider reporting it as a XTrackCAD Feature Request).

Please be brief, but don't leave any important details out. This is a fine line to walk. But there are some general guidelines:

Remember the three basics: what you were doing, what you expected to happen, and what happened.

If you can recreate the problem the Macro>Record command can be used to record what happened. Try to isolate the problem by creating a minimal layout and recording as few commands as possible.

Don't report bugs about old versions. Every time a new version of XTrackCAD is released, many enhancements are added and known bugs are fixed. If you're using a version of XTrackCAD that's more than two revisions older than the latest version, you should upgrade to the latest version to make sure the bug you are experiencing still exists. (It's not a bad idea to upgrade even if your version is only a version behind the most current one.)

Only report one problem in each bug report. If you encounter two or more bugs that don't appear to be related create a separate bug report for each one. This makes the task of managing work assignments easier and may result in a quicker fix for the problem.

Enhancement Requests

# 1.11.2 Enhancement Requests

Suggestions for improvements are encouraged and welcome. Submit your suggestion to the XTrackCAD Feature Tracker located at the XTrackCAD Fork Project Site.

User Support

# 1.11.3 User Support

The developers maintain a forum XtrackCAD User Forum a Wiki at XTrackCAD Wiki

Command Menus

# Chapter 2: Command Menus

- 2.1 Add Menu

- 2.1.1 Circle Track
- 2.1.2 Curved Track
- 2.1.3 Hand-laid Turnouts
- 2.1.4 Helix Track
- 2.1.5 Parallel Track or Line
- 2.1.6 Straight Track
- 2.1.7 Structure
- 2.1.8 Fixed-track
- 2.1.9 Turntables
- 2.1.10 Block
- 2.1.11 Switchmotor
- 2.1.12 Signal
- 2.1.13 Control
- 2.1.14 Sensor

- 2.2 Change Menu

- 2.2.1 Change Scale
- 2.2.2 Clear Elevations
- 2.2.3 Connect Tracks
- 2.2.4 Convert Tracks
- 2.2.5 Elevation
- 2.2.6 Flip
- 2.2.7 Join Tracks and Lines
- 2.2.8 Modify
- 2.2.9 Move
- 2.2.10 Move Description
- 2.2.11 Pan/Zoom
- 2.2.12 Profile
- 2.2.13 Properties
- 2.2.14 Raise or Lower Elevation
- 2.2.15 Rotate
- 2.2.16 Select
- 2.2.17 Split Commands

- 2.3 Draw Menu

- 2.3.1 Circles and Filled Circles
- 2.3.2 Curved Lines
- 2.3.3 Note Variants
- 2.3.4 Ruler
- 2.3.5 Protractor
- 2.3.6 Draw Shapes
- 2.3.7 Straight Objects
- 2.3.8 Draw Objects Origin
- 2.3.9 Text

- 2.4 Edit Menu

- 2.4.1 Select By Index
- 2.4.2 "Move To Front" and "Move to Back"
- 2.4.3 Additional Shortcut Keys
- 2.4.4 Delete
- 2.4.5 Tunnel (Hide Tracks)
- 2.4.6 Ties (Draw or Hide Ties)
- 2.4.7 Bridge (Draw or Hide Abutments)
- 2.4.8 Roadbed (Draw or Hide Base)
- 2.4.9 Undo and Redo

- 2.5 File Menu

- 2.5.1 Export
- 2.5.2 Export to Bitmap
- 2.5.3 Export to DXF
- 2.5.4 Export to SVG
- 2.5.5 Import
- 2.5.6 Import as Module
- 2.5.7 Parameter Files
- 2.5.8 Choose Parameter Files
- 2.5.9 Printing
- 2.5.10 Printer Setup
- 2.5.11 Printer Margin

- 2.6 Help Menu

- 2.6.1 Demo Mode

- 2.7 Hot Bar

- 2.7.1 Flex-track
- 2.7.2 Structures
- 2.7.3 Turnouts

- 2.8 Macro Menu
- 2.9 Manage Menu

- 2.9.1 Car Inventory
- 2.9.2 Custom Management
- 2.9.3 Layout Control Elements Dialog
- 2.9.4 Group Dialog
- 2.9.5 Layers Dialog
- 2.9.6 Parts List
- 2.9.7 Price List
- 2.9.8 Train Mode
- 2.9.9 Turnout Designer
- 2.9.10 Update Turnouts and Structures
- 2.9.11 Ungroup

- 2.10 Options Menu

- 2.10.1 Colors Dialog
- 2.10.2 Command Option Dialog
- 2.10.3 Display Dialog
- 2.10.4 Easements
- 2.10.5 Font Selection
- 2.10.6 Layout Dialog
- 2.10.7 Preferences Dialog
- 2.10.8 Sticky Dialog

- 2.11 Status Bar
- 2.12 View Menu

- 2.12.1 Magnetic Snap
- 2.12.2 Grid Dialog
- 2.12.3
- 2.12.4 Zoom

- 2.13 Window Menu

Add Menu

# 2.1 Add Menu

The Add Menu has all the actions related to adding track pieces to the layout.

  Straight Track `Ctrl+G` - lay straight track pieces of arbitrary lengths

  Curve Track - lay curved track pieces using different modes for selecting start and endpoints and radius (Section 2.1.2).

  Circle Track - place a circle of track by selecting radius, tangent and or center (Section 2.1.1).

  Parallel - create parallel track or line to existing flex-track, straight or curved track. (Section 2.1.5)

  Fixed-track `Ctrl+T` - select a piece of Fixed-track and place on layout.

  Hand-laid Turnout `Ctrl+Shift+I` - lay a turnout in place on the layout. (Section 2.1.3)

  Structure `Ctrl+Shift+C` - Add a predefined structure to the layout.

  Helix `Ctrl+Shift+H` - Add a helix. (Section 2.1.4)

  Custom Turntable `Ctrl+Shift+N` - Place a turntable. (Section 2.1.9)

  Control Element - Create a control element.

  Block - Create a block. (Section 2.1.10)

  Switchmotor - Create a switchmotor. (Section 2.1.11)

  Signal - Create a signal. (Section 2.1.12)

  Control - Create a control. (Section 2.1.13)

  Sensor - Create a sensor. (Section 2.1.14)

- 2.1.1 Circle Track

- 2.1.1.1 Circle Fixed Radius
- 2.1.1.2 Circle Fixed Tangent
- 2.1.1.3 Circle From Center

- 2.1.2 Curved Track

- 2.1.2.1 Curved Track from End Point
- 2.1.2.2 Curved track from Tangent
- 2.1.2.3 Curved Track From Center
- 2.1.2.4 Curved Track from Chord
- 2.1.2.5 Curved Bezier Track
- 2.1.2.6 Create Cornu Track

- 2.1.3 Hand-laid Turnouts
- 2.1.4 Helix Track
- 2.1.5 Parallel Track or Line

- 2.1.5.1 Parallel Track
- 2.1.5.2 Parallel Lines

- 2.1.6 Straight Track
- 2.1.7 Structure
- 2.1.8 Fixed-track
- 2.1.9 Turntables
- 2.1.10 Block
- 2.1.11 Switchmotor
- 2.1.12 Signal
- 2.1.13 Control
- 2.1.14 Sensor

Circle Track

# 2.1.1 Circle Track

A circle track is a special form of a curved track that extends 360° and has no endpoints. The drop down menu, which allows selection of the Circle Track creation method, is invoked from the down arrow button located on the right side the Circle track button.

  Circle Track Button Menu

The three methods (with their Icons and Shortcut keys) used to create a Circle Track are:

  (Section 2.1.1.1) `Control+8` - Use the Fixed Radius specified on the Circle Radius control displayed on the Status Bar (Section 3.1). `Left-Drag` the Circle track into position.

  (Section 2.1.1.2) `Control+9` - `Left-Drag` from tangent point (Edge) of the Circle track to the Center.

  (Section 2.1.1.3) `Control+0` - `Left-Drag` from the Center of the Circle track to the edge.

If Snap Grid (Section 2.12.2) is enabled then circle centers will be constrained to the grid.

Circle tracks are useful for fitting curves into corners and other tight places. They're also handy when establishing an initial layout and finding out "what will fit".

You can join to and from circles, after which they become curved tracks.

- 2.1.1.1 Circle Fixed Radius
- 2.1.1.2 Circle Fixed Tangent
- 2.1.1.3 Circle From Center

Circle Fixed Radius

# 2.1.1.1 Circle Fixed Radius

(`Ctrl+8`) Use the Fixed Radius specified on the Circle Radius control displayed on the Status Bar (Section 3.1). `Left-Drag` the Circle track into position.

Circle Fixed Tangent

# 2.1.1.2 Circle Fixed Tangent

(`Ctrl+9`) `Left-Drag` from tangent point (Edge) of the Circle track to the Center.

Circle From Center

# 2.1.1.3 Circle From Center

(`Ctrl+0`) `Left-Drag` from the Center of the Circle track to the edge.

Curved Track

# 2.1.2 Curved Track

Creating a curve is a two step operation. You will select a point and then `Left-Drag` to specify the control point depending on the drawing method.

A drop-down menu, which allows selection of the Curved Track creation method, is invoked from the down arrow button located on the right side the Curved track button.

  Curved Track Button Menu

The six methods (with their Shortcut keys) used to create a Curved Track are:

  Section 2.1.2.1 `Control+4` - Drag out the end and then set its radius by dragging the endpoint.

  Section 2.1.2.2 `Control+5` - Drag from the an endpoint to the center and then drag the second enpoint around that center.

  Section 2.1.2.3 `Control+6` - Drag from the Center of the Curved track to one of the endpoints. Position the second endpoint around the center.

  Section 2.1.2.4 `Control+7` - Drag from one endpoint to the other endpoint to form the Chord of the Curve. Drag the arc out to form the Curve.

  Section 2.1.2.5 - Construct a Bezier Track by placing its four control points.

  Section 2.1.2.6 - Construct a Cornu Track curve by selecting the end points and dragging to set the curve values.

For the first four curve mthods, two Red arrow heads will be drawn after the first step to indicate where you can `Left-Drag` to complete the second step.

A straight track will be created if the second endpoint is lined up with the first endpoint except for Bezier and Cornu tracks.

The radius of the curve is designed to be in 1/8" increments unless the desired radius field is set non-zero and the radius drawn is close to that value, in which case the radius will snap to that value.

If the Snap Grid (Section 2.12.2) is enabled then the endpoints will be constrained to the grid if they are not snapped to another object. `Shift` ensures that other objects will be ignored.

Optionally, the curve center point and radius can be displayed for the Curve. This is enabled by the Move Label (Section 2.2.10) command.

For Beziers and Cornus, the active control point will be drawn in red and the available endpoints are shown with circles.

Note: You can also create Straight and Curved tracks using section 2.2.8 by `Left-Drag`ging out extra track from an open end-point.

- 2.1.2.1 Curved Track from End Point
- 2.1.2.2 Curved track from Tangent
- 2.1.2.3 Curved Track From Center
- 2.1.2.4 Curved Track from Chord
- 2.1.2.5 Curved Bezier Track
- 2.1.2.6 Create Cornu Track

Curved Track from End Point

# 2.1.2.1 Curved Track from End Point

(`Ctrl+4`) Drag from one endpoint in the direction of the Curve at that point and release. `Left-Drag` the red arrows to position the second endpoint.

While the first endpoint is being placed, and MagneticSnap (Section 2.12.1) is enabled, unless Alt is held, if the cursor is on a track, the new curve end will "Snap" to the nearest open track endpoint and you will drag out the second end in aligned to that track, once you are dragging the second end it will be restricted to an arc that has the same end angle as the first endpoint. After a track is competed, the new track will be connected to this first track. This will also happen with MagneticSnap set off - if Alt is held.

If Magnetic Snap does not find a end, if SnapGrid is enabled, the ends will snap to the nearest grid point unless Alt is held.

Curved track from Tangent

# 2.1.2.2 Curved track from Tangent

(`Ctrl+5`) Drag from one of the endpoints (which will behave like the first point in "CurvedTrack From End" to the Center of the Curved track and release. `Left-Drag` on the arrows to position the second endpoint.

While the endpoints are being placed, if MagneticSnap (Section 2.12.1) is enabled, unless `Alt` is held down, they will "Snap" to an open track endpoint of the tracks underneath the cursor and you can only drag out the control point aligned to the end of those tracks. After the new track is completed, it will be connected to these existing track. If MagneticSnap is disabled, the snap will only happen if Alt is held. If Magnetic Snap does not find a end, if SnapGrid is enabled, the end will snap to the nearest grid point unless Alt is held.

Curved Track From Center

# 2.1.2.3 Curved Track From Center

(`Ctrl+6`) Drag from the Center of the Curved track to one of the endpoints and release. `Left-Drag` to position the second endpoint.

While the endpoints are being placed, if MagneticSnap (Section 2.12.1) is enabled, unless `Alt` is held down, they will "Snap" to an open track endpoint of the tracks underneath the cursor and you can only drag out the control point aligned to the end of those tracks. After the new track is completed, it will be connected to these existing track. If MagneticSnap is disabled, the snap will only happen if Alt is held. If Magnetic Snap does not find a end, if SnapGrid is enabled, the end will snap to the nearest grid point unless Alt is held.

Curved Track from Chord

# 2.1.2.4 Curved Track from Chord

(`Ctrl+7`) Drag from one endpoint to the other endpoint to form the Chord of the Curve and release. `Left-Click` on the center of the track and Drag to form the Curve. The first end point acts like "CurvedTrack From End". If an exitsing track end is selected, the Chord will only move along line orthogonal to the track.

While the endpoints are being placed, if MagneticSnap (Section 2.12.1) is enabled, unless `Alt` is held down, they will "Snap" to an open track endpoint of the tracks underneath the cursor and you can only drag out the control point aligned to the end of those tracks. After the new track is completed, it will be connected to these existing track. If MagneticSnap is disabled, the snap will only happen if Alt is held. If Magnetic Snap does not find a end, if SnapGrid is enabled, the end will snap to the nearest grid point unless Alt is held.

Curved Bezier Track

# 2.1.2.5 Curved Bezier Track

`Left-Click` to place one endpoint and `Left-Drag` out the first control point and release, `Left-Click` to place the second Endpoint and `Left-Drag` out the second control point and release. Once all 4 points are placed, you can pick one at a time and drag it to move it. Complete the Curve by pressing `Enter|, or Reject it with c{Esc`.

While the endpoints are being placed, if MagneticSnap (Section 2.12.1) is enabled, unless `Alt` is held down, they will "Snap" to an open track endpoint of the tracks underneath the cursor and you can only drag out the control point aligned to the end of those tracks. After the new track is completed, it will be connected to these existing track. If MagneticSnap is disabled, the snap will only happen if Alt is held. If Magnetic Snap does not find a end, if SnapGrid is enabled, the end will snap to the nearest grid point unless Alt is held.

Create Cornu Track

# 2.1.2.6 Create Cornu Track

  `Left-Click` to place each endpoint on an open track end or just on the layout. During the move to the click, if MagneticSnap (Section 2.12.1) is enabled, an anchor will show when the cursor is near an open end point. This can be inhibited with Alt. If MagneticSnap is disabled this will only happen if Alt is held. If Magnetic Snap does not find a end, if SnapGrid is enabled, the end will snap to the nearest grid point unless Alt is held.

`Left-Drag` if the endpoint not on an existing track drags out the end angle of the new track. This is shown by the Cornu endanchor.

The anchor is only drawn for Cornu ends that are not joined to existing tracks and it shows the position, direction and radius of the track, and has anchors for altering these properties. When the Cornu is joined to a track, it uses the properties of the end of that track instead. Anchor point handles are drawn outside the end of the Cornu track to allow track-pins to be edited on the track itself. `Left-Click` to place the second Endpoint either on a track endpoint or not. `Left-Drag` sets the second end angle like the first for unconnected end-points.

Complete the Curve by pressing `Enter`, or Reject it with `Esc`.

The radius and angle of the selected open Cornu end can also be set with text entry boxes in the Status Bar.

When either endpoint is being moved it will "Snap" to an open track endpoint of the tracks underneath the cursor unless `Shift` is held. You can then only move the endpoint along that track if it is splitable, or in an extension of it. After the new track is completed, it will be connected to these existing tracks.

Cornu Track Pins are further explained in Section 2.2.7.4 - they constrain the Cornu curve to smoothly pass through thier position as well as satisfying the end conditions. You can place them by clicking on the Cornu and select, Drag to move them around or hit Delete to remove them.

If the end is not connected, an anchor will enable the end-angle and radius to be set by dragging. Initially the end radius is set to be zero and the angle will be picked to create a smooth curve given the end angle. Altering the end angle with the anchor resets the radius to zero.

Hand-laid Turnouts

# 2.1.3 Hand-laid Turnouts

Hand-laid turnouts are created by specifying 3 values:

- Position of Frog
- Angle of Frog (the frog number)
- Position of Points

First select the position for the Frog (Section B.2) on an existing track and then Drag away to specify the angle of the Frog. The angle in degrees and equivalent frog number is displayed on the status bar. When you release, the line indicating the angle jumps to one side of the track to show you the center line of the new leg of the turnout.

Next `Left-Click` and `Left-Drag` to position the Points (Section B.2) for the turnout. As you `Left-Drag`, tracks will be drawn showing the turnout. When you release the turnout is created.

You cannot place the Frog or Points on a turnout, circle or helix. However, you can create overlapping Hand-laid Turnouts.

There are constraints on where you can place the Points in relation to the Frog. You cannot place the Points too close the Frog. When placing Hand-laid Turnout on a curved track you may get unexpected results, especially when placing the Points a long way from the Frog. Try changing the Frog angle to get different results.

Note: the drawing is an approximation to show the location of the Points and Frog. The piece of track considered (by XTrackCAD) to be a Hand-laid Turnout is a short section of track located at the Points and extending toward the Frogs. Other track segments are created between the Points and Frog and a short straight segment is drawn after the Frog. These other segments are independent of the turnout and can be removed or modified, although this is probably not a good idea.

Helix Track

# 2.1.4 Helix Track

A helix track is used to change the elevation of track in a restricted space. A helix is drawn as a circle of track, but in 3 dimensions it would resemble a cork screw or the pattern of threads on a bolt.

A helix is defined by the number of Turns and Radius.

The helix dialog allows you to calculate these values based other parameters such as the Elevation Difference, Grade, Vertical Angular Separation. Angular Separation is the difference in degrees between tracks entering and exiting the helix. Changing any of these values effects the other values. For example, increasing the Radius decreases the Grade. Changing the number of Turns affects the Vertical Separation and either the Radius or Grade.

In the case where different parameters could be affected (for instance changing Elevation Difference can affect Radius or Grade) the last parameter you changed will be preserved. If you set the Grade and then Elevation Difference then the Radius will be adjusted.

Changing Vertical Separation affects Turns which must be an integer value (no fractions), and this in turn affects the Vertical Separation. When you set Vertical Separation you are specifying the minimum separation which is adjusted upwards to the actual value.

The separation is rail-head to rail-head and you need to ensure this is enough to provide clearance when track, sleepers, ballast, baseboard/benchwork is included.

Note: only the Radius and Turns are used when creating the helix. After joining the helix to other tracks, you will want to establish the heights of the endpoints at each end of the helix. You can use the Elevation (Section 2.2.5) command to do this.

A helix is placed the same way as a Circle Track (Section 2.1.1) with the addition that you specify the number of turns as well the as the radius of the helix. Then the helix is dragged into position on the layout.

You can join to a helix in the same way you join to a circle. However, once joined the helix is still drawn as a circle of track.

A label for the helix is drawn at it's the center. If the elevations are set (either by a Defined Elevation point or connecting to a Defined Elevation point) for the two ends of the helix then the label contains the computed grade and vertical separation between layers as well as the number of turns and total length. The label can be moved or turned off by the Move Label (Section 2.2.10) command.

Parallel Track or Line

# 2.1.5 Parallel Track or Line

You can pick between two Parallel Commands:

  Section 2.1.5.1. You can create a new track parallel to any straight, curved, bezier, cornu or easement track.

  Section 2.1.5.2. You can create a line parallel to any straight, curved, bezier, cornu or easement track or straight lines, curved lines and PolyLines.

- 2.1.5.1 Parallel Track
- 2.1.5.2 Parallel Lines

Parallel Track

# 2.1.5.1 Parallel Track

Select the Track you want to parallel with `Left-Click`, and the new parallel track will appear beside it. You control which side the new track will be on by `Left-Drag`ging the cursor from one side to the other of the selected track before releasing it.

The Parallel Separation control (Visible in the Status Bar) displays the intended separation between parallel tracks/line. This value can be changed before selecting a track. The value must be greater than 0.0 if the gauges are equal.

- If the gauges are equal, a value of 0.0 means that the rail of the second track is overlaid on the first to simulate dual guage track. The railside that the new track "shares" is set by which side of center the cursor is on when released. The new track will have NoTies set on.
- The seperation can be automatically increased using the Radius Factor value. If this is set to 0.0 (default) the seperation value will be used regardless of radius. If the value is set to 1.0, the seperation will be increased by a scaled 2864 inches per inch of curvature of the paralled track - this is in accordance with North American prototype practice. Other values of Radius Factor will alter by an equivalent percentage. For example, 0.5 would use 50% of this increase.

This command is very useful for creating sidings and yards as well as dual track.

- No parallel to a turnouts or a non-straight piece of sectional track is created.
- It is possible to create tracks that abut (the endpoints are very close and aligned). These endpoints will be automatically connected.

Parallel Lines

# 2.1.5.2 Parallel Lines

Select the Track or Line you want to parallel with `Left-Click`, and the new parallel line will appear beside it.

- Note that Lines are not joined - if you wish you can select a series of Lines and turn them into a PolyLine using Section 2.2.7.1.

Straight Track

# 2.1.6 Straight Track

Straight track is a created by `Left-Click` to select the first endpoint then `Left-Drag`ing the cursor to the point where you want the second endpoint to be. Unless `Shift` is held down when the first endpoint is being placed and the cursor is on a track, the new straight end will "Snap" to the nearest open track endpoint and you can drag out the second end aligned to that track. After a track is competed, the new track will be connected to the existing track.

If the Snap Grid (Section 2.12.2) is enabled then the endpoints will be constrained to the grid.

Structure

# 2.1.7 Structure

The Structure command places diagrams of structures (buildings, bridges and other scenic elements) on the layout. The operation is similar to the Fixed-track (Section 2.1.8) command.

When you select a structure from the list, its diagram is drawn in the diagram canvas. The dimensions are also listed on the dialog.

The Structure Selection dialog will disappear while dragging on the layout if the Hide Check Box on the dialog is set. This is useful if you have a small screen.

See the Hot Bar (Section 2.7) command for details on placing Structures on the layout.

Structures are placed on the layout in same way as Fixed-tracks except that there is no Active endpoint and structures do not align with existing tracks.

Fixed-track

# 2.1.8 Fixed-track

Fixed-track objects (Turnouts, Sectional Tracks and Grouped Object) are added by the Fixed-track command, and the Selection dialog is displayed which contains a list of available turnouts, sectional tracks and grouped objects for the current scale (Section 2.10.6) and a diagram of the selected turnout.

You can use the Parameter File Dialog (Section 2.5.7) to control what turnouts are available.

Select a turnout from the scrolling list by `Left-Click`ing on it. Move to the Layout and `Left-Click` where the turnout should be placed. The Turnout will snap to nearby flex-tracks or open endpoints. By `Left-Drag`ing you can move the turnout around. Additional `Left-Click`s change the way the turnout is placed.

The New button invokes the Turnout Designer (Section 2.9.9) dialog. This button displays a pop-up-menu list of various types of turnouts and sectional track.

The Turnout Selection window will disappear while dragging on the layout if the Hide Check Box on the dialog is set. This is useful if you have a small screen.

See the Hot Bar (Section 2.7) command for details on placing Fixed-tracks on the layout.

Turntables

# 2.1.9 Turntables

Turntables of specified diameter are created with the Turntable command.

The Turntable Diameter control (Visible in the Status Bar) displays the current diameter of the turntable. This value can be changed before dragging the turntable into position. The value must be greater than 0.0.

The Modify command (Section 2.2.8) can be used to create turntable stall tracks. Select the turntable and drag the stall track to the proper angle and length. You can also connect to a turntable with the Join command (Section 2.2.7).

The Turntable Angle control on the Preferences (Section 2.10.7) dialog controls how closely you can place tracks connected to a turntable. If you want to create stall tracks every 7.5°, set the Turntable Angle control to 7.5 and place the track as close to each other as allowed. XTrackCAD makes sure they will be separated by the correct angle.

Block

# 2.1.10 Block

A block is created by first selecting the track segments in the block and then selecting Create Block from either the Add menu Section 3.3.1 or from the block menu on the hotbar. A block gets a name and a script. The name is only used for identification and the script is used by the layout control software. The script should provide whatever information is needed by the layout control software to determine block occupancy. This could be a code snippet to retrieve the state of the block occupancy or it could be the address of the sensor, etc.

The create block dialog has spaces for two text strings. One is the name and the other is a block occupancy script. The name identifies the block and the script is information used by the layout control software to detect block occupancy. The script could be a code snippet or I/O device address information, etc.

Switchmotor

# 2.1.11 Switchmotor

A switchmotor is created by selecting Create SwitchMotor from either the Add menu Section 3.3.1 or from the switchmotor menu on the hotbar and then clicking on a turnout. A switchmotor gets a name and three scripts. The name is only used for identification and the three scripts are used by the layout control software. The three scripts are for throwing the turnout to its "normal" position, throwing the turnout to its "reverse" position, and a script to read a point position sensor. These scripts could be code snippets or they could be addresses of I/O devices, etc.

The create switchmotor dialog has spaces for four text strings. One is the name and the other three are scripts for Normal, Reverse, and Point Sense. The name identifies the switchmotor and the scripts are information used by the layout control software to throw the turnout to the normal position, throw the turnout to the reverse position, and sense the point position. The scripts could be code snippets or I/O device address information, etc.

Signal

# 2.1.12 Signal

A signal is created by selecting Create Signal from either the Add menu Section 3.3.1 or from the hotbar. Use the mouse to select a location (left button) and then dragging (left button down) the signal to set its orientation. Once the left button is released, a Create/Edit Signal dialog box is displayed, and you can fill in the signal's properties: name, fine tune the location and orientation, number of heads, and the aspects.

The create/edit signal dialog has spaces for the name of the signal, its location and orientation, the number of heads (1, 2, or 3), and a list of aspects. Each aspect has a name and a script. The name could be a rule book name (Clear, Aproach, Stop, etc.) or the actual color(s) displayed (green, yellow, red, etc.). The script is just some information for the layout control software to actually effect the display of the aspect -- this could be the LCC event id to trigger the aspect or it could be a code snippet that causes the aspect to be displayed.

Control

# 2.1.13 Control

A control is created by selecting Create Control from either the Add menu Section 3.3.1 or from the hotbar. Use the mouse to select a location (left button) and then dragging (left button down) the control to where you want it. Once the left button is released, a Create/Edit Control dialog box is displayed, and you can fill in the control's properties: name, fine tune the location, and the on and off scripts.

The create/edit control dialog has entry fields for the name of the control, its location, and a pair of scripts, one to turn the control on and one to turn the control off. The scripts are just some information for the layout control software to actually effect the state on the control (on or off).

Sensor

# 2.1.14 Sensor

A sensor is created by selecting Create Sensor from either the Add menu Section 3.3.1 or from the hotbar. Use the mouse to select a location (left button) and then dragging (left button down) the sensor to where you want it. Once the left button is released, a Create/Edit Sensor dialog box is displayed, and you can fill in the sensor's properties: name, fine tune the location, and the script.

The create/edit sensor dialog has spaces for the name of the sensor, its location, and a script. The script is just some information for the layout control software to actually return the state of the sensor (on or off).

Change Menu

# 2.2 Change Menu

The Change Menu has all functions related to modifying objects that exist on the layout drawing.

  Properties - sets XTrackCAD into Describe mode. Whenever an object is clicked on while in this mode, the Properties dialog is opened. This dialog allows direct manipulation of settings such as the objects length, position or orientation. (Section 2.2.13).

  Select - sets XTrackCAD into Select mode. Whenever an object is clicked on while in this mode, this selection state of this object is reversed. If an object was unselected it becomes selected, and vice versa. To unselect all objects press the ESC key, use Deselect All from the Edit (Section 2.4) menu or Deselect All from the Pop-up menu (Section 3.4.1). (Section 2.2.16).

  Move - move selected object(s). (Section 2.2.9).

  Rotate - rotate selected object(s). (Section 2.2.15).

  Flip - turn selected object(s) over or around. (Section 2.2.6).

  Loosen Tracks - this command reverses the effect of Connect Two Tracks as applied to sectional track.

  Modify - modify an existing track, or lines. (Section 2.2.8).

  Join - connect two separate pieces of track or two lines. This command can be used to move one of the pieces of track to the endpoint of the other or to create a connection by laying a stretch of flex-track. (Section 2.2.7).

  Connect Two Tracks - creates a connection between track pieces with an option to slightly move the select piece(s) and the pieces they connect to. (Section 2.2.3).

  Split - the Split commands are used to divide up tracks (Section 2.2.17.1) or split draw objects (Section 2.2.17.3) or use a second Object to Trim (Section 2.2.17.4). The (Section 2.2.17.1) command can be used in one of two ways;

  - split a section of flex-track into two connected pieces at the point where a Left-Click is invoked or;
  - disconnect turnouts or sectional track pieces at their point of connection.
  Move Description - move the endpoint description of a track piece to another location. (Section 2.2.10).

  Raise/Lower Elevations - raise or lower elevation of selected tracks. (Section 2.2.14).

  Elevation - define an elevation at specified track location (Section 2.2.5).

  Profile - display the elevation profile of a definable stretch of track (Section 2.2.12).

  Clear Elevations - remove elevation parameters from selected track(s).

  Recompute Elevations - performs a global re-computation of dynamic elevations. It should not be necessary to issue this command as elevations are recomputed as required.

  Change Scale - change model scale and/or gauge of layout design. (Section 2.2.1)

  Convert - changes flex-tracks (Straight, Curve, Joint, Bezier) into a Smooth Cornu or vice versa. (Section 2.2.4).

- 2.2.1 Change Scale
- 2.2.2 Clear Elevations
- 2.2.3 Connect Tracks
- 2.2.4 Convert Tracks

- 2.2.4.1 Convert flex-track(s) to Cornu(s)
- 2.2.4.2 Convert Cornu(s) and Bezier(s) to flex-track(s)

- 2.2.5 Elevation

- 2.2.5.1 Computing Dynamic Elevations

- 2.2.6 Flip
- 2.2.7 Join Tracks and Lines

- 2.2.7.1 Join Lines
- 2.2.7.2 Join Tracks
- 2.2.7.3 Join with Normal Easement
- 2.2.7.4 Join with Cornu Easement
- 2.2.7.5 Cornu Track Pins
- 2.2.7.6 Using Straight Flex-Track
- 2.2.7.7 By Moving Track

- 2.2.8 Modify

- 2.2.8.1 Extending Track
- 2.2.8.2 Modifying Objects
- 2.2.8.3 Changing Track Length
- 2.2.8.4 Creating a Tangent to a Curve
- 2.2.8.5 Changing Track Radius
- 2.2.8.6 Extending Track Length
- 2.2.8.7 Modifying Draw Elements
- 2.2.8.8 Cornu Easements Modifying a Cornu Track
- 2.2.8.9 Modifying a Bezier

- 2.2.9 Move

- 2.2.9.1 Using Mouse
- 2.2.9.2 Using Values of X and Y Translation

- 2.2.10 Move Description
- 2.2.11 Pan/Zoom
- 2.2.12 Profile
- 2.2.13 Properties

- 2.2.13.1 Draw Object Describe Fields
- 2.2.13.2 Structures, Sectional Track and Turnouts Describe Fields
- 2.2.13.3 Describe Track Fields

- 2.2.14 Raise or Lower Elevation
- 2.2.15 Rotate

- 2.2.15.1 Using Mouse
- 2.2.15.2 Using Degree's of Rotation
- 2.2.15.3 Aligned With Another Object

- 2.2.16 Select
- 2.2.17 Split Commands

- 2.2.17.1 Split Track
- 2.2.17.2 Disconnect Joint
- 2.2.17.3 Split a Draw Object
- 2.2.17.4 Trim a Draw Object using another Draw object

Change Scale

# 2.2.1 Change Scale

Change Scale is used to change the size and gauge of selected (Section 2.2.16) objects. The amount to resize can be specified

- by the modeling scale, e.g., convert from HO to O scale
- by the modeled gauge, e.g., convert from standard gauge to narrow gauge, or
- by ratio (by 181.5%).

If the selected objects have multiple Scales then the 1st From box will display "Multi-Scale". If the selected objects are all of one Scale and but have different Gauges then the 2nd From box will display "Multi-Gauge".

If resizing by modeling scale then track dimensions, e.g., lengths and radii, will be changed as well. An option is available to disable the resizing of the selected objects.

Clear Elevations

# 2.2.2 Clear Elevations

The Clear Elevations command is used to remove elevation points from selected track on the layout.

Using the Select command, select the track that is to have its elevation settings cleared then select Change>Clear Elevations from the menu bar to clear elevations of selected track.

Connect Tracks

# 2.2.3 Connect Tracks

This command is frequently used with Sectional Track. But it can be useful to reattach ordinary track which has become disconected or split.

When in this connect, ends of tracks that can be selected are highlighted with a blue arrow. With Shift added, ends that can be tighten are highlighted with a blue "X".

There are three modes,

- a Left click on a track near a disconnected end-point followed by a second on a close-by disconnected end-point on another track will try to join two tracks
- a Shift-Left click on a connected track will "Tighten Tracks" moving other tracks connected to this track to reduce any small distance or angle differences
- Selecting a set of tracks followed by a "S" key or using the Context menu will prompt for confirmation that all selected tracks with unconnected endpoints should be joined to nearby selected track at an unconnected end point. This mode allows for an entire layout to be reconnected after a Select-All.

Notes for two track mode: Occasionally pieces of sectional track do not line up exactly, especially when creating figure-8's or passing sidings. When laying out the actual track you can compensate for this by adjusting the individual tracks to provide a bit of slack. This command simulates that process.

Click on the endpoint of each track you're trying to connect. XtrkCAD will move the tracks slightly in an attempt to overcome the gap. If the gap is too large, the connection will fail. If this occurs, try using other track pieces in your layout.

XTrackCAD adjusts the positions of tracks connected to the tracks up to a track with more than two connections. See the Demo for details.

If one (or both) the selected tracks is an adjustable section (such as Kato's Adjustable Track #20-050) then the length of the track is changed to fill the gap.

You can undo the effect of the Connect command by splitting (Section 2.2.17.2) the track to disconnect it then using the Shift+Left-Click Connect command on the unconnected endpoints to tighten connections between the tracks.

Convert Tracks

# 2.2.4 Convert Tracks

  (Section 2.2.4.1). Convert Fixed to Cornu
  (Section 2.2.4.2). Convert Cornu to Fixed.

A drop down menu, which allows selection of the Convert Mode, is invoked from the down arrow button () located on the right side the Convert Tracks button. Dependent upon previous selection, the Convert Track button will look like or .

- 2.2.4.1 Convert flex-track(s) to Cornu(s)
- 2.2.4.2 Convert Cornu(s) and Bezier(s) to flex-track(s)

Convert flex-track(s) to Cornu(s)

# 2.2.4.1 Convert flex-track(s) to Cornu(s)

This command will take a pre-selected set of flex-track elements (Straights, Curves, Joint or Bezier) and convert them into a set of Cornu Tracks. If there are no selected Tracks, the user can click on a single track.

The Cornu(s) will smoothly pass through all the end points of the selected tracks and smoothly join to the end-points (if any). This may change the internal shape of the resulting track(s) due to smoothing. A subsequent section 2.2.8 can be used to fine tune the Cornu(s) by moving, adding and deleting "pins" in the combined shape.

This command is intended to help conversion of track designs that were made before Cornu Track existed to Cornu.

Convert Cornu(s) and Bezier(s) to flex-track(s)

# 2.2.4.2 Convert Cornu(s) and Bezier(s) to flex-track(s)

This command will take a pre-selected set of Cornu and Bezier Tracks and convert them into a set of equivalent Straights or Curves,

The resulting track(s) will mimic the shape of the Cornu/Bezier(s) exactly. This command is intended to allow easier layout of smoothed shapes.

Elevation

# 2.2.5 Elevation

The Elevation command changes the elevation of track endpoints. After opening this dialog, The Message Bar will show the computed elevation at the cursor. There will be an open blue circle if an endpoint will be selected with Left-Click. You click on the respective endpoint to set its elevation properties.

The endpoint which you are working on is indicated with a big red dot. Note that when an endpoint is selected, the Elevation Window will have focus. To select a different endpoint without closing this window, two clicks (or a double click) will be needed. The first click restores focus to the main window, the second selects the point.

If you add Shift as you move the cursor before clicking you will see a blue bar when it is over a track if a Shift+Left-Click will split the Track at that point (which will give you the opportunity to specify an elevation).

Adding Ctrl allows you to Ctrl+Left-Click to Select and Left-Drag to move existing Elevation Labels if the option is set for them to be displayed and the Zoom level is adequate, Only "Defined" and "Station" endpoint labels can be moved.

If you add Alt, while moving around the layout close to tracks will show you the elevation at the point indicated by a blue closed dot.

With Alt held, if you hover over a point close to where two unconnected tracks pass over one another, a blue square will be drawn and the Message Bar will show the two elevations and the Clearance between them.

Clicking with Shift at this point will split the track, allowing the elevation to be adjusted to provide adequate clearance.

An endpoint can have one of several elevation types:

- None - no elevation control defined. This is the default state and the elevation will be computed. It will be shown if the Display Option Section 2.10.3 EndPt Elevations setting is on.
- Defined - the defined elevation is set to a specified height. The elevation will be shown.
- Hidden - a defined elevation like Defined but not displayed on the layout.
- Computed - height is calculated and displayed even if the Display Option Section 2.10.3 EndPt Elevations is on.
- Grade - grade is based on height of closest neighbors and displayed.
- Ignored - endpoint is not considered in computations. This breaks the flow of the elevation influence from one side to the other, resulting in an elevation that is not dependent on the connected track but on the other connected tracks. A common use would be to ensure a mainline dictates the elevation of the start of a branch.
- Station - assigns a name to the endpoint.

Note: Only one of these attributes can be assigned to an endpoint at a time. For example, an endpoint can not be defined as a Grade and a Station at the same time.

When an endpoint is selected on the layout by Left-Click, it is highlighted by a large red dot and its elevation type and values are displayed in the dialog.

Additionally, Defined Elevation endpoints are indicated on the layout by gold colored dots. Ignored Elevation endpoints are indicated by blue colored dots.

The grade at the specified endpoint is displayed next to the Grade radio button. For Defined Elevation endpoints, the grade on each side of the endpoint is displayed.

Defined Elevation endpoints are used to specify fixed heights of track endpoints. Typically, this would be where a grade changes or where clearances must be maintained. Computed Elevations and Grade markers can place between Defined Elevation endpoints. These values are not entered directly but are computed dynamically based on Defined Elevations of connected tracks. This allows labeling of elevations at intermediate endpoints without having the enter specific values. Computed markers can also placed between a Defined Elevation point and the end of a track.

Stations are used to provide information for the Profile (Section 2.2.12) command.

All Elevation labels (including Grade and Station) are drawn on the layout in outlined boxes. These may be moved by the Move Description (Section 2.2.10) command. In addition, Grade labels have an arrow indicating the upwards direction.

- 2.2.5.1 Computing Dynamic Elevations

Computing Dynamic Elevations

# 2.2.5.1 Computing Dynamic Elevations

Elevations of Tracks are computed in following steps. The colors listed in each step are used as the background color of the Track Elevation Markers (if they are enabled (Section 2.10.3)).

- The Shortest Paths between all Defined Elevations are computed. A Path stops at Ignored or Defined endpoints. The Elevation of any Turnouts on these Paths with more than two connections are computed as the average Elevation inversely weighted by distance along the tracks to the Defined Elevation points (Blue).

- The Elevation of any other tracks on the Shortest Paths are computed based on the distance along the tracks from the Turnouts computed in the first step and/or the Defined Elevation points (Purple).

- The Elevation of any remaining tracks is computed based on the average Elevation of the tracks found in the first two steps that they are (directly or indirectly) connected to, inversely weighted by geometric distance (Gold).

- Any remaining tracks are not connected to a Defined Elevation and do not have an Elevation.

The elevation computation is performed incrementally every time the layout is changed to keep all elevations in sync. The performance of the computation is affected by the placement of the Defined Elevation endpoints and the number of Paths between them. Place the Defined Elevations at points where tracks begin to branch (such as the throat of a yard or at the ends of a siding). Also, use Defined Elevations or Ignore Elevations to break the layout into areas so recomputation has fewer tracks and Paths to deal with.

Flip

# 2.2.6 Flip

This command turns selected objects over or around, effectively mirroring the object .

1. Prior to invoking this command visualize how the selected object(s) will be flipped and determine where to draw a reference line that will act as an axis or anchor point for the flipped object(s).

2. Invoked the Flip command then Left-Click on one end of the reference line visualized in the proceeding step. Holding the Left mouse button, Drag the cursor across the layout to form the line visualized earlier.

3. Once a line of desired length and orientation appears, release the mouse button. The selected object(s) will then flip around the line as if it were a mirror.

Since flipped objects are mirrored, turnout titles may be modified during the flip process. Right hand turnouts will become left hand turnouts and vice versa. Such is the case in this example.

Certain turnouts, such as a Wye's, Three-Way or Crossings are symmetrical and thus titles for this type of objects are not changed. If a title change is necessary the currently loaded Parameter Files (Section 2.5.7) are searched for a turnout that matches the flipped turnout. If a match is not found, the turnout's title is prefixed with Flipped. The Properties (Section 2.2.13) command be used to change the title of such turnouts.

Join Tracks and Lines

# 2.2.7 Join Tracks and Lines

The Join command has two variatons,

  (Section 2.2.7.2). Join Tracks by connecting them.

  (Section 2.2.7.1). Create a PolyLine from two Draw Objects or Close a PolyLine as a Polygon.

- 2.2.7.1 Join Lines
- 2.2.7.2 Join Tracks
- 2.2.7.3 Join with Normal Easement
- 2.2.7.4 Join with Cornu Easement
- 2.2.7.5 Cornu Track Pins
- 2.2.7.6 Using Straight Flex-Track
- 2.2.7.7 By Moving Track

Join Lines

# 2.2.7.1 Join Lines

The Join Line command produces a PolyLine from two Draw objects (Straight Line, Curved Line, Bezier Line or PolyLine). You select the two ends to join and the new Polyline will replace the two Draw objects, filling in any gap with a straight line segment. If the two ends are of the same PolyLine, an unfilled Polygon will be created.

Join Tracks

# 2.2.7.2 Join Tracks

The Join Track command is used to bring together and connect any two segments of track. During the join process, XTrackCAD ensures the connecting tracks are properly aligned.

See Help>Demo (Section 2.6.1) for examples of how to join tracks.

For detail about;

  Using complex curves if Easement is set to Cornu Section 2.2.7.4.

  Using Normal Easements where tracks are either joined with a straight or a 'simple curve' section 2.2.7.3, e.g. one which uses a curve in a single direction as opposed to using a S-Curve (Section B.2)

  Using straight flex-track to join track segments refer to Section 2.2.7.6.

  Moving one segment of track to join with another refer to Section 2.2.7.7.

Join with Normal Easement

# 2.2.7.3 Join with Normal Easement

This type of join does not work for Bezier or Cornu tracks, use Cornu Easements (Section 2.2.7.4) for these tracks instead.

1. Start the join process by clicking on the Join button ().

2. Left-Click the endpoint of one of the two tracks being joined. A red dot will appear as a reminder of which track has been selected.

After the first track is selected, an entry field for prefered radius will be shown. A non-zero value will enable the snap anchor for the join radius.

1. Move the mouse pointer over the endpoint of the other track then Left-Click and hold the mouse button down. A track connecting the two endpoints will appear.

   If the track appears in black (and you are happy with the curve as its drawn), release the mouse button.

   If the radius snap-anchor is active, and the position of the cursor is close to a position where the Join is exactly the desired radius, a blue circle will be shown. Releasing the button while it shows will snap the Join to the desired radius. If Easements are enabled as well, this fixed radius Join track will be joined to by easements.

2. If the track appears in red, it means XTrackCAD can't determine how to connect the first track with the second. If this occurs, while holding the left mouse button, drag the mouse back toward the first track until the connecting track appears in black. If the connecting track remains red, drag the mouse in the opposite direction until the connecting track turns black. Once the connecting track turns black, release the mouse button to finalize the Join command.

Throughout the above, the exact shape of the curve can be adjust by dragging the mouse around while keeping the left mouse button held down.

Sometimes, no matter where you drag the mouse, the curve stays red and the tracks cannot be connected. This means the resulting curve is tighter than the minimum track radius set in the Preferences dialog (Section 2.10.7). If desired, this setting can be adjusted from the Preferences dialog using the Options>Preferences menu selection to raise the dialog. If changing the minimum track radius is not a desired option then it will be necessary to relocate one of the tracks that you're attempting to join.

You may also find that XTrackCAD will not create the connecting curve in the exact shape you want. If this happens it may be necessary to either move one of the end points or draw a partial curve (or straight) and try again.

If enabled, Easements (Section 2.10.4) will be automatically generated between tracks of differing radii. When using easements, there is a minimum radius as specified in the Easement dialog. It's not possible to join tracks with less then this radius and the connecting track's radius must be greater than the minimum radius.

If any errors occur while joining tracks (such as moving beyond the end of a track or using a curve with a radius smaller than the Easement radius), then the joint track will be drawn in Red (The default colour of Exception Track errors. See Section 2.10.1 for detail). This colouring serves as visual indication for a connecting track that doesn't meet minimum specified parameters (Section 2.10.7).

Any tracks created during the Join command will have the following properties inherited from the first track: selected state, hidden state, scale, track gauge and Layer.

A join can be made to or from a circle (Section 2.1.1) of track. Joining a track with a circle will cause the circle to be converted into a curved track.

For detail about;

  Using straight flex-track to join track segments refer to Section 2.2.7.6.

  Moving one segment of track to join with another refer to Section 2.2.7.7.

Join with Cornu Easement

# 2.2.7.4 Join with Cornu Easement

Creating a Cornu Modifying a Cornu Cornu Easements

A Cornu is a form of curve that uses a mathematical approach to creating a curve between two sets of end conditions.

The curve is designed to change curvature linearly along its length - which is the characteristic of a railway easement because it minimizes sudden changes in acceleration towards the center of curvature.

The conditions used at each end are the radius, angle and position.

Cornus can have added constraints in the form of track "pins" that force the curve to smoothly pass through that point while still respecting the end conditions.

Cornus can be used in XtrackCAD to both Join tracks smoothly and form smooth curves that are not joined to other tracks.

Because Cornu are mathematically generated, they can also be regenerated at will and so Cornu Joins have the unique characteristic in XTrackCAD that they remain connected even if the tracks at the ends are moved or even change shape.

Cornu Joins will use whatever space is available - that is their "tightness" (rate of change of curvature) is variable and dynamic. The minimum radius is calculated and will show as an exception, but the acceptable rate of change of curvature is the choice of the designer.

It is not always the case that the Cornu will be the most efficient way to get from A to B - because of its shape it will be the smoothest. If you want to bias the result, you can add TrackPins (Section 2.2.7.5).

Cornu Track Pins

# 2.2.7.5 Cornu Track Pins

XTrackCAD Cornu can have "track pins" added that constrain the track to pass through those points in addition to meeting the end-conditions. This allows the track to be skewed or slewed around obstacles, or to suit some other constraint.

The pins can be added when Cornus are created Section 2.1.2.6 or during Section 2.2.8 after clicking on the track. They can be selected and then `Left-Drag` dragged to alter the curve shape or deleted with `Delete`.

When a Cornu Track with pins is saved, it is split into two Cornu joined at the pin. If a Cornu that is joined to another Cornu is Modified with Section 2.2.8, the joints are rendered as Pins and the Modify is done for one continuous Cornu.

1. First, ensure that the Easement type option is set to Cornu - see section 2.10.4
2. Start the Join Track process by clicking on the Join Track button ().

As you move over tracks a blue roundel will indicate the end that will be chosen with Left-Click.

  `Left-Click` the open endpoint of one of the two tracks being joined. A red dot within a red circle will appear at the end of the join.

  `Left-Drag` the endpoint to where you want it and release the button. The point will only move along the piece of track with the open endpoint (if this track type can be split) as far as the opposite end, or as an extension of that track at the selected end with the same curvature (if this track can be extended). Note that you will be able to fine-tune the end positions later.

  `Left-Click` the endpoint of the other track being joined. Another red dot within a circle will appear at that end of the join.

  `Left-Drag` the endpoint to where you want it and release the button. The second endpoint can only be moved along the second track as far as the other end (if it can be split) or as an extension beyond the end of this track (if it can be extended). The initial curve will be drawn - it will be red if the minimum radius is smaller than the minimum radius option.

  You are now in "Select Points" mode.

  You can select one end point at a time with `Left-Click` and move it with `Left-Drag`. If you drag the end point off the original track it will extend.

  You can select a pin by `Left-Click`ing on it and move it with `Left-Drag`. `Delete` will remove the last selected Pin.

  You can add a Pin by `Left-Click`ing on an area of the track with no Pin or end.

  Once you are happy, hit Enter or the SpaceBar to finish editing the easement. Or hit Esc to cancel.
  If you want to modify the Cornu later (even if it is joined at both ends) see section 2.2.8.8

Using Straight Flex-Track

# 2.2.7.6 Using Straight Flex-Track

This method of joining track may be used where the endpoints of the two tracks to be joined are on the same horizontal (`X`) or vertical (`Y`) axis.

1. Start the join process by clicking on the Join button ().

2. Left-Click the endpoint of one of the two tracks being joined. A red dot will appear as a reminder of which track has been selected.

3. Move the mouse pointer over the endpoint of the other track then Left-Click. A track connecting the two endpoints will appear.

When this command is used to join;

- two flex-track endpoints, one long section of flex-track without joints will result.
- two sectional track endpoints, a section of flex-track will be created between and used to join the two sectional track endpoints.
- one flex-track endpoint with one sectional track endpoint, the section of flex-track will be extended and joined with the sectional track endpoint.

Any tracks created during the Join command will have the following properties inherited from the first track: selected state, hidden state, scale, track gauge and Layer.

Turnouts and Sectional (Section 2.7) tracks can be joined to other tracks. XTrackCAD extends the selected endpoint with a straight track when making the connection.

A Turntable (Section 2.1.9) can be joined however it must be used as the second endpoint for normal easements but can be connected to either end with Cornu.

For detail about;

  Using curved flex-track to join track segments refer to Section 2.2.7.4.

  Moving one segment of track to join with another refer to Section 2.2.7.7.

By Moving Track

# 2.2.7.7 By Moving Track

This method of joining track may be used to move, align and join one section of track with another.

1. Before initiating the Join command, the track that will be moved, aligned and then joined must be selected using the Select command (Section 2.2.16).

2. Once the track to be moved is selected, start the join process by clicking on the Join button ().

3. Shift+Left-Click the endpoint of one of the two tracks being joined. A red dot will appear as a reminder of which track has been selected.

4. Then move the mouse pointer over the endpoint of the other (unselected and stationary) track with Shift+Left-Click. The selected track will be moved, aligned then joined to the stationary section of track.

For detail about;

  Using curved flex-track to join track segments refer to Section 2.2.7.4.

  Using straight flex-track to join track segments refer to Section 2.2.7.6.

Modify

# 2.2.8 Modify

The Modify command is used to change characteristics of tracks or draw elements or extend existing track by adding new track. The extend type of Modify command works with any unconnected track endpoint, or with Turntables. Cornu(s) or Bezier track can be modified even if connected. Selecting one Cornu which is connected to other Cornu(s) results in a single modification curve with control "Pins" at the connections.

The Modify command can be invoked using the Change>Modify menu item, the Modify button, by Double-Click in Select when hovering over a selected item or the menu raised by a Right-Click over the Main Canvas.

Before a track is selected for Modify, a dynamic blue anchor will show which track the command will take effect on if the cursor is close enough to a modifyable track or object. Arrows are shown to indicate if the track can be extended or trimmed and also if its radius can be modified if Shift is depressed as the cursor is moved over the track.

- 2.2.8.1 Extending Track
- 2.2.8.2 Modifying Objects
- 2.2.8.3 Changing Track Length
- 2.2.8.4 Creating a Tangent to a Curve
- 2.2.8.5 Changing Track Radius
- 2.2.8.6 Extending Track Length
- 2.2.8.7 Modifying Draw Elements

- 2.2.8.7.1 Modifying PolyLines and Polygons

- 2.2.8.8 Cornu Easements Modifying a Cornu Track
- 2.2.8.9 Modifying a Bezier

Extending Track

# 2.2.8.1 Extending Track

Either the left mouse button (for changing length or creating a tangent track) or the right mouse button (for extending with a new track) is used to modify an unconnected endpoint.

Modifying Objects

# 2.2.8.2 Modifying Objects

1. The endpoints of a Line, Dimension Line, Table Edge or Benchwork can be dragged to new positions.
2. The ends of a Ruler or the ends and origin of a Protractor can be dragged to new positions
3. A Box or a FilledBox can be modified by selecting a corner and dragging in two dimensions, or a side and dragging it orthogonally. This modifications preserve a 4-sided rectangle.
4. The controlpoints of a Cornu Track, Bezier Track or Bezier Line can be changed. Control "Pins" can be added, moved or selected and removed from Cornus.
5. Curved Lines are modified by dragging the end points and dragging the amount of central deflection (radius).

Any tracks created during the Modify command will have the following properties inherited from the first track: selected state, hidden state, scale, track gauge and Layer.

For more detail about;

  Changing track length refer to Section 2.2.8.3.

  Creating a tangent to a curve refer to Section 2.2.8.4

  Changing track radius refer to Section 2.2.8.5

  Extending track length refer to Section 2.2.8.6

  Modifying Draw elements refer to Section 2.2.8.7

  Modifying Polygons and PolyLines refer to Section 2.2.8.7.1

  Modifying a Cornu refer to Section 2.2.8.8

  Modifying a Bezier refer to Section 2.2.8.9

Changing Track Length

# 2.2.8.3 Changing Track Length

1. Click the Modify button () to activate the Modify function.

2. With the mouse pointer hovering over the endpoint of the object to be modified, Left+Drag (Section B.1) to change the length of the track segment, table edge, bench-work, dimension line or line. If MagneticSnap is enabled, the end will snap to any close draw object. `Alt` inverts the MagneticSnap setting. If there is no nearby object and SnapGrid is enabled, the end will snap to a grid point unless Alt is added.

Left+Dragging the endpoint of a turnout (or other sectional track) causes a straight length of flex-track to be created from the selected endpoint to the cursor.

Left+Dragging the endpoint of a Table Edge (Section 2.3) allows the endpoint to be moved to a new position. If `Ctrl` is added and the endpoint is moved close to another Table Edge then the endpoint will be moved to it if not, the line will be a multiple of 90 degrees.

The length of a curved track can be changed to form an almost complete circle by selecting one endpoint of the curved track then dragging the cursor to the other endpoint. Going past the other endpoint creates a very small curve. Curves greater than 360° cannot be created.

For detail about;

  Creating a tangent to a curve refer to Section 2.2.8.4

  Changing track radius refer to Section 2.2.8.5

  Extending track length refer to Section 2.2.8.6

Creating a Tangent to a Curve

# 2.2.8.4 Creating a Tangent to a Curve

1. Click the Modify button () to activate the Modify function.

2. With the mouse pointer hovering over the endpoint of the object to be modified, Left+Drag (Section B.1) to change the length of the track segment.

If a Left+Drag is continued beyond the radius of a curved track (Section 2.1.2) (not a Circle) a tangent to the curve will be created.

Creation of the tangent begins when the distance from the curved track center to the cursor is greater than 110% of the radius. If the cursor is moved within the radius of the curve then the current command exits and the Changing Track Length (Section 2.2.8.3) command is executed instead.

If Easements (Section 2.10.4) are enabled then an easement curve will be generated (if required) to connect the old and new tracks.

For detail about;

  Changing track length refer to Section 2.2.8.3.

  Changing track radius refer to Section 2.2.8.5

  Extending track length refer to Section 2.2.8.6

Changing Track Radius

# 2.2.8.5 Changing Track Radius

This command is used to change the radius of a curved track or to curve a section of straight track.

1. Click the Modify button () to activate the Modify function.

2. Shift+Left+Drag the unconnected endpoint of a curved track to change the radius of track segment. Alternately, Shift+Left+Drag the unconnected endpoint of a straight track to add a radius to the track segment.

   - For this command to work, the endpoint opposite that being manipulated must be connected to another track.

This command can be used to change straight tracks into curved track and vice versa.

For detail about;

  Changing track length refer to Section 2.2.8.3.

  Creating a tangent to a curve refer to Section 2.2.8.4

  Extending track length refer to Section 2.2.8.6

Extending Track Length

# 2.2.8.6 Extending Track Length

This command is used to extend the length of a straight or curved section of track.

1. Click the Modify button () to activate the Modify function.

2. With the mouse pointer hovering over the endpoint of the object to be modified, Right+Drag (Section B.1) to extend the length of the track segment.

The selected endpoint determines the position and angle of the first endpoint of the new track. The cursor is dragged to set the second endpoint. A curved or straight track will be created, depending on the position of the second endpoint.

If easements (Section 2.10.4) are enabled then an easement curve will be generated (if required) to connect the old and new tracks.

For detail about;

  Changing track length refer to Section 2.2.8.3.

  Creating a tangent to a curve refer to Section 2.2.8.4

  Changing track radius refer to Section 2.2.8.5

Modifying Draw Elements

# 2.2.8.7 Modifying Draw Elements

Draw elements have blue handles that show how they can be modified. They also have text entry boxes that allow precise entry of parameters. These values become active when a Tab is entered, or the cursor is moved out of the text box.

There is a context menu accessed via Right-Click for Draw Objects that can change the edit mode from the initial "Points Mode" to "Origin Mode" where Click sets the position of the drawn object's origin - which will cause subsequent rotations using Section 2.2.8 or Section 2.2.13 to be centered about that point.

The context menu can be used to go back to Points Mode, or to set the origin to one of a number of defined points. There are text shortcuts - "o" for Origin Mode and "p" for Points Mode.

In Origin Mode, the context menu allows the origin to be set to be -

  Absolute (shortcut "0") with the origin at the layout origin or
  Relative by dragging the origin to a point, or snapping to the position of the first 4 corner points (shortcut "1" through "4"), or to the middle/centroid of the shape (shortcut "m"). For a Polygon or Polyline the Relative origin can be snapped to a last selected node (shortcut "l").

In Points Mode,

  Lines have end points that can be dragged. Shift-Drag will snap the end to the end of a nearby Draw object, while Ctrl+Drag will snap to any point on a nearby Draw object. They have text entry boxes for length and angle.

  Curves have end points that work like Lines but also have a middle anchor that can be used to alter the curve radius. They have text box entry for Arc Length (in degrees) and Radius.

  Boxes have anchors for all corners and the middle of all sides. They have text entry boxes for width and height.

  Bezier Lines - see Section 2.2.8.9

- 2.2.8.7.1 Modifying PolyLines and Polygons

Modifying PolyLines and Polygons

# 2.2.8.7.1 Modifying PolyLines and Polygons

When a Polygon or a PolyLine is modified, open blue circle anchors show the position of its "nodes", these are selected with Left-Click and are shown as filled circles.

- Left-Drag of a selected node of a PolyLine or Polygon moves that node to a new position, and if moved close enough to a neighboring node will merge the two nodes and delete the edge between them.

- Delete or Backspace will remove a selected node.

- Left-Clicking on an edge will create a new node that can be dragged to position it.

- Multiple points can be selected using Shift+Left-Click. If these are then Left-Draged all the selected points move together, preserving relative position.

- There is a context menu that has controls for a selected point. It has options to alter the node into a rounded node (shortcut "r") or a smooth node (shortcut "s"). To turn it back into a sharp (vertex) node (shortcut "v").

- If Shift is held down while dragging, the relative angle for the first selected point to its predecessor point will be locked to a multiple of 90 degrees.

- When a node or nodes is/are selected, text entry boxes for length and relative angle (the deviation angle from the direction of preceeding side) can be used to fine-tune the position of the first node in the sequence. A arc indicator identifies the angle in question.

If no nodes are selected,

- A context menu can be used to close a polyline into a polygon (shortcut "g") or open it (shortcut "l") into a non-filled polygon between its last and first nodes.

- A unfilled polygon can also be filled (shortcut "f") or a filled one emptied (shortcut "u").

Notes

  A selected Polygon or Polyline node can only be deleted if there are at least three nodes left. It can only be round or smooth if long as it isn't an end node of a Polyline.

  Smoothed nodes implement a short Bezier curve that goes from halfway along the line of to the next node and which has a control arm that ends at the node. These are typically of most use to fine-tune a series of nodes that simulate a complex curve.

  Rounded nodes start at a distance that is half the shorter of the lines from the last node and to the next node and has control arms that extend to the half-way point to the node. This produces an arc whose radius is determined by the distance of the closet node. By manipulating the nearest node (for example, by adding a point) the radius at the node can be controlled.

Cornu Easements Modifying a Cornu Track

# 2.2.8.8 Cornu Easements Modifying a Cornu Track

Because a Cornu Track is defined by its end points position, angle and radius - it can only be directly modified by dragging an end point along a track, or altering its end conditions if it is not joined to another track. It can also have added "Pins" which constrain the curve to smoothly pass through a point.

1. Click the Modify button () to activate the Modify function.

2. Click on the Cornu track. The track ends will turn into roundels. If any other Cornus are connected at either end, the entire connected set will be modifyable as one Cornu with intermediate "Pins" at the connections.

3. Left-Click an endpoint and Left-Drag it to move the endpoint along a connected track, or beyond it if you want that track extended. If there is no track the endpoint is free to move.

4. For an unconnected end point, Left-Click on the Radius or Angle anchors and Left-Drag it to adjust them.

5. Left-Click an Pin and Left-Drag it to move the pin and make the curve to pass through it.

6. Left-Click the track where a Pin doesn't exist to add a Pin and Left-Drag it to alter the curve to pass through a defined point.

7. Delete to delete the last seelcted Pin, the curve will change to meet the end conditions and pass through any remaining Pins.

8. Repeat with the other end-point or Pins if desired

9. Once you are happy, hit the spacebar or Enter, or to cancel hit Escape.

Note: If the Modify command contained Pins, spacebar or Enter it will output a set of connected Cornu(s) joined at the Pin points.

Note: A Cornu can also be modified by moving or rotating a connected track.

Modifying a Bezier

# 2.2.8.9 Modifying a Bezier

Because a Bezier is defined by its control points position - its shape can only be modified by dragging an control point.

1. Click the Modify button () to activate the Modify function.

2. Click on the track. The control points will appear

3. Left-Click a control point and Left-Drag it to move it.

4. Repeat for another end point if desired

5. Once you are happy, hit the spacebar or Enter, or to cancel hit Escape.

Note: A Bezier's end point will only be modifyable if it is not connected. Both internal control points can be modified even if the track is connected.

Move

# 2.2.9 Move

This command is used to move selected (Section 2.2.16) objects around the layout.

The Move command can be invoked using the Change>Move menu item or the Move button and from the menu that's raised by a Right-Click over the Main Canvas or by the Shift+Left+Drag command when in Select mode.

Successful use of this command requires selection of the object(s) to be moved before attempting to move it. An object is selected by using the Left-Click command. A group of connected objects can be selected using the Shift+Left-Click command.

A move can be achieved using one of the following methods;

  Left+Drag using the mouse. See Section 2.2.9.1 for detail.

  Selecting fixed or specified amounts of translation in the X and Y directions using a Right-Click menu. See Section 2.2.9.2 for detail.

During a Move of tracks, and MagneticSnap (Section 2.12.1) is enabled, if one of the end-points of the selected objects is close to an open end of a unselected point, two anchors (an open an closed blue ball) will appear. This indicates that the two points will auto-join and that all the moved tracks will align to the unselected point if the Move is stopped. This behaviour can be suppressed with Alt. If MagneticSnap is disabled, the alignment will only occur if Alt is pressed.

Note: If the moved track is connected but the track it is connect to is not moved, it will be disconnected, unless that track or the last selected track is a Cornu, in which case the Cornu concenred will be modified (if possible) to remain connected.

Note: Cornu tracks connected to a turntable will be modified if it is moved or rotated. They remain connected at the point on the radius where they started, so it may be desireable to delete and redraw them if the rotation is large.

- 2.2.9.1 Using Mouse
- 2.2.9.2 Using Values of X and Y Translation

Using Mouse

# 2.2.9.1 Using Mouse

Once object(s) are selected, Left+Drag is used to move them around the layout using the mouse.

Alternatively, Shift+Ctrl+Arrow can be used to micro-move the selected object(s). The amount micro-moved is dependent on the zoom in use. To move by smaller increments, zoom in further. My moving to macro-zoom modes extremely fine adjustments can be made.

Remember that unattached objects can also be moved to exact positions using the Section 2.2.13 Command or by the Section 2.2.9.2.

Using Values of X and Y Translation

# 2.2.9.2 Using Values of X and Y Translation

Move An Object Using Fixed or Specified amounts of X and Y Translation.

A pop-up menu with additional menu items allows you to Move the selected object(s) through through any amount you specify.

The Move command is executed as follows;

1. Select the object(s) to be moved.

2. Shift+Right-Click to raise the Move/Rotate menu.

Any amount of precise transalation may be entered by Left-Clicking the Enter Move... menu item then entering a desired amount of translation in X and Y in the dialog window that appears.

Move Description

# 2.2.10 Move Description

This command is used to move Elevation, Grade, or Station (Section 2.2.5), and to enable/disable and move Straight Track (Section 2.1.6), Curved Track (Section 2.1.2), Bezier (Section 2.1.2.5, Cornu (Section 2.1.2.6), Joint (Section 2.2.7), Helix (Section 2.1.4) and Structure or Turnout (Section 2.7) Labels.

The Move Description command can be invoked using the Change>Move Description menu item or the Move Description button.

Click the Move Description button to activate the Move Description command. As the cursor passes close to an object that can display a label it will be highlighted. A dark blue indicates a label that has "Show Description" set on, a teal color means it is set to hide.

Use Left+Drag to move the label to a new position and unhide if hidden. Once moved, the label becomes fixed in a position relative to the object. Subsequent moves of that object will cause the label to move as well.

This operation can also be invoked by Ctrl+Left+Drag when in Select command (Section 2.2.16).

Note that labels need to be visible in the Display menu and the layout needs to be zoomed in enough to show labels for them to be moved.

There are keys that control the display of description when hovering over a description or a track.

- The letter "s" when hovering over a track will show the hidden description - the teal highlight will show which tracks can have descriptions.
- The letter "h", when hovering over the track or description, can be used to hide display of individual Curved Track, Bezier Track, Cornu, Helix, Joint or Turnout Labels.
- The letter "d" will enable and disable a detailed description which is intended for tracklaying - it is a table of points and track angles that lie along the track path.

Using these detailed values a curve can be constructed even for complex objects such as Bezier or Cornu.

There is a Context Menu invoked with Right-Click or Shift plus Right-Click to Show/Hide individual descriptions as well as set the description to detailed.

Labels can be moved by hovering the "hot spots" or over the attached track object. Left-Drag will reposition it. Elevation labels can be selected by hovering of thier centers or the end point they refer to. Note that end points with elevation mode "None" are not selectable.

- Cornu, Bezier, Straight, Curve and Joint (Easement) Labels can be moved along the line between the end-points and also laterally.

  - Cornu and Bezier Tracks show the "chord" length, its absolute angle, and the length of the track and the minimum radius. To help lay these variable radius curves out, the detailed description information about track centers and angles selected by 'd' is suggested.
  - Joint/Easement Tracks show the "chord" length and abslute angle and easement curve constructing values of Radius and Lengths. For laying out larger easmements, the detailed position and angle description selected by 'd' may be useful.
  - Straight Tracks show the length and the absolute angle. For laying out long straights, the detailed track center position and angle descriptions selected by 'd' may be useful.
  - Curved Tracks show the radius, chord length, deflection at the center from the chord and the angular length. For laying out curves, the detailed track center position and angle descriptions selected by 'd' may be useful.

- Curve Track Labels can be moved so that the label is somewhere on a radial line from the center to a position within the arc. A Curve label shows the absolute angle of the chord, its length, the Curve Radius and the deflection from the chord at the center of it. This enables the curve to be laid out even if the center point of the arc is inaccesible. Note that the detailed description may also be helpful in this case.

- Compound (Structure and Turnout) Labels can be moved without restriction. They show the Object's Title information.

- Elevation points labels can be moved without restriction - they show the Grade, Elevation, or Station Name as appropriate.

- The detailed description setting is not preserved in the saved layout. It is designed for use when transferring a complex part of the plan to a real layout.

Note - existing defined elevation labels can be moved, but controlling thier visbility is done with the Section 2.2.5 command.

Pan/Zoom

# 2.2.11 Pan/Zoom

This command is used to move or resize the viewport using the mouse or keyboard. Left+Drag Pans the viewport up and down, left and right keping it within the boundaries of the layout. Ctrl+Left-Drag selects an area of the screen to zoom into. The "0" or "o" - key resets the display to the origin but leaves the zoom as is. Keys between 1 and 9 set the zoom to that zoom level. The "e" - key resets the origin to zero and the zooms to show the whole layout.

There is a context menu that contains these text based items as well.

  Zoom/Pan Shortcut Keys

  - Keys '1'-'9' set the zoom to between 1::1 and 1::9.

  - Key 'e' sets the zoom to a value that allows all the room to be shown and moves the origin of the bottomm left of the window to 0,0

  - Key '0' or 'o' keeps the zoom as is, but moves the origin of the bottom left of the window to 0,0

  - Key 'c' moves the center of the window to the cursor position but leaves the zoom alone

As the window is Zoomed in and out, the setting of Constrain Drawing Area to Room Boundaries setting in the Display Section 2.10.3 dialog determines where the zoom is about. If it is not set, the center of the Drawing Area will stay fixed as the zoom changes. Otherwise, position of the Drawing Area will be constraned so any grey area will be to the right or above the room boundaries.

Profile

# 2.2.12 Profile

The Profile dialog draws a profile showing elevations, distances and grades for a path on the layout.

Choose a path by using Left-Click on endpoints. As each endpoint is chosen, the path is extended via the shortest route. Selecting the end of the path trims the path back to a last Defined Elevation point (if any, otherwise the path is cleared).

If no route is possible an error message is displayed. There are several reasons why this might happen:

- The tracks are not connected. You can see this more easily if you turn on Display->Option->"Display Unconnected End Points" as Exception. You can also check this by using Shift+Left-Click on one track using the Select command (Section 2.2.16). This selects all tracks connected (directly or indirectly). See if the other track is selected.

- One of the endpoints on the route is Ignored (Section 2.2.5). Look for blue dots on the expected path when using the Profile or Elevation (Section 2.2.5) commands.

- The only route connects to a section of track that is already on the path and is not the end of the path. Remove the end of the path until the connected track is not on the path.

The path is drawn in the Profile Color (Section 2.10.1) (default Purple) on the layout.

If the shortest path is not what you want, you can choose endpoints that are closer to the end of the path. Also, you can Ignore (Section 2.2.5) endpoints to prevent the path from choosing a route through that endpoint. Shift+Right-Click (Section 3.4) displays a pop-up menu that allows you to change the specified endpoint to be a Defined, Ignored or None Elevation endpoint.

Each Defined Elevation endpoint on the path is drawn as a Vertical bar, labeled with its height and distance from the beginning of the path.

The Grade between points is displayed between the vertical bars. The Grade line is drawn in Blue if that portion of the path does not contain more than one Shortest Path between Defined Elevation endpoints. Otherwise it is drawn in Red, to indicate the grade is an average and the actual grade may vary for any particular track segment. See Computing Dynamic Elevation (Section 2.2.5.1) for more details.

Stations on the path are displayed along the bottom of the Profile.

The heights of Defined Elevations can be changed by using Left+Drag on the profile window. As you Drag, the new elevation and grades to each side are displayed at the bottom of the profile dialog.

The Change button makes the changes in the Profile dialog permanent.

The Reset button deletes all changes since the last press of Change or the start of the dialog.

The Clear button preserves elevation settings established along the current profile path, removes all profile points and leaves the Profile dialog open for selection of the next set of profile points. This function is useful when there's a need to view elevations along multiple profile paths.

The Print button prints the dialog. The aspect ratio is preserved on the print-out. You will probably want to print in landscape format.

The dialog can be closed with the 'X' button in the window's titlebar.

Properties

# 2.2.13 Properties

Clicking on the Properties (Describe Mode) button cancels all active commands, closes any open dialog windows and places focus on the main window.

Until an object is selected, the object under the cursor that will be selected with Left-Click is highlighted in blue. Objects in Frozen Layers will only be highlighted and selected if Shift is added.

A Left-Click on an object while in Properties mode causes a properties dialog window to appear. The properties dialog contains information pertaining to the selected objects size, position, size, color and layer as appropriate for each type of object. Certain values can be changed to modify the object. Some values, e.g., endpoint positions, can not be changed if, for example, a Track is joined to another Track. The values will take effect when Enter, Tab is pressed or the cursor leaves the entry field.

The selected object is highlighted by a grey area.

- 2.2.13.1 Draw Object Describe Fields

- 2.2.13.1.1 Common Draw Object Fields
- 2.2.13.1.2 Straight Line Objects Describe Fields
- 2.2.13.1.3 Dimension Line Objects
- 2.2.13.1.4 BenchWork Objects Describe Fields
- 2.2.13.1.5 Curved and Circle Objects Describe Fields
- 2.2.13.1.6 Polygon Objects Describe Fields
- 2.2.13.1.7 Text Objects Describe Fields

- 2.2.13.2 Structures, Sectional Track and Turnouts Describe Fields
- 2.2.13.3 Describe Track Fields

- 2.2.13.3.1 Common Track Object Fields
- 2.2.13.3.2 Straight Track Describe Fields
- 2.2.13.3.3 Curved Track Describe Fields
- 2.2.13.3.4 Cornu Track Describe Fields
- 2.2.13.3.5 Bezier Track Describe Fields

Draw Object Describe Fields

# 2.2.13.1 Draw Object Describe Fields

- 2.2.13.1.1 Common Draw Object Fields
- 2.2.13.1.2 Straight Line Objects Describe Fields
- 2.2.13.1.3 Dimension Line Objects
- 2.2.13.1.4 BenchWork Objects Describe Fields
- 2.2.13.1.5 Curved and Circle Objects Describe Fields
- 2.2.13.1.6 Polygon Objects Describe Fields
- 2.2.13.1.7 Text Objects Describe Fields

Common Draw Object Fields

# 2.2.13.1.1 Common Draw Object Fields

If the Object is a Line, Curve, Circle or Polygon object, and the rotation origin is non-zero, a large blue cross will show its position. If it is zero, the command starts with the Lock Origin field unticked and the Rotate By field greyed out.

Some fields are used by multiple types of objects - these are listed below

Line Width
  The width of the line for a line, curve or unfilled object can be set. 0 means a pixel width at all scales. Other values are the width of the line in scale units. If the value is negative, it is the absolute value of pixels wide at all scales.
Pivot
  The Pivot control can be set to fix in place the start, or the middle or the end, and it applies to the Length, Line Angle and Angular Length controls. When these are changed the new dimensions are applied so as to keep the locked position in place.
Rotation Origin
  By default the rotation origin is the Layout origin {0,0}. If the origin is not at the Layout origin, it will be displayed with a blue cross. When the origin is changed with the Lock off, the object is not moved. But if the origin is changed with the Lock on, the object will be moved as well. Enabling the Lock To Origin allows subsequent Rotations to be about the origin. This may be especially useful when using creating larger groups of Draw objects.
Lock To Origin
  Locking to the rotation origin makes the distance between the First Point and the origin fixed. If this is set on, altering either the First Point or the Rotation Origin will move the both values. This value is initially set to locked if the Draw origin is non-zero when the Section 2.2.13 command is started but can be unset to allow repositioning of the Rotate Origin without moving the object in the layout. If the Rotate Origin is set to {0,0}, the Object has an Absolute origin.
Rotate By
  Some Draw objects (Polygon, Polyline, Lines, Curves, Circles, Text) can be rotated about their rotation origin in Describe. In order to rotate them, the Lock To Origin must be enabled. After the rotation completes, the rotation angle will be set back to zero and all the points of the object will be adjusted to their absolute position in the layout. Negative values of rotation are counter-clockwise. Note that for Text objects, the Rotation also changes the Text Angle.
Layer
  The layer of the object. The object can be moved between layers if the layer is not frozen. Only non-frozen layers are listed as options.
Color
  The color of the line or the fill can be set

Straight Line Objects Describe Fields

# 2.2.13.1.2 Straight Line Objects Describe Fields

End Pt 1
  For Straight Lines the object has a starting position (or first point) - altering this value causes the whole object to move relative to the layout origin.
End Pt 2
  Straight Lines have a second point, altering this, moves just that end of the line, altering its length as needed.
Line Angle
  Straight Lines have an angle - this is the angle between the two points, altering this moves the ends so as to respect the Pivot control setting.
Length
  The Length control can add to the start or end or both of a Line object depending on the setting of the Pivot control setting.

Dimension Line Objects

# 2.2.13.1.3 Dimension Line Objects

Size
  The size of the arrows and text can be set to Tine, Small, Medium or Large.

BenchWork Objects Describe Fields

# 2.2.13.1.4 BenchWork Objects Describe Fields

Lumber
  A set of standard dimensions of timber sizes that are often used to construct benchwork. They are specified in "nominal" dimensions but drawn in "actual" dimensions.
Orientation
  The timber can be orientated "On Edge" which will draw the smaller dimension or "Flat".

Curved and Circle Objects Describe Fields

# 2.2.13.1.5 Curved and Circle Objects Describe Fields

Center
  Curved Lines and Circles have a center. Moving this moves the object.
CW Angle and CCW Angle
  Curved Lines have an angle relative to the center that the arc starts and and one where it ends.
Angular Length
  For Curved Lines this is the length of the arc in degrees. If altered it will move the arc to respect the Pivot control setting.

Polygon Objects Describe Fields

# 2.2.13.1.6 Polygon Objects Describe Fields

Fill
  Some draw objects (Circles, Polygons) can be filled or emptied - note that Polylines can not be filled - they have to be closed first.
Open
  Unfilled Polygons can be opened to become Polylines or Polylines closed to become Polygons. Note that PolyLines can't be filled, they have to be closed first.
Point Count
  Polygons and PolyLines have a count of nodes - this is read-only.
Height and Width
  Rectangular Polygons have two properties that can alter the Height and Width of the Polygon
Line Type
  Straight and Curved Lines, PolyLines, Polygons and Structures can be drawn with dotted, dashed, dash-dotted and dash-dot-dotted lines.

Text Objects Describe Fields

# 2.2.13.1.7 Text Objects Describe Fields

Text Angle
  For Text objects, the Text Angle determines the absolute angle the text is rendered at.

This will be set by itself or by rotation of the starting position about the Rotation Origin with Lock to Origin set.

Boxed
  For Text objects, whether a line is drawn around the text.

Structures, Sectional Track and Turnouts Describe Fields

# 2.2.13.2 Structures, Sectional Track and Turnouts Describe Fields

Pivot
  The Pivot fixes the point about which the Angle of Rotation will occur to be the Start (Bottom Left) Point, the middle of the object, or End (Top Right) of the object. These relative positions are calculated as though the object was rotated by zero degrees.
Angle
  The Angle rotates the object about the Pivot point.

Describe Track Fields

# 2.2.13.3 Describe Track Fields

- 2.2.13.3.1 Common Track Object Fields
- 2.2.13.3.2 Straight Track Describe Fields
- 2.2.13.3.3 Curved Track Describe Fields
- 2.2.13.3.4 Cornu Track Describe Fields
- 2.2.13.3.5 Bezier Track Describe Fields

Common Track Object Fields

# 2.2.13.3.1 Common Track Object Fields

End Pt 1
  For the starting position (or first point) - altering this value causes the whole object to move relative to the layout origin. This can only be changed if the track is unconnected at that end. The elevation is shown beneath the X,Y as a read-only Z value.
End Pt 2
  The end position (or second point), altering this, moves just that end of the line, altering its length as needed. This can only be changed if the track is unconnected at that end. The elevation is shown beneath the X,Y as a read-only Z value.
Grade
  The calculated grade between the two end-points
Layer
  The layer of the object. The object can be moved between layers if the layer is not frozen. Only non-frozen layers are listed as options.
Length
  The length of the track object. This can be set for a Straight Track if it is not connected, and will respect the value of the Pivot field.
Pivot
  The Pivot control can be set to fix in place the start, or the middle or the end, and it applies to the Length, Track Angle and Angular Length controls. When these are changed the new dimensions are applied so as to keep the locked position in place.

Straight Track Describe Fields

# 2.2.13.3.2 Straight Track Describe Fields

Track Angle
  The angle of the Track object. This can be set if the track is not connected. It respects the value of the Pivot field

Curved Track Describe Fields

# 2.2.13.3.3 Curved Track Describe Fields

Center
  The center point of the curve. The center can only be modified if both ends are unconnected.
Radius
  The radius of the curve. The radius can only be modified if one end is not connected.
Angular Length
  The length of the curve in degrees. Modifications respect the Pivot value and are only available if at least one end is disconnected.
CCW Angle
  The Counter-Clockwise Angle (the angle from the center to the first position). Can only be modified if the first end of the curve is not connected.
CW Angle
  The ClockWise Angle (the angle from the center to the end position). Can only be modified if the second end of the curve is not connected.

Cornu Track Describe Fields

# 2.2.13.3.4 Cornu Track Describe Fields

End Angle
  Each end has an angle which helps determine the curve shape. It can only be set if the Track is not joined at that end.
End Radius
  Each end has an radius which helps determine the curve shape. It can only be set if the Track is not joined at that end.
End Pt
  Each End Point has a position. It can only be set if the Track is not joined at that end.
Center
  Each End shows the center of the curve of the end segment - this is a read-only field. If the radius is zero, the field will show {0,0}.
Minimum Radius
  This is the approximate smallest radius along the curve based on curve fitting to the Cornu.
Maximum Rate of Curvature
  The maximum rate that the radius is changing over its length based on curve fitting. It gives an idea of the "sharpness" of the curve.
Total Winding Angle
  The number of degrees that the curve executes - this number will rise if there are loops in the curve.

Bezier Track Describe Fields

# 2.2.13.3.5 Bezier Track Describe Fields

Ctl Pt
  The positions of the two Bezier control points. These will only be adjustable if the end they control is not attached to another track.
End Angle
  Each end has an angle which is set by the control arm at that end - this is a read-only field
End Radius
  Each end has an radius which is driven by the curve shape - this is a read-only field
End Pt
  Each End Point has a position. It can only be set if the Track is not joined at that end.
Center
  Each End shows the center of the curve of the end segment - this is a read-only field. If the radius is zero, the field will show {0,0}.
Minimum Radius
  This is the approximate smallest radius along the curve based on curve fitting to the Bezier.

Most commands return to Properties mode then they terminate unless the command is sticky (Section 2.10.8).

Note: the Default Command radio button on the Command Options (Section 2.10.2) dialog controls whether the Properties or the Select (Section 2.2.16) command is used as the default command.

Raise or Lower Elevation

# 2.2.14 Raise or Lower Elevation

This command allows you to raise or lower the elevation of all selected tracks.

The entered value is added to all Defined Elevations on the Selected tracks. A negative value will lower the Elevations.

Rotate

# 2.2.15 Rotate

This command is used to rotate selected (Section 2.2.16) objects.

The Rotate command can be invoked using the Change>Rotate menu item, the Rotate button, the menu raised by a Right-Click over the Main Canvas or by the Ctrl+Right-Drag command when over a selected trak in Select mode.

Successful use of this command requires selection of the object(s) to be rotated before attempting to rotate it. An object is selected by using the Left-Click command. A group of connected objects can be selected using the Shift+Left-Click command, or indivdual tracks added with Ctrl+Left-Click.

A pop-up menu with commands controlling how objects move during the Rotate function can be activated by entering a Shift+Right-Click command while hovering over the Main Canvas.

Note that a Rotate command for a Draw object does not use the Rotation Origin of that Object, even if has been defined as non-zero, instead it uses the position defined by the mouse or context command, and does not rotate the rotation origin.

Rotation can be achieved using one of the following methods;

  Left+Drag using the mouse. See Section 2.2.15.1 for detail.

  Selecting fixed or specified degrees of rotation using a Right-Click menu. See Section 2.2.15.2 for detail.

  Aligning the selected object with another object on the layout. See Section 2.2.15.3 for detail.

During Rotation of a track, if MagneticSnap (Section 2.12.1) is enabled, if one of the end-points of the selected objects is close to an open end of a unselected point, two anchors (an open an closed blue ball) will appear. This indicates that the two points will auto-snap and the moved track will align to the unselected point if the Rotation is stopped. This does not happen if Alt is used. If MagneticSnap is disabled, the snap will only occur if Alt is held. Note that this also applies to Section 2.2.9.

- 2.2.15.1 Using Mouse
- 2.2.15.2 Using Degree's of Rotation
- 2.2.15.3 Aligned With Another Object

Using Mouse

# 2.2.15.1 Using Mouse

Rotate An Object Using the Mouse

1. Select the object(s) to be rotated.

2. Click the Rotate button () to activate the Rotate function.

3. Visualize an axis point on the object that's to be rotated then place the mouse pointer over that point. If the track is a turntable, the point will be snapped to the turntable center if the mouse is within a quarter of the radius length of it.

4. Click and hold the left mouse button then drag (Left+Drag) the mouse away from the axis point to create a "handle". This handle will be used to rotate the object. While continuing to hold the left mouse button, drag (Left+Drag) the handle in the desired direction of rotation. Note: If the Shift+Ctrl key is pressed in conjunction with Left+Drag, the object will rotate in increments of 15°.

5. Release the mouse key once desired rotation is obtained.

1. If Magnetic Snap is enabled and the Alt button is not pressed, or ifthe Alt button is pressed when it is disabled, a magnetic anchor will be displayed if an end of the rotated tracks is near an open end. If the anchor shows and the rotate is completed, the tracks will Snap to Alignment and Join.

Rotation can also be achieved through use of one of these alternate methods;

  Selecting fixed or specified degrees of rotation using a Right-Click menu. See Section 2.2.15.2 for detail.

  Aligning the selected object with another object on the layout. See Section 2.2.15.3 for detail.

Using Degree's of Rotation

# 2.2.15.2 Using Degree's of Rotation

Rotate An Object Using Fixed or Specified Degree's of Rotation

A pop-up menu with additional menu items allows you to Rotate the selected object(s) through various predefined angles or through any angle you specify.

The Rotate command is executed as follows;

1. Select the object(s) to be rotated.

2. Click the Rotate button () to activate the Rotate function.

3. With the mouse pointer hovering over the point about which the object(s) are to be rotated, Shift+Right-Click to raise the Rotate menu then select the desired degree and direction of rotation from the list of predefined angles (180°, 90° CW, 45° CW, 30° CW, 15° CW, 15° CCW, 30° CCW, 45° CCW, 90° CCW).

Alternately, any angle may be entered by Left-Clicking the Enter Angle... menu item

1. Select the object(s) to be rotated.

2. With the mouse pointer hovering over the point about which the object(s) are to be rotated, Shift+Right-Click to raise the Rotate menu and then select the Enter Angle... option.

And then entering a desired angle in the Rotate dialog window that appears.

Rotation can also be achieved through use of one of these alternate methods;

  Left+Drag using the mouse. See Section 2.2.15.1 for detail.

  Aligning the selected object with another object on the layout. See Section 2.2.15.3 for detail.

Aligned With Another Object

# 2.2.15.3 Aligned With Another Object

Rotate and Align An Object With Another Object

A pop-up menu with additional menu items allows you to Align the selected object(s) with any other object on the layout. The Align command is executed as follows;

1. Select the object(s) to be rotated.

2. Click the Rotate button () to activate the Rotate function.

3. With the mouse pointer hovering over the point about which the object(s) are to be rotated, Shift+Right-Click to raise the Rotate menu then select Align.

4. Left-Click on the (selected) object that is to be rotated.

5. Left-Click on the object with which you want the selected object aligned. The selected object will rotate to align with the reference object.

Rotation can also be achieved through use of one of these alternate methods;

  Left+Drag using the mouse. See Section 2.2.15.1 for detail.

  Selecting fixed or specified degrees of rotation using a Right-Click menu. See Section 2.2.15.2 for detail.

Select

# 2.2.16 Select

Clicking on the Select button cancels all active commands, closes any open dialog windows and places focus on the main window.

In combination with the mouse, the Select command can be used as follows;

  Unselected Objects that will be added to the selected set with a Left-Click are highlighted in Blue as the mouse moves over them. Items that will be deselected are highlighted in Gold.

  Objects that are part of a Module Layer are selected or deselected together.

  Left-Click - if the SelectMode in Section 2.10.2 is set to Single Item Mode it selects just an object near the cursor. If it is set to Add Item Mode, it will add the nearby object or remove it if is already selected. Already selected objects appear in red (unless changed in the Color (Section 2.10.1) dialog) and a blue selection box surrounds all currently selected objects. If SelectZero is selected in Section 2.10.2 and an point that is not near to any object is selected, all objects are deselected.

  Ctrl+Left-Click - if SelectMode in Section 2.10.2 is set to Single Item Mode it adds an object near to the cursor to the selected objects, or removes if it is already selected. If set to Add Item Mode, it will select only the nearby object and delselect all the others. Already selected objects appear in red (unless changed in the Color (Section 2.10.1) dialog) and a blue selection box surrounds all currently selected objects. If SelectZero is selected in Section 2.10.2 and an point that is not near to any objects is selected, all objects are deselected.

  Shift+Left-Click - selects all unselected tracks connected to a track you select. Selection stops at already selected tracks. Caution: This can select all tracks on the layout.

  Left+Drag - highlights an area, and all the objects within the area are selected, if SelectMode is in Section 2.10.2 is set to "Add", already selected objects outside the area remain selected, otherwise "Only", they are deselected.

  Right-Drag - highlights an area, and all the objects within the area are unselected regardless of SelectMode.

  Right-Click and Shift-Right-Click - either display a pop-up menu of commands or a set of context commands for the item under the cursor depending on the setting of "Right-Click" in Section 2.10.2.

  or

  Double-Click - invokes Section 2.2.8 on the object after selecting it for eligible objects. Otherwise it acts as Left-Click.

  "?" - displays the Property menu for the object hovered over

- "e" sets the zoom to a value that allows all the room to be shown and moves the origin of bottom left of the window to be 0,0

- "s" sets the zoom to show the selected set of objects and pans the window to center the highlit area.

  "c" - moves the center of the window (i.e., Pans) to be at the cursor position

  Hovering over a selected object (inside the blue highlight area) displays an anchor. The Anchor shows the actions available -
  - If the Shift key is depressed, a "cross-arrows" anchor shows that a Section 2.2.9 will occur with Left-Click.
  - If the Ctrl key is depresesed, a "rotation-circle" anchor shows that a Section 2.2.15 will occur with Left-Click.
  - With neither depressed a "target" anchor shows that a Double-Click will invoke Section 2.2.8 within Select for the object hovered over.

  Shift+Ctrl plus the Arrow Keys will move the selected items a pixel at a time at the current zoom level. No autosnap will occur to permit fine tuning.

  Shift+Right-Click or Right-Click (depending on the setting of Right-Click in Section 2.10.2) - Shows context menu items that allow you to perform actions on the selected item(s) including rotating them by various angles and moving them fixed amounts.

  Shift+Left-Click+Drag - on a selected object moves the selected objects (the Move (Section 2.2.9) command).

  Ctrl+Left-Click+Drag - on a selected object rotates the selected objects (the Rotate (Section 2.2.15) command).
  - If the Shift key is pressed while dragging in rotation then rotation will occur in 15° increments.
  - If the selected items(s) are moved or rotated using the cursor, and an open end of unselected tracks is close to an end of the selected tracks that will be open after the move, a pair ot anchors shows that an autosnap with alignment will occur. Upon release of the button, all the selected tracks will be moved and aligned and the tracks joined.

  Double-Click - on a eligible object such as a Link Object will Activate it, and on a Modifyable object will go into Modify Mode (Section 2.2.8) within Select.

  Right-Click and Shift-Right-Click - either display a pop-up menu of commands or a set of context commands for the items selected depending on the setting of "Right-Click" in Section 2.10.2. The options effects depend on the type of object(s) selected and hovered over.

  or

Once Objects are

Once objects are selected, the following commands operate on them:

- Move (Section 2.2.9) the selected objects.
- Rotate (Section 2.2.15) the selected objects.
- Flip (Section 2.2.6) (mirrors) the selected objects.
- Delete (Section 2.4.4) selected objects.
- Hide (or unhide) in a Tunnel (Section 2.4.5).
- Move Above or Below (Section 2.4.2).
- Parts List (Section 2.9.6) of the selected objects.
- Change the width of the tracks' rails.
- Export (Section 2.5.1) the selected objects.
- Group Creates a structure or turnout definition (Section 2.9.4) from the objects.
- Rescale (Section 2.2.1) the selected objects.

The Cut, Copy, Clone and Paste commands found on the Edit (Section 2.4) menu will also operate on selected objects.

Notes:

- Connections between selected and unselected tracks will be broken when selected tracks are moved. If the Drawing Scale is 8:1 or smaller, these about-to-be broken connections are marked with a red X.

- During Move or Rotate operations, if an track end that will be disconnected during the operation comes close to a disconnected end of track that isn't selected, a pair of blue circles (one empty and one filled) will turn on. This shows that if the drag is stopped, those two points will be joined and the other selected tracks aligned. This represents a faster alternative to the Section 2.2.7.7 command.

- The Select All item on the Edit (Section 2.4) menu can be used to select all objects on the layout.

- The Default Command radio button on the Command Options (Section 2.10.2) dialog controls whether the Properties (Section 2.2.13) or Select command is used as the default command.

- Pressing the Escape key will deselect all selected tracks. Alternatively left-clicking on an empty area will also work.

Split Commands

# 2.2.17 Split Commands

There are two split commands, Section 2.2.17.1 and Section 2.2.17.3.

- 2.2.17.1 Split Track
- 2.2.17.2 Disconnect Joint

- 2.2.17.2.1 Divide Track
- 2.2.17.2.2 Adding Block Gaps

- 2.2.17.3 Split a Draw Object
- 2.2.17.4 Trim a Draw Object using another Draw object

Split Track

# 2.2.17.1 Split Track

The Split Track command provides several functions. It can be used to disconnect the joint between two sections of connected track, to divide a section of track into two pieces at a selected point or to place block gaps at an existing joint.

Until a split point is selected, the split point under the cursor will have a blue marker and if it is near a connected end a blue "X" will indicate that a split will occur.

For detail about;

  Disconnecting the joint between two sections of track see Section 2.2.17.2.

  Dividing a section of flex-track into two connected pieces or trimming a turnout see Section 2.2.17.2.1.

  Creating block gaps at an existing joint see Section 2.2.17.2.2.

Disconnect Joint

# 2.2.17.2 Disconnect Joint

Disconnecting a joint between two pieces of connected track;

1. Click the Split button () to activate the Split command.
2. Place the mouse pointer right over the joint between the two track endpoints (so the "X" is shown) then Left-Click.
3. A blue marker will show where a split will occur, but if the cursor is a near connected joint, it will show a blue "X".

  When the Split command completes, the joint at the two track endpoints will show three lines rather than one. The three lines represent abutted, disconnected track endpoints.

  Joint prior to split

  Joint following split

For detail about;

  Dividing a section of track into two connected pieces see Section 2.2.17.2.1.

  Creating block gaps at an existing joint see Section 2.2.17.2.2.

- 2.2.17.2.1 Divide Track
- 2.2.17.2.2 Adding Block Gaps

Divide Track

# 2.2.17.2.1 Divide Track

Dividing a section of flex-track into two connected pieces;

1. Click the Split Track button () to activate the Split Track command.
2. Place the mouse pointer over the point on the track where the it should be divided. A blue anchor bar across the track under the cursor will indicate the current split point. Then Left-Click.
3. To divide a Turnout, Shift must be held. The result will be a shorter Turnout with plain track replacing the rest of it. Note that the program will not stop division of the turnout between the switch blades and the frog - which would not be desireable in the real world.

  When the Split Track command completes, a connected joint will appear in the track at the point of selection. To split and disconnect at a point, execute the Split track command twice. The first command will split the track, the second command will disconnect it.

  Track prior to split

  Track following split

It's not possible to create a track shorter than the Minimum Track Length (Section 2.10.7).

This command is useful for placing tunnel portals or elevation points (Section 2.2.5) at specific track locations.

Normally a turnout cannot be split however, if the Shift key is held when executing this command then the turnout can be trimmed. Trimming replaces the portion of track between the split point and the turnouts endpoint with flex-track. For turnouts with more than one set of points (Section B.2), such as a slip switch or scissors crossover, a trim point cannot be selected between the points of the turnout.

For detail about;

  Disconnecting the joint between two sections of track see Section 2.2.17.2.

  Creating block gaps at an existing joint see Section 2.2.17.2.2.

Adding Block Gaps

# 2.2.17.2.2 Adding Block Gaps

The Split command can be used to add block gaps (Section B.2) at the point where two track endpoints join. Block gaps are drawn as a thick line and can be placed in either of the rails or both if total isolation is required.

  No Block Gaps

  Block Gap in top rail

  Block Gap in bottom rail

  Block Gaps in both rails

After starting the Split command use the Shift+Right-Click over a joint (with the blue "X" anchor showing) to display one of two pop-up menus which can be used to add, change or remove block gaps for the selected endpoint.

  This menu appears if track runs in a horizontal direction.

  This menu appears if track runs in a vertical direction.

For detail about;

  Disconnecting the joint between two sections of track see Section 2.2.17.2.

  Dividing a section of track into two connected pieces see Section 2.2.17.2.1.

Split a Draw Object

# 2.2.17.3 Split a Draw Object

The Split Draw command can be used to split many draw object (Straight Lines, Curved Lines, Circles, Polygons, PolyLines).

Until a split point is selected, the split point under the cursor will have a blue marker.

1. If the object being split is a Polyline, the split will either result in a Straight Line and a PolyLine or two PolyLines depending on where the split is along the line. (PolyLines must always have at least 2 segments).
2. Filled Circles and Polygons will be unfilled after the split.
3. If the split object is a Circle, the result is an circular arc split at the point with a small (5 degree) gap.
4. If the split object is a Polygon, a PolyLine with two end points at the split results.

Trim a Draw Object using another Draw object

# 2.2.17.4 Trim a Draw Object using another Draw object

The Trim Draw command can be used to trim many draw objects (Straight Lines, Curved Lines, Circles, Polygons, PolyLines). Polygons and Circles are split into PolyLines and Curves.

1. First a Trimming object (draw object) is selected with Left-Click. Until the trim draw object is selected, a draw object under the cursor will be highlit in blue. Once it is selected it will be highlit in the current Select Color.
2. Next the point of intersection between the trim object and an object to be trimmed is selected. Until a split point is selected, a suitable split point under the cursor will have a blue trim anchor that is a T shape aligned with the trimming object.

The trim anchor base has an arm that indicates which side of the trimmed object will be deleted. A Left-Click will trim the object.

If the trimmed object is a circle or a polygon, the result will be the same as a Split (Section 2.2.17.3), a 355 degree circle and an open polyline with ends at the split will result.

Once a trim has occured, the trimming object remains selected for another trim.

To leave the command use the spacebar. If Sticky (Section 2.10.8) is set for Split commands you will be able to select another trim object.

Draw Menu

# 2.3 Draw Menu

Draw commands are used to draw lines, arcs and other shapes. These can be used to represent water edges, bridges and other scenic features.

There are 4 command buttons on the tool-bar used to draw Straight Objects, Curved Lines, Circles and other Shapes. Each command button is followed by a button that changes the action (and Icon) on the command button.

Functions for drawing basic shapes and objects like lines and curves can be accessed from this menu.

  Circle Lines - draw empty or filled circles. (Section 2.3.1)

  Curved Lines - are created in the same manner as curved tracks. (Section 2.3.2)

  Note - attach a note icon to a specific location on the layout. (Section 2.3.3)

  Ruler - create ruler and set visibility (Section 2.3.4)

  Protractor - create protractor and set visibility (Section 2.3.5)

  Shapes - draw boxes, polygons and poly-lines. (Section 2.3.6)

  Straight Objects - draw straight objects. (Section 3.3.3.5)

  Text - allows entry of text directly onto the layout. (Section 2.3.9)

Some commands display controls on the Status Line (Section 3.1) to change line width, color or other attributes of the object.

- 2.3.1 Circles and Filled Circles

- 2.3.1.1 Draw Circle from Tangent
- 2.3.1.2 Draw Circle from Center
- 2.3.1.3 Draw Filled Circle from Tangent
- 2.3.1.4 Draw Filled Circle from Center

- 2.3.2 Curved Lines

- 2.3.2.1 Draw Curve from End Point
- 2.3.2.2 Draw Curve from Tangent
- 2.3.2.3 Draw Curve from Center
- 2.3.2.4 Draw Curve from Chord
- 2.3.2.5 Draw Bezier Curve

- 2.3.3 Note Variants

- 2.3.3.1 Text Note
- 2.3.3.2 Weblink
- 2.3.3.3 Document

- 2.3.4 Ruler
- 2.3.5 Protractor
- 2.3.6 Draw Shapes

- 2.3.6.1 Draw Box
- 2.3.6.2 Draw Filled Box
- 2.3.6.3 Draw Polygon
- 2.3.6.4 Draw Filled Polygon
- 2.3.6.5 Draw PolyLine

- 2.3.7 Straight Objects

- 2.3.7.1 Draw Straight Line
- 2.3.7.2 Draw Dimension Line
- 2.3.7.3 Draw Benchwork
- 2.3.7.4 Draw Table Edge

- 2.3.8 Draw Objects Origin
- 2.3.9 Text

Circles and Filled Circles

# 2.3.1 Circles and Filled Circles

Before a Circle is drawn its line width and color can be set. For Filled Circles, the color can be set. The Circle Line Width field is a scaled dimension in inches if >0. If 0 it is a 1 pixel wide line at all zooms. If the value is negative, it is a scale-independent number of pixels wide.

Circles and Filled Circles are created by selecting either the center position or a point on the edge of the circle and dragging to specify the radius.

  Section 2.3.1.1. Draw a Circle from the Edge.

  Section 2.3.1.2. Draw a Circle from the Center.

  Section 2.3.1.3. Draw a Filled Circle from the Edge.

  Section 2.3.1.4. Draw a Filled Circle from the Center.

- 2.3.1.1 Draw Circle from Tangent
- 2.3.1.2 Draw Circle from Center
- 2.3.1.3 Draw Filled Circle from Tangent
- 2.3.1.4 Draw Filled Circle from Center

Draw Circle from Tangent

# 2.3.1.1 Draw Circle from Tangent

`Left-Drag` a point from the edge of the circle to the center to specify the radius.

Draw Circle from Center

# 2.3.1.2 Draw Circle from Center

`Left-Drag` from the center of the circle to the edge to specify the radius.

Draw Filled Circle from Tangent

# 2.3.1.3 Draw Filled Circle from Tangent

`Left-Drag` from the edge of the circle to the center to specify the radius.

Draw Filled Circle from Center

# 2.3.1.4 Draw Filled Circle from Center

`Left-Drag` a point from the center to the edge of the circle to specify the radius.

Curved Lines

# 2.3.2 Curved Lines

Before a Curved Line is created, its width and color can be set. The Curved Line Width or Bezier Line Width field is a scaled dimension in inches if >0. If 0 it is a 1 pixel wide line at all zooms. If the value is negative, it is a scale-independent number of pixels wide.

Curved Lines are created in the same manner as curved tracks.

  (Section 2.3.2.1). Drag out the end point and then curve it.

  (Section 2.3.2.3). Select the center and then an endpoint and drag out the curve.

  (Section 2.3.2.2). Select the end and drag out the center.

  (Section 2.3.2.4). Drag from one end of the curve to the other to form the chord of the curve.

  (Section 2.3.2.5 Left-Drag out control point from one end of the curve and then Left-Drag out the second control point from the other end.

If MagneticSnap (Section 2.12.1) is enabled, the curve ends will snap to the nearest part of nearby Draw objects unless Alt is held. If Magnetic Snap is disabled, snapping to objects will only occur if Alt is held.

If Grid Snap is on and magnetic snap does not find a draw object, the curve ends will snap to the grid. Alt suppresses this snap.

If Sticky is set for curved line objects, after the curve is drawn there will be two text fields on the bottom rail, to allow fine-tuning of the radius and the arc angle. Pressing `Enter` or `Tab` with the cursor in these boxes will apply the new values to the curve. Pressing `Space` or `Enter` or `Tab` on the drawing surface will move to drawing a new curve. Pressing `Shift+Tab` with the cursor on the drawing surface will remove the current curve, but allow a new curve to be drawn. Even if `Esc` is pressed, the curve will already exist, it can be removed with Undo.

To adjust the curve with the mouse, Left-Click and Left-Drag an end or a the radius. Hit Enter or Space to accept, Esc to reject.

- 2.3.2.1 Draw Curve from End Point
- 2.3.2.2 Draw Curve from Tangent
- 2.3.2.3 Draw Curve from Center
- 2.3.2.4 Draw Curve from Chord
- 2.3.2.5 Draw Bezier Curve

Draw Curve from End Point

# 2.3.2.1 Draw Curve from End Point

`Left-drag` from the start of the curve and drag in the direction of the curve. Then `left-drag` to form the curve.

If the cursor is over a Draw object and MagneticSnap (Section 2.12.1) is on, the first position will snap to the nearest part of that object. If Alt is held the snap will be suppressed. If MagneticSnap is disabled, the snap will happen if Alt is held. If GridSnap is enabled and MagneticSnap does not find a postion, the first position will snap to the Grid. This is suppressed if Alt is held. The second end will act similarly.

Draw Curve from Tangent

# 2.3.2.2 Draw Curve from Tangent

Select one end of the curve and `left-drag` to the center. Then `left-drag` the curve around the center.

The first and second ends will act like Section 2.3.2.1 with MagneticSnap (Section 2.12.1) unless Alt is held. If GridSnap is enabled and MagneticSnap does not find a postion, the first position will snap to the Grid. This is suppressed if Alt is held.

To complete the command, drag on the red arrows to adjust the curve from the initial end.

Draw Curve from Center

# 2.3.2.3 Draw Curve from Center

Select the center of the curve and `left-drag` to one end. If GridSnap is enabled, the first position will snap to the Grid. This is suppressed if Alt is held.

Draw Curve from Chord

# 2.3.2.4 Draw Curve from Chord

`Left-drag` from one end of the curve to the other to form the chord of the curve.

The first and second ends will act like Section 2.3.2.1 with MagneticSnap (Section 2.12.1) and SnapGrid unless Alt is held.

If the mouse is over a draw object the second position will snap to the nearst part of that object. If Shift is held the snap will be suppressed.

To complete the command, drag on the red arrows to adjust the curve.

Draw Bezier Curve

# 2.3.2.5 Draw Bezier Curve

Left-Drag out control point from one end of the curve and then Left-Drag out the second control point from the other end. Repeat for the other end and control point.

The first and second ends will act like Section 2.3.2.1 with MagneticSnap and SnapGrid unless Alt is held.

Note Variants

# 2.3.3 Note Variants

The Note command allows you to

  Attach plain text notes (Section 2.3.3.1),

  Attach weblinks (Section 2.3.3.2) or

  Attach document references (Section 2.3.3.3) to selected places on the layout.

- 2.3.3.1 Text Note
- 2.3.3.2 Weblink
- 2.3.3.3 Document

Text Note

# 2.3.3.1 Text Note

Click and drag on the Main Canvas (Section 3.1) to place the note.

When you release, the Note Editor dialog is displayed. You can enter the note in the text area. Text is limited to about 10 thousand characters.

When in Properties (Section 2.2.13) mode, clicking on a Note will display the Property Sheet to let you read or modify the note.

Weblink

# 2.3.3.2 Weblink

Similar to text notes you can place a weblink on the layout.

After releasing the mouse button, the Link Editor dialog is displayed.

You can enter the URL of the website and a short description. When clicking on the Open button, your default browser is used to display the website.

When in Properties (Section 2.2.13) mode, clicking on a Weblink Note will display the Property Sheet to let you read or modify the URL or the description.

Double clicking on a weblink icon opens the website in your default browser.

Document

# 2.3.3.3 Document

Similar to text notes you can place a reference to a file on the layout.

After releasing the mouse button, the Document Editor dialog is displayed.

You can select the file and a enter a short description. When clicking on the Open button the file is opened with the default program for that file type.

When in Properties (Section 2.2.13) mode, clicking on a Document Note will display the Property Sheet to let you read or modify the filename or the description.

Double clicking on a document reference icon opens the document in the default program.

Ruler

# 2.3.4 Ruler

The Ruler command displays a ruler on the layout. Click where you want the ruler to begin and drag the cursor to measure distances from the origin. The measured length is displayed in the Status-bar (Section 3.1).

You can use the Modify (Section 2.2.8) command to change the length of the Ruler.

Subsequent clicks on the Ruler button will hide or display the ruler.

Protractor

# 2.3.5 Protractor

The Angle command displays a Protractor on the layout. Click for the protractor origin and `left-drag` the cursor to set the base angle. Adding `Ctrl` will snap the angle to a multiple of 90 degrees.

Then {Left-Drag the second line. Adding `Ctrl` will snap the angle to 90 degree relative to the base line. The angle between the lines is displayed.

Sunsequent clicks on the Angle button will hide or display the Protractor.

The points of the Protractor can be modified using the Modify (Section 2.2.8) command.

Draw Shapes

# 2.3.6 Draw Shapes

Shapes are drawn by:

  (Section 2.3.6.1). Boxes

  (Section 2.3.6.2. Filled Boxes

  (Section 2.3.6.3. Polygons

  (Section 2.3.6.4. Filled Polygons

  (Section 2.3.6.5. PolyLines

If Sticky is set for many draw line and curve objects, after the object is created, precise dimensions can be entered to alter the new object, before it is completed either with a `Space` or `Return` or `Tab` or by selecting a new operation.

The Polygon and PolyLine shapes are finished by pressing the `Space` or `Return` `Tab` key or by selecting another operation. Before they are finished, precise dimensions can be entered for the last side drawn. All Polylines and Polygons must have more than 2 corners to be created successfully.

Note that Section 2.2.8 can be used on a Polygon or a Polyline after it has been finished to alter individual points and to make them curved or rounded points.

- 2.3.6.1 Draw Box
- 2.3.6.2 Draw Filled Box
- 2.3.6.3 Draw Polygon
- 2.3.6.4 Draw Filled Polygon
- 2.3.6.5 Draw PolyLine

Draw Box

# 2.3.6.1 Draw Box

Before the box is drawn, the line width and color can be specified. The Box Line Width field is a scaled dimension in inches if >0. If 0 it is a 1 pixel wide line at all zooms. If the value is negative, it is a scale-independent number of pixels wide.

Boxes are created by selecting one corner and dragging the opposite corner.

Draw Filled Box

# 2.3.6.2 Draw Filled Box

Filled Boxes are created by selecting one corner and dragging the opposite corner.

Draw Polygon

# 2.3.6.3 Draw Polygon

Before the polygon is started the line width and color can be set. The PolyGon Line Width field is a scaled dimension in inches if >0. If 0 it is a 1 pixel wide line at all zooms. If the value is negative, it is a scale-independent number of pixels wide.

Polygons are created by either a series for `Left-Click`s or `Left+Drag`s, and a new "node" is placed for each. When using `Left-drag`, the node will be positioned when you release the button.

  If MagneticSnap (Section 2.12.1) is enabled, An anchor point will be shown on nearby draw objects that the next point will be snapped to unless `Alt` is held.
  If it is disabled, the snap will only occur if Alt is held.
  If `Ctrl` is held down when a new point is placed, it will snap the relative angle of the new side to a multiple of 90 degrees from the previous side. On the first polygon side this will be at a multiple of 90 degrees to the axes. The line from the previous point will be highlighted in Blue.
  A special blue square anchor will show when the cursor is in a position such that it is 90 degrees away from both the last point and the first point of the Polygon.
  The last polygon segment dimensions can be altered using the text boxes that appear showing the segment length and the relative angle to the previous segment.
  A polygon is closed if the next node is place over the start of the polygon
  The polygon is ended using `Enter` or `Space`. The polygon will be auto-closed.

Draw Filled Polygon

# 2.3.6.4 Draw Filled Polygon

Before the Polygon is started, the fill color can be set.

Filled Polygons are created by either a series for `Left-Click`s or `Left+Drag`s, and a new "node" is placed for each. When using `Left-drag`, the node will be positioned when you release the button.

  The fill color can be adjusted using the color control at the bottom of the window
  If MagneticSnap (Section 2.12.1) is enabled, An anchor point will be shown on nearby draw objects that the next point will be snapped to unless `Alt` is held.
  If it is disabled, the snap will only occur if Alt is held.
  If `Ctrl` is held down when a new point is placed, it will snap the relative angle of the new side to a multiple of 90 degrees from the previous side.

On the first polygon side this will be at a multiple of 90 degrees to the axes. The line from the previous point will be highlighted in Blue.

  A special blue square anchor will show when the cursor is in a position such that it is 90 degrees away from both the last point and the first point of the Polygon.
  The last polygon segment dimensions can be altered using the text boxes that appear showing the segment length and the relative angle to the previous segment.
  The polygon is closed if the next node is place over the start of the polygon
  The Filled Polygon is ended using `Enter` or `Space`. The polygon will be auto-closed.

Draw PolyLine

# 2.3.6.5 Draw PolyLine

Before the polygon is started the line width and color can be set. The Polyline Line Width field is a scaled dimension in inches if >0. If 0 it is a 1 pixel wide line at all zooms. If the value is negative, it is a scale-independent number of pixels wide.

PolyLines are created by either a series for `Left-Click`s or `Left+Drag`s, and a new "node" is placed for each. When using `left-drag`, the node will be positioned when you release the button.

  If MagneticSnap (Section 2.12.1) is enabled, An anchor point will be shown on nearby draw objects that the next point will be snapped to unless `Alt` is held.
  If it is disabled, the snap will only occur if Alt is held.
  If `Ctrl` is held down when a new point is placed, it will snap the relative angle of the new side to a multiple of 90 degrees from the previous side. On the first polyline segemnt this will be at a multiple of 90 degrees to the axes. The line from the previous point will be highlighted in Blue.
  A special blue square anchor will show when the cursor is in a position such that it is 90 degrees away from both the last point and the first point of the Polyline.
  The last drawn polyline segment dimensions can be altered using the text boxes that appear showing the segment length and the relative angle to the previous segment.
  The polyline is ended using `Enter` or `Space`.
  While drawing the Polyline certain short cuts are available by keystroke and via the Context Menu:
  `'p'` - to cover to a Polygon
  `'s'` - to smooth the last selected point
  `'r'` - to make the last selected point round
  `'v'` - to make the last selected point sharp (a vertex)
  `'o'` - to change to Section 2.3.8 mode

Straight Objects

# 2.3.7 Straight Objects

Straight Objects are created by a Left+Drag (Section B.1) on the layout.

  (Section 2.3.7.1). Creates a Straight Line

  (Section 2.3.7.2). Creates a Dimension Line of various sizes.

  (Section 2.3.7.3). Creates Bench-work using different types and orientation of lumber.

  (Section 2.3.7.4). Creates a Table Edge

- 2.3.7.1 Draw Straight Line
- 2.3.7.2 Draw Dimension Line
- 2.3.7.3 Draw Benchwork
- 2.3.7.4 Draw Table Edge

Draw Straight Line

# 2.3.7.1 Draw Straight Line

Creates a Straight Line of specified color and width. The Straight Line Width field is a scaled dimension in 75ths of an inch if >0. If 0 it is a 1 pixel wide line at all zooms. If the value is negative, it is a scale-independent number of pixels wide.

If `Ctrl` is held down during `Left+Drag` the line will snap the angle of the new side to a multiple of 90 degrees.

With MagneticSnap (Section 2.12.1) enabled, the new line start position will snap to the nearest draw object, as shown by the anchor. If `Alt` is held down, the magnetic Snap is reversed. If GridSnap is enabled and MagneticSnap does not find a postion, the first position will snap to the Grid. This is suppressed if Alt is held.

The Width field is a scaled dimension in inches if >0. If 0 it is a 1 pixel wide line at all zooms. If the value is negative, it is a scale-independent number of pixels wide.

If Sticky is set for straight draw, after the line is drawn there will be two text fields on the bottom rail, to allow fine-tuning of the angle and the length. Pressing `Enter` or `Tab` with the cursor in these boxes will apply the value to the line. Pressing `Space` or `Enter` on the drawing surface will move to drawing a new line. Pressing `Shift+Tab` will remove the current object and allow a new one to drawn. Even if `Esc` is pressed, the line will already exist, it can be removed with Undo.

Draw Dimension Line

# 2.3.7.2 Draw Dimension Line

Creates a Dimension Line of various sizes.

With MagneticSnap (Section 2.12.1) enabled, the new line start position will snap to the nearest draw object, as shown by the anchor unless `Alt` is held down. If it is disabled, it will only snap if Alt is held. If GridSnap is enabled and MagneticSnap does not find a postion, the first position will snap to the Grid. This is suppressed if Alt is held.

If `Ctrl` is held down during `Left+Drag` the line will snap the angle of the new side to a multiple of 90 degrees.

Draw Benchwork

# 2.3.7.3 Draw Benchwork

Creates Bench-work using different types and orientation of lumber.

Bench-work Notes

  Lumber is drawn using the Dressed size which is 0.25" smaller than the indicated size: a 1" x 2" actually measures 0.75" x 1.75". The drawn height of Girders is 0.5" smaller.

  Girders can be drawn in a variety of orientations: normal, inverted or rotated. L-Girders can be drawn with the flange to the Left or Right.

  When using metric units (Section 2.10.7), a 1" x 2" is labeled 50mm x 25mm

With MagneticSnap (Section 2.12.1) enabled, the new line start position will snap to the nearest draw object, as shown by the anchor unless `Alt` is held down. If it is disabled, it will only snap if Alt is held. If GridSnap is enabled and MagneticSnap does not find a postion, the first position will snap to the Grid. This is suppressed if Alt is held.

If `Ctrl` is held down during `Left+Drag` the line will snap the angle of the new side to a multiple of 90 degrees.

If Sticky is set for straight draw, after the benchwork is drawn there will be two text fields on the bottom rail, to allow fine-tuning of the angle and the length. Pressing `Enter` or `Tab` with the cursor in these boxes will apply the value to the benchwork. Pressing `Space` or `Enter` or `Tab` on the drawing surface will move to drawing a new benchwork line. Pressing `Shift+Tab` on the drawing surface will remove the current object and allow a new one to be drawn. Even if `Esc` is pressed, the benchwork will already exist, it can be removed with Undo.

Draw Table Edge

# 2.3.7.4 Draw Table Edge

Creates a Table Edge

With MagneticSnap (Section 2.12.1) enabled, the new line start position will snap to the nearest draw object, as shown by the anchor unless `Alt` is held down. If it is disabled, it will only snap if Alt is held. If GridSnap is enabled and MagneticSnap does not find a postion, the first position will snap to the Grid. This is suppressed if Alt is held.

If `Ctrl` is held down during `Left+Drag` the edge will to a end point of another table edge or to a multiple of 90 degrees if that isn't available.

If Sticky is set for straight draw, after the edge is drawn there will be two text fields on the bottom rail, to allow fine-tuning of the angle and the length. Pressing `Enter` or `Tab` with the cursor in these boxes will apply the value to the edge. Pressing `Space` or `Enter` or `Tab` on the drawing surface will move to drawing a new edge. Pressing `Shift+Tab` on the drawing surface will remove the current object and allow a new one to be drawn. Even if `Esc` is pressed, the edge will already exist, it can be removed with Undo.

Draw Objects Origin

# 2.3.8 Draw Objects Origin

Some objects will a natural rotation point within them. By setting the object origin to this point, subsequent rotation will be about that point and not the layout origin. This is referred to as a Relative origin and will be present if the origin is non-zero. When an object with a Relative is moved or rotated, the origin and angle are adjusted but the relative draw point values remain the same. If an object has a zero origin, it is called Absolute. If it is moved or rotated, the origin and angle remain zero, but all the obect point(s) are adjusted.

You can choose to set the origin to make it Relative or put it back to Absolute (origin zero) during Section 2.3.6 or Section 2.2.8 or by using the Section 2.2.13 settings.

As a practical matter, the object will appear identical until a subsequent rotation value is entered in the Section 2.2.13 window in both cases.

In Origin Mode (entered using `'o'` or the Context Menu, there are certain shortcuts available -

  `'p'` Go to Points Mode
  `'0'` Move to Absolute (Origin to 0,0)
  `'1-4'` Move the Relative Origin to the shape point 1 to 4
  `'l'` Move the Relative Origin to the last selected point
  `'m'` Move the Relative Origin to the middle of the shape (centeroid).

Text

# 2.3.9 Text

The Text command lets you enter a Text Draw object on the layout at the selected position. You can use the Tab key to format the text to fixed tab positions and CTRL+Enter to enter a newLine character.

The font size can be changed by the Font Size drop list on the Status-bar (Section 3.1). The font size is scaled along with everything else on the layout so text is always the same relative size as other layout objects.

The color used can be selected by the Color icon on the Status-bar (Section 3.1).

The new text object can be "boxed" by having a line drawn around it using the Boxed tick-mark on the Status-bar (Section 3.1).

The position where text is to be placed on the layout is selected prior to text entry by `Left-Click`ing on the layout at the point where the text is to appear. Desired text is input after the position is selected. If necessary, the location can be changed once text entry begins by `Left-Click+Drag`ing the text to any desired postion on the layout.

The Properties (Section 2.2.13) command can be used to modify the contents, color and fontsize of existing Text objects and to set the boxes property.

The new Text object is committed when another command is entered (or Enter is used if the Text command is Sticky).

The font used for all Text objects can be selected by the Font Selection (Section 2.10.5) dialog invoked by the Options>Fonts menu item or by `Shift+Right-Click` (Section 3.4).

Note: loading fonts (or changing sizes) can take a noticeable amount of time.

Edit Menu

# 2.4 Edit Menu

The Edit Menu shows commands affecting the Main Canvas (Section 3.1).

  Undo - Reverses the last command. Up to the last ten commands can be undone. If there are no commands that can be undone the Undo item is disabled. The Undo command can also be invoked by the Undo button (Section 2.4.9).

  Redo - Undoes the last Undo command. The Redo command can also be invoked by the Redo button (Section 2.4.9).

  Cut - Moves the selected objects to the clipboard.

  Copy - Copies the selected objects to the clipboard.

  Paste - Copies the contents of the clipboard to the layout. Using the paste Menu command it will be placed at the center of the screen. If the context menu paste is used or the short-cuts Ctrl+v or Shift+Insert, the parts will be placed at the cursor position. Repeated Pastes without moving the cursor result in overlaid copies. The newly pasted parts are in Selected state and can easily be moved into place. Any previously selected objects are unselected.

  Delete - Deletes the selected objects.

  Move To Current Layer - move all selected objects to the current Layer (Section 2.9.5).

  Select All - Selects all objects on the layout.

  Select Current Layer - selects all objects in the current Layer (Section 2.9.5).

  Select By Index - selects object by index number (Section 2.4.1).

  Deselect All - unselects all objects on the layout. The same action can be achieved by pressing the ESC key.

  Invert Selection - selects all unselected objects and unselects all previously selected objects.

  Select Stranded Track - selects all track pieces that are not connected to any other objects. This helps cleaning up a drawing after many changes have been made.

  Tunnel - Hides or reveals selected tracks and adds a tunnel portal symbol where the track passes from one to the other.

  Bridge - Adds or removes parapet symbols and a solid base to the track. The color is selectable (Section 2.10.1).

  Roadbed - Adds or removes solid roadbed under the track. The color is selectable (Section 2.10.1).

  Ties/No Ties - Hides or reveals the ties on selected tracks.

  Move To Front - Moves selected object to foreground.

  Move To Back - Moves selected object to background.

  Thin, Medium and Thick Tracks - set displayed rail width of selected tracks.

For more information on working with selected objects, see the Select (Section 2.2.16) command.

- 2.4.1 Select By Index
- 2.4.2 "Move To Front" and "Move to Back"
- 2.4.3 Additional Shortcut Keys
- 2.4.4 Delete
- 2.4.5 Tunnel (Hide Tracks)
- 2.4.6 Ties (Draw or Hide Ties)
- 2.4.7 Bridge (Draw or Hide Abutments)
- 2.4.8 Roadbed (Draw or Hide Base)
- 2.4.9 Undo and Redo

Select By Index

# 2.4.1 Select By Index

An input window allows one or more index numbers to be entered. Multiple indexes are seperated by commas.

The object can not be selected if its Layer is frozen.

If the object is part of a module layer, all objects in the layer will be selected.

If the object is a tunnel object, and the Display Tunnel option is None, it will be set to Dashed. See Display options (Section 2.10.3).

When an individual object is selected, its index number is displayed in the Info Message area, another source is the List Parts (Section 2.9.6) command with the List Indexes option.

"Move To Front" and "Move to Back"

# 2.4.2 "Move To Front" and "Move to Back"

The Move to Front and Move To Back commands move the selected objects (Section 2.2.16) to the top of the drawing list - the Foreground or to the bottom of the list - the Background making them more or less visible or prominent.

The effect is to make the objects move to be in front of all or behind all other objects. This command is useful when dealing with filled shapes (Section 2.3).

Selected objects moved to the Background become unselected.

Additional Shortcut Keys

# 2.4.3 Additional Shortcut Keys

Additional Shortcut keys perform the following:

  `Ctrl+Z` - Undo

  `Ctrl+R` - Redo

  `Ctrl+C` - Copy

  `Ctrl+V` - Paste

  `Ctrl+X` - Cut

  `Esc` - Deselect All

Delete

# 2.4.4 Delete

The Delete button is used to delete selected objects. Remember, the Undo (Section 2.4 or Section 2.4.9) command can be used to restore a delete object.

Deleting a track that is connected to an easement (Section 2.10.4) causes the easement to be deleted as well.

The Delete key invokes the Delete command.

Tunnel (Hide Tracks)

# 2.4.5 Tunnel (Hide Tracks)

The Tunnel command is used to hide selected (Section 2.2.16) tracks (as in a tunnel).

Select the tracks you want to hide in a tunnel. Selecting a hidden track 'reveals' it.

A tunnel portal is drawn where a hidden track connects with an 'unhidden' track. You can split (Section 2.2.17.1) a track to place a tunnel portal at a particular spot.

The Draw Tunnels Radio button group on the Options>Display dialog (Section 2.10.3) controls whether hidden tracks are not drawn, drawn as dashed lines or drawn as normal lines.

Ties (Draw or Hide Ties)

# 2.4.6 Ties (Draw or Hide Ties)

The Ties command is used to hide Ties (or reshow them). This may be useful for overlapping track, like dual gauge, or in areas like docks or yards where the track is covered.

Select the tracks you want to hide or show ties for.

Bridge (Draw or Hide Abutments)

# 2.4.7 Bridge (Draw or Hide Abutments)

The Bridge command is used to add abutments to a track (as on an underbridge).

Select the tracks you want to be a bridge. Bridge abutments are drawn alongside the track and a solid layer is added under the ties. You can split (Section 2.2.17.1) a track to shorten the length of the bridge, or to add an extra pier to the drawing.

If you perform this action on an existing bridge (or use Tunnel) the bridge is removed.

Roadbed (Draw or Hide Base)

# 2.4.8 Roadbed (Draw or Hide Base)

The Roadbed command is used to add a solid color under a track (as roadbed).

Select the tracks you want to have roadbed. A solid roadbed layer is drawn under the track.

If you perform this action on existing roadbed (or use Tunnel) the roadbed is removed. The bridge option takes precedence over roadbed.

Undo and Redo

# 2.4.9 Undo and Redo

The Undo and Redo buttons invoke the same actions as the Edit menu items. The name of last command will be displayed as the Balloon Help (Section B.1) for the Undo button. The name of last undone command will be displayed as the Balloon Help for the Redo button.

File Menu

# 2.5 File Menu

The File Menu shows file oriented commands for loading and saving layout files. File Types The main two filetypes that XTrackCAD uses are normal Layout Files (*.xtc) and Archive Files (*.xtce). The internals of both formats are described in the XtrkCAD Wiki at Wiki FileFormats.

Layout File The layout file is named with a *.xtc extenstion and is a text-based description file of all the objects used in the layout plus some information about the options currently in use. Archive An archive is named with a *.xtce extension, is a zipped collection of -

- a manifest JSON file that lists the contents,
- the .xtc layout file, and
- any other content listed in the manifest -> such as referenced image files. Initially the only such content is the background image which is added to the archive if it is present.

  Exit - Exits XTrackCAD. You will be asked to confirm your choice if there are unsaved changes.

  Export - Exports objects to a file in XTrackCAD (*.xti) format. If no objects are selected, all objects in visible layers are exported. If objects are selected they are exported. The exported file can then be imported into another layout design. Refer to the Import command listed below.

  Export to Bitmap - Creates a bitmap file (Section 2.5.2) of the layout. The bitmap can be saved in either JPEG or PNG format.

  Export to DXF - Exports objects to a file in DXF format (Section B.2). If no objects are selected, all objects in visible layers are exported. If objects are selected they are exported. The exported file can then be imported into other CAD programs.

  Export to SVG - Exports objects to a file in SVG format. If no objects are selected, all objects in visible layers are exported. If objects are selected they are exported. The exported file can then be imported into a vector drawing program like Inkscape or used for publishing on the web.

  File List - List of the five most recently used XTrackCAD files or archives.

  Import - Displays the file selection dialog which allows selection of an existing XTrackCAD Import (Section 2.5.1 *.xti) files. This function can be used to transfer parts like a yard design from one layout design to another.

  Import Module - Displays the file selection dialog which allows selection of an existing XTrackCAD Import (Section 2.5.1 *.xti) file. The imported parts are put into a empty layer, sets the layer name to the imported filename and sets the layer to be a module - see (Section 2.9.5).
  New - Clears the current layout. In case there are any unsaved changes on the current plan, a warning pop-up will be displayed and you'll have the option to cancel the operation. After that the Layout Options (Section 2.10.6) dialog will be opened.

  Notes - Displays a simple notepad editor which you can use to enter information about the layout. Typically this could include prototype, period, theme, layout style, height, construction, type of track and turnouts used, control system and anything else of interest. (There is also a Note command (Section 2.3.3) which allows attaching notes to particular parts of the layout.)

  Open - Displays the File Open dialog which allows an existing XTrackCAD file or archive to be selected and opened. In case there are any unsaved changes on the current plan, a warning pop-up will be displayed and you'll have the option to cancel the operation.

  Parameter Files - Displays the Parameter Files dialog (Section 2.5.7) to choose parameter files.

  Print Setup - Shows the Printer Setup Dialog (Section 2.5.10).

  Print - Invokes the Print command (Section 2.5.9).

  Revert - Undoes all changes and returns to the last saved layout plan.

  Save - Saves the layout under the current file name and with the same file type as was opened. If a filename has not yet been assigned then the File Save dialog is shown so you enter a file (.xtc) or archive name (.xtce).

  Save As - This command lets you make a copy of the track plan you are currently working on as an file (.xtc) or an archive (.xtce). It differs from the regular Save command. Save stores your data back into the folder (directory) it originally came from in the same filetype. "Save As" lets you give your plan a different name and/or put it in a different folder on your hard disk and chnage its filetype using the selection box at the bottom of the list of files or by hardcoding the extensions .xtc or .xtce (for an archive).

- 2.5.1 Export
- 2.5.2 Export to Bitmap
- 2.5.3 Export to DXF
- 2.5.4 Export to SVG
- 2.5.5 Import
- 2.5.6 Import as Module
- 2.5.7 Parameter Files
- 2.5.8 Choose Parameter Files
- 2.5.9 Printing
- 2.5.10 Printer Setup

- 2.5.10.1 Linux
- 2.5.10.2 Microsoft Windows

- 2.5.11 Printer Margin

Export

# 2.5.1 Export

This menu item displays a file selection dialog where a file name for exported objects can be entered. All selected (Section 2.2.16) objects are exported to the file. The export file will have an `xti` extension.

Using the Import command (section 2.5.5), an exported file can be imported into another layout design.

Export to Bitmap

# 2.5.2 Export to Bitmap

This menu item creates a bitmap file of the layout.

The Bitmap dialog specifies the style and size of the bitmap. The check-boxes (Layout Titles, Borders, Centerline of Track and Background Image) control whether the Layout Title (Section 2.10.6), the borders or the track centerlines are printed on the bitmap. If a background image is used it will be printed if the option is set.

The size of the bitmap is smaller if these are disabled.

Printing the track centerlines (also seen when zoomed in 1:1) is useful when you later print the bitmap full size for laying out track.

If the Snap Grid (Section 2.12.2) is visible then it will be printed on the bitmap.

The DPI control specifies the number of pixels per inch in the bitmap. Bitmaps must be less than 32,000 pixels in height or width. The upper value you can enter depends on the size of your trackplan. It is made sure that your bitmap does not exceed these limits. Larger values will result in a larger bitmap file.

The bitmap width, height and approximate file size is indicated.

Note: This command can create a very large file and consume a lot of memory and time.

Pressing the OK button invokes a File Save dialog so you can choose the file name for the Bitmap.

You can select to create JPEG or PNG files. As a rule of thumb JPEG results in smaller files when you use a backgound image, PNG does so for trackplans without an image background.

Export to DXF

# 2.5.3 Export to DXF

This menu item displays a file selection dialog where a file name for exported objects can be entered. All selected (Section 2.2.16) objects are exported to the file. The export file will have an `xti` extension.

Exported files can then be imported into other CAD programs.

Export to SVG

# 2.5.4 Export to SVG

This menu item displays a file selection dialog where a file name for exported objects can be entered. All selected (Section 2.2.16) objects are exported to the file. The export file will have an `svg` extension.

Files in SVG format can be used for different purposes.

- SVG files can be loaded into many drawing programs. This makes it possible to enhance and resize the image. Vector images have the advantage of allowing lossless resizing.
- Most modern browsers support SVG as an image format. So the resulting file can directly be used to publish your plan on the web. By adding a bit of Javascript, zooming and panning can be enabled. Appropiate scripts can easily be found using your favorite search engine. The generated SVG uses the layout description as a title that is shown by some browser. Also the drawing has an 'id' for manipulation by Javascript. This id is derived from the filename by removing all spaces and sticking the word 'id' in front. Eg exporting `stonega.xtc` the resulting id will be `idstonega`.

Import

# 2.5.5 Import

Importing displays a file selection dialog to specify the file to import.

After importing the objects from the file, the imported objects are in selected state and therefore are drawn in red. This allows you to easily move and rotate the imported objects to their final position.

Import as Module

# 2.5.6 Import as Module

Importing displays a file selection dialog to specify the file to import as a module.

After importing the objects from the file, the imported objects are in selected state and therefore are drawn in red. This allows you to easily move and rotate the imported objects to their final position.

Parameter Files

# 2.5.7 Parameter Files

Parameter Files contain turnout, sectional track and structure definitions. Loaded Parameter Files are managed with the Parameter Files dialog.

The dialog contains a list of parameter files. Each file is preceded by a color indicator. These indicators show whether a parameter file contains definitions that are usable in the current scale and gauge.

Definitions from this file are a perfect fit for the current layout options. The file has been loaded and will be visible in the HotBar. For track this means that gauge and scale of the track elements are identical to the layout settings. Prototype definitions (Scale "*") are always a perfect fit. Turnouts and Sectional Track must have the same gauge and usually the same scale unless the scale/gauge combination has been defined to fit. OO layouts use HO track as an example.

Definitions from this file can be used with this layout but do not fit perfectly. A typical example is On30 where HO scale track can be used because the gauge is the same. But differences in scale may make the track look out of scale. Structures are considered compatible if the scale is within +/-20%. Cars are compatible if the gauge is the same, but the scale can be +/-20%. Exceptions to this can be defined in the scale definitions.

This parameter file doesn't contain any usable definitions with current settings. You may want to change the layout options if you want to use elements from this file (for example altering the Layout Scale).

This file is loaded but hidden. If it is marked as favorite it will be kept on the list between runs.

Parameter files can be marked as favorite. The indicator for favorites is a star. The meaning of the colors isn't changed.

Loaded definition files that are marked with a yellow or a green indicator appear on the Hot Bar (Section 2.7).

If you unload a file the definitions are removed from the selection lists and the Hot Bar. If the unloaded file was marked as a favorite it can be reloaded by selecting the Reload button.

Files that are still loaded can be reloaded as well. In that case the old definitions are refreshed and extended by the rereading the file. This can be useful if you want to check changes you made by hand-editing a parameter file.

Note that loading a file does not change the existing definitions in the layout. To do that after loading, use Section 2.9.10.

It is possible to change the state of several files at once. The Select All button allows you to select all parameter files for the next operation.

In case unloaded files are marked as favorite, their state will be preserved between runs of the program. This makes it possible to keep a list of preferred parameter sets between runs of XTrackCAD but hide temporary unused files from the hotbar. That way the hotbar contents can be kept short containing only the currently needed elements.

In order to update the defintion of an already loaded file from disk, you can use the Reload button. This will reload the file contents - with any changes made. It is the equivalent of using Browse and selecting the file again.

Files can be listed by either their file name or by their contents description. This is controlled by the Show File Names check box.

The Library button opens the Choose Parameter File dialog (Section 2.5.8) this shows the all files included the system library so they can be added.

The Browse button opens a file window that allows the user to add additional files to directly load other non-system parameter files such as provided by other users or downloaded from the Internet.

When first installed, parameter files for all common scales are loaded. You can unload parameter files you don't use to speed up XTrackCAD startup time.

The order in this list controls the order of turnouts and structures on the Hot Bar (Section 2.7). You can move a parameter file to the end of the list by Unloading it, and then loading it via the Browse button.

Choose Parameter Files

# 2.5.8 Choose Parameter Files

Selecting and loading additional parameter files from the System Library is done in the Choose Parameter Files dialog.

Using the Search function you can find and select parameter files that are part of the XTrackCAD installation. Enter a set of one or more words and select the Search button. Search results are shown in the list box. Pressing the Clear Filter button shows the complete list again.

You can subset the search to only search for parameter files who start with contents that fit the current Layout Scale using the Fit Mode. The options are "Fit All", "Fit Compatible" and "Fit Exact". Fit Compatible means that structures with Note that the code only looks at the first Turnout, Structure or Car entry to decide on the scale for the entire file. They will correspond to the color icons on the Parameter Files menu once they are loaded Section 2.5.7 when the same Layout scale is in use.

Select the files you're interested in and press the Add button to add them to your parameter list.

Printing

# 2.5.9 Printing

The Print command (File>Print) is used to print all or a portion of the layout.

The Print Setup command (File>Print Setup) is used to set up the printer properties.

When the Print command is selected a grid, which represents each printed page, is drawn on the layout. Pages can be selected or unselected for printing by placing the mouse over a grid section and clicking the left mouse button.

The Print dialog contains a number of control areas:

The size of each page is controlled by:
  Scale - up to 1:1.

  Width, Height - scaled size of each page. Values for Width and Height can be manually entered, overriding the maximum values. Values larger than the page size times the Scale cannot be entered.

  Max - sets Width and Height to the maximum for the print Scale.

  Snap Shot - adjusts the Scale, Origin and Angle to produce a one-page snap shot of the layout.

  Format - Portrait or Landscape.

Page printing order is controlled by the Print Order option.
  Relative to the Print Grid:
    Normal order is Columns first, Top to Bottom, Left to Right.

    Reverse order is Rows first, Left to Right, Bottom to Top.

Whether tracks are printed with one or two lines (representing the center line and rails) depends on the Print Scale. If this value is smaller than or equal to twice the Two Rail Scale on the Display (Section 2.10.3) dialog then tracks are drawn with two lines. This corresponds to the way tracks are drawn on the main window, adjusted to account for the greater resolution of most printers. At 1:1 tracks are also drawn with a center line.

Other options:
  Engineering Data - show title, user, date and other information in a box at the bottom of the printout.

  Registration Marks - at 1:1 scale, print location markers every 3" (or 10cm). This option is only enabled at 1:1. This is useful for aligning multiple pages printed at different angles.

  Page Numbers - to help positioning the individual pages the page number is printed in the center of the page in the format (x/y). x is the page position from left to right, y in from bottom to top, So (1/1) is the page at the bottom left. As an additional aid, the numbers of the next pages are printed on each edge.

  Snap Grid - if the Snap Grid (Section 2.12.2) is visible then it may be drawn on the printout. This option is only enabled if the Snap Grid is visible.

  Rulers - choose to print rulers at the layout edge, or on all edges of the page, an option is only enabled if the Angle is 0.000, or None - which means print no rulers.

  Centerline below Scale 1:1 - dotted line down the center of the Track/Roadbed. This line will always be printed at Scale 1:1, but selecting this option will print it at smaller scales. This option is disabled if tracks would be drawn with only one line (instead of two).

  Roadbed Outline - lines representing the edge of the Roadbed. The Roadbed will be printed if the Width is greater than the track gauge. Note: this option is most useful at 1:1. This option is disabled if tracks would be drawn with only one line (instead of two).

  Ignore Page Margins - use the physical page size. This allows the printouts to abut without trimming.

  Margins - examine and update the printer margins for the current printer. (Section 2.5.11)

The orientation of the print grid is controlled by:
  X - X co-ordinate.

  Y - Y co-ordinate.

  Angle - of the grid.

These values can be set directly or by dragging on the layout. `Shift+Left+Drag` moves the grid and `Shift+Right+Drag` rotates the grid. The Reset button resets the values to 0.

The Print button prints the selected pages and closes the Print dialog. It is not enabled until you have selected some pages to print.

The Setup button invokes the Printer Setup (Section 2.5.10) dialog.

The Select All button selects all pages for printing.

The Clear button unselects all selected pages, so no pages will be printed.

Suggested Uses:

Use the Snapshot button to set the scale and orientation for a one-page printout of the layout. Also set Engineering Data to add the Layout Title, Scale and other data for a summary.

Use Layers (Section 2.9.5) to control which tracks are visible (and printed). Put bench-work, scenery or different tracks levels in separate layers and hide the layers you are not working with.

To transfer the drawing to the layout without printing at 1:1, make the Snap Grid (Section 2.12.2) visible and orient it to match your room or layout table.

Check the Print Snap Grid toggle and use the printed grid to transfer measurements to your layout space. You may want to change the color (Section 2.10.1) of the Snap Grid to make it more visible on the printout.

When you print multiple pages you can check Ignore Page Margins so pages can be placed next to each other. The tracks will line up correctly without trimming or overlapping the pages. Note: depending on your printer there will be an unprintable margin around the edge of the page.

If you print at 1:1 for direct transfer to the sub-roadbed, check Print Roadbed Outline and set Width to show lines for making cuts.

If you make printouts in strips at different angles at 1:1 (to follow tracks around a curve), check Print Registration Marks to be able to align the separate strips.

Printer Setup

# 2.5.10 Printer Setup

- 2.5.10.1 Linux
- 2.5.10.2 Microsoft Windows

Linux

# 2.5.10.1 Linux

The Printer Setup dialog allows you to configure the application's use of the printer.

The Printer Setup window contains:

  Format for - a list to select a particular printer. The entries on this list are defined by `printer` lines in the `~/.xtrkcad/xtrkcad.rc` file. The first entry, 'File', causes printouts to be sent to a file. You will be prompted for a file name when doing a print.

  Paper Size - a list of various supported paper sizes.

  Orientation - a Radio button to select various Landscape or Portrait formats. This setting is ignored, use the Page Format entry on the Print dialog.

  Apply - updates the data and ends the dialog.

  Cancel - ends the dialog without update.

Note - Printing uses a default of 600ppi. It scales the print and text from a default size of 72dpi. This is often the expected value for a standard printer driver to work correctly, but will not work if the driver is not accurately setting the ppi available. To override the printer ppi you can use either the configuration file settings for print or environmental variables. These values are set in the Preferences section.

1. Preferences.PrintScale - The floating point ratio of the real printer dpi to 72.
2. Preferences.PrintTextScale - The floating point ratio of the real printer text support to a dpi of 72. This value has no effect unless PrintScale is set to > 0.0.

These values can also be set using environmental variables if the configuration preference values are not set or they are set to <=0.0.

1. XTRKCADPRINTSCALE
2. XTRKCADPRINTTEXTSCALE

Microsoft Windows

# 2.5.10.2 Microsoft Windows

The Windows Printer Setup dialog allows you to configure the application's use of the printer.

The Printer Setup window contains:

  Name - a drop down list for selection of a particular printer. Entries in this list are defined by `Windows`.

  Status - the current status of the selected printer.

  Type - the type and model of printer selected.

  Where - The location of the printer if it's defined in the printers properties.

  Comment - Any comments defined that are defined in the printers properties.

  Paper Size - a list of various North American and European paper sizes.

  Paper Source - a list of various paper tray locations associated with the selected printer.

  Orientation - a Radio button to select either Landscape or Portrait format. This setting is ignored, use the Page Format entry on the Print dialog.

Printer Margin

# 2.5.11 Printer Margin

The Printer Margins dialog allows you to configure the selected printer's margins.

The margins for the four edges of the printed page are displayed. The default values are fetched from the Operating System. You can enter updated values if the System values don't match your actual printer.

The Reset is enabled if the displayed values don't match the System values and will reload the System's values.

To check your printer's margin:

  Set Scale to 1

  Set Origin and Angle to 0.000 by clicking the Reset button

  Enable Registration Marks this prints crosshairs every 3" or 10cm at scale 1:1.

  Enable Ignore Page Margins

  Select and Print the lower left page of you layout

  Measure the distance from the left and bottom edges to the Registration Mark at (3",3") or (10cm,10cm).

  Update the Printer Margin values for the left and bottom edges. You can also update the top and right edges.

Margins values are stored for each printer.

You can also load PrinterMarginTest-A4.xtc or PrinterMarginTest-Letter.xtc from Help|Examples. These files have registration lines in the corners to help determine your printer's margins.

Help Menu

# 2.6 Help Menu

The Help Menu displays information on various topics. The contents of the menu vary depending on the operating system.

  The Help command opens the Help Window at the Contents Page.
  The Help Command Context command opens the Help Window at the page for the current Command.
  Recent Messages

The Recent Messages command opens a cascading menu containing recent error messages and notices you have received. Selecting one of them displays additional information about the message (Section C.2).

The Collect Problem Info command helps you to put together the information and files that might help the developers to analyze and fix possible bugs.

  Collect Problem Info

The command removes userids and other private information from the files. The results are stored in a compressed (zip-) file and placed in the same directory as the affected layout file.

  Tip of The Day

The Tip of the Day item displays a useful tip about the operation of XTrackCAD. By default, a new tip is displayed each time you start the program.

  Demo Menu

The Demos command (Section 2.6.1) opens a cascading menu which invokes various demonstrations of XTrackCAD features.

The Examples command displays the list of included example programs which you can examine.

- 2.6.1 Demo Mode

Demo Mode

# 2.6.1 Demo Mode

The Demos menu item, under the Help (Section 2.6) menu, shows a cascading menu of choices to demonstrate various features and commands.

In demonstration mode XTrackCAD is driven by a script file (such as created by the Record (Section 2.8) command). The cursor is simulated on the Main Window (Section 3.1) and the XTrackCAD windows (except the Demo window) are inactive. Also, simulated input on dialogs is indicated by a border momentarily drawn around the control.

The Demo dialog is displayed which contains a number of control buttons and a text area that shows comments on the demonstration being run.

- Next - skip to the next demonstration. If you hold down the Shift key then you will jump back to the previous demonstration.

- Quit - quit demonstration mode.

- Speed - controls the speed of the demonstration.

- Step - advance to the next step of the current demonstration.

The state of the layout is saved when running demonstrations.

A number of options and controls (such as scale) are changed while running demonstrations. These will be restored when the demonstration is finished.

You can adjust Window sizes and positions while the demonstration is running to better see what is happening.

Hot Bar

# 2.7 Hot Bar

The Hot Bar starts with a flex-track of the current gauge, and then a scrolling list of all the turnouts, sectional track and structures available through the Turnout (Section 2.1.8) and Structure (Section 2.1.7) commands. The Description and/or Part Number under each object can be displayed by enabling the Hot Bar Labels radio button on the Display (Section 2.10.3) dialog.

Only those items taken from files which are in the current scale/gauge are displayed in the HotBar. They are shown in order - A Flex-track - then the Contents of Files in the File->Parameter Files... List in listed order - and then any Custom objects created in this Layout as listed in the Manage->Custom Defined Parts dialog.

The arrow buttons on either side of the Hot bar move the list one object to the right or left. Holding down the Shift key will move the list by greater amounts. About eight `Shift+Click`s are required to move the list through the entire range of objects. Also, pressing the keys `1` through `9` and `0` will cause the Hot Bar to jump relative spots on the list.

A `Right-Click` over the Hot Bar will display a pop-up menu listing the files with contents on the Hot Bar. Selecting an item from this list causes the Hot Bar to jump to the relative spot on the whole list.

Objects on the Hot Bar are placed on the drawing canvas by first selecting an object by Cicking it on the Hot Bar. Then Click and Drag on the Main window, rotating it with `Right-Drag` to position it, and then pressing the `Space` key to set it in place.

For Turnouts, see below for additional details on the Active EndPoint.

- 2.7.1 Flex-track
- 2.7.2 Structures
- 2.7.3 Turnouts

Flex-track

# 2.7.1 Flex-track

A Flex-track unit can be placed for convienience on the left-hand side of the HotBar. This is can be hidden by an option in Section 2.10.7. It can be recognised because it is the only diagonally facing track element and has a label "FLEX". It is used by `Left-Click` selecting it, and `Left-Click` clicking on the layout where the first end should be placed, and then `Left-Click` for the second end. If either end is over an unconnected end and Shift was not held, the flex-track will be connected to the track and the end angle and radius will be set from the track. If an end was not over an unconnected end, it can be manipulated by left dragging out the end angle before releasing. If the second end is not on a track end, differing end angles will produce a smooth curve, if both ends are unconnected, simply `Left-Click` without dragging produces a straight track. Once both ends have been defined, the track can then be manipulated like a section 2.2.8.8 Cornu Curved Track, by selecting and moving ends, adding and removing "pins" and altering the end anchor angle and radius if the flex-track is not connected at that end. If the disconnected end is dragged and the button released while over an open end of another track, it will be connected to it in the manner of a Join with a Cornu easement.

A Flex-track will form a Straight Track if the ends have zero radius and are in a line with opposed end angles. If the ends are not aligned but the end angles are opposed it will be a simple S-curve. It will be a smooth monotonic curve if the ends are not in a line and the end angle lines and chord form a triangle. Otherwise it will be a complex S-curve. .

Structures

# 2.7.2 Structures

Structures are placed on the layout in the same way as turnouts (Section 2.7.3) except no Active EndPoint exists and they do not align with existing track.

Refer to Section 2.1.7 for information pertaining to use of the Structure dialog.

Turnouts

# 2.7.3 Turnouts

Turnouts have an Active EndPoint (Section B.2) which is the handle used to position the Turnout. You can change the Active EndPoint by a `Shift+Left-Click` which causes the next endpoint to become Active.

If you `Left+Drag` a turnout onto a track, the Active EndPoint (Section B.2) is aligned with the selected track. On flex-track, you can flip the turnout by moving the cursor from one side of the track centerline to the other. On another turnout, the new turnout will be placed at the endpoint closest to the cursor.

XTrackCAD will automatically connect the turnout's endpoints to any other tracks they are aligned with. The number of endpoints that will be connected is displayed on the Status Bar, as well as the Maximum displacement between these endpoints and the tracks they will be connected to. XTrackCAD will adjust the position of the Turnout to give you the best fit for locating the turnout. You can override this adjustment by holding down the Shift key while Dragging.

`Right+Drag` or `Ctrl+Left+Drag` (Section B.1) can be used to rotate the turnout on the layout. `Shift+Right-Click` (Section 3.4) displays a pop-up menu allowing you to rotate the turnout by various angles.

When you press the `Space` key, the turnout is positioned on the layout. Any tracks that are aligned with any of the turnout's endpoints will be connected to the turnout automatically. If you are using the Turnout (Section 2.1.8) command then you can also click the OK button on the dialog.

If you choose another turnout or change commands after beginning to place a turnout on the layout, the turnout will be created as if it is attached to another track. Otherwise it will be removed.

If the Drawing Scale is smaller or equal to the Label Scale (Section 2.10.3) then Turnouts will be labeled with their description when drawn. The individual labels can be can be turned off by the Move Description(Section 2.2.10) command, or all Turnout labels can be disabled by using the Display (Section 2.10.3) dialog. As well, the length of any connected Flex-track will be indicated at each endpoint.

Refer to Section 2.1.8 for information pertaining to use of the Turnout dialog.

Macro Menu

# 2.8 Macro Menu

The Macro Menu shows commands that can be used to Record and Playback commands.

  Record - Displays the Record dialog (after prompting for a file name). The current layout state and most subsequent actions will be saved in the recording file.

  - Messages can be inserted into the recording file by pressing the Message button on the Record dialog then entering a message in the text display.

  - Press the End button to end entry of the message and resume recording.

  - Press the Stop button to stop recording.

  Playback - Displays the Playback dialog (after prompting for a file name). This is used to playback previously recorded sessions. Note: the layout state will be saved during playbacks and restored after.

The Record command is useful if it becomes necessary to report a bug in XTrackCAD.

Manage Menu

# 2.9 Manage Menu

The Manage Menu shows commands affecting the Main Canvas (Section 3.1).

  Car Inventory - displays the dialog (Section 2.9.1) to update your list of cars and locomotives.

  Custom Management - displays the Custom Management (Section 2.9.2) dialog to manipulate custom turnout, structure and rolling stock designs.

  Layout Control Elements - display the Layout Control Elements (Section 2.9.3) dialog to manipulate blocks, turnout motors and signals.

  Group - creates a Structure or Turnout definition from the selected (Section 2.2.16) objects. See the Group command (Section 2.9.4) for details.

  Layers - displays the Layer (Section 2.9.5) dialog.

  Parts List - Invokes the Parts List (Section 2.9.6) command. This command produces a list of all selected turnouts and sectional tracks and the total length of flex-track.

  Price List - Displays the Price List (Section 2.9.7) dialog to specify prices for tracks and structures.

  Train - Run trains on the designed layout

  Turnout Designer - displays a menu list of Turnout Designer (Section 2.9.9) dialogs.

  Ungroup - breaks apart any selected (Section 2.2.16) turnouts and structures into their basic lines (Section 2.3) and track segments.

  Update Turnout and Structures - replaces (Section 2.9.10) any selected (Section 2.2.16) Turnouts and Structures with the definitions from updated parameter files (Section 2.5.7).

- 2.9.1 Car Inventory

- 2.9.1.1 Car Item Dialog
- 2.9.1.2 Car Part Dialog
- 2.9.1.3 Car Prototype Dialog

- 2.9.2 Custom Management
- 2.9.3 Layout Control Elements Dialog
- 2.9.4 Group Dialog
- 2.9.5 Layers Dialog
- 2.9.6 Parts List
- 2.9.7 Price List
- 2.9.8 Train Mode
- 2.9.9 Turnout Designer
- 2.9.10 Update Turnouts and Structures
- 2.9.11 Ungroup

Car Inventory

# 2.9.1 Car Inventory

This dialog is used to manage your list of cars and locomotives.

The main part of this dialog contains a detailed list of each car and locomotive in your inventory. The list can be sorted on different columns by selecting column names in the Sort Drop Down Lists along the top of the dialog. The width of the columns can be adjusted by Left+Drag on the lines between the column titles.

Cars are placed on the layout by using the Train Simulation (Section 2.9.8) command.

The Find button will center the Main Window (Section 3.1) on the selected car. This button is only enabled for cars which are on the Layout (indicated by co-ordinates in the Location column). If the car on a track that is hidden and Trains on Hidden Track (Section 2.10.3) is set to Hide, then the car (and any attached cars) will be made visible.

The Edit button invokes the Car dialog (Section 2.9.1.1) to modify the selected car. This button is disabled if more than one (or no) car is selected or if the selected car is on the Layout.

The Add button is to add a new Car. Refer to Section A.3 if an error occurs when attempting to add inventory to this list.

The Delete|Shelve button serves two functions: If all selected cars are on the layout then this button shows Shelve and it moves them from the layout and returns them to the Shelf. If all selected cars are on the Shelf then this button shows Delete and they will be deleted from the Inventory. Otherwise, the button is blank and disabled.

The Import and Export buttons read and write a Comma-Separated-Value (CSV) file. This file format can be read and written by many applications. It can be used to transfer car inventory data between different applications. This file contains the following columns (the first four are required when Importing):

  Scale - example: HO, HOn3, N, O etc

  Manufacturer and Partno

  Prototype - example: GP40

  Index - an unique numeric identifier (optional)

  Roadname, Repmark and Number - example: Burlington Northern, BN, 1234

  Type - enter one of the following:
  - 10101(Diesel),
  - 10201(Steam),
  - 10301(Electric),
  - 30100(Freight),
  - 50100(Passenger),
  - 70100(M-O-W) or;
  - 90100(Other)

  Options - bit map of
  - 0x0001 - Body Mounted Couplers
  - 0x0002 - Locomotive
  - Other bits can be ignored

  CarLength, CarWidth, CoupledLength, Truch Center Offset and TruckCenter - car dimensions in inches

  Color - encoded as (Red * 65536 + Green * 256 + Blue)

  PurchPrice, CurrPrice, PurchDate and ServiceDate - numeric values - dates are in the form yyyymmdd, where yyyy is the year, mm the month, dd the day

  Condition - enter one of the following:
  - 100(Mint),
  - 80(Excellent),
  - 60(Good),
  - 40(Fair),
  - 20(Poor) or;
  - 0(N/A)

  Notes - free form text

The List button creates a text file listing your inventory.

- 2.9.1.1 Car Item Dialog
- 2.9.1.2 Car Part Dialog
- 2.9.1.3 Car Prototype Dialog

Car Item Dialog

# 2.9.1.1 Car Item Dialog

This dialog is invoked from the Car Inventory (Section 2.9.1) and the Custom Management (Section 2.9.2) dialogs.

The dialog can be displayed in three different ways and is used to create or edit Car Items, Car Part definitions or Prototype definitions.

The Add button creates a new definition. The dialog remains open so you can enter multiple definitions. You can Close the dialog when you are finished. If you are editing an existing definition then the Add button will be replaced by the Update button which updates the selected definition and closes the dialog.

The New button on the Car Item dialog invokes the Car Part or Car Prototype dialog which you can use to create new part or prototype definitions for your cars. The New button on the Car Part dialog invokes the Car Prototype dialog.

Car Item Dialog

The dialog contains:

  Car Description which contains lists of Manufacturer, Prototype and Part Number which are used to select the Car Part. The Manufacturer list contains the entries Custom and Unknown for special Car Parts. For these entries you can enter the Part Number and Description fields.

  - If the manufacturer of your car is not listed in the Manufacturer list you can type in the new name. Also, if the Part is not listed you can enter a new part number. The new part will be added to the list of Custom Car Parts (Section 2.9.2).

  The Mode Radio button group lets you choose between the Information controls described here or the Customize controls described in the next section. You would use the Customize option to change Road name, Number or Color if you have repainted the car or to adjust the dimensions.

  Details about the individual car item such as Index, Price and Condition, Dates and Notes. The Index value must be unique for all car items.

  - To enter multiple New Cars you can set the Quantity field to a value greater than one. The Numbers Radio button group specifies whether the new car's numbers will be sequential (such as 1234, 1235, ...) or repeated.

  Message Line which will contain instructions if there any fields that need to be completed.

Car Part Dialog

# 2.9.1.2 Car Part Dialog

This dialog is similar the the Car Item dialog except that the Car Item Information section is not displayed. The Manufacturer Drop Down List is editable so you can enter a new manufacturer, and you must enter a Part Number. If you are adding a new car part, the Part Number field will be incremented (if it is a numeric value) so you can enter a number of car parts.

The middle section contains:

  The Road, Reporting Mark, Number and Color. You can choose a Road name from the list of known road names or enter a new value. If known, the reporting mark (road name abbreviation) is filled in. These values control what label content is shown for Cars. If a reporting number is present the rep mark and the rep number will be used if the Cars Label Option is on in Section 2.10.3

  Car Dimensions which contain the major dimensions of the car and how the coupler is mounted on the car. The Coupler Length is measured from the edge of the car body to the pulling face of the coupler. It is equivalent to half the separation between two coupled cars.

  - When entering values, the `p` key will convert a prototype measurement to a scale measurement.

  - The length dimension has the following relationship, so changing one value will affect the others:

      Coupled Length = Car Length + 2 * Coupler Length

      The Center Offset moves the center of the two trucks from the center of the Car. This is a common feature of steam locomotives and means the envelope of the engine requires greater seperation between tracks on small radius curves. The minimum clearance needed can be seen by placing the car with the greatest distance from the center of the trucks to the corner on the inner radius and the car with the greatest distance between the trucks on the outer radius. See NMRA TN-7 Curved Track Centerline and Obstacle Clearance Calculation Methodology.

  A diagram showing the position of the trucks and couplers.

Car Prototype Dialog

# 2.9.1.3 Car Prototype Dialog

This dialog is used to create or edit prototype definitions.

The first section contains the name of the Prototype and its Type.

If this dialog was invoked from the Car Item or Car Part dialog then the prototype diagram will be copied from the selected part. Otherwise, the prototype is drawn as the default image which is a simple blue rectangle or, if it is a locomotive, with one end angled.

The Import button creates a prototype definition from the selected (Section 2.2.16) lines and shapes. To use this, first create a set of shapes (Filled Rectangles, Polygons, Circles, Lines etc) using the Draw (Section 2.3) commands on the main canvas. Select the shapes and use the Import button.

The Reset button will reset the figure to the default image.

If this dialog is invoked by the New button on the Car or Car Part dialog then the initial image will be copied from the prototype displayed on those dialogs. You can use this to make variations of existing prototypes.

The Color control on the Car Part dialog will replace any color of the Imported shapes which is not Black or a shade of gray with the selected hue.

The Flip button flips the diagram horizontally. For locomotives, the forward direction is to the right.

Unlike the other dialogs, dimensions in this dialog are in prototype units. When entering values, the `s` key will convert a scale measurement to a prototype measurement.

Custom Management

# 2.9.2 Custom Management

The Custom Management dialog allows you change the properties of turnouts, sectional track, structures, car parts and prototypes you have designed with the Turnout Designer (Section 2.9.9), Group (Section 2.9.4) or Car (Section 2.9.1.1) commands. You can also move selected objects to a Parameter File (Section 2.5.7).

The Edit button invokes the appropriate designer or editor dialog for the selected item. This button is disabled if more than one (or no) object is selected.

  The Turnout Designer (Section 2.9.9) is used to modify the selected turnout design. If you wish to modify cosmetic details on a turnout or sectional track use the Group (Section 2.9.4) command to add them to an existing definition.

  Structures and old Turnout Designs use the Rename Dialog to change the Manufacturer, Description or Part Number values. For these objects the Edit button's label changes to Rename. Structures are not edited using this dialog but by using the Ungroup (Section 2.9.11) and Group (Section 2.9.4) commands.

  The Car (Section 2.9.1.1) dialog is used to modify Car Prototype and Car Parts.

The Delete button removes the selected entries from the `xtrkcad.cus` (Section 1.9) file when you exit the dialog.

The Move To button moves the selected entries to a Parameter File (Section 2.5.7). If the Parameter File does not currently exist than you will be prompted to supply a contents description line for the file. In case the parameter file already exists, the selected entries are appended to this file.

The New buttons invokes the Car (Section 2.9.1.1) dialog to create a new Car Prototype or Car Part.

Layout Control Elements Dialog

# 2.9.3 Layout Control Elements Dialog

This dialog is used to manage layout control elements (blocks, switchmotors, and signals).

Control Elements are elements related to layout control: blocks (occupancy detection), switchmotors (actuators to "throw" turnouts), signals, controls (other actuator or output devices), and sensors (other sensor or input devices). These elements don't relate to directly "physical" items on the layout, but instead refer to the elements used by the layout control software. These elements contain "scripts", which are really just textual items that provide information for the layout control software and provide a bridge between physical layout elements (like tracks or turnouts) and the layout control software. These textual items could be actual software code or could be LCC Events (for I/O device elements on a LCC network) or DCC addresses for stationary decoders, etc. XTrackCAD does not impose any sort of syntax or format -- that is left up to other software that might load and parse the XTrkCAD layout file. All that XTrackCAD does is provide a unified place for this information to be stored and to provide a mapping (association) between this control information and the layout itself.

The main part of this dialog contains a list of the currently defined layout control elements (blocks, switchmotors, signals, controls, and sensors), along with the tracks they relate to. These elements are added to the layout either from their Hotbar menus or from the Add menu.

The Edit button allows for editing a control element. And the Delete button deletes the selected element(s).

Group Dialog

# 2.9.4 Group Dialog

The Group command combines the selected (Section 2.2.16) Lines and Shapes (Section 2.3) to create structures (Section 2.7). You can give the structure (Section 2.7) a title consisting of Manufacturer, Description and Part Number on the Group dialog.

The title will be pre-populated with the title of the last Structure you ungrouped (Section 2.9).

You can include Turnouts, Sectional, Straight or Curved tracks in the selected objects which allows you to add cosmetic details to a Turnout definitions, or create a new Turnout definition. This can also be used to if there are fixed-track locations on a structure, like on an engine shed.

Group is intended to operate on simple groups of track segments. If you intend to group a large number of track segments, you should consider using Import Module (see Section 2.9.5),

To modify a Structure or Turnout definition, first place the object on the layout, select and then Ungroup the object. Now the parts of the object can be edited using the Modify (Section 2.2.8), Draw (Section 2.3) or other commands. Once completed, select the object parts and use the Group command to update the definition (or create a new one by changing the title).

The Group dialog shows the Manufacturer, Description and part number (Title) of the new definition. Initial values are based on selected turnouts and structures or on the last Ungrouped object (Section 2.9.11). The Turntable/TransferTable/DblSlipSwitch? toggle button controls whether non-conflicting Paths should be combined or keep separate, see Paths below. The Replace with new group? toggle button is used if you want to replace the selected objects with the new definition. All fields listed in this dialog window must contain data.

The definition data will be added to the `xtrkcad.cus` (Section 1.9) file for later use. Please consider contributing this information for others to use.

If you modify a definition from a XTrackCAD Library parameter file, the new definition will replace the existing definition on the Hot Bar (Section 2.7), otherwise it will be added to the end of the Hot Bar. You can use the Custom Management (Section 2.9.2) dialog to change the title or delete custom definitions.

Note: The selected tracks are decomposed into segments, which are simple tracks and drawing object (lines, curves, polygons ... ). Any track segments must appear in the first 127 segments. This implies a limit of 127 track segments.

  You can re-order the segment list by
  - Ungroup the selected tracks
  - Unselect all, and select the tracks you want to group
  - Move selected objects to bottom
  - Add the non-tracks object to the selected track segments
  - Retry the Group command

Paths define which segments are followed by a train in Train mode. Normally, if two paths follow paths of separate segments, then the paths are combined. For example a simple turnout would have two paths, but since the paths share some common segments, the paths are not combined. A Crossing has two paths but since they don't have any segments in common, the two paths are combined into one. A Turntable can have many distinct paths but only one would be valid at any time. In this case we don't want to combine paths and the toggle would be checked.

Layers Dialog

# 2.9.5 Layers Dialog

Each object is contained in a layer - which is a custom group of objects that do not have a particular visual order, but can be treated as a set for certain commands. Objects which are created independently of other objects (such as straight tracks (Section 2.1.6) or text (Section 2.3.9)) are created in the current layer. Objects which are associated with other objects (such as tracks created by the Modify (Section 2.2.8) or Join (Section 2.2.7) commands) are created in the same layer as the associated object(s).

The Layers dialog allows you to change various attributes of each of the 99 possible layers.

Attributes associated with a layout are stored within the associated layout file and apply only to the layout that's open at the time of a change. It is possible to apply attributes from one layout file to another using the Load and Save buttons.

The drop down list at the top of the dialog selects the Layer you are interested in. Frozen layers are preceeded by a `*`, Module layers are proceeded by a `m`, non-empty layers are preceded by a `+` and empty layers by a `-`.

The Name edit box contains the name of the Layer. This name is listed in the Current Layer drop down list on the Tool-bar (Section 3.1). Also the Name is displayed as the balloon help for the corresponding Layer Button.

The Color button specifies the color of tracks if either of the two Color Layers (Section 2.10.3) radio buttons on the Display dialog is checked and the Use Color button for this layer is checked.

The Visible check-box controls whether the Layer is drawn on the Main (Section 3.1) window.

The Frozen check-box indicates that tracks in that Layer can not be modified or deleted.

The On Map check-box controls whether the Layer is drawn on the Map (Section 3.2.2) window.

The Module check-box controls whether the Layer is selected/deselected and so moved or rotated as a group - this can be used to denote a track module in a modular layout - allowing the modules to be positioned as units. Objects in a Module Layer can not be individually modified. One way of getting a modules in is to build a library with Export and then Import As Module - this creates one layer per module, names it and sets the Module check-box.

The No Button check-box selects if the Layer has a button to hide/show it. You may choose not to have a button if the layer is empty or if it is a sub-layer controlled by another layer.

The Linked Layers text box can contain a semi-colon-delimited set of layer numbers that will be shown and hidden along with this layer when its show/hidden state is changed. A blank means no layers are linked. The layers can have buttons or not.

You cannot uncheck Visible or check Frozen for the Current Layer.

The Load Settings specifies a settings (.xset) filename in the XTrackCAD working directory that is loaded when this layer is made current. Only the values contained in the file will be set. If this name is blank the default values (all those in use when any layer that has no Load Settings file value was last used) will be reloaded (or retained). The dropbox contains all the names of files in that directory.

The Count field displays the number of objects in the selected Layer.

The Save button stores layer attributes in the `xtrkcad.ini` file so they may be loaded into an existing or new file. Once saved and unless reset to XTrackCAD Default, modified layer information is applied to each new file.

The Load button reads layer attributes from the `xtrkcad.ini` file then applies it to each layer of the current layout file.

The Defaults button restores layer attributes to default XTrackCAD settings.

The bottom of the dialog contains the Number of Layer Buttons integer edit box. This controls the number of Layer Buttons displayed on the Tool-bar (Section 3.1). These buttons make it easy to switch between layers. The maximum number of Layer Buttons that can be displayed is 99. Layers with "no-button" set do not count towards the Number of Layer Buttons.

The Layer Buttons on the Tool-bar (Section 3.1) control which layer is the current Layer and which Layers are displayed on the Main Canvas. These buttons are a short cut for the Visible check-box on the Layers dialog for the corresponding layer.

The current layer is selected by picking a value from the drop down layer list. If the Layer you've selected was not visible, it will be shown.

You can hide (or show if not visible) the different layers by pushing one of the Layer Buttons on the Tool-bar (if you have configured the tool-bar (Section 2.12.3) to show the Layer buttons). If a layer is not visible then the corresponding layer button will be raised. The active or current layer cannot be hidden.

The color of each layer button shows the color that will be used to draw tracks or draw objects in that layer, if you have selected the Color Layers (Section 2.10.3) on the Display dialog. The Use Color button allows this layer to opt in or out - which can be usefu if you want to color other layers but a layer contains pre-colored objects (like Structures or Scenery).

Any selected objects are unselected when the Layer is set to not visible. If a layer is not visible, you cannot select objects in the Layer. It is as if the objects do not exist until you show the layer again.

The Move To Current Layer command on Edit menu (Section 2.4) will move all selected (Section 2.2.16) tracks to the current Layer.

Objects are drawn on the map window, if the Layer they are on has On Map checked.

Parts List

# 2.9.6 Parts List

The Parts List command produces a list of all selected (Section 2.2.16) turnouts, sectional track and bench-work. It also computes total length of selected flex-track.

If no objects are selected, all objects are enumerated.

The Save As... button opens a File Save dialog window that's used to name and save the parts list to a file.

The Print button opens the Print dialog which is used to facilitate printing of the parts list.

The Close button terminates the Parts List command.

The Parts List dialog will list pricing for selected objects if the Prices check box is checked. Prices are set using the Price List (Section 2.9.7) dialog.

The Parts List dialog will list the index numbers of each type of named track in a comma delimited list on a new line if the Indexes check box is checked. This list can be used in the Select By Index (Section 2.4.1) command.

Hint: you can use the Parts List command to measure the length of selected flex-track.

Price List

# 2.9.7 Price List

The Price List dialog allows entry of prices for Turnouts, Sectional Track and Structures. Only those objects from loaded Parameter Files (Section 2.5.7) or Custom Designs for the current Scale (Section 2.10.6) are listed.

The price of a selected object can be changed in the Cost edit box that's located above the "Price" column.

The price of a length of Flex-Track for the current Scale (Section 2.10.6) is listed at the bottom of the dialog. You can specify the Length in Inches or Centimeters. To specify the price for other Scales change Scale (Section 2.10.6) on the Layout (Section 2.10.6) window.

The Parts List (Section 2.9.6) dialog lists prices for selected objects if the Prices check box on the dialog window is selected.

Train Mode

# 2.9.8 Train Mode

The Train command lets you place and run Trains on the layout.

During this command, the Tool Bar and Hot Bar are changed. Most of the Tool Bar buttons are replaced by the Go/Stop and Exit buttons. The Go/Stop button toggles between Pausing all Trains and allowing Trains to Run. The Exit button terminates the Train Simulation and returns to Layout Design mode. The Hot Bar becomes the Shelf.

Selecting New Cars
  The Shelf contains the Cars and Locomotives which have not been placed on the Layout. Cars are created and managed using the Car Inventory (Section 2.9.1) dialog.

  Each item on the Shelf can represent a group of Cars. Cars can be grouped by Prototype, Manufacturer and/or Part Number. They can also be listed as individual Car Items. This grouping is controlled by Car Labels Drop Down List on the Display (Section 2.10.3) dialog.

  To place a Car, select it from the Shelf. If the Shelf is displaying Cars in groups (and not as individual Car Items) then a Drop Down List is displayed on the Status Bar (Section 3.1) containing the individual Car Items in that group.

  If you are not displaying the Shelf, then the New Car button () will be shown on the Tool Bar. Pressing this button will display the Drop Down List on the Status Bar (Section 3.1) containing all of your Car Items that have not yet been placed on the layout.

Placing Cars
  Once you have selected a new Car, or have selected an existing Car on the Layout, you can position it by using the mouse to drag it around the Layout. If the Car is coupled to other Cars then the whole set of Cars is moved. If you place the Car on a Track, that Car (and the other coupled Cars) will be aligned along the track.

  Note: If you move the tracks but not the cars (or vice-versa) using the Move (Section 2.2.9) or Rotate (Section 2.2.15) commands the cars will not remain attached to the tracks. If the cars are moved close to a track, then they will be aligned when the Train Simulation command is next invoked.

Coupling Cars
  If a Car is moved along a track to another Car then the Cars will be coupled together.

Uncoupling Cars
  To uncouple Cars, Right-Click between the Cars then select Uncouple from the pop-up menu.

Change Train or Car Orientation
  The orientation of a Train or Car can be reversed by Right-Click over the appropriate object then selecting either Flip Train or Flip Car from the pop-up menu.

Remove Train or Car From Layout
  To remove a Train or Car from the layout, Right-Click over the appropriate object then select either Remove Train or Remove Car from the pop-up menu.

Change Reporting number of Car on Layout
  To change the reporting number, Right-Click over the Car and then select Describe and update the field. This value will be shown in the car if Labels are shown and in the Train Control Window.

Trains
  A Train consists of one or more Locomotives coupled to other Cars. One Locomotive will be the MU Master for the Train. The MU Master can be changed by Right-Clicking on a Locomotive and selecting MU Master from the pop-up menu. The MU Master is drawn with a solid Yellow head light indicating the direction is moving. If a Train is split by uncoupling between Locomotives, then two Trains will be created, each with their own MU Master.

Train Control

  The Train Control dialog is used to set the speed and direction of Trains. The dialog contains a list of Trains (listed by their MU Master Locomotive reporting number). Before each Train on the list is either a Red circle (indicating the Train is stopped) or a Green circle (indicating the Train is moving).

  Any number of Trains can be running, although it might be difficult to keep track of more than a few.

  For the selected Train, the Train Control dialog lists
    Train status: indicating that the Train is moving, is paused or the reason if the Train is stopped.

    The position of the Train

    A slider which controls the speed of the Train in Scale Miles-Per-Hour or Kilometers-Per-Hour.

    The Odometer which measures the total distance travelled by the train, which can be reset by pressing the 0 button.

    The Find button which positions the Main Window (Section 3.1) to show the Train. If the Trains on a track that's hidden and Hide Trains on Hidden Track (Section 2.10.3) is Enabled then the Train will be made visible until the next time it moves.

    The Follow toggle button which causes the Main Window (Section 3.1) to follow the Train as it moves. The Follow toggle can only be set on one Train at a time, and it is cleared if you press the Find button or otherwise manually move the main canvas.

    The Auto Reverse toggle button which causes the Train to change direction when it hits the end of a track.

    The Direction radio button group which controls the direction (Forward or Reverse) of the Train.

    The Stop button which sets the Trains speed to 0.

Train Operation
  Once a Train is moving, it will continue to move until it is Stopped manually, hits the end of track or an open Turnout. If the Train 'runs into' other Cars, those Cars will be coupled to the Train. If Trains speed is faster than the Max Coupling Speed (Section 2.10.7) then the Train will crash and must be manually moved back onto the track.

  If two Trains are coupled, one of the two MU Masters will be chosen as the MU Master for the combined Train.

  The motion of all Trains can be Paused by clicking the Go/Stop button on the Main Window Tool Bar. Pressing the Escape key has the same effect as clicking on the Stop button. This allows you set Turnout positions or make other changes. When Train command starts, the Go/Stop button is in the Stop position and must be clicked before Trains move.

Turnouts and Turntables
  Turnout positions are indicated by Red lines connecting the endpoints on the route through the Turnout. Trains will follow this route through the Turnout. If you Shift+Left-Click on the Turnout, the next position will used and Red line changed to indicate the new position.

  Turntables can be turned by using Shift+Left-Click on the endpoint you want the Turntable bridge to move to. If you click on the Turntable where there is no endpoint, the Turntable will turn to the next endpoint beyond that point in the direction of the click relative to the nearest end of the turntable bridge. To turn the Turntable 180°, Shift+Left-Click on the current endpoint again.

Turnout Designer

# 2.9.9 Turnout Designer

The Turnout Designer allows you to define new turnouts and sectional track pieces.

The Turnout Designer sub-menu is pictured above. As demonstrated by the sub-menu a number of different dialogs are available for creation of custom turnout and sectional track components. New turnouts and sectional track is added to Custom Management (Section 2.9.2) and Turnout Manager (Section 2.1.8) using the Turnout Designer.

The follow dialog is for a regular turnout.

Each dialog shows a diagram of the turnout and has fields to enter dimensions. The dimensions should be as accurate as possible. The various types of dimensions are:

  Length - measured from the base of the turnout to the centerline at the end of the turnout. Length is measured parallel to the centerline of the straight leg of the turnout. For track that ends on a curve (such as the curved leg of a regular turnout) measure the distance from the base to each rail and average the values.

  Offset - measured from the centerline of the straight leg of the turnout to the centerline of the track at the end of the turnout.

  Angle - angle at the end of turnout to the centerline of the straight leg of the turnout. This angle may not be the same as the Frog angle of the turnout if the rails curve past the Frog. The Frog Number|Degrees Radio button group controls whether the value is expressed in Frog Number or Degrees.

  Manufacturer - name of the Manufacturer

  Description - description of the turnout including size and rail code number, e.g., 'Left Hand #4'. This information is shown when a place the mouse pointer over the respective symbol on th Tool-bar. Therefor it should be made sure that the data entered here are helpful in finding the correct turnout.

  # - part number, e.g., '999-123'.

  Roadbed Width - if greater than the track gauge then lines are drawn along the edges of the turnout to represent the attached roadbed available on some types of sectional track and turnouts.

  Line Width - the width of the roadbed lines, measured in pixels when the layout drawing scale (Section 2.12) is 1:1.

  Color - color of the roadbed lines.

The rail height (Code) can be added to the Manufacturer, e.g., Peco-55, or the Description, e.g., Medium Right, Code 55.

The scale is the current scale from the Scale Drop Down List on the Layout dialog (Section 2.10.6).

Manufacturer, Description and Part Number (#) comprise the title of the turnout. These values are used in the Turnout Selection dialog (Section 2.1.8) and the Parts List (Section 2.9.6). For regular and curved turnouts there are separate Descriptions and Part Numbers for the right and left hand turnouts.

The Print button prints a full size diagram of the turnout. You can use this to check your dimensions and make any required changes. You should expect to make several printouts as you refine your dimensions.

The OK button completes the design. The new turnout is added to the list in the Turnout Selection dialog. The turnout data is saved in the `xtrkcad.cus` (Section 1.9) file for the next time you use XTrackCAD. Please consider contributing this information for others to use via the on-line addresses. You can change the Parameters or Title of existing designs by using the Custom Management (Section 2.9.2) dialog.

The Cancel button removes the Turnout Designer dialog.

Creating Turnout Designs

- It is best to start by marking the endpoints of the turnout on a piece of paper. Extend the curved leg of the turnout (try attaching a straight sectional track) and measure the angle. Frog numbers are easiest to calculate.

- Enter your data and press Print, if you have an accurate printer. Check the dimensions of the turnout against the printout and make adjustments as necessary. Concentrate on the lengths and offsets first, then adjust the angles.

- The resulting turnout is an approximation. In particular the curves will not be correct, but this is not important for placing turnouts.

- The new Cornu Turnouts allow you to build turnouts that have curved ends. The dialogs include radius information that can be set to zero for a straight end. The turnouts will be composed of simple curves and tracks and when extended the end radius will be used.
- The Group (Section 2.9.4) command can be used to add cosmetic details to Turnout definitions.

Update Turnouts and Structures

# 2.9.10 Update Turnouts and Structures

This command updates (or refreshes) selected turnouts, sectional tracks and structures on your layout with the current definitions from the loaded parameter files (Section 2.5.7). Each selected object that is found in a parameter file is updated with the current definition.

If an object can be found and if a new track definition fits in the same footprint, (i.e., has the same number of endpoints and all the endpoints have the same position and angle) then a dialog is displayed which contains suitable definitions that you can choose from. You can Skip the current object or Cancel to skip all the remaining objects.

Otherwise the update fails and must be done manually using Delete and Add.

If an object has been updated then it is unselected, otherwise it will remain selected at the end of this command.

Ungroup

# 2.9.11 Ungroup

Ungroup allows existing definitions to be modified and the resulting objects recombined with the Group (Section 2.9.4) command to update the definition. Turnouts are composed of individual straight and curved segments. Segments that form the points (Section B.2) of the turnout remain combined as an Ungrouped Turnout, and the other segments are replaced by straight and curved tracks.

One-ended Turnouts (AKA Bumpers) are converted to Staight tracks by Ungroup. These can be converted back to a Bumper by manually editting the Grouped definition and removing the unwanted End-Point by deleting the correspnding E line.

Options Menu

# 2.10 Options Menu

The Options Menu shows commands to change configuration options.

  Colors - Displays the Colors (Section 2.10.1) dialog.

  Command - Displays the Command Options (Section 2.10.2) dialog.

  Display - Displays the Display (Section 2.10.3) dialog.

  Easement - Displays the easement (Section 2.10.4) dialog which controls how easements (spiral transition curves) are used to join tracks.

  Fonts - Displays the font selection (Section 2.10.5) dialog which selects the font used by the text (Section 2.3.9) command. This command is only available on UNIX based systems.

  Layout - Displays the layout (Section 2.10.6) dialog.

  Preferences - Displays the Preferences (Section 2.10.7) dialog.

  Sticky - Displays the Sticky Commands (Section 2.10.8) dialog.

- 2.10.1 Colors Dialog
- 2.10.2 Command Option Dialog
- 2.10.3 Display Dialog
- 2.10.4 Easements

- 2.10.4.1 Cornu Easements
- 2.10.4.2 Easements with Fixed Sharpness
- 2.10.4.3 Easements and Sectional Track

- 2.10.5 Font Selection
- 2.10.6 Layout Dialog
- 2.10.7 Preferences Dialog
- 2.10.8 Sticky Dialog

Colors Dialog

# 2.10.1 Colors Dialog

The Colors dialog is invoked from the Options (Section 2.10) menu

The Colors dialog controls the color that various objects are drawn.

  Border - Sets color of Rulers, Room Boundaries and Table Edges.

  Exception Track - Sets color of Exceptional Tracks (Section 2.10.6). Those which exceed the specified grade or are have a radius smaller than the minimum set.

  Marker - Sets color of short lines drawn on the Ruler of the Main (Section 3.1) window to indicate cursor position.

  Normal Tracks - Sets color of normal track.

  Primary Axis - Sets color of the large cross displayed when positioning the Snap Grid (Section 2.12.2) or the Print Grid (Section 2.5.9).

  Profile Path - color of the path when using the Profile (Section 2.2.12) command.

  Secondary Axis - Sets color of the large cross displayed when positioning the Snap Grid (Section 2.12.2) or the Print Grid (Section 2.5.9).

  Selected Tracks - Sets color of Selected track.

  Snap Grid - the Grid displayed by the Snap Grid (Section 2.12.2) dialog.

  Track Ties - color of ties (if drawn).

  Bridge Base - color of Bridge fill between the parapets.

  Track Roadbed - color of Roadbed fill under the track.

Command Option Dialog

# 2.10.2 Command Option Dialog

The Command Option dialog is invoked from the Options (Section 2.10) menu

The Command Option dialog contains items which control the behavior of some commands.

  Default Command - selects the Properties (Section 2.2.13) or Select (Section 2.2.16) as the default command which is invoked when any other command (if not Sticky (Section 2.10.8)) is canceled or completed.

  Right-Click - will either display a pop-up menu of available commands or command-specific options depending on whether the Shift key is being held down or not. This option allows you to choose which operation occurs.

  Select-Mode - will either (a) only select the current item unless Ctrl is added or (b) will add the current item to the selection unless Ctrl is added in which case it will only select this item.

  Select-Zero - if selected will perform Deselect All if the selection is not on an object.

Display Dialog

# 2.10.3 Display Dialog

The Display dialog is invoked from the Options (Section 2.10) menu

The Display dialog contains items which control the display of objects on the Main window.

  Auto Pan - if enabled, dragging near the edge of the Main Canvas (Section 3.1) will cause the canvas to move to follow the mouse.

  Car Labels - controls the grouping and display of Cars on the Hot Bar (Section 2.7) during the Train (Section 2.9.8) command. This can be a combination of Prototype, Manufacturer, Part Number and Item.

  Color Tracks - when set to layers, tracks are drawn with color of the layer (Section 2.9.5) they belong to and not the normal track color. This can be disabled in the Layer dialog for each Layer by unchecking the Use Color checkbox.

  Color Draws - when set to layers, non-tracks (lines, table edges and structures) are drawn with color of the layer (Section 2.9.5) they belong to rather than based on thier own object setting. This can be disabled in the Layer dialog for each Layer by unchecking the Use Color checkbox.

  Constrain Drawing Area to Room Boundaries - when Zooming and moving the Main Canvas (Section 3.1) may show areas beyond the boundaries of the room. Setting this option constrains the Main Canvas to minimize these areas (the grey area).

  Dont Hide System Cursor - when XTrackCAD substitutes a specialized cursor to show actions that will occur (or are occuring) it will normallly hide the System Cursor. This option suppresses this behaviour and leaves the system cursor in place.

  Draw EndPts - when to draw endpoints between connected track: never, only for turnouts or for all tracks.

  Draw Unconnected EndPts - how to draw unconnected endpoints; normally, with a thick line or with a thick line in the exception color.

  Draw Ties - how to draw ties under the rails when the drawing Scale is smaller than half of the Two Rail Scale. Note that Section 2.4.6 can be used to hide ties for selected tracks.

  Draw Centers - enable or disable drawing of center markings (ie. crosshairs) for curved track.

  Draw Tunnel - how to draw hidden tracks (Section 2.4.5), either not at all, as dashed lines or as normal solid lines (which might be faster).

  Hide Trains On Hidden Track - controls whether trains (Section 2.9.8) on invisible layers (Section 2.9.5) or hidden tracks (Section 2.4.5) (if hidden tracks are not drawn) are displayed.

  Hot Bar Labels - controls the format of titles for objects on the Hot Bar (Section 2.7).

  Label Enable - individual control over whether to display various types of labels. You may want to turn some of these off if your layout is too cluttered.

  - Cars - Reporting mark labels on cars - the content shown on the Cars label is either the Repmarks (if the Rep Number is set), or the car index number (with a "#" before it). See the Car Part dialog Section 2.9.1.2.
  - EndPt Elevations - Elevation markers attached to endpoints.
  - Lengths - Length of flex-track attached to ends of turnouts all the way to the next turnout.
  - Track Descriptions - Title of each turnout and sectional track, optional details of each piece of Flexible Track. These can be shown or hidden using the Move Description Section 2.2.10 command.
  - Track Elevations - Computed elevations at the center of each track.

  Label Font Size - controls font size for Labels on layout.

  Layout Labels - controls the format of titles for Turnouts and Structures displayed on the Layout.

  Label Scale - the program will draw labels only when the drawing Scale is smaller or equal to this value.

  List Labels - controls the format of titles for turnouts and structures displayed in lists (such as the Parts List (Section 2.9.6)).

  Live Map - if checked then the Main Window (Section 3.1) will be updated as you drag on the Map Window (Section 3.2.2). Note that this can be slow.

  Map Scale - scale of the Map (Section 3.2.2) window. Increase this value to make the Map window smaller when working with large layouts. Note: you cannot make the Map window larger than the screen.

  Train Update Delay - number of milliseconds between updates in the Train Simulation (Section 2.9.8) mode. A lower value will generate a smoother display but reduces system responsiveness.

  Two Rail Scale - draw tracks using two lines when the drawing Scale is smaller than this value.

Easements

# 2.10.4 Easements

Easements are special sections of gradually curving track used to connect straight and curved tracks (or two curved tracks). Easements reduce the effects of sudden changes in track curves which can cause jerky motion and derailments.

Easements can be created every time you Join (Section 2.2.7) tracks, Extend (Section 2.2.8.6) a track or create a Tangent (Section 2.2.8.4) track.

When using easements, an error message will be generated if tracks have a radius that is too small or are too short for the transition curve.

The Easement dialog is invoked from the Options (Section 2.10) menu.

  Value - allows fine tuning of the easement parameters (restricted to values >= 0.5).

  R - minimum radius of the curved track.

  X - offset between a straight and curved track.

  L - length of the transition track.

  Radio button group with None, Sharp, Normal, Broad and Cornu. Corresponding Values for these buttons are 0, 0.5, 1.0, 2.0 and -1.0. Select None to turn easements off.

For traditional fixed sharpness easements see section 2.10.4.2, for Cornu Easements see section 2.10.4.1.

- 2.10.4.1 Cornu Easements
- 2.10.4.2 Easements with Fixed Sharpness
- 2.10.4.3 Easements and Sectional Track

Cornu Easements

# 2.10.4.1 Cornu Easements

The Cornu Easements work in a different way to the other easements. They use all the space available to minimize sharpness, so you can control the sharpness for each curve you draw by the distance apart, radius and angle of the two end points.

The Cornu is a mathematical curve that has the property that the curvature (inverse of the radius) varies linearly along its length. Using an open-source Cornu library written by Dr Raph Levin, we can calculate an Cornu easment to suit the end conditions of radius, curve center, angle and position. A Cornu easement can be constructed between two tracks by using the values of these parameters.

To draw an cornu easement see section 2.2.7.4, to Modify it afterwards see section 2.2.8.8.

Easements with Fixed Sharpness

# 2.10.4.2 Easements with Fixed Sharpness

The values R, X and L are read-only. They are set using the radio buttons or the Value field which can be set to 0 (No Easment) or between 0.21 (sharpest Easement) 100 (broadest Easment).

These values indicate the worst case of joining a straight track with a curve of radius R. The two tracks are separated by the offset X while the easement curve extends for L/2 inches or centimeters to each side of the endpoints.

The formula used to draw non-Cornu easements is:

             x = l * l * l / (6 * R * L)
             r = L * R/l

where

- l is the distance along the tangent to the easement.
- R is the final radius of the easement.
- L is the total length of the easement along the tangent.
- x is the offset from the tangent at l.
- r is the radius of easement curve at l.

The Easement Button () on the Main Window (Section 3.1) changes its label to indicate the current easement value.

The following diagrams illustrates the R, X and L values and the resulting easement curve.

If curves with a radius larger than R or two curves (that bend in the same direction) are being connecting then the easement curve will be shorter and the offset smaller. If the computed offset is small then no easement is generated.

A curved track that bends in one direction and then bends in the opposite direction is an S-curve. This will generate the worst case easement which is two easement curves placed end to end.

Refer to instruction in section 2.10.4.3 when using sectional track.

Easements and Sectional Track

# 2.10.4.3 Easements and Sectional Track

Easements require the possibility of creating track with arbitrary radii. Therefore easements are not possible if sectional track is used. It is best to turn Easements off when using sectional track.

Font Selection

# 2.10.5 Font Selection

The font selection dialog allows selection of the font used by the text (Section 2.3.9) command. This command is valid only on UNIX based systems.

Layout Dialog

# 2.10.6 Layout Dialog

The Layout Options dialog, displayed by the Options (Section 2.10) or the File (Section 2.5 menu, contains items controlling the current layout.

  Gauge - Drop down menu used to select track gauge.

  Height - Height of layout drawing which, depending on the Unit setting (English or Metric) established in the Preferences dialog (Section 2.10.7), is measured in inches or centimeters.

  Room Width - Width of layout drawing which, depending on the Unit setting (English or Metric) established in the Preferences dialog (Section 2.10.7), is measured in inches or centimeters.

  Scale - Drop down menu used to select track scale.

  Title - Two lines that can be used to enter title and subtitle descriptions for the layout. Information entered in these fields will be shown on any printout of your layout design.

  Maximum Track Grade - Specifies maximum track elevation expressed as a percent (%). Tracks with a larger elevation are considered exceptional and drawn in the exception (Section 2.10.1) color.

  Minimum Track Radius - Specifies minimum track radius (in inches or centimeters). Curved tracks with a smaller radius are considered exceptional and drawn in the exception (Section 2.10.1) color.

  Background File Name - The last 40 characters of the full file pathname for the image used for a temporary background behind all the drawn objects. It is set using the Browse and reset with the Clear buttons. It is also cleared along with all the other background values after a Open or New command. The file is initally specified to be in the local file system. In order to send it along with the layout, use Save As command and specify the Archive Archive format (*.xtce). This will create a single zipped package file containing the layout and the image file which can be sent and will open on a different system. If this has been done, after Open of the archive, the image file path will point into the extracted archive file directory. It can be changed to a new local file and the next Save will rebuild the package using the new image file instead of the old one.

  Background Pos X, Y - The offset of the bottom left corner of the background image from the origin (in inches or centimeters) after rotation.

  Background Size - The model size (in inches or cm) to scale the base of the background image to (measured from bottom left to bottom right as displayed after any rotation has been applied). Note - A value of 0.0 means that no scaling is applied and the image is shown at its current size in pixels regardless of scale or zoom.

  Background Screen - The amount of screening (from 0 to 100%) to apply to the background image. Screening allows objects drawn over the image to be seen more clearly. 0 means no screening, while 100% means noting will be shown.

  Background Angle - The rotation angle to apply to the background image (in degrees) about its center before it is moved so that its bottom left corner is offset by the Background Pos setting.

Preferences Dialog

# 2.10.7 Preferences Dialog

This dialog controls some parameters which likely will not be changed frequently.

  Angles - controls the angle system. Polar: 0° is up and angles are measured clockwise, or Cartesian: 0° is to the right and angles are measured counter-clockwise.

  AutoSave AutoSave - specifies the number of Check Points taken before an AutoSave. The same number of checkpoints are retained in a circular archive set in the (Section 1.9.3) named for the layout file. Setting this value to 0 disables AutoSave.

  Balloon Help - disables the display of Balloon Help (Section B.1) which usually is shown when the cursor is placed over a control.

  Show Flex-track - disables the display or Flex-track (Section B.2) which is shown on the left of the Toolbar.

  Check Point AutoSave - specifies the Check Point frequency; the number of modifications made to the layout since the last save. The layout is automatically saved to the Check Point file (Section 1.9.3) when the Check Point frequency is reached. Setting this value to 0 disables use of the Checkpoint file and AutoSave. Upon restart, if the program was not saved normally, the user will be prompted to see if they want to resume at the last checkpoint.

  Connection Angle - as below for Connection Distance for the angle between endpoints.

  Connection Distance - the maximum distance between endpoints that can be connected. This affects the Join (Section 2.2.7) command and auto-connection during Parallel (Section 2.1.5) commands and placing Turnouts (Section 2.7). The default value for this field is 0.100 inches or 0.254 CM. Changing this value is not recommended.

  Drag Distance - controls how far you can move the cursor (in pixels) before XTrackCAD considers the action to be a drag instead of a click.

  Drag Timeout - controls how long you can hold a mouse button down (in milliseconds) before XTrackCAD considers the action to be a drag instead of a click.

  Length Format - controls how lengths are displayed. Combinations of feet and inches (or meters, centimeters and millimeters) with support for decimal or fractional measures. Note: lengths can be entered in any format and are converted on entry.

  Max Coupling Speed - trains (Section 2.9.8) moving faster than this speed will crash when running into other trains or hitting the end of a track or an open turnout. Crashed trains must be manually moved back onto the track.

  Min Grid Spacing - minimum distance between Grid (Section 2.12.2) lines (in pixels). If the grid lines are closer then drawing them is suppressed.

  Min Track Length - specifies the minimum length of a track. Shorter tracks will not be created.

  On Program Startup - if set to ‘Load Last Layout’, XTrackCAD will automatically re-open the layout file that was open when XTrackCAD last closed. Selecting ‘Start New Layout’ opens a blank layout canvas.

  Turntable Angle - minimum angle between adjacent tracks connected to a Turntable (Section 2.1.9).

  Units - choose between English (inches) or Metric (centimeters) measurements.

  Write Settings - Save the current settings to a named settings file

  Read Settings - Load settings from a named settings file

Sticky Dialog

# 2.10.8 Sticky Dialog

By default, when commands complete, the defined Default Command (Section 2.10.2) becomes active. If a command is sticky, the defined Default Command is ignored and the current command remains active after completion.

The Sticky dialog controls which commands remain active after completion.

Selecting a command makes it sticky. Un-selecting a command causes the defined Default Command to become active after command completion.

Status Bar

# 2.11 Status Bar

The Status Bar contains fields that can be modified depending on command:

  The Line Width and Color for Straight Line, Curved Line, Circle, Polygon, Box or PolyLine objects. The Line Width is specified in pixels for the current Drawing Scale. Zooming (Section 2.12) in or out causes the lines to be drawn wider or narrower.

  The Color for Filled Circles or Polygons.

  The size of a Dimension Line (Tiny, Small, Medium or Large)

  The type, size and orientation of lumber used for Bench-work (regular rectangular, L-Girder or T-Girder).

  The seperation and radius factor for Parallel commands

  The diameter of a Turntable

  After and add or during a Modify of a Draw object or segment, length, radius and/or relative angles are shown in modifiable fields. These will change the dimensions of the last object when Enter or Tab is pressed or the cursor leaves the entry field.

View Menu

# 2.12 View Menu

The View Menu shows commands affecting the display of the Main Canvas (Section 3.1).

  Change Grid - Displays the Snap Grid dialog. The Snap Grid forces the cursor (for some commands) to be on a grid to control track placement.

  Enable SnapGrid - Enables (or disables) the Snap Grid (Section 2.12.2).

  Redraw - Redraws the Main Canvas.

  Redraw All - Redraws the Main Canvas and the Map Window (Section 3.2.2).

  Show Snap-Grid - Toggles display of the Snap Grid on and off.

  Magnetic Snap On/Off - Toggles Magnetic Snap (Section 2.12.1) for Add Operations on and off. The magnets make tracks auto-align and shapes touch when the cursor or object is close. They can be defeated on each operation by holding down Alt. If the Magnets are off, holding down Alt will enable them.

  Show/Hide Map - Toggles display of the Map Window on and off.

  Tool-bar - Command button groups displayed on the Tool-bar are selected using the Tool-bar Configuration Menu (Section 2.12.3).

  Pan/Zoom - move or resize the viewport using the mouse (Section 2.2.11).

  Zoom - This sub-menu is used to select a specific drawing scale ratio for the Main Canvas.

  Zoom In - Increases magnification of the Main Canvas.

  Zoom Out - Decreases magnification of the Main Canvas.

When zooming in or out, the corresponding highlighted area of the Map Window (Section 3.2.2) changes size to match that which appears on the Main Canvas (Section 3.1).

- 2.12.1 Magnetic Snap
- 2.12.2 Grid Dialog
- 2.12.3
- 2.12.4 Zoom

Magnetic Snap

# 2.12.1 Magnetic Snap

The MagneticSnap feature eases constructing and assembling Tracks and Draw objects by "snapping" the end of new objects to existing objects. For existing track objects the point snapped to is always an open end point. The snap operates when "close" to the object (a few pixels distant) and an anchor point (a blue circle) is displayed when this will occur if the mouse is clicked.

When Adding Draw line objects, the snap point is the nearest point on the existing object. A snap to the end of a line object can be selected by positioning the cursor close to the end of the line but off it, in the direction of the line. This will ensure the closest point is the end.

The MagneticSnap feature is enabled and disabled using either the magnet icon which is part of the SnapGrid Toolbar button set, or using the View (Section 2.12) menu.

For each part of an Add or Move or Rotate operation, the current state of MagneticSnap can be temporarily inverted using the Alt key. This enables snapping to be inhibited for a single part of an operation (or conversely enabled for just one part).

Grid Dialog

# 2.12.2 Grid Dialog

The Grid dialog, displayed by Change Grid on the View (Section 2.12) menu, specifies the origin, angle and other parameters of the Snap Grid. The Snap Grid can sbe used to snap the position of the cursor during the Curve (Section 2.1.2), Circle (Section 2.1.1), Cornu (Section 2.1.2.6), Modify (Section 2.2.8), Straight (Section 2.1.6), Draw (Section 2.3) and Turntable (Section 2.1.9) commands.

The Grid dialog contains controls affecting the horizontal and vertical snap grid lines. Each dimension can be independently controlled.

  The Spacing value specifies the distance between major grid lines, which are drawn as solid lines on the layout. The value of the distance is entered in either inches or centimeters depending on the value of the Units setting in Options->Preferencecs (Section 2.10.7) menu.

  The Divisions value adds the minor Grid lines between the major Grid lines, which are drawn as a series of dots on the layout. Specifying a value of 0 or 1 as the division value removes the minor grid lines.

  The Grid can be enabled or disabled in each dimension via the Enable check box. The action of snapping is secondary to Magnetic Snap if enabled, and is suppressed if Alt is held.

  The X and Y coordinates relate to the anchor point of the X and Y Axis. Default values for X and Y are zero (0). Entering a value of one for X causes the Main grid line on the Drawing Canvas to shift left one unit. Entering a value of two causes the Main grid line to shift by two units and so on. The Y axis is affected in the similar manner except the grid moves down rather than left.

  Negative values can be used for X and Y values. Using such cause the Main Grid to shift right for the X Axis and up for the Y Axis.

  The A coordinate relates to the Angle of grid rotation. The default value for this coordinate is zero. Entering a value greater than 0 and less than 90 will cause the Main Grid to rotate clockwise by the number of degrees entered. Entering a negative value causes the grid to rotate counter-clockwise.

The origin and angle of the Grid can be adjusted directly or by dragging on the layout. Left+Drag moves the origin of the Grid, and Right+Drag rotates the grid. Shift+Right-Click (Section 3.4) displays a pop-up menu allowing rotation of the grid by various predefined angles.

Whether the Snap Grid is drawn is controlled by the Show check-box. Also, if the layout is Zoomed Out (Section 2.12.4) the minor and major grid lines may be too close together to be drawn. The minimum pixel distance between grid lines is controlled by the Min Grid Spacing value on the Preferences (Section 2.10.7) dialog.

Note: on slow machines drawing the Grid can take noticeable time. Performance can be improved by selecting a larger value for Min Grid Spacing.

Grid Buttons on the Tool-bar (Section 3.1) can be used to Enable/Disable and to Show/Hide the Snap Grid.

# 2.12.3

Command button groups displayed on the Tool-bar are selected using the Tool-bar Configuration Menu (Section 2.12.3). If none of the command button groups are selected, the Tool-bar is not shown.

Zoom

# 2.12.4 Zoom

The Zoom In and Zoom Out actions can also be accessed using buttons on the Tool Bar or usig the Pan/Zoom Mode button. The Mouse Wheel, PAGE DOWN and PAGE UP keys can also be used to zoom in and out.

Holding down the Shift key while clicking the Zoom In or Zoom Out buttons sets the Drawing Scale to a Programmed Zoom value.

  Zoom/Pan Shortcut Keys

  - Keys '1'-'9' set the zoom to between 1::1 and 1::9.

  - Key 'e' sets the zoom to a value that allows all the room to be shown and moves the origin of bottom left of the window to be 0,0

  - Key 's' sets the zoom to show the selected set of objects and pans the window to center the highlit area.

  - Key '0' or 'o' keeps the zoom as is, but moves the origin of the bottom left of the window to 0,0

  - Key 'c' moves the center of the window to the cursor position

Normally a zoom in more of more than 1:1 is not possible, however if the Ctrl key is held down while the Zoom In button is pressed a zoom less that 1:1 can be achieved. This function is useful when working on detail.

Pressing the middle Zoom button on the Tool Bar pop-ups a list of Zoom factors that can be select from.

Note - The value of Zoom 1:1 will be set using 96 dpi as a default, it can be overriden using a Configuration Value in the Preferences section of ScreenDPI.

  See Main Window Overview (Section 3.1) for details on how to Pan the Main Canvas.

Window Menu

# 2.13 Window Menu

The Window Menu typically contains selections for bringing any open window into view. It's used as follows;

  XTrackCAD permits multiple dialog windows to be open at any one time. When a large number of windows are open it can become difficult to locate and bring a specific window into focus. Use the Window Menu function to select and bring the desired window to the top of the screen.

  Apart from bringing the Map Window (Section 3.2.2) to the foreground, the Map menu item can also be used to re-opened a closed Map Window.

Navigation

# Chapter 3: Navigation

The Main Window includes a title bar along the top that describes the contents of the window, followed by a tool bar that contains user interface buttons. Most of the window's remaining area is used to display the layout. A footer border contains information including system messages.

Most windows can be opened, closed, resized, minimized, and moved around the screen. The close, minimize, and zoom buttons are located on the right side of the title bar. Minimizing a window will close the contents of the window, but store a reference to it in the Task bar. Closing a window will make it disappear completely (so you may be asked to save your changes first). To move a window, click on the title bar and drag the window where you want it.

- 3.1 Main Window Overview
- 3.2 General Operation

- 3.2.1 Entering Values
- 3.2.2 Map Window

- 3.3 Keyboard Shortcuts

- 3.3.1 Add Commands
- 3.3.2 Change Commands
- 3.3.3 Draw Commands
- 3.3.4 Edit Commands
- 3.3.5 File Commands
- 3.3.6 Hot Bar
- 3.3.7 Macro Commands
- 3.3.8 Main Drawing Canvas
- 3.3.9 Manage Commands
- 3.3.10 Option Commands
- 3.3.11 View Commands

- 3.4 Mouse Actions

- 3.4.1 Context Sensitive Menus

Main Window Overview

# 3.1 Main Window Overview

Main Window Overview

  The size of the main window can be changed by dragging on the resizing borders.

  Minimizing the Main Window will minimize all XTrackCAD windows.

The Main Window contains (from the top down):

Title bar

  Current filename, XTrackCAD version number, and window manager buttons. An asterisk (*) after the filename indicates that there are unsaved changes.

Menu Bar

  Contains from left to right;
  - File (Section 2.5)
  - Edit (Section 2.4)
  - View (Section 2.12)
  - Add (Section 2.1)
  - Change (Section 2.2)
  - Draw (Section 2.3)
  - Manage (Section 2.9)
  - Options (Section 2.10)
  - Macro (Section 2.8)
  - Window (Section 2.13) and;
  - Help (Section 2.6) menu buttons.

Tool Bar

  Manipulate track and other objects The toolbar buttons size can be adjusted using a User Preference in the .ini or .rc file (on Windows or Mac/Linux) in the xtrkcad directory. If running Linux or Mac a line `"Preference.LargeIcons: 1.5"` can be added. The scale value can be from 1.0 to 2.0 only. The corresponding configuration Windows would be

           [Preference]
              LargeIcons=1.5

Note The configuration file uses the language specific definitions for the decimal separator. Eg. in Germany, where the comma is used, the correct value would be`LargeIcons=1,5`.

Hot Bar (Section 2.7)

  Scrolling list of Turnouts and Structures

Main Canvas

  Main drawing area with rulers along each side.

  The Main Canvas is where all tracks and objects (and optional background image) are drawn.

  The Background Image is drawn on the main canvas if specified in the Section 2.10.6 menu.

  The center of the Main Canvas can be moved (Panned) using the;
  - ARROW Keys
  - Left-Click and drag in Section 2.12.4
  - "@" key in Select, Modify and Pan/Zoom.
  - Mouse Wheel - adding Shift key will Pan the screen up and down. Adding Ctrl as well Pans left and right.
  - Horizontal Mouse Wheel - adding Shift key will Pan the screen left and Right (if available)
  - Scroll Left and Right - if the scroll left and right guestures are mapped to the trackpad by the operating system, with Shift depressed the screen will Pan.
  - On mice and systems that support Three Button Mice, holding the Middle Mouse Button while dragging, will Pan the canvas.
  The Main Canvas can be panned so that the area beyond the room boundaries is shown (the grey area). The Constrain Drawing Area to Room Boundaries option on the Display (Section 2.10.3) dialog under the Options (Section 2.10) menu forces the Main Canvas stop panning once the room boundary is reached. Holding the Control key while panning will invert the value of this setting.

  The scale of the Main Canvas can be changed using the;
  - Zoom selections (Section 2.12.4) under the View (Section 2.12) menu
  - Zoom buttons on the Tool-bar
  - Mouse Wheel
  - PAGE UP and PAGE DOWN keys
  - Pan/Zoom Section 2.2.11 button on the Tool-bar

  Note: If The scale 1:1 is reached, "Macro Zoom" mode can be entered using CTRL+PageDown - with repeated presses a scale of 10::1 is possible.

  When Zooming, the Main Canvas will retain the center of the display if Constrain Drawing Area to Room Boundaries is not set. Otherwise, as much of the room as possible is displayed, and any grey area will be to the right and above the room.

  Tracks will be drawn with two lines and ties if you zoom in. When the drawing scale is 1:1 a dashed centerline is also drawn for each track.

  The ARROW keys move the Canvas left, right, up or down by half a screen. If Shift is used together with the arrow keys, the movement will be 1/20th of screen in the selected direction.

  In many commands, the result that will result from clicking the mouse is shown by anchors which highlight the track object or feature in blue that will be affected as the mouse is dragged over the canvas and becomes close enough to select it.

Map Window

  You can change which portion of the layout is displayed by using the Map Window (Section 3.2.2).

Status Bar

  Contains from left to right;
  - Drawing scale of the Main Canvas,
  - X position of the cursor,
  - Y position of the cursor,
  - Status and informational messages

General Operation

# 3.2 General Operation

Most Windows open with three standard dialog buttons:

  Cancel - Cancels dialog. Layout reverts back to its previous state.

  Help - Invokes on-line help for current command or dialog.

  OK - Completes the dialog action. Layout is updated with current changes.

- 3.2.1 Entering Values
- 3.2.2 Map Window

Entering Values

# 3.2.1 Entering Values

Lengths and Distances can be entered in a variety of formats;

  12ft 4 1/2in, 12' 4.5", 148.500, 1.234m, 123.4cm or 1234mm are all valid values.

  Adding the Equal Sign (`=`) key after an entry will reformat the value entered to your preferred length format (Section 2.10.7).

  Adding the "`p`" key after an entry will convert a prototype measurement to a scale measurement by dividing the value entered by the ratio for the current scale.

  Adding the "`s`" key after an entry will convert a scale measurement to a prototype measurement.

The conversion will happen when the Tab key is used, or the cursor is moved to a different entry box.

Map Window

# 3.2.2 Map Window

The Map Window area shows the complete layout at a reduced scale. A highlighted (reverse video) area shows what portion is visible in the Main Window (Section 3.1). The highlighted area can be Left+Dragged (Section B.1) around the layout to change the origin of the Main Canvas. The highlighted area changes size as Zoom In (Section 2.12) and Zoom Out (Section 2.12) are selected.

You can also Right+Drag (Section B.1) on the Map window to set the origin and scale of the Main Canvas.

The size of the Map Window changes when you change the Room Size (see Section 2.10.6). You can also change the Map Scale (Section 2.10.3) on the Display (Section 2.10.3) dialog to change the size of the Map Window.

If you close the Map Window, you can reopen it by the Window menu.

Visibility of the Map Window can be toggled by pressing Ctrl+Space

Keyboard Shortcuts

# 3.3 Keyboard Shortcuts

The term Shortcut key refers to specific key combinations which are used to accomplish an action which otherwise would be accomplished by moving a MOUSE and /or selecting from a Menu. Shortcut keys are often key combinations consisting of the letter key pressed along with the Alt or Ctrl key.

Instead of using the menus or the buttons on the Tool-bar (Section 3.1), most XTrackCAD commands may be invoked through use of Shortcut keys.

  The `RETURN` key has the same effect as pressing the OK button on the current dialog.

  The `ESCAPE` key cancels the current command. All selected tracks are unselected. The Properties (Section 2.2.13) or Select (Section 2.2.16) command becomes the current command.

  The `F1` key opens the Help page for the currently selected command. `Shift+F1` opens the Contents Help Page.

  The `PAGE UP` and `PAGE DOWN` keys will zoom out or zoom in.

  The `ARROWS` key will pan the canvas right, left, up and down.

  The `DELETE` or the `BackSpace` key invokes the Delete (Section 2.4.4) command.

Several Shortcut key commands are used in conjunction with the mouse. These commands are listed in Section 3.4.

- 3.3.1 Add Commands
- 3.3.2 Change Commands
- 3.3.3 Draw Commands

- 3.3.3.1 Add Text
- 3.3.3.2 Draw Circles
- 3.3.3.3 Draw Curved Lines
- 3.3.3.4 Draw Shapes
- 3.3.3.5 Draw Straight Objects
- 3.3.3.6 Note Dialog

- 3.3.4 Edit Commands
- 3.3.5 File Commands
- 3.3.6 Hot Bar
- 3.3.7 Macro Commands
- 3.3.8 Main Drawing Canvas
- 3.3.9 Manage Commands
- 3.3.10 Option Commands
- 3.3.11 View Commands

Add Commands

# 3.3.1 Add Commands

Add Commands

  Create
  - Circle track from
    - center - Ctrl+0
    - fixed radius circle - Ctrl+8
    - tangent - Ctrl+9
  - Curve track from
    - center - Ctrl+6
    - chord - Ctrl+7
    - endpoint - Ctrl+4
    - tangent - Ctrl+5
  - Hand laid turnout - Ctrl+Shift+I
  - Straight track - Ctrl+G
  - Turntable - Ctrl+Shift+N

  Helix dialog and construction tool - Ctrl+Shift+H

  Structure dialog - Ctrl+Shift+C

  Turnout dialog - Ctrl+T

Change Commands

# 3.3.2 Change Commands

Change Commands

  Connect two sectional tracks - Ctrl+Shift+J

  Elevation dialog - Ctrl+Shift+E

  Join two tracks - Ctrl+J

  Properties dialog - Ctrl+?

  Modify or extend track - Ctrl+M

  Move
  - description - Ctrl+Shift+Z
  - selected object - Ctrl+Shift+M

  Profile dialog - Ctrl+Shift+F

  Rotate selected object - Ctrl+Shift+R

  Select tool - Ctrl+E

  Split flex-track - Ctrl+Shift+S

Draw Commands

# 3.3.3 Draw Commands

- 3.3.3.1 Add Text
- 3.3.3.2 Draw Circles
- 3.3.3.3 Draw Curved Lines
- 3.3.3.4 Draw Shapes
- 3.3.3.5 Draw Straight Objects
- 3.3.3.6 Note Dialog

Add Text

# 3.3.3.1 Add Text

Add Text

  Add Text to drawing area - Ctrl+Shift+X

Draw Circles

# 3.3.3.2 Draw Circles

Draw Circles

  Draw circle outline from
  - center to tangent point (Edge) - Ctrl+Shift+0
  - tangent point (Edge) to center - Ctrl+Shift+9

  Draw circle filled from
  - center to tangent point (Edge) - Ctrl+Alt+0
  - tangent point (Edge) to center - Ctrl+Alt+9

Draw Curved Lines

# 3.3.3.3 Draw Curved Lines

Draw Curved Lines

  Draw curved lines from;
  - center to endpoint - Ctrl+Shift+6
  - chord - Ctrl+Shift+7
  - endpoint in direction of curve - Ctrl+Shift+4
  - endpoint to center - Ctrl+Shift+5

Draw Shapes

# 3.3.3.4 Draw Shapes

Draw Shapes

  Draw shape
  - Box outline - Ctrl+Shift+[
  - Filled Box - Ctrl+Alt+[
  - Filled Polygon - Ctrl+Alt+2
  - Poly-line - Ctrl+Shift+2

Draw Straight Objects

# 3.3.3.5 Draw Straight Objects

Draw Straight Objects

  Draw straight object
  - Bench-work - Ctrl+B
  - Dimension Line - Ctrl+Shift+D
  - Straight Line - Ctrl+Shift+1
  - Table Edge - Ctrl+Shift+)

Note Dialog

# 3.3.3.6 Note Dialog

Note Dialog

  Note dialog (Section 2.3.3) - Ctrl+Alt+N

Edit Commands

# 3.3.4 Edit Commands

Edit Commands

  Copy select objects to the clipboard - Ctrl+C or Ctrl+Insert

  Cut select objects - Ctrl+X or Shift+Delete

  Draw selected tracks with
  - thin lines - Ctrl+1
  - medium lines - Ctrl+2
  - thick lines - Ctrl+3

  Delete selected object(s) - Delete or Ctrl+D

  Deselect all objects - Alt+Shift+A or Esc

  Hide selected tracks in a Tunnel - Ctrl+Shift+T

  Move Selected tracks
  - above others - Ctrl+Shift+B
  - below others - Ctrl+Shift+W

  Paste from clipboard to layout - Ctrl+V or Shift+Insert

  Redo last undone command - Ctrl+R

  Select all objects - Ctrl+Shift+A

  Undo last command - Ctrl+Z or Shift+Backspace

File Commands

# 3.3.5 File Commands

File Commands

  Create a new layout - Ctrl+N

  Edit layout description Note (Section 2.3.3) - Ctrl+Alt+T

  Export
  - Selected objects to a .xti file - Ctrl+Alt+X
  - To Bitmap (Section 2.5.2) - Ctrl+Shift+Q

  Import from a .xti file - Ctrl+Alt+I

  Manipulate Parameter Files (Section 2.5.7) - Ctrl+Alt+S

  Open layout file - Ctrl+O

  Print Command (Section 2.5.9) - Ctrl+P

  Save As another file - Ctrl+A

  Save the current layout - Ctrl+S

Hot Bar

# 3.3.6 Hot Bar

Hot Bar

  These actions take effect if the Hot Bar has keyboard focus.
  - Move Hot Bar multiple entries
    - left - Shift+Left Arrow
    - right - Shift+Right Arrow

  - Move Hot Bar one entry
    - left - Left Arrow
    - right - Right Arrow

  - Pop-up menu of Hot Bar categories - Right-Click

  - Set relative position of Hot Bar - 1, 2 ... 9, 0

Macro Commands

# 3.3.7 Macro Commands

Macro Commands

  Play Back a macro file (Section 2.8) - Ctrl+Alt+B

  Record a macro file (Section 2.8) - Ctrl+Alt+R

Main Drawing Canvas

# 3.3.8 Main Drawing Canvas

Main Drawing Canvas

  These actions take effect if the Main Drawing Canvas has keyboard focus.

    Move Canvas:
    - Down - Down Arrow
    - Left - Left Arrow
    - Right - Right Arrow
    - Up - Up Arrow

    Map Window:
    - On / Off - Ctrl+Space
  On some systems support Three Button Mice, holding down the Middle Mouse Button and dragging will pan the Canvas. Note: not all system support this operation, even with a Three Button Mouse.

Manage Commands

# 3.3.9 Manage Commands

Manage Commands

  Car Inventory dialog - Ctrl+Alt+V

  Custom Management dialog (Section 2.9.2) - Ctrl+Alt+U

  Generate a Parts List (Section 2.9.6) - Ctrl+Alt+L

  Group objects (Section 2.9.4) - Ctrl+Shift+G

  Layers dialog (Section 2.9.5) - Ctrl+Alt+Y

  Ungroup objects (Section 2.9.4) - Ctrl+Shift+U

  Update Prices (Section 2.9.7) - Ctrl+Alt+Q

Option Commands

# 3.3.10 Option Commands

Options Commands

  Colors dialog (Section 2.10.1) - Ctrl+Alt+C

  Command Options dialog (Section 2.10.2) - Ctrl+Alt+M

  Display dialog (Section 2.10.3) - Ctrl+Alt+D

  Easement Options dialog - Ctrl+Alt+E

  Font dialog (Section 2.10.5) - Ctrl+Alt+F

  Layout dialog (Section 2.10.6) - Ctrl+Alt+A

  Preferences dialog (Section 2.10.7) - Ctrl+Alt+P

  Sticky commands dialog (Section 2.10.8) - Ctrl+Alt+K

View Commands

# 3.3.11 View Commands

View Commands

  Redraw
  - all - Ctrl+Shift+L
  - main window - Ctrl+L

  Snap Grid dialog (Section 2.12.2) - Ctrl+Alt+G

  Zoom
  - in - Ctrl++, Page Down
  - out - Ctrl+-, Page Up

Mouse Actions

# 3.4 Mouse Actions

XTrackCAD uses the left and right mouse buttons when manipulating tracks and other objects on the layout. Their meaning depends on the particular command:

Select Command

The Select command actions are affected by the mode selected in Options->Command->Select. Note - Objects in a Module Layer are selected and deselected as a group.

Left-Click
  Single Item Mode -> Selects one object at a time, deselects other objects. Add Item Mode -> Adds unselected objects, deselects if the object is already selected. If the click is on an area without objects and SelectZero is set, all objects are deselected.
Shift-Left-Click
  Selects all connected tracks from the one clicked up to the next selected item in each direction.
Ctrl+Left-Click
  Single Item Mode -> Adds an object to the selection, deselects if the object is already selected. Add Item Mode -> Selects just this item and deselects other objects. If the click is on an area without objects and SelectZero is set, all objects are deselected.
Double-Left-Click
  Opens Modify for Cornu and Draw Objects other than Text, Activates Link and Document Notes, otherwise opens Describe.
Left+Drag
  Single Item Mode -> Selects all objects in an rubber-banded area and deselects all others. Add Item Mode -> Adds items in the rubber-banded area.
Shift+Left-Drag
  Moves selected objects if in a selected area, if off selected objects, like Left-Drag.
Ctrl+Left-Drag
  Rotates selected objects if in a selected area, if off selected objects, like Left-Drag.
Right-Click
  Displays a pop-up menu of context commands (in Select, Move, Modify and Rotate commands). If some track is selected, the menu has operations to perform on it, if not, it will have a command context menu.
Shift+Right-Click
  Displays a pop-up menu of commands. Displays the other context menu than Right-Click.
Right+Drag
  Deselects all objects in an rubber-banded area from the current set.
Rotate Wheel
  Zooms drawing area in and out. Modern computers with Trackpads often map this guesture to two-finger drag.

When Moving and Rotating ( Placing Turnouts and Structures, Moving the Print and Snap Grids, ... ):

(Shift+Left+Drag)
  Moves the objects or grid.
(Ctrl+Left+Drag)
  Rotates the objects or grid about the pivot point, which is the point you started the drag operation.

Some other commands use the `Shift` or `Ctrl` key to modify the meaning of button presses.

- 3.4.1 Context Sensitive Menus

Context Sensitive Menus

# 3.4.1 Context Sensitive Menus

For all commands listed below, a Right-Click will display a context sensitive pop-up command list menu. For some commands (noted below), a Shift+Right-Click will display a context sensitive pop-up command options menu. The operation of Right-Click and Shift+Right-Click can be reversed by an item on the Command Options (Section 2.10.2) dialog.

The Shortcut key for each command is listed after the command name.

Circle Track Command (Section 2.1.1)
  Drag from
  - center to circle tangent point (Edge) - Ctrl+0
  - circle tangent point (Edge) to center - Ctrl+9
  Position fixed radius circle - Ctrl+8

Connect Command (Section 2.2.3) - Ctrl+Shift+J
  Remove adjustments starting from an unconnected endpoint - Shift+Left-Click
  Select endpoints to connect - Left-Click

Curved Track Commands (Section 2.1.2)
  Drag from 1st endpoint
  - in curve direction - Ctrl+4
  - to Center - Ctrl+5
  - to 2nd endpoint (Chord) - Ctrl+7
  Drag from Center to 1st endpoint - Ctrl+6

Properties Command (Section 2.2.13) - Ctrl+?
  Display property sheet for the object - Left-Click

Elevation Command (Section 2.2.5) - Ctrl+Shift+E
  Choose endpoint - Left-Click
  Move Elevation Marker - Right+Drag
  Split track and choose endpoint - Shift+Left-Click

Flip Command (Section 2.2.6)
  Draw Mirror line - Left+Drag

Hand-laid Turnout Command (Section 2.1.3) - Ctrl+Shift+I
  Define
  - frog position and angle - (1st Left+Drag)
  - points position - (2nd Left+Drag)

Helix Track Command (Section 2.1.4) - Ctrl+Shift+H
  Position Helix - (Left+Drag)

Join Command (Section 2.2.7) - Ctrl+J
  Join tracks - (Left+Drag)
  Move selected tracks to join with unselected endpoint - Shift+Left-Click

Modify Command (Section 2.2.8) - Ctrl+M
  Change
  - length or make tangent to curve - Left+Drag
  - radius - Shift+Left+Drag
  Extend track - Right+Drag

Move Command (Section 2.2.9) - Ctrl+Shift+M
  Command Options: how to draw moving objects (Section 3.4) - Shift+Right-Click
  Move Selected objects - Left+Drag

Move Description Command (Section 2.2.10) - Ctrl+Shift+Z
  Move Description - Left+Drag
  Toggle Label display for Curved, Helix and Turnout tracks (Section 3.4). - Shift+Right-Click

Note Command (Section 2.3.3) - Ctrl+Alt+N
  Position Note - Left+Drag

Parallel Command (Section 2.1.5) - Ctrl+Shift+P
  Position Parallel track relative to selected track - (Left+Drag)

Print Command (Section 2.5.9) - Ctrl+P
  Command Options: rotate by specified amount (Section 3.4) - (Shift+Right-Click)
  Move Print grid - Shift+Left+Drag
  Rotate Print grid - Shift+Right+Drag
  Select or unselect pages - Left-Click

Profile Command (Section 2.2.12) - Ctrl+Shift+F
  Add tracks to path from path end to chosen endpoint - (Left-Click)
  Command Options: change Elevation type - (Shift+Right-Click) (Section 3.4)

Rotate Command (Section 2.2.15) - Ctrl+Shift+R
  Command Options: how to draw moving objects and rotate by specified amount (Section 3.4) - Shift+Right-Click
  Rotate Selected objects - Left+Drag
  - in increments of 15° - Ctrl+Left+Drag

Ruler Command (Section 2.3.4)
  Position Ruler - Left+Drag

Angle Command (Section 2.3.5)
  Position Protractor - Left-Drag
Select Command (Section 2.2.16) - Ctrl+E
  Command Options: how to draw moving objects and rotate by specified amount (Section 3.4) - Shift+Right-Click
  Move
  - selected objects - Shift+Left+Drag
  - labels - Ctrl+Left+Drag
  Rotate selected objects - Ctrl+Left-Drag
  - in increments of 15° - Ctrl+Shift+Left+Drag

Snap Grid Command (Section 2.12.2) - Ctrl+Alt+G
  Command Options: rotate by specified amount (Section 3.4) - Shift+Right-Click
  Move Snap Grid - Left+Drag
  Rotate Snap Grid - Right+Drag

Split Track Command (Section 2.2.17.1) - Ctrl+Shift+S
  As above, plus trim turnouts - Shift+Left-Click
  Change block gaps (Section 3.4) - Shift+Right-Click
  If at endpoint: disconnect track, otherwise: split track - Left-Click

Straight Track Command (Section 2.1.6) - Ctrl+G
  Place 1st and 2nd endpoints - Left+Drag

Structure Command (Section 2.1.7) - Ctrl+Shift+C
  Command Options: rotate by specified amount (Section 3.4) - Shift+Right-Click
  Place Structure - Left+Drag
  Rotate - Right+Drag

Text Command (Section 2.3.9) - Ctrl+Shift+X
  Command Options: change Font (Section 3.4) - Shift+Right-Click
  Position text - Left+Drag

Train Simulation Command (Section 2.9.8)
  Command Options: uncouple car, flip or remove cars or Trains, set MU Master - Right-Click
  Move a Car or Train - Left+Drag
  Switch a Turnout or rotate a Turntable - Shift+Left-Click

Turntable Command (Section 2.1.9) - Ctrl+Shift+N
  Position Turntable - Left+Drag

Turnout Command (Section 2.1.8) - Ctrl+T
  Choose next Active endpoint when placing Turnouts - Shift+Left-Click
  Command Options: rotate by specified amount (Section 3.4) - Shift+Right-Click
  Place Turnout - Left+Drag
  Rotate - Right+Drag
  Suppress auto-adjustment positioning when placing Turnouts - Shift+Left+Drag

Frequently Asked Questions

# Appendix A: Frequently Asked Questions

- A.1 Moving from Design to Roadbed
- A.2 Hot Bar Items Missing!
- A.3 Unable to Add Cars to Inventory!
- A.4 How Do I Place and Join Tracks

Moving from Design to Roadbed

# A.1 Moving from Design to Roadbed

Your design is complete and your now ready to lay track. How do you go from the computer screen to the roadbed?

The best way to move your design from computer to roadbed is to print out a full scale copy (or portions) of the layout. During the print process the orientation of the print grid can be adjusted so the printout will line up with the tracks.

If you have cut-sheet printer (like a laser or ink-jet) set the Ignore Page Margins toggle on the print dialog. Normally there is an unprintable margin around the edge of the page and XTrackCAD only prints on the printable area, which means you would have to trim or overlay the pages. Setting the Ignore Page Margins toggle makes XTrackCAD ignore this margin so you can just abut the paper. Also, turn on Print Roadbed Outline and set your roadbed width.

For large scale printouts, the ability of many platforms to print as PDF is very helpful. Commercial printers can oftem print very large strips of paper.

Once you have a full scale print-out of your layout (or portion, if you have a larger layout you don't want to do it all at once) you need to transfer this to the roadbed. Here's two methods that can be used:

- Use a spray adhesive (such as 3M Super 77) to glue the print-out to the roadbed. This is very messy, takes more glue than expected and is very unforgiving of mistakes. You may want to use this method only for small sections of very complicated track-work.

- Tape the print-out to the roadbed then using a tracing wheel (available at Sewing shops), trace the center-line of the track and roadbed outline. At this point consider places when you'll want to widen the roadbed to support signals, switch machines, joints etc.
- Some users have reported that they successfully used the DXF export to get a file into Computer Controlled Machines that can cut out trackbed.

Hot Bar Items Missing!

# A.2 Hot Bar Items Missing!

After installing XTrackCAD the Hot Bar is not active; the arrows to the left and the right of the Hot Bar are a grey colour instead of black, the Hot Bar is blank and also does not scroll.

There's nothing wrong, you just need to load a track or structure Parameter file. Open the Parameter dialog window (File>Parameter) then click on Browse. A list of `*.xtp` files with names like `atlasn55.xtp` should appear. Select whichever file or files are appropriate for your needs then click the OK button. Click OK on the Parameter File dialog and you should now have objects displayed on the Hot Bar.

Notes:

1. Only elements that fit the selected scale are available in the Hot Bar. Thus if you're sure the parameter file has been loaded via the File>Parameter dialog, make sure the correct scale has been selected for the layout (Options>Layout).

2. If a long list of parameter files is selected, movement within the Hot Bar can be slow. If you right-click on the Hot Bar, a list of available parameter sets is shown. By Left-Clicking the desired parameter set, the Hot Bar is immediately scrolled to the first element in that parameter set.

3. When a new layout is created or when XTrackCAD is started for the first time, the scale of the layout defaults to N scale. Do not forget to change the scale in order to see tracks from other scales in the Hot Bar!

Unable to Add Cars to Inventory!

# A.3 Unable to Add Cars to Inventory!

After installing XTrackCAD you're unable to add cars to the Car Inventory list; a message stating "No Car Prototypes are defined...." appears when you attempt to add cars to the Car Inventory list.

There's nothing wrong, you just need to load a Prototype definition file.

XTrackCAD includes a parameter file which defines many common North American Prototypes. The file is named `protoam.xtp`. It's loaded into XTrackCAD in the same way that a track, structure or car Parameter file would be loaded.

- Open the Parameter dialog window (File>Parameter) then click on Browse. Scroll through the list of `*.xtp` files to locate the file named `protoam.xtp`. Select this file then click the OK button. Click OK on the Parameter File dialog to complete installation of the prototype file. You should now be able to add cars to the Car Inventory list.

Other prototype definitions can be created using the Car Prototype dialog. Refer to Section 2.9.1.3 for detail.

How Do I Place and Join Tracks

# A.4 How Do I Place and Join Tracks

How do I join tracks, place turnouts, build a yard etc?

First take a look at the help file. Then try the demos (Help>Demos menu). This should answer a lot of questions on how to use XTrackCAD. Please visit The XTrackCAD Wiki if you need help, especially if you find the documentation unclear or think some area needs improvement.

Glossary

# Appendix B: Glossary

This section contains a helpful listing of Window and XTrackCAD terminology.

- B.1 Window Terms
- B.2 XTrackCAD Terms
- B.3 Control Element Scripts and the Model RR System's Dispatcher

Window Terms

# B.1 Window Terms

Menu and sub-menu items are indicated by File>Open, which means select the File menu and then select the Open menu item.

Balloon Help - short help message which is displayed as you move the mouse pointer over a control.

Canvas - an area within a window where objects are drawn.

Check Box - a button with a small square indicator to the left of its text. A check mark appears in the indicator when the button is selected.

Click - press and then release the left mouse button.

Drag - press and hold down the left mouse button and move the mouse to 'drag' the cursor on the screen.

Dialog - a type of window in which you input information.

Drop Down List - a list-box which is only displayed when you click on the 'drop-down' button.

Edit Box - an area where you can enter a String, Integer or Floating Point value.

Highlighted - an area on the Canvas which is in inverse-video.

Left-Click - same as Click, used in contexts where Right-Click is also used.

Left+Drag - same as Drag, used in contexts where Right+Drag is also used.

Mouse Pointer - is most often an arrow that is you can use to point at different objects on your screen. When the pointer is over an object, you can Click a mouse button to perform an action on that object (such as selecting the object).

Press - click on a button.

Radio Button - a button with a small round indicator to the left of its text. The indicator is filled when the button is selected.

Radio Button Group - a group of radio buttons which indicate mutually exclusive choices.

Resizing Border - a thick border around re-sizable windows that you can use to change the window size.

Right-Click - press and then release the right mouse button.

Right Drag - press and hold down the right mouse button and move the mouse to 'drag' the cursor on the screen.

Select - click on an object to indicate you want to do something with it.

Shift+Left-Click - Left-Click while holding down the Shift key.

Shift+Right-Click - Right-Click while holding down the Shift key.

XTrackCAD Terms

# B.2 XTrackCAD Terms

Active Endpoint - when placing a turnout, the endpoint which is used as a 'handle' when moved along other tracks.

Auto-connect - when placing turnouts (Section 2.7) and creating parallel (Section 2.1.5) tracks, the new track will automatically be connected to other tracks if the tracks are aligned properly.

Block Gap - provides control by dividing the layout into electrically isolated blocks, where trains can be slowed or stopped by lowering or cutting the power to a block. Dividing a layout into blocks also permits operators to run more than one train on a layout with much less risk of a fast train catching up with and hitting a slow train. Blocks can also trigger signals or other animated accessories on the layout, adding more realism (or whimsy) to the layout. Three-rail systems will often insulate one of the common rails on a section of track, and use a passing train to complete the circuit and activate an accessory.

Cornu - * Cornu curves are a family of mathematically defined curves that define spirals that Euler spirals and elastica come from. They have the useful property for us that curvature increases linearly along the curve which means the acceleration towards the center of the curve also increases evenly. Railways have long understood that smoothly changing the radius is key to passenger comfort and reduced derailments. The railway versions of these curves were variously called easements, Talbot or Euler spirals.

DXF Format - Abbreviation of Data Exchange File, a two-dimensional graphics file format supported by virtually all PC-based CAD products. It was created by AutoDesk for the AutoCAD system.

Easement - special sections of gradually curving track used to connect straight and curved tracks (or two curved tracks). Easements reduce the effects of sudden changes in track curves which can cause derailments. They also look great!

Endpoint - One of the most important concepts in XTrackCAD is the endpoint. A piece of flex-track has an endpoint at each end. An endpoint has a position and an angle and it can be connected to other endpoints. The endpoints control where the track is placed and how it is connected.

- Turnouts have several endpoints (normally 3).

- Turntables have a varying number.

Error Message - an error message displayed in the Status Bar (Section 3.1) accompanied by a beep.

Fixed-track - These include Turnouts, Sectional tracks and Grouped objects. They are defined in Parameter Files (Section 2.5.7), or created using the Turnout Designer (Section 2.9.9) or the Group (Section 2.9.4) command. They are selected for placement on the layout using the Hot Bar (Section 2.7) or the Fixed-Track (Section 2.1.8) dialog. They can not be directly altered, but can be decomposed with the Ungroup (Section 2.9.11) command and some cases trimed (Section 2.2.17.2.1).

Flex-track - Flexible sections of track used on a layout. It usually comes in straight, three-foot-long sections which can be bent or shaped as needed. These include Straight, Curved, Easements, Cornu and Bezier tracks. This term is also used for hand-laid track. They are created by invoking the corresponding command and dragging on the layout. Easements (Section 2.10.4) are created automatically when joining tracks.

Frog - the place on a turnout track where one rail crosses the other.

Gauge - The distance between the inside of the heads of track rails. Most real railroads in North America and Europe are built to a standard gauge of 4'-8 1/2". Narrow gauge means rails with a width less than standard gauge. For example, On3 means O scale trains with three scale feet between the rails.

Handlaid - Track that's built with handmade ties, rail, and spikes.

Helix - A rising curve which turns around an axis like a corkscrew. Used on multilevel layouts to allow trains to go from one level to another.

Info Message - an informational message displayed in the Status Bar (Section 3.1).

Object - an item on the layout, such as a track segment, table edge, line, note or text.

Points - the part of the Turnout that moves to select a path.

S-Curve - (aka Reverse Curve) a curve which bends in one direction and then the other, forming an S-like shape, without any appreciable length of straight track between the two curves

Sectional Track - prefabricated track which cannot be bent, split or changed. A type of Fixed-Track.

Selected Endpoint - when selecting track for various reasons the selected endpoint is the one closest to the selection point.

Tangent - A line, curve, or surface meeting another line, curve, or surface at a common point.

Track Segment - any piece of flex-track, turnout or sectional track.

Turnout - A piece of track that allows a train to go from one track to another. Called a switch on a real railroad. Referred to by number. For example, a no. 6 turnout spreads one unit for each six units of travel measured from the frog (the point at which two rails join to form a V).

Turnouts are a type of 'Fixed-track' which includes Sectional Tracks and Grouped Objects.

- In XTrackCAD, Turnouts also include sectional Tracks, crossings and forms of prefabricated (non-flex) track.

Turnout Frog - the place on the turnout track where one rail crosses the other.

Turnout Number - the ratio of the number of units along the center line of a switch frog traversed for each unit the frog spreads to the sides. A No. 4 frog diverges 1 unit for every 4 it moves ahead; a No. 6, 1 for every 6 units. Although we usually refer to a turnout or switch number, in reality the measurement is for the frog.

Turnout Points - the part of the Turnout that moves to select a path.

Unconnected Endpoint - an endpoint which is not connected to another.

Control Element Scripts and the Model RR System's Dispatcher

# B.3 Control Element Scripts and the Model RR System's Dispatcher

Notes about control element scripts and the Model RR System's Dispatcher program in OpenLCB mode:

When using the Model RR System's Dispatcher program in OpenLCB mode to create CTC panels, the panel elements can have their LCC event IDs automatically populated from the information in the XTrackCAD file, if the proper syntax is observed.

A LCC event id is a 64-bit number, represented as eight pairs of hexadevimal digits (0-9, a-f/A-F) separated by periods (.). Each pair represents one 8-bit byte of the event id. This event id is either produced by a sensor or logic element or is consumed by a control/device or a logic element.

For blocks the occupency script contains a pair of LCC event ids, separated by a colon (:). The first LCC event id is produced by the occupency detector when the train enters the block and the second LCC event id is produced by the occupency detector when the train leaves the block.

For switchmotors the point sense script contains a pair of LCC event ids, separated by a colon (:). The first LCC event id is produced by the point sensor when the points are aligned in the "normal" position (typically aligned to the main) and the second LCC event id is produced by the point sensor when the points are aligned in the "reverse" position (typically aligned to the spur). The normal and reverse script each contain a signal LCC event id. These events are produced by the CTC Panel when the control point Code button is pressed (clicked) and are consumed by the switch motor.

For signals, the aspect name is a space separated list of the color(s) of the signal heads from top to bottom and the aspect script is a LCC event id that is consumed to produce that aspect. Presumably, the LCC event id is produced by a logic element (presumably a mast group in a Tower-LCC or similar device) or virtual track circuit in a Tower-LCC or similar device.

Messages and Explanations

# Appendix C: Messages and Explanations

- C.1 Message Types
- C.2 Message Explanations

- C.2.1 A Helix must have one or more loops of track.
- C.2.2 A frozen layer contains selected track. Command cannot be executed.
- C.2.3 A large font has been selected....
- C.2.4 All description fields present in the Turnout...
- C.2.5 All fields listed in the Group dialog must contain data....
- C.2.6 All values specified in the Turnout Designer must be...
- C.2.7 Angle must be between 0° and 360°.
- C.2.8 Are you sure you want to delete the NNN definition(s)?
- C.2.9 Bitmap create or write function failed.
- C.2.10 Bitmap is too large.
- C.2.11 Can't delete multiple points at once
- C.2.12 Cannot Enable Grid; spacing must be greater than 0
- C.2.13 Cannot Group Bumper Track. The track has been unselected.
- C.2.14 Cannot Group selected track type %s.
- C.2.15 Cannot Join Bezier or Cornu track if Easement is not Cornu
- C.2.16 Cannot Join; Easements do not align or abut.
- C.2.17 Cannot Join; Selected endpoints are on same track.
- C.2.18 Cannot Join; Selected endpoints are on same track.
- C.2.19 Cannot Join; Selected tracks are parallel.
- C.2.20 Cannot Show Grid; spacing must be greater than 0
- C.2.21 Cannot change elevation mode.
- C.2.22 Cannot freeze current layer
- C.2.23 Cannot hide current layer
- C.2.24 Cannot join from a turntable, try to a turntable
- C.2.25 Cannot open New Parameter File: FILENAME
- C.2.26 Cannot select a frozen layer
- C.2.27 Cannot split TYPE track
- C.2.28 Cannot turn current layer into a Module
- C.2.29 Cannot write to parameter file: FILENAME
- C.2.30 Car Index number duplicated.
- C.2.31 Connection parameters reset to maximum values.
- C.2.32 Connection parameters reset to minimum values.
- C.2.33 Copy/Paste buffer is empty. There is nothing to Paste.
- C.2.34 Critical file damaged!...
- C.2.35 Crossover length is too short. Correct...
- C.2.36 Curved track is too large.
- C.2.37 Definition name is already in use. Saving this...
- C.2.38 Do you want to save the changes made to your Layout?
- C.2.39 Duplicate column headers found in Car Import file.
- C.2.40 Endpoint already on Path.
- C.2.41 File version %ld is greater than supported...
- C.2.42 File version %ld is greater than supported...
- C.2.43 File version %ld is greater than supported...
- C.2.44 File version %ld is greater than supported...
- C.2.45 First|Second track is already connected.
- C.2.46 Frog angle prevents placement of points. Move points to opposite side of frog.
- C.2.47 Frog|Points cannot be placed on a turnout, circle or helix.
- C.2.48 Insufficient space between existing stall tracks.
- C.2.49 Joining tracks with differing elevations (N.NNN)
- C.2.50 Label description is hidden
- C.2.51 Label descriptions not visible
- C.2.52 Length of object is too short.
- C.2.53 Maximum allowed page size is W x H
- C.2.54 New Parameter File has no CONTENTS line: FILENAME.
- C.2.55 No Car Prototypes are defined....
- C.2.56 No Cars are defined for the current scale....
- C.2.57 No Parameter File Map for CONTENTS
- C.2.58 No Paths were detected when grouping selected Tracks.
- C.2.59 No Point on a Poly shape selected.
- C.2.60 No Turnouts|Structures are available.
- C.2.61 No data present in Car Import file.
- C.2.62 No layer was found that has no contents, so the module can not be imported
- C.2.63 No layer was found that wasn't frozen. Layer 0 is unfrozen.
- C.2.64 No pages selected for printing.
- C.2.65 No path between Profile and selected endpoint.
- C.2.66 No track(s) selected!
- C.2.67 Numeric values on the Car Description...
- C.2.68 Object has moved beyond room boundaries.
- C.2.69 Parallel separation must be greater than 0, or the new guage must be different than the old.
- C.2.70 Part Number for this Manufacturer already exists....
- C.2.71 Playback file version %ld is...
- C.2.72 Playback: Cannot find list entry: NAME
- C.2.73 Playback: unknown action NNN
- C.2.74 Please select a printer from the Print Setup dialog.
- C.2.75 Points are to close to frog; move away.
- C.2.76 Polygons must have at least 3 nodes.
- C.2.77 Prototype name already exists....
- C.2.78 Radius must be greater than 0.
- C.2.79 Radius must be less than 10000.
- C.2.80 Required column headers missing from Car Import file.
- C.2.81 Rescaled tracks do not fit within layouts room parameters...
- C.2.82 Scale "SCALE1" is not valid. We will substitute a dummy scale based on "SCALE2". See 'Help|Recent Messages' for details.
- C.2.83 Scale index (NNN) is not valid. Do you want use the current layout scale (SCALE)? Or create an "Unknown" scale? See 'Help|Recent Messages' for details.
- C.2.84 Second track must be selected|unselected
- C.2.85 Select position prior to entering Text.
- C.2.86 Selected page is out of bounds.
- C.2.87 Selected shapes must define a rectangular area ...
- C.2.88 Selected tracks deviate too much or are too far apart from each other.
- C.2.89 Specified command disabled.
- C.2.90 Split position between Turnout Points
- C.2.91 Split position not on unique path
- C.2.92 The Circle or Helix will not fit within the layouts room parameters (Height and Width).
- C.2.93 The current layer was defined as frozen. It is now unfrozen.
- C.2.94 The curves created by the Turnout Designer for a cornu curve have more than 128 segments....
- C.2.95 The entered text is too long. Maximum length is %d.
- C.2.96 The entered text was too long for the text object. It was truncated.
- C.2.97 The following car has no Part Number...
- C.2.98 The following car has no dimensions and a...
- C.2.99 The following column in the Car Import file will be ignored:...
- C.2.100 The position of a turnout or turntable cannot be changed while occupied by a train.
- C.2.101 The resulting length of one track piece is shorter than the minimum length of %d.
- C.2.102 There are no structures to choose from in the structure...
- C.2.103 There are no turnouts to choose from in the turnout...
- C.2.104 There are no unconnected end points for this track
- C.2.105 There are too few sections in this loop.
- C.2.106 There is nothing to redo!
- C.2.107 There is nothing to undo!
- C.2.108 Too many track segments in Group.
- C.2.109 Track cannot be changed.
- C.2.110 Track endpoint is within turntable radius.
- C.2.111 Track intersection not possible; move points away from frog.
- C.2.112 Track is too short by N.NNN
- C.2.113 Track radius (N.NNN) is smaller than easement minimum (N.NNN).
- C.2.114 Track segment N not on Path for Turnout
- C.2.115 Track segments appear too late in Group segment list.
- C.2.116 Tracks in a frozen layer cannot be modified.
- C.2.117 Tracks in a module cannot be modified.
- C.2.118 Turnout definition contains non-track segments....
- C.2.119 Turntable diameter must greater than 0.
- C.2.120 Undo assertion failure %s:%d...
- C.2.121 While processing Layout file %s, %d lines were skipped because they were not recognized.
- C.2.122 While processing Parameter file %s, %d lines were skipped because they were not recognized.
- C.2.123 XTrackCAD Version %s: Please note that this Beta Version of XTrackCAD is still undergoing final testing before its official release. The sole purpose of this Beta Version is to conduct testing and obtain feedback. Should you encounter any bugs, glitches, lack of functionality or other problems, please let us know immediately so we can rectify these accordingly. Your help in this regard is greatly appreciated!
- C.2.124 You have specified a large bitmap....
- C.2.125 [X Y] is not a track

Message Types

# C.1 Message Types

XTrackCAD generates three types of messages:

  Notices, which appear in their own window and require you to press a button to make a choice or dismiss them.

  Error messages, which appear in the Status-bar (Section 3.1) and are accompanied by a beep.

  Information messages, which appear in the Status-bar (Section 3.1) without a beep.

  Notices and Error messages that might be encountered are listed here with a explanation. The Recent Messages menu item on the Help (Section 2.6) menu contains a list of the most recent messages. Selecting one of the entries presents information on the particular message.

  The notation abc|xyx indicates the message can appear with either of the values (abc or xyz). Items in UPPERCASE indicate numeric (such as lengths) or string (such as filenames) values.

Section C.2 provides detail explanation of each information or error message.

Message Explanations

# C.2 Message Explanations

- C.2.1 A Helix must have one or more loops of track.
- C.2.2 A frozen layer contains selected track. Command cannot be executed.
- C.2.3 A large font has been selected....
- C.2.4 All description fields present in the Turnout...
- C.2.5 All fields listed in the Group dialog must contain data....
- C.2.6 All values specified in the Turnout Designer must be...
- C.2.7 Angle must be between 0° and 360°.
- C.2.8 Are you sure you want to delete the NNN definition(s)?
- C.2.9 Bitmap create or write function failed.
- C.2.10 Bitmap is too large.
- C.2.11 Can't delete multiple points at once
- C.2.12 Cannot Enable Grid; spacing must be greater than 0
- C.2.13 Cannot Group Bumper Track. The track has been unselected.
- C.2.14 Cannot Group selected track type %s.
- C.2.15 Cannot Join Bezier or Cornu track if Easement is not Cornu
- C.2.16 Cannot Join; Easements do not align or abut.
- C.2.17 Cannot Join; Selected endpoints are on same track.
- C.2.18 Cannot Join; Selected endpoints are on same track.
- C.2.19 Cannot Join; Selected tracks are parallel.
- C.2.20 Cannot Show Grid; spacing must be greater than 0
- C.2.21 Cannot change elevation mode.
- C.2.22 Cannot freeze current layer
- C.2.23 Cannot hide current layer
- C.2.24 Cannot join from a turntable, try to a turntable
- C.2.25 Cannot open New Parameter File: FILENAME
- C.2.26 Cannot select a frozen layer
- C.2.27 Cannot split TYPE track
- C.2.28 Cannot turn current layer into a Module
- C.2.29 Cannot write to parameter file: FILENAME
- C.2.30 Car Index number duplicated.
- C.2.31 Connection parameters reset to maximum values.
- C.2.32 Connection parameters reset to minimum values.
- C.2.33 Copy/Paste buffer is empty. There is nothing to Paste.
- C.2.34 Critical file damaged!...
- C.2.35 Crossover length is too short. Correct...
- C.2.36 Curved track is too large.
- C.2.37 Definition name is already in use. Saving this...
- C.2.38 Do you want to save the changes made to your Layout?
- C.2.39 Duplicate column headers found in Car Import file.
- C.2.40 Endpoint already on Path.
- C.2.41 File version %ld is greater than supported...
- C.2.42 File version %ld is greater than supported...
- C.2.43 File version %ld is greater than supported...
- C.2.44 File version %ld is greater than supported...
- C.2.45 First|Second track is already connected.
- C.2.46 Frog angle prevents placement of points. Move points to opposite side of frog.
- C.2.47 Frog|Points cannot be placed on a turnout, circle or helix.
- C.2.48 Insufficient space between existing stall tracks.
- C.2.49 Joining tracks with differing elevations (N.NNN)
- C.2.50 Label description is hidden
- C.2.51 Label descriptions not visible
- C.2.52 Length of object is too short.
- C.2.53 Maximum allowed page size is W x H
- C.2.54 New Parameter File has no CONTENTS line: FILENAME.
- C.2.55 No Car Prototypes are defined....
- C.2.56 No Cars are defined for the current scale....
- C.2.57 No Parameter File Map for CONTENTS
- C.2.58 No Paths were detected when grouping selected Tracks.
- C.2.59 No Point on a Poly shape selected.
- C.2.60 No Turnouts|Structures are available.
- C.2.61 No data present in Car Import file.
- C.2.62 No layer was found that has no contents, so the module can not be imported
- C.2.63 No layer was found that wasn't frozen. Layer 0 is unfrozen.
- C.2.64 No pages selected for printing.
- C.2.65 No path between Profile and selected endpoint.
- C.2.66 No track(s) selected!
- C.2.67 Numeric values on the Car Description...
- C.2.68 Object has moved beyond room boundaries.
- C.2.69 Parallel separation must be greater than 0, or the new guage must be different than the old.
- C.2.70 Part Number for this Manufacturer already exists....
- C.2.71 Playback file version %ld is...
- C.2.72 Playback: Cannot find list entry: NAME
- C.2.73 Playback: unknown action NNN
- C.2.74 Please select a printer from the Print Setup dialog.
- C.2.75 Points are to close to frog; move away.
- C.2.76 Polygons must have at least 3 nodes.
- C.2.77 Prototype name already exists....
- C.2.78 Radius must be greater than 0.
- C.2.79 Radius must be less than 10000.
- C.2.80 Required column headers missing from Car Import file.
- C.2.81 Rescaled tracks do not fit within layouts room parameters...
- C.2.82 Scale "SCALE1" is not valid. We will substitute a dummy scale based on "SCALE2". See 'Help|Recent Messages' for details.
- C.2.83 Scale index (NNN) is not valid. Do you want use the current layout scale (SCALE)? Or create an "Unknown" scale? See 'Help|Recent Messages' for details.
- C.2.84 Second track must be selected|unselected
- C.2.85 Select position prior to entering Text.
- C.2.86 Selected page is out of bounds.
- C.2.87 Selected shapes must define a rectangular area ...
- C.2.88 Selected tracks deviate too much or are too far apart from each other.
- C.2.89 Specified command disabled.
- C.2.90 Split position between Turnout Points
- C.2.91 Split position not on unique path
- C.2.92 The Circle or Helix will not fit within the layouts room parameters (Height and Width).
- C.2.93 The current layer was defined as frozen. It is now unfrozen.
- C.2.94 The curves created by the Turnout Designer for a cornu curve have more than 128 segments....
- C.2.95 The entered text is too long. Maximum length is %d.
- C.2.96 The entered text was too long for the text object. It was truncated.
- C.2.97 The following car has no Part Number...
- C.2.98 The following car has no dimensions and a...
- C.2.99 The following column in the Car Import file will be ignored:...
- C.2.100 The position of a turnout or turntable cannot be changed while occupied by a train.
- C.2.101 The resulting length of one track piece is shorter than the minimum length of %d.
- C.2.102 There are no structures to choose from in the structure...
- C.2.103 There are no turnouts to choose from in the turnout...
- C.2.104 There are no unconnected end points for this track
- C.2.105 There are too few sections in this loop.
- C.2.106 There is nothing to redo!
- C.2.107 There is nothing to undo!
- C.2.108 Too many track segments in Group.
- C.2.109 Track cannot be changed.
- C.2.110 Track endpoint is within turntable radius.
- C.2.111 Track intersection not possible; move points away from frog.
- C.2.112 Track is too short by N.NNN
- C.2.113 Track radius (N.NNN) is smaller than easement minimum (N.NNN).
- C.2.114 Track segment N not on Path for Turnout
- C.2.115 Track segments appear too late in Group segment list.
- C.2.116 Tracks in a frozen layer cannot be modified.
- C.2.117 Tracks in a module cannot be modified.
- C.2.118 Turnout definition contains non-track segments....
- C.2.119 Turntable diameter must greater than 0.
- C.2.120 Undo assertion failure %s:%d...
- C.2.121 While processing Layout file %s, %d lines were skipped because they were not recognized.
- C.2.122 While processing Parameter file %s, %d lines were skipped because they were not recognized.
- C.2.123 XTrackCAD Version %s: Please note that this Beta Version of XTrackCAD is still undergoing final testing before its official release. The sole purpose of this Beta Version is to conduct testing and obtain feedback. Should you encounter any bugs, glitches, lack of functionality or other problems, please let us know immediately so we can rectify these accordingly. Your help in this regard is greatly appreciated!
- C.2.124 You have specified a large bitmap....
- C.2.125 [X Y] is not a track

A Helix must have one or more loops of track.

# C.2.1 A Helix must have one or more loops of track.

A Helix cannot be created with less than one complete loop of track. Anything less than one loop is considered a section of curved track.

A frozen layer contains selected track. Command cannot be executed.

# C.2.2 A frozen layer contains selected track. Command cannot be executed.

This operation cannot be executed as segments of Selected track are present on a frozen layer. Track changes or deletions may be performed only on unfrozen layers. Deselect objects that appear on frozen layers or unfreeze the layers.

Refer to section 2.9.5 for detail.

A large font has been selected....

# C.2.3 A large font has been selected....

A large font has been selected. Large fonts (or changing fonts sizes) may take a noticeable amount of time to load.

Refer to section 2.3.9 for detail.

All description fields present in the Turnout...

# C.2.4 All description fields present in the Turnout...

Turnout descriptions should be as accurate as possible. All description fields listed in the Turnout Designer must contain appropriate information.

Refer to section 2.9.9 for detail.

All fields listed in the Group dialog must contain data....

# C.2.5 All fields listed in the Group dialog must contain data....

The Group dialog shows the Manufacturer, Description and part number (Title) of the new definition. Initial values are based on selected turnouts and structures or on the last Ungrouped object. The dialog also contains a toggle button (Replace with new group?), which is used if you want to replace the selected objects with the new definition. All fields listed in this dialog window must contain data.

Refer to section 2.9.4 for detail.

All values specified in the Turnout Designer must be...

# C.2.6 All values specified in the Turnout Designer must be...

Turnout dimensions should be as accurate as possible. All values specified in the Turnout Designer must be greater than 0.

Refer to section 2.9.9 for detail.

Angle must be between 0° and 360°.

# C.2.7 Angle must be between 0° and 360°.

The angle specified for a curve must be between 0° and 360°.

Are you sure you want to delete the NNN definition(s)?

# C.2.8 Are you sure you want to delete the NNN definition(s)?

You are about to delete a custom turnout or structure design from the Custom Design file (`xtrkcad.cus`) file. This action cannot be undone.

Refer to section 1.9.2 and section 1.9.3 for an explanation of the files used by XTrackCAD.

Bitmap create or write function failed.

# C.2.9 Bitmap create or write function failed.

Your attempt to create or write a bitmap file failed. This could be due to the bitmap being too large or a lack of system resources. Try creating a smaller Bitmap or freeing system resources by closing other applications and dialog windows.

Bitmap is too large.

# C.2.10 Bitmap is too large.

A Bitmap must be less than 32000 pixels in height or width. Try increasing the DPI (or DPCM) value.

Refer to section 2.5.2 for detail.

Can't delete multiple points at once

# C.2.11 Can't delete multiple points at once

Polygons and Poly Lines points can only be deleted one at a time.

Cannot Enable Grid; spacing must be greater than 0

# C.2.12 Cannot Enable Grid; spacing must be greater than 0

Before the horizontal or vertical Snap Grid can be Enabled, the corresponding Spacing value(s) on the Grid dialog must be set to a value greater than 0.

Refer to section 2.12.2 for detail.

Cannot Group Bumper Track. The track has been unselected.

# C.2.13 Cannot Group Bumper Track. The track has been unselected.

Bumper tracks (tracks with 1 endpoint) are not supported by the Group command. Convert the Bumper track to a Straight track by Ungrouping section 2.9.11 it first.

Cannot Group selected track type %s.

# C.2.14 Cannot Group selected track type %s.

Group objects are formed from Straight, Curved, Turnout or Sectional track or Structures or Draw elements. The selected objects include an object which is not one of these. Reselect the objects, including only elements of these types.

Refer to section 2.9.4 for detail.

Cannot Join Bezier or Cornu track if Easement is not Cornu

# C.2.15 Cannot Join Bezier or Cornu track if Easement is not Cornu

You must change the Easement value to Cornu in order to join Bezier or Cornu Tracks

Cannot Join; Easements do not align or abut.

# C.2.16 Cannot Join; Easements do not align or abut.

You are trying to Join two easement curves. This can be achieved only if the two curves abut and are aligned. Otherwise, you can delete the easement curves and try to Join to connected tracks.

Refer to section 2.2.7 for detail.

Cannot Join; Selected endpoints are on same track.

# C.2.17 Cannot Join; Selected endpoints are on same track.

You are trying to Join a section of track with itself. Different tracks must selected when using the Join command.

Refer to section 2.2.7 for detail.

Cannot Join; Selected endpoints are on same track.

# C.2.18 Cannot Join; Selected endpoints are on same track.

You are trying to Join a section of track with itself. Different tracks must selected when using the Join command.

Refer to section 2.2.7 for detail.

Cannot Join; Selected tracks are parallel.

# C.2.19 Cannot Join; Selected tracks are parallel.

These tracks cannot be joined as they are parallel to each other and the selected endpoints, point in opposite directions. To Join these two tracks, pick endpoints that point in the same direction.

Refer to section 2.2.7 for detail.

Cannot Show Grid; spacing must be greater than 0

# C.2.20 Cannot Show Grid; spacing must be greater than 0

Before the Snap Grid can be Shown, corresponding horizontal or vertical Spacing value(s) on the Grid dialog must be set to a value greater than 0.

Refer to section 2.12.2 for detail.

Cannot change elevation mode.

# C.2.21 Cannot change elevation mode.

In the Profile command, the Elevation mode for this endpoint can be change only if it is Defined, Ignored or None. The Elevation command can be used to change this endpoint.

Refer to section 2.2.5 for detail.

Cannot freeze current layer

# C.2.22 Cannot freeze current layer

The current Layer is where most new objects are created. It's not possible to freeze this layer, since it would not be able to create objects. Change the current Layer to some other Layer before trying to freeze this Layer.

Refer to section 2.9.5 for detail.

Cannot hide current layer

# C.2.23 Cannot hide current layer

The current Layer is where most new objects are created. It's not possible to hide this layer, since it would not be possible to see the objects. Change the current Layer to some other Layer before trying to hide this Layer.

Refer to section 2.9.5 for detail.

Cannot join from a turntable, try to a turntable

# C.2.24 Cannot join from a turntable, try to a turntable

You cannot select a Turntable as the second track in Join command. If you wish to Join to a Turntable then select the Turntable as the first track in the Join command.

Refer to section 2.2.7 for detail.

Cannot open New Parameter File: FILENAME

# C.2.25 Cannot open New Parameter File: FILENAME

During the processing of Parameter Files after updating to a new version of XTrackCAD, one of updated Parameter Files could not be found. Check that the installation had no errors. You can use the Parameter Files dialog to locate the parameter file.

Refer to section 2.5.7 for detail.

Cannot select a frozen layer

# C.2.26 Cannot select a frozen layer

The current Layer is where most new objects are created. It's not possible to select a frozen Layer, since it would not be possible to create objects. Unfreeze this Layer before trying to make this the current Layer.

Refer to section 2.9.5 for detail.

Cannot split TYPE track

# C.2.27 Cannot split TYPE track

This fixed track like turnouts or or other sectional track cannot be Split. Only flexible, Cornu, straight and curved tracks can be Split. To Split a Turnout, hold down the Shift key then Left-Click on the position where the track should be Split.

Refer to section 2.2.17.1 for detail.

Cannot turn current layer into a Module

# C.2.28 Cannot turn current layer into a Module

The current Layer is where new objects are created. It's not possible to turn this layer into a module, since then the objects can't be chnaged or added. Change the current Layer to some other Layer before trying to make this Layer into a module.

Refer to section 2.9.5 for detail.

Cannot write to parameter file: FILENAME

# C.2.29 Cannot write to parameter file: FILENAME

The specified parameter file can not be written to. Make sure the file and or directory is not marked as read only.

Car Index number duplicated.

# C.2.30 Car Index number duplicated.

Each Car in your inventory must have a unique index value. If a duplicate index number is found during the Import process it will be replaced with a new, unused value.

Connection parameters reset to maximum values.

# C.2.31 Connection parameters reset to maximum values.

The parameters Minimum Track Length, Connection Angle and Connection Distance have maximum values that cannot be set to bigger values. The maximum values are 1.0"/2.54cm, 10° and 1.0"/2.54cm respectively.

Refer to section 2.10.7 for detail.

Connection parameters reset to minimum values.

# C.2.32 Connection parameters reset to minimum values.

The parameters Minimum Track Length, Connection Angle and Connection Distance have minimum values that cannot be set to smaller values. The minimum values are 0.1"/0.254cm, 1° and 0.1"/0.254cm respectively.

Refer to section 2.10.7 for detail.

Copy/Paste buffer is empty. There is nothing to Paste.

# C.2.33 Copy/Paste buffer is empty. There is nothing to Paste.

An attempt was made to Paste an object onto the layout however the Copy/Paste buffer was empty. This error generally occurs when the Paste command is executed without first executing the Copy command.

Refer to section 2.4 for detail.

Critical file damaged!...

# C.2.34 Critical file damaged!...

A critical file is corrupt. Unfortunately it will be necessary to reinstall the software or contact the XTrackCAD project development team at SourceForge in order to overcome this error.

Please report this error to the XTrackCAD project development team at SourceForge. The process for reporting errors is outlined in section 1.11.1.

Crossover length is too short. Correct...

# C.2.35 Crossover length is too short. Correct...

The length of crossover segments must be greater than the track gauge.

Curved track is too large.

# C.2.36 Curved track is too large.

The length of the curved track is limited to sum of the room dimensions. This limitation prevents creation of curves that are unreasonably large. Adjust the mouse position to create a smaller Curve.

Definition name is already in use. Saving this...

# C.2.37 Definition name is already in use. Saving this...

The definition you're attempting to create uses the same name as an existing definition. Saving the definition with the same name will cause XTrackCAD to replace the existing definition, making the existing definition inaccessible. If the previous definition must be preserved, then choose a different name for the new definition. If necessary, the Custom Management dialog can be used to change definition names.

Refer to section 2.9.2 for detail.

Do you want to save the changes made to your Layout?

# C.2.38 Do you want to save the changes made to your Layout?

The Exit command was selected without first saving changes that have been made to the layout. This notice gives you the chance to save your changes before the program ends.

Duplicate column headers found in Car Import file.

# C.2.39 Duplicate column headers found in Car Import file.

The Car Import function reads car values from a Comma-Separated-Value (CSV) file. The import file must contain headers for at least the Scale, Prototype, Manufacturer and Partno columns. In addition, the following column headers may also be included: Index, Type, Description, Roadname, Repmark, Number, Options, CarLength, CarWidth, CoupledLength, TruckCenter, Color, PurchPrice, CurrPrice, Condition, PurchDate, ServiceDate and Notes.

It appears the CSV file that you're attempting to Import contains more than one row of column headers. Review the CSV files content and ensure only one row of header data exists.

Refer to section 2.9.1 for detail.

Endpoint already on Path.

# C.2.40 Endpoint already on Path.

An endpoint that is already on the Profile Path has been selected. Select a different endpoint; one that is on a track that is not drawn in Purple.

Refer to section 2.2.12 for detail.

File version %ld is greater than supported...

# C.2.41 File version %ld is greater than supported...

The layout file that you're attempting to load was created using a newer version of XTrackCAD. In order to load this file it will be necessary to upgrade your version of XTrackCAD to at least the version identified within the error message.

Take full advantage of the latest features within XTrackCAD by visiting the XTrackCAD Website and downloading the latest release.

File version %ld is greater than supported...

# C.2.42 File version %ld is greater than supported...

The layout file that you're attempting to load was created using a newer version of XTrackCAD. In order to load this file it will be necessary to upgrade your version of XTrackCAD to at least the version identified within the error message.

Take full advantage of the latest features within XTrackCAD by visiting the XTrackCAD Fork Website and downloading the latest release.

File version %ld is greater than supported...

# C.2.43 File version %ld is greater than supported...

The parameter file that you're attempting to load was designed for a newer version of XTrackCAD. In order to load this file it will be necessary to upgrade your version of XTrackCAD to at least the version identified within the error message.

Take full advantage of the latest features within XTrackCAD by visiting the XTrackCAD Website and downloading the latest release.

File version %ld is greater than supported...

# C.2.44 File version %ld is greater than supported...

The parameter file that you're attempting to load was designed for a newer version of XTrackCAD. In order to load this file it will be necessary to upgrade your version of XTrackCAD to at least the version identified within the error message.

Take full advantage of the latest features within XTrackCAD by visiting the XTrackCAD Fork Website and downloading the latest release.

First|Second track is already connected.

# C.2.45 First|Second track is already connected.

To Join one track with another, the endpoints selected for connection cannot be connected with any other track. Pick another track with an unconnected endpoint or disconnect one of the endpoints using the Split command.

Refer to section 2.2.7 for detail regarding the Join command or section 2.2.17.1 for detail regarding the Split command.

Frog angle prevents placement of points. Move points to opposite side of frog.

# C.2.46 Frog angle prevents placement of points. Move points to opposite side of frog.

The frog angle prevents points from being placed on this side of the frog. Place points on opposite side of frog or retry this command and create the frog in the opposite direction.

Refer to section 2.1.3 for detail.

Frog|Points cannot be placed on a turnout, circle or helix.

# C.2.47 Frog|Points cannot be placed on a turnout, circle or helix.

The frog or points of a hand-laid turnout cannot be placed on a turnout, circle or helix track. Choose a straight or curved section of track or use the Split command to create a curve from the circle track.

Refer to section 2.1.3 for detail regarding hand laid turnouts or section 2.2.17.1 for detail regarding the Split command.

Insufficient space between existing stall tracks.

# C.2.48 Insufficient space between existing stall tracks.

There is insufficient space between the two existing turntable stall tracks to place a new stall track. Either place the new stall track on a different part of the turntable or decrease the Turntable Angle using the Command Options dialog.

Refer to section 2.1.9 for detail regarding turntables or section 2.10.2 for detail regarding the Command Options dialog and Turntable Angles.

Joining tracks with differing elevations (N.NNN)

# C.2.49 Joining tracks with differing elevations (N.NNN)

You are connecting two endpoints which differ in heights by N.NNN. The elevation of the connection will be the average of the two heights. You should check if this is a problem.

Label description is hidden

# C.2.50 Label description is hidden

The Move Description command can only be used when labels are visible on the layout. Labels can be hidden using the Context Menu.

Use the Context Menu to toggle a track's visbility on and off.

Label descriptions not visible

# C.2.51 Label descriptions not visible

The Move Description command can only be used when labels are visible on the layout. Labels will not be visible when the Label Scale is set to a smaller value than the current drawing scale or when no items are enabled in the Label Enable section of the Display Options dialog.

Check the Display Options dialog (Options>Display) to determine if;

- the Label Scale is set to a value smaller than or equal to the current drawing scale.
- at least one attribute within the Label Enable section is selected. You will of course want to ensure the type of label you wish to move is selected.

Refer to section 2.2.10 for detail regarding Description movement or section 2.10.3 for detail regarding Display attributes.

Length of object is too short.

# C.2.52 Length of object is too short.

The specified length for the object being modified is too short. Increase the objects length.

Maximum allowed page size is W x H

# C.2.53 Maximum allowed page size is W x H

Values for Page Width and Height can be manually entered thus overriding maximum values. For example, smaller values could be specified if each printed page is to contain an integral number of feet. Values larger than the selected paper size multiplied by the Scale cannot be entered.

Refer to section 2.5.9 for detail.

New Parameter File has no CONTENTS line: FILENAME.

# C.2.54 New Parameter File has no CONTENTS line: FILENAME.

Each Parameter Files contains a line which identifies the contents. The specified file is missing this line.

Please report this error to the XTrackCAD project development team at SourceForge. The process for reporting errors is outlined in section 1.11.1.

No Car Prototypes are defined....

# C.2.55 No Car Prototypes are defined....

No Car Prototypes are defined. Load a car prototype definition file (such as protoam.xtp) using the Parameter Files dialog or create a prototype definition using the Car Prototype dialog.

Refer to section 2.5.7 for detail regarding the Parameter Files or section 2.9.1.3 for detail regarding the Car Prototype dialog.

No Cars are defined for the current scale....

# C.2.56 No Cars are defined for the current scale....

No Cars are defined for the current layout scale. Either set the scale to the value of already defined cars, or use the dialog to select cars of the current scale and add them to the Car Inventory.

Refer to section 2.9.1 for detail.

No Parameter File Map for CONTENTS

# C.2.57 No Parameter File Map for CONTENTS

The parameter file for CONTENTS has been moved or deleted. Use the Parameter Files dialog to locate the Parameter Files.

Refer to section 2.5.7 for detail.

No Paths were detected when grouping selected Tracks.

# C.2.58 No Paths were detected when grouping selected Tracks.

Please contact development

No Point on a Poly shape selected.

# C.2.59 No Point on a Poly shape selected.

Select a Poly shape and a single point in order to be able to delete it.

No Turnouts|Structures are available.

# C.2.60 No Turnouts|Structures are available.

The Update Turnouts and Structures command updates (or refreshes) selected turnouts, sectional tracks and structures on your layout with the current definitions from the loaded parameter files (Section 2.5.7). Each selected object that is found in a parameter file is updated with the current definition.

If an object can not be found or if the new definition does not fit (same number of endpoints and all the endpoints have the same position and angle) then a dialog is displayed which contains suitable definitions that you can choose from. In the case of turnouts, this list is populated with turnouts having the same number of endpoints as the selected turnout. If turnouts with the same number of endpoints exist then this message is displayed.

Refer to section 2.9.10 for detail.

No data present in Car Import file.

# C.2.61 No data present in Car Import file.

The Car Import function reads car values from a Comma-Separated-Value (CSV) file. The import file must contain headers for at least the Scale, Prototype, Manufacturer and Partno columns. In addition, information relative to at least one car must be included in the file otherwise this error occurs.

Refer to section 2.9.1 for detail.

No layer was found that has no contents, so the module can not be imported

# C.2.62 No layer was found that has no contents, so the module can not be imported

The import module function needs an empty layer to work with, but none could be found. Clear a layer and retry.

No layer was found that wasn't frozen. Layer 0 is unfrozen.

# C.2.63 No layer was found that wasn't frozen. Layer 0 is unfrozen.

There has to be one layer that isn't frozen, Layer 0 will be unfrozen

No pages selected for printing.

# C.2.64 No pages selected for printing.

Pages are selected for printing by clicking on the print grid on the layout. Use the Zoom Out command to bring more of the layout into view (Section 2.12.4). The print grid can be moved using the Shift+Left+Drag command or rotated using the Shift+Right+Drag command.

Refer to section 2.5.9 for detail.

No path between Profile and selected endpoint.

# C.2.65 No path between Profile and selected endpoint.

There is no path of track between the end of the Profile and the endpoint you have clicked on.

Refer to the section 2.2.12 for detail.

No track(s) selected!

# C.2.66 No track(s) selected!

The current command operates on Selected tracks of which there are none. Select the desired track and try the command again.

Refer to section 2.2.16 for detail.

Numeric values on the Car Description...

# C.2.67 Numeric values on the Car Description...

Numeric values on the Car Description dialog (Car Length, Car Width, Truck Centers, Coupled Length and Coupler Length) must be greater than zero.

Refer to section 2.9.8 for detail.

Object has moved beyond room boundaries.

# C.2.68 Object has moved beyond room boundaries.

The last operation moved the object outside of room boundaries; room width and height. The Undo command can be used to move the object back.

Refer to section 2.10.6 for detail regarding room boundaries and section 2.4.9 for detail regarding the Undo command.

Parallel separation must be greater than 0, or the new guage must be different than the old.

# C.2.69 Parallel separation must be greater than 0, or the new guage must be different than the old.

A parallel track with an identical gauge and separation of 0 or less cannot be created. Specify a positive value in the Separation field that appears in the Status Bar, or select a track with a different guage.

Refer to section 2.1.5 for detail.

Part Number for this Manufacturer already exists....

# C.2.70 Part Number for this Manufacturer already exists....

The Part definition you're attempting to create uses the same Manufacturer and Part Number as an existing definition. Saving the definition with the same Manufacturer and Part Number will cause XTrakCAD to update the existing definition. If the previous definition must be preserved, then choose a different Part Number for the new definition.

Refer to section 2.9.1.2 for detail.

Playback file version %ld is...

# C.2.71 Playback file version %ld is...

The layout file that you're attempting to load was created using a newer version of XTrackCAD. In order to load this file it will be necessary to upgrade your version of XTrackCAD to at least the version identified within the error message.

Take full advantage of the latest features within XTrackCAD by visiting the XTrackCAD Fork Website and downloading the latest release.

Playback: Cannot find list entry: NAME

# C.2.72 Playback: Cannot find list entry: NAME

This error is most likely caused by trying to Playback an incompatible XTrackCAD recording or demo file.

Refer to section 2.8 for detail.

Playback: unknown action NNN

# C.2.73 Playback: unknown action NNN

This error is most likely caused by trying to Playback an incompatible XTrackCAD recording or demo file.

Refer to section 2.8 for detail.

Please select a printer from the Print Setup dialog.

# C.2.74 Please select a printer from the Print Setup dialog.

Printer Margins are specific to the selected printer, but no selected printer is chosen. You can select a printer from the Print Setup dialog.

Points are to close to frog; move away.

# C.2.75 Points are to close to frog; move away.

The points are being placed too close to the frog. Move the points away from the frog and try again.

Refer to section 2.1.3 for detail.

Polygons must have at least 3 nodes.

# C.2.76 Polygons must have at least 3 nodes.

Polygons and Poly Lines must have at least 3 nodes. You're attempting to create a Polygon with only 2 sides or a PolyLine with one line segment.

Prototype name already exists....

# C.2.77 Prototype name already exists....

The Prototype definition you're attempting to create uses the same name as an existing definition. Saving the definition with the same name will cause XTrackCAD to update the existing definition. If the previous definition must be preserved, then choose a different Part Number for the new definition.

Refer to section 2.9.1.3 for detail.

Radius must be greater than 0.

# C.2.78 Radius must be greater than 0.

It's not possible to create a Circle or Helix with a radius of 0° or less. Specify a positive value in the Radius field that appears in the Status Bar.

Radius must be less than 10000.

# C.2.79 Radius must be less than 10000.

It's not possible to create a Circle or Helix with a radius of 10000° or more. Specify a smaller value in the Radius field.

Required column headers missing from Car Import file.

# C.2.80 Required column headers missing from Car Import file.

The Car Import function reads car values from a Comma-Separated-Value (CSV) file. The import file must contain headers for at least the Scale, Prototype, Manufacturer and Partno columns. In addition, the following column headers may also be included: Index, Type, Description, Roadname, Repmark, Number, Options, CarLength, CarWidth, CoupledLength, TruckCenter, Color, PurchPrice, CurrPrice, Condition, PurchDate, ServiceDate and Notes.

Refer to section 2.9.1 for detail.

Rescaled tracks do not fit within layouts room parameters...

# C.2.81 Rescaled tracks do not fit within layouts room parameters...

While using the Change Scale command to enlarge the layout, XTrackCAD determined that rescaled tracks do not fit within the layout rooms parameters. Using the Layout dialog, the rooms parameters (Height and width) should be set so as to accommodate the rescaled track.

Refer to section 2.10.6 for detail regarding Layout options or section 2.2.1 for detail regarding the Change Scale command.

Scale "SCALE1" is not valid. We will substitute a dummy scale based on "SCALE2". See 'Help|Recent Messages' for details.

# C.2.82 Scale "SCALE1" is not valid. We will substitute a dummy scale based on "SCALE2". See 'Help|Recent Messages' for details.

SCALE1 is not one of known scales defined in "xtrkcad.xtq". We will substitute the layout scale info from SCALE2.

If the current scale is not correct, then select it on 'Options|Layout' and reload your layout.

You can also correct this by selecting the affected tracks, and using the 'Change|Change Scale' section 2.2.1 command.

Please report this error to the XTrackCAD project development team at SourceForge. The process for reporting errors is outlined in section 1.11.1.

Scale index (NNN) is not valid. Do you want use the current layout scale (SCALE)? Or create an "Unknown" scale? See 'Help|Recent Messages' for details.

# C.2.83 Scale index (NNN) is not valid. Do you want use the current layout scale (SCALE)? Or create an "Unknown" scale? See 'Help|Recent Messages' for details.

Internal error: an invalid scale index has been generated. You can substitute the layout's current scale (recommended).

If you do not want to use the currrent scale:

- Choose "Unknown".
- Save your file
- Choose the correct scale from 'Options|Layout'
- Reload your file
- You will see a notice that "Scale Unknown is invalid"
- Choose the layout scale

You can also correct this by selecting the affected tracks, and using the 'Change|Change Scale' section 2.2.1 command.

Please report this error to the XTrackCAD project development team at SourceForge. The process for reporting errors is outlined in section 1.11.1.

Second track must be selected|unselected

# C.2.84 Second track must be selected|unselected

The Move To Join command moves the selected tracks so an endpoint is joined with the endpoint of an unselected track. If you choose the selected endpoint first then you must choose an unselected endpoint second, and vice versa.

Refer to section 2.2.7.7 for detail.

Select position prior to entering Text.

# C.2.85 Select position prior to entering Text.

The position where text is to be placed on the layout must be selected prior to text entry. The position is select by Left-Clicking on the layout at the point where the text is to appear. Desired text is entered after the position is selected. If necessary, the location can be changed once text entry begins by Left-Click+Draging the text to any desired position on the layout.

Refer to section 2.3.9 for detail.

Selected page is out of bounds.

# C.2.86 Selected page is out of bounds.

During execution of the Print command an attempted was made to select a page that's outside the layouts boundaries.

Refer to section 2.10.6 for detail regarding layout boundaries or section 2.5.9 for detail regarding the Print command.

Selected shapes must define a rectangular area ...

# C.2.87 Selected shapes must define a rectangular area ...

The Import command (Button) on the Car Prototype dialog is used to create the image of an car from the shapes selected on the layout prior to opening the Car Prototype dialog. The car is assumed to be oriented horizontally so its length must be greater than its height. The selected shapes do not meet this requirement.

Refer to section 2.9.1.3 for detail.

Selected tracks deviate too much or are too far apart from each other.

# C.2.88 Selected tracks deviate too much or are too far apart from each other.

The Connect command is used to remove small gaps that may result when using sectional track. The chosen sectional track endpoints must be close together and nearly aligned. The selected tracks deviate too much or are too far apart from each other.

Refer to section 2.2.3 for detail.

Specified command disabled.

# C.2.89 Specified command disabled.

The specified command has been disabled in error.

Please report this error to the XTrackCAD project development team at SourceForge. The process for reporting errors is outlined in section 1.11.1.

Split position between Turnout Points

# C.2.90 Split position between Turnout Points

The Split position must be between an endpoint and the position where the turnout's track segments diverge (the turnout points). Select a position closer to the endpoint.

Split position not on unique path

# C.2.91 Split position not on unique path

The Split position must be between an endpoint and the position where the turnout's track segments diverge (the turnout points). Select a position closer to the endpoint.

The Circle or Helix will not fit within the layouts room parameters (Height and Width).

# C.2.92 The Circle or Helix will not fit within the layouts room parameters (Height and Width).

The defined circle can not fit within the defined layout parameters. Either specify a smaller value in the Radius field, or increase the room parameters in the Layout dialog.

The current layer was defined as frozen. It is now unfrozen.

# C.2.93 The current layer was defined as frozen. It is now unfrozen.

The current layer has to be unfrozen

The curves created by the Turnout Designer for a cornu curve have more than 128 segments....

# C.2.94 The curves created by the Turnout Designer for a cornu curve have more than 128 segments....

Too complex a curve set to be used. Respecify Turnout Designer values.

Refer to section 2.9.9 for detail.

The entered text is too long. Maximum length is %d.

# C.2.95 The entered text is too long. Maximum length is %d.

The text entered into a field is longer than the maximum allowed length and was truncated. Please check the shortened text and edit as necessary.

The entered text was too long for the text object. It was truncated.

# C.2.96 The entered text was too long for the text object. It was truncated.

Text objects are limited to about 10k characters.

The following car has no Part Number...

# C.2.97 The following car has no Part Number...

The car import file must contain headers for at least the Scale, Prototype, Manufacturer and Partno columns. In addition, car information relative to these columns must be included in each line of the file otherwise this error will occur.

Refer to section 2.9.1 for detail.

The following car has no dimensions and a...

# C.2.98 The following car has no dimensions and a...

The car import file does not specify car dimensions and the specified Partno can not be found. Edit the import file and either add car dimensions or add/update the Partno. This will allow XTrackCAD to locate information for the car being imported.

Refer to section 2.9.1 for detail.

The following column in the Car Import file will be ignored:...

# C.2.99 The following column in the Car Import file will be ignored:...

An invalid column in the Car Import file will be ignored. Valid column names are:

Index, Scale, Manufacturer, Type, Partno, Prototype, Description, Roadname, Repmark, Number, Options, CarLength, CarWidth, CoupledLength, TruckCenter, Color, PurchPrice, CurrPrice, Condition, PurchDate, ServiceDate and Notes.

Refer to section 2.9.1 for detail.

The position of a turnout or turntable cannot be changed while occupied by a train.

# C.2.100 The position of a turnout or turntable cannot be changed while occupied by a train.

The position of a turnout or turntable cannot be changed while occupied by a train.

Refer to section 2.9.8, Turnouts and Turntables for detail.

The resulting length of one track piece is shorter than the minimum length of %d.

# C.2.101 The resulting length of one track piece is shorter than the minimum length of %d.

After the split one of the track segments will be shorter than the minimum length. Select a different position for splitting.

There are no structures to choose from in the structure...

# C.2.102 There are no structures to choose from in the structure...

This error occurs when;

- no structures are available in the structure selection list or;
- the scale setting of the layout and Parameter Files does not match.

Using the File>Parameter Files menu, check which Parameter files are loaded. Ensure the scale of the loaded files match that of the layout. Alternately a new Structure could be created using the Group command.

Refer to section 2.5.7 for detail regarding Parameter Files or section 2.9.4 for detail regarding the Group command.

There are no turnouts to choose from in the turnout...

# C.2.103 There are no turnouts to choose from in the turnout...

This error occurs when;

- no turnouts are available in the turnouts selection list or;
- the scale setting of the layout and Parameter Files does not match.

Using the File>Parameter Files menu, check which Parameter files are loaded. Ensure the scale of the loaded files match that of the layout. Alternately a new turnout could be created using the Turnout Designer command.

Refer to section 2.5.7 for detail regarding Parameter Files or section 2.9.9 for detail regarding the Turnout Designer command.

There are no unconnected end points for this track

# C.2.104 There are no unconnected end points for this track

The current command operates on the unconnected endpoint of a track, but the endpoints of the chosen track are all connected to other tracks. Use the Split command to disconnect the desired endpoint of this track or choose another track.

Refer to section 2.2.17.1 for detail.

There are too few sections in this loop.

# C.2.105 There are too few sections in this loop.

The Connect command operates by adding small gaps between other track to make up for the larger gap between the tracks you have selected. In this case you are attempting to close a loop of track with to few sections. Try creating a loop with more sectional track pieces.

Refer to section 2.2.3 for detail.

There is nothing to redo!

# C.2.106 There is nothing to redo!

Either the Undo command has not been used or another command has been used since, thus no Undo operations are available to be undone.

Refer to section 2.4.9 for detail.

There is nothing to undo!

# C.2.107 There is nothing to undo!

Either no operations have been performed since the current file was opened or all previous operations (up to 10) have been undone.

Refer to section 2.4.9 for detail.

Too many track segments in Group.

# C.2.108 Too many track segments in Group.

A group is limited to a maximum of 127 track segments. The number of track segments within the selected group of tracks exceed this number. Select a smaller number of tracks then try again.

Refer to section 2.9.4 for details.

Track cannot be changed.

# C.2.109 Track cannot be changed.

Modifications can only be made to straight or curved tracks.

Track endpoint is within turntable radius.

# C.2.110 Track endpoint is within turntable radius.

An attempt has been made to create the endpoint of a track within the radius of the Turntable. Move the endpoint of the track (mouse pointer) outside of the radius of the Turntable.

Refer to section 2.1.9 for detail.

Track intersection not possible; move points away from frog.

# C.2.111 Track intersection not possible; move points away from frog.

The track angle at the current point position does not intersect with the angle of the diverging leg of the new turnout. The points need to be relocated to a position that will allow the angle of the track to intersect the angle of the diverging leg of the new turnout.

Refer to section 2.1.3 for detail.

Track is too short by N.NNN

# C.2.112 Track is too short by N.NNN

The operation will create a track that is shorter than the minimum length specified on the Preferences dialog. Adjust the position of the mouse to increase the length of the track by moving away from the endpoint.

Refer to section 2.10.7 for detail.

Track radius (N.NNN) is smaller than easement minimum (N.NNN).

# C.2.113 Track radius (N.NNN) is smaller than easement minimum (N.NNN).

An attempt was made to create a curved track with a radius smaller than the minimum specified in the Easement dialog. Try moving the mouse to different position, creating a curve with a larger radius.

Refer to section 2.10.4 for detail.

Track segment N not on Path for Turnout

# C.2.114 Track segment N not on Path for Turnout

A Path (a sequence of track segments) defines a route through a Turnout from one End Point to another. Each segment should be be present in a least one Path.

This can happen when Grouping complex track objects, or when there is more than one path between End Points, for example a siding.

Try simplifying the segments or removing any loops in the connected segments.

This message can be suppressed by passing the command line option

- /d suppresscheckpaths (Windows) or
- -d suppresscheckpaths (Linux/MAC)

Track segments appear too late in Group segment list.

# C.2.115 Track segments appear too late in Group segment list.

A Group's track segments must be in the first 127 segments. You can move the track segments to the start of the segment list.

Refer to section 2.9.4 for details.

Tracks in a frozen layer cannot be modified.

# C.2.116 Tracks in a frozen layer cannot be modified.

This operation cannot be executed as the selected track is present on a frozen layer. Track modifications may be performed only on unfrozen layers. Move the object to a Layer that's not frozen or unfreeze the layer.

Refer to section 2.9.5 for detail.

Tracks in a module cannot be modified.

# C.2.117 Tracks in a module cannot be modified.

This operation cannot be executed as the selected track is present in a module layer. Track modifications may be performed only on unfrozen, non-module layers.

Refer to section 2.9.5 for detail.

Turnout definition contains non-track segments....

# C.2.118 Turnout definition contains non-track segments....

Turnout definitions can include lines and other shapes that represent switch machines, switch stands, roadbed or other objects. Such items can be include when editing Turnout definitions. These same items can also be removed if there's a need to start over again.

Refer to section 2.9.2 for detail.

Turntable diameter must greater than 0.

# C.2.119 Turntable diameter must greater than 0.

It's not possible to create a turntable with a diameter of less than or equal to 0. Specify a positive value in the Diameter field that appears in the Status Bar.

Undo assertion failure %s:%d...

# C.2.120 Undo assertion failure %s:%d...

Please report this error to the XTrackCAD project development team at SourceForge. The process for reporting errors is outlined in section 1.11.1.

While processing Layout file %s, %d lines were skipped because they were not recognized.

# C.2.121 While processing Layout file %s, %d lines were skipped because they were not recognized.

The layout file that you loaded contained records that were not recognized. This could be because the file was written by a higher level of XTrackCAD or because it was corrupted.

Take full advantage of the latest features within XTrackCAD by visiting the XTrackCAD Fork Website and downloading the latest release.

While processing Parameter file %s, %d lines were skipped because they were not recognized.

# C.2.122 While processing Parameter file %s, %d lines were skipped because they were not recognized.

The parameter file that you loaded contained records that were not recognized. This could be because the file was designed for a higher level of XTrackCAD or because it was corrupted.

Take full advantage of the latest features within XTrackCAD by visiting the XTrackCAD Fork Website and downloading the latest release.

XTrackCAD Version %s: Please note that this Beta Version of XTrackCAD is still undergoing final testing before its official release. The sole purpose of this Beta Version is to conduct testing and obtain feedback. Should you encounter any bugs, glitches, lack of functionality or other problems, please let us know immediately so we can rectify these accordingly. Your help in this regard is greatly appreciated!

# C.2.123 XTrackCAD Version %s: Please note that this Beta Version of XTrackCAD is still undergoing final testing before its official release. The sole purpose of this Beta Version is to conduct testing and obtain feedback. Should you encounter any bugs, glitches, lack of functionality or other problems, please let us know immediately so we can rectify these accordingly. Your help in this regard is greatly appreciated!

XTrackCAD Version %s: Please note that this Beta Version of XTrackCAD is still undergoing final testing before its official release. The sole purpose of this Beta Version is to conduct testing and obtain feedback. Should you encounter any bugs, glitches, lack of functionality or other problems, please let us know immediately so we can rectify these accordingly. Your help in this regard is greatly appreciated!

You have specified a large bitmap....

# C.2.124 You have specified a large bitmap....

Bitmaps can use a large amount of system resources. They may also take a long time to generate and create a large file.

Refer to section 2.5.2 for detail.

[X Y] is not a track

# C.2.125 [X Y] is not a track

The current command operates on a track object and a track was not found at the current location (given as X and Y).

Upgrade From Earlier XTrackCAD Version

# Appendix D: Upgrade From Earlier XTrackCAD Version

This section contains helpful information regarding program changes and the effects such may have with respect to layout files made with previous versions of XTrackCAD.

- D.1 Version 5.x
- D.2 Version 2.x
- D.3 Version 4.0.3
- D.4 Version 4.0.x

Version 5.x

# D.1 Version 5.x

Version 5.x.x of XTrackCAD introduced many enhancements an additions including Layout Control Objects, Cornu Tracks and Bezier Tracks and Lines. It is upward compatible from earlier versions but if the new objects are included in layouts, the files will not be readable by earlier versions.

Users should take a backup of thier Layout files if they will want to use the previous level of code before opening them.

Version 2.x

# D.2 Version 2.x

Updated Titles

Version 2.0.0 of XTrkCad introduced a change in the way Turnouts and Structures are named. The new method splits the title into 3 parts: Manufacturer, Description and Part Number.

To help you when upgrading to the new version, when loading an old XTrkCad layout file, XTrackCAD detects if the layout uses Turnouts and Structures that have titles in the old format. If so this dialog is displayed which allows you to change the titles in your layout to the new format.

The title of each different type of Turnout is collected and presented in this dialog. Simply select the Turnout on the list that matches the one displayed and click 'Update'. Repeat for each type of Turnout in your layout.

If there is no matching Turnout, click on Ignore. The Turnout will retain the old name as the Description, with a blank Manufacturer and Part Number.

Click Cancel to continue loading the file without updating the titles.

If you Save your file without updating all the titles you will not be able to update the titles later.

If you are looking at old files without making changes then Click on Cancel to load the file without Updates.

Not updating the titles prevents the customization of the way titles are presented in various lists and on the layout. Basic operation of XTrackCAD is not affected.

Version 4.0.3

# D.3 Version 4.0.3

Internationalization

Internationalization or the ability to localize XTrackCAD for use with various languages was adopted during this version upgrade. XTrackCAD is now available with balloon help and daily tips written in US English, Finnish and German. The XTrackCAD development team welcomes anyone who wishes to volunteer with translation of various support files. Let them know by submitting an offer to assist to the XTrackCAD Feature Tracker located at the XTrackCAD Fork Project Site or the XTrackCAD Wikka Wish List located at the XTrackCAD Wiki: WishList.

Minor Fixes and Enhancements

- Thanks to Martin Fischer, the Button Bar has a much cleaner and sharper look.

- Several selections within various Option Menus (Layout, Display, Command and Preferences) have been re-arranged. In some case the order or grouping of menu items changed. In other cases menu items were move to a different menu; still within the sub-set of Option Menus. Our hope is that we've made it easier to locate parameter settings that in past were difficult to locate.

- An new option that allows XTrackCAD to automatically re-open the last layout file has been added to the Options>Preferences menu. For detail refer to the ‘On Program Startup’ item found in Section 2.10.7.

- Significant updates were made to the Atlas N and HO scale parameter files. Diesel engine and freight car information is now contained in four separate parameter files; Atlas HO Scale Cars (atlascho.xtp), Atlas HO Scale Diesel Engines (atlaseho.xtp), Atlas N Scale Cars (atlascn.xtp) and Atlas N Scale Diesel Engines (atlasen.xtp).

- Twenty-one prototypes were added to the American Prototype parameter file (protoam.xtp). The additional prototypes are;

  - Diesel Engines
    - Dash 8-32BWH, Dash 8-40B, Dash 8-40BW, Dash 8-40C
    - FP7A
    - H15-44, H16-44, H15/16-44
    - RS4/5
    - RSD12
    - S1, S2, S3, S4
    - SD35, SDP35

  - Freight Cars
    - Caboose, NE-6
    - Flat, 42'
    - Tank, 55' and Tank, 65'
    - Reefer, 36'

- XTrackCAD users reported difficulty when attempting to activate grid lines in version 4.02. The problem was noticeable only on new installations. A default grid size of zero was found to be the cause of the problem. The default grid size has been changed to 1 thus eliminating the problem.

- A small bug preventing Zooms of less than 1:1 (Refer to Section 2.12.4 for detail.) was accidentally introduced in version 4.0.1. This problem has been corrected in version 4.0.3.

- When new scale definitions were added to XTrkCad 4.0.2, a small bug broke the file format for some scales (eg., N UK). This problem has been corrected in version 4.0.3.

- Some users of the Linux based application reported the Sticky Commands menu would exceed screen length. Spacing between Sticky Commands options has been improved in order to prevent this problem.

- We've no idea when certain demo's broke however thanks to the work of Mikko Nissinen, many broken demos are now fixed.

Name Change

With release of this version of XTrackCAD there's been a subtle change in the spelling and punctuation of the applications name. From this version forward, the application will be know as XTrackCAD. Please note the spelling and capitalization of the name.

Why was the name changed? This release gives XTrackCAD developers an opportunity to included a much sought after feature; Internationalization (Through i18n). On the surface this doesn't sound that big however having the ability to internationalize or localize the product has great advantages for all users. Not only is there great potential for the application to become available to a larger audience, our hope it that the developer pool will expand which should result in more features being added to the application.

Version 4.0.x

# D.4 Version 4.0.x

Check-point Files

Version 4 of XTrkCad introduces a new way of handling check-point files. This will allow resuming your work after a system crash much easier than before.

If you start XTrkCad V.4.0.x the first time after an upgrade from a earlier version, a pop-up with the question: "Program was not terminated properly. Do you want to resume working on the previous track plan?"

Select "Ignore" only if you're sure that the work from your last session has been correctly saved. If uncertain or restarting after an earlier failure select "Resume".

Help System

The built in help system has been converted to a much more flexible and widely used HTML format. With many new graphics and extensively rewritten text the help information is now up-to-date with recent development.

Layer Colour Settings

Your personal layer color settings are now stored in your preferences. This allows you to apply the same settings to other layouts you design.

Parameter Files Updated

Thanks to Ralph Boyd, Dwayne Ward, Casey Sterbenz and others, many new and updated parameter files were added to this release.

Wheel mouse

The wheel on a wheel mouse can now be used to zoom in and out on a layout design.

Warranty, License and Copying

# Appendix E: Warranty, License and Copying

XTrackCAD is Copyright 2003, Sillub Technology and Copyright 2007, Bob Blackwell and Martin Fischer and Copyright 2020, Martin Fischer, Adam Richards and Dave Bullis.

Some icons are taken from the Tango Free Desktop project and are covered by the Creative Commons Attribution-ShareAlike 2.5 License Agreement.

- E.1 Warranty
- E.2 Copying and Distribution
- E.3 GNU General Public License License
- E.4 Contributions

Warranty

# E.1 Warranty

XTrackCAD is provided "as is" without warranty of any kind, either express or implied, including, but not limited to warranties of merchantability or fitness for a particular purpose. In no event will Sillub Technology be liable for any damages, including incidental or consequential damages, arising out of the use of the program, even if advised of the possibility of such damages.

Copying and Distribution

# E.2 Copying and Distribution

XTrackCAD is a powerful CAD program for designing Model Railroad layouts.

XTrackCAD is Copyright 2003, Sillub Technology and Copyright 2007, Bob Blackwell and Martin Fischer and Copyright 2020, Martin Fischer, Adam Richards and Dave Bullis and licensed as free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

You should have received a copy of the GNU General Public License along with this program; see the file named COPYING or refer to Section E.3. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

XTrackCAD Fork is a project for further development of the original XTrackCAD software. Refer to the project homepage at http://www.xtrkcad.org/ for news and current releases.

GNU General Public License License

# E.3 GNU General Public License License

  GNU GENERAL PUBLIC LICENSE
  Version 2, June 1991

  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and modification follow.

GNU GENERAL PUBLIC LICENSE

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

  a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.

  b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

  c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

  a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

  b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

  c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.

This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.

  <one line to give the program's name and a brief idea of what it does.> Copyright (C) <year> <name of author>

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

  You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this when it starts in an interactive mode:

  Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:

  Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.

  <signature of Ty Coon>, 1 April 1989

  Ty Coon, President of Vice

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.

Contributions

# E.4 Contributions

XTrackCAD incorporates the following software:

    This program uses FreeImage, a free, open source image library supporting all common bitmap formats.
    See http://freeimage.sourceforge.net for details

    uthash, utlist
    Copyright (c) 2005-2015, Troy D. Hanson  http://troydhanson.github.com/uthash/
    All rights reserved.

    CJson - https://github.com/DaveGamble/cJSON/blob/master/README.md#license
    Copyright (c) 2009-2017 Dave Gamble and cJSON contributors

    zlib - https://opensource.org/licenses/zlib-license.php

    libzip - https://libzip.org/license/
    Copyright (C) 1999-2019 Dieter Baron and Thomas Klausner

    The authors can be contacted at <libzip@nih.at>

    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
    are met:

    1. Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

    2. Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in
     the documentation and/or other materials provided with the
     distribution.

    3. The names of the authors may not be used to endorse or promote
     products derived from this software without specific prior
     written permission.

    THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
    OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
    IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
    OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
    IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

    minixml - https://github.com/michaelrsweet/mxml/commit/f166ad1977f2f13295689772a5d9e442f73d46f1

    Copyright (C) 2003-2019 by Michael R Sweet.
    The Mini-XML library is licensed under the Apache License Version 2.0 with an
    exception to allow linking against GPL2/LGPL2-only software.

# Index

Archive: Section 2.5, Section 2.10.6
AutoSave: Section 2.10.7, Section 2.10.7
Bench-work: Section 2.3.7, Section 2.3.7.3, Section 2.3.7.3, Section 3.3.3.5
Bezier Track: Section 2.1.2
Block: Section 2.1, Section 2.1.10
Block Gaps: Section 2.2.17.2.2
Bridge: Section 2.4
Bridge (Draw or Hide Abutments): Section 2.4.7
Bugs: Section 1.11.1
Car Inventory: Section 2.9.1
Car Item Dialog: Section 2.9.1.1
Car Part Dialog: Section 2.9.1.2
Car Prototype Dialog: Section 2.9.1.3
Center, Curved Track: Section 2.1.2
Change Scale: Section 2.2
Choose Parameter Files: Section 2.5.8
Chord, Curved Track: Section 2.1.2
Circle Fixed Radius: Section 2.1.1.1
Circle Fixed Tangent: Section 2.1.1.2
Circle From Center: Section 2.1.1.3
Circle Radius: Section 2.1.1, Section 2.1.1.1
Circles and Filled Circles: Section 2.3.1
Circle Track: Section 2.1, Section 2.1.1, Section 2.1.1
Clear Elevations: Section 2.2
Clear Filter: Section 2.5.8
Colors Dialog: Section 2.10.1
Command Option Dialog: Section 2.10.2
Connect Two Tracks: Section 2.2
Context Sensitive Menus: Section 3.4.1
contributions: Section E.4
Control: Section 2.1, Section 2.1.13
Control Element: Section 2.1
Control Element, Block: Section 2.1
Control Element, Control: Section 2.1
Control Element, Sensor: Section 2.1
Control Element, Signal: Section 2.1
Control Element, Switchmotor: Section 2.1
Convert: Section 2.2
Copy: Section 2.4
copying and distribution: Section E.2
Cornu Easements: Section 2.2.7.4, Section 2.2.8.8, Section 2.10.4.1
Cornu Track: Section 2.1.2
Cornu Turnouts: Section 2.9.9
Create Cornu Track: Section 2.1.2.6
Creating a Cornu: Section 2.2.7.4
Curved Bezier Track: Section 2.1.2.5
Curved Lines: Section 2.3.2
Curved Track: Section 2.1.2
Curved Track, Center: Section 2.1.2
Curved Track, Chord: Section 2.1.2
Curved Track, End Point: Section 2.1.2
Curved Track From Center: Section 2.1.2.3
Curved Track from Chord: Section 2.1.2.4
Curved Track from End Point: Section 2.1.2.1
Curved track from Tangent: Section 2.1.2.2
Curved Track, Tangent: Section 2.1.2
Curve Track: Section 2.1
Custom Management: Section 2.9.2
Custom Turntable: Section 2.1
Cut: Section 2.4
Delete: Section 2.4, Section 2.4.4
Demo Mode: Section 2.6.1
Deselect All: Section 2.4
Dialogs: Section 3.2
Directories: Section 1.9.1, Section 1.9.2, Section 1.9.3
Display Dialog: Section 2.10.3
Document: Section 2.3.3.3
Draw Benchwork: Section 2.3.7.3
Draw Bezier Curve: Section 2.3.2.5
Draw Box: Section 2.3.6.1
Draw Circle from Center: Section 2.3.1.2
Draw Circle from Tangent: Section 2.3.1.1
Draw Curve from Center: Section 2.3.2.3
Draw Curve from Chord: Section 2.3.2.4
Draw Curve from End Point: Section 2.3.2.1
Draw Curve from Tangent: Section 2.3.2.2
Draw Dimension Line: Section 2.3.7.2
Draw Filled Box: Section 2.3.6.2
Draw Filled Circle from Center: Section 2.3.1.4
Draw Filled Circle from Tangent: Section 2.3.1.3
Draw Filled Polygon: Section 2.3.6.4
Draw Objects Origin: Section 2.3.8
Draw Polygon: Section 2.3.6.3
Draw PolyLine: Section 2.3.6.5
Draw Shapes: Section 2.3.6
Draw Straight Line: Section 2.3.7.1
Draw Table Edge: Section 2.3.7.4
Easements: Section 2.10.4, Section 2.10.4.3
Easements with Fixed Sharpness: Section 2.10.4.2
Elevation: Section 2.2
End Point, Curved Track: Section 2.1.2
Enhancement Requests: Section 1.11.2
Enumerate: Section 2.9.6
Export: Section 2.5.1
Export to Bitmap: Section 2.5.2
Export to DXF: Section 2.5.3
Export to SVG: Section 2.5.4
File Types: Section 2.5
Fixed-track: Section 2.1, Section 2.1.8, Section B.2
Flex-track: Section 2.7.1, Section B.2
Flip: Section 2.2
Font Selection: Section 2.10.5
Glossary: Section B.1, Section B.2
gnu general public license: Section E.3
Grid Dialog: Section 2.12.2
Group Dialog: Section 2.9.4
Hand-laid Turnout: Section 2.1
Hand-laid Turnouts: Section 2.1.3
Helix: Section 2.1
Helix Track: Section 2.1.4
Import: Section 2.5.5
Import as Module: Section 2.5.6
Installation: Section 1.5.1, Section 1.5.3, Section 1.9.2
Invert Selection: Section 2.4
Join Lines: Section 2.2
Join Track: Section 2.2
Layers Dialog: Section 2.9.5
Layout Control Elements Dialog: Section 2.9.3
Layout Dialog: Section 2.10.6
Layout File: Section 2.5
License: Section E.3
Line, Parallel: Section 2.1
Loosen Tracks: Section 2.2
Mac Installation: Section 1.5.2
Magnetic Snap: Section 2.12
Medium Tracks: Section 2.4
Menus: Section 2.1, Section 2.2, Section 2.3, Section 2.4, Section 2.5, Section 2.9, Section 2.10, Section 2.12
Message Types: Section C.1
Modify: Section 2.2
Modifying a Cornu: Section 2.2.7.4
Move: Section 2.2
Move Description: Section 2.2
Move To Back: Section 2.4, Section 2.4.2
Move To Current Layer: Section 2.4
Move To Front: Section 2.4, Section 2.4.2
Navigation: Section 1.4, Section 2.12, Section 3.1, Section 3.2.1, Section 3.2.2, Section 3.3, Section 3.3, Section 3.4
Note Variants: Section 2.3.3
OSX Installation: Section 1.5.2
OSX Run Security: Section 1.5.2
Parallel: Section 2.1
Parallel Line: Section 2.1
Parallel Lines: Section 2.1.5.2
Parallel Track: Section 2.1, Section 2.1.5.1
Parallel Track or Line: Section 2.1.5
Parameter Files: Section 2.5.7
Parts List: Section 2.9.6
Paste: Section 2.4
Preferences Dialog: Section 2.10.7
Price List: Section 2.9.7
Printer Margin: Section 2.5.11
Printer Setup: Section 2.5.10
Printing: Section 2.5.9, Section 2.5.10.1, Section 2.5.10.2, Section A.1
Profile: Section 2.2
Properties: Section 2.2
Protractor: Section 2.3.5
Raise/Lower Elevations: Section 2.2
Recompute Elevations: Section 2.2
Redo: Section 2.4, Section 2.4.9
Removing XTrackCAD: Section 1.10
Roadbed: Section 2.4
Roadbed (Draw or Hide Base): Section 2.4.8
Rotate: Section 2.2
Ruler: Section 2.3.4
Run Trains: Section 2.9.8
Sectional Track: Section 2.2.3
Select: Section 2.2
Select All: Section 2.4
Select By Index: Section 2.4, Section 2.4.1
Select Current Layer: Section 2.4
Select Stranded Track: Section 2.4
Sensor: Section 2.1, Section 2.1.14
Shortcut Keys: Section 2.4.3, Section 3.3, Section 3.3, Section 3.3.6, Section 3.3.8, Section 3.4
Signal: Section 2.1, Section 2.1.12
Simulation: Section 2.9.8
Snap Grid: Section 2.12
Split: Section 2.2
Start the Program: Section 1.6
Sticky Dialog: Section 2.10.8
Straight Objects: Section 2.3.7
Straight Track: Section 2.1, Section 2.1.6, Section 3.4.1
Structure: Section 2.1, Section 2.1.7
Structures: Section 2.7.2
Switchmotor: Section 2.1, Section 2.1.11
Tangent, Curved Track: Section 2.1.2
Text: Section 2.3.9
Text Note: Section 2.3.3.1
Thick Tracks: Section 2.4
Thin, Medium and Thick Tracks: Section 2.4
Thin Tracks: Section 2.4
Ties (Draw or Hide Ties): Section 2.4.6
Ties/No Ties: Section 2.4
Tool-bar Configuration: Section 2.12.3
Track, Bezier: Section 2.1.2
Track, Bridge: Section 2.4
Track, Circle: Section 2.1, Section 2.1.1
Track, Connect: Section 2.2
Track, Cornu: Section 2.1.2
Track, Fixed: Section 2.1
Track, Join: Section 2.2
Track, Loosen: Section 2.2
Track No Ties: Section 2.4
Track, Parallel: Section 2.1
Track, Roadbed: Section 2.4
Tracks, Medium: Section 2.4
Tracks, Thick: Section 2.4
Tracks, Thin: Section 2.4
Track Ties: Section 2.4
Track, Tunnel: Section 2.4
Track Width: Section 2.4
Train Mode: Section 2.9.8
Tunnel: Section 2.4
Tunnel (Hide Tracks): Section 2.4.5
Turnout Designer: Section 2.9.9
Turnout, Hand-laid: Section 2.1
Turnouts: Section 2.7.3
Turntable, Custom: Section 2.1
Turntables: Section 2.1.9
Undo: Section 2.4, Section 2.4.9
Ungroup: Section 2.9.11
Update Turnouts and Structures: Section 2.9.10
User Support: Section 1.11.3
Warranty: Section E.1
Weblink: Section 2.3.3.2
Zoom: Section 2.12.4
Zoom/Pan Shortcut Keys: Section 2.2.11, Section 2.12.4