Vr Mapping




Function Keys

“The art of mapping is the art of organizing complexity.”

- Anonymous


Function keys are the most important aspect of VrOne data collection. Taking the time to properly set up function keys before starting a project saves hundreds of hours of production time.


Function keys make a mapping system out of a CADD system. Instead of using Insert Line (InsLin) to place a road, an operator can use a mapping key such as PavedRoad. PavedRoad will assign all the desired parameters and behavior to Insert Line.


Function keys reduce the amount a mapping professional needs to know about VrOne. They simply choose the feature they want to collect and go.


Function keys are named. These names may be keyed in, placed in macros, or nested in other function keys.


The name of the function key file to use must be set in the VrOne configuration program (vrcfig). It is possible to have multiple function key files but only one can be active at a time.

Creating and Editing Function Keys



In the above dialog box, a function key called Spot1 is being created. This Function Key will place the 'X' symbol in layer 2 then will start the SpotZ1 Function Key which will place the spot elevation as a text label next to the 'X' symbol.

Function Keys

Lists the currently defined function keys. The parameters of a selected key are displayed to the right. If multiple keys are selected, the function key starter settings can be applied to all of the selected keys.

Key name

The reference name of the function key. This name may be keyed in, placed in a macro, or nested in another function key.

Vr function

The VrOne application to start when the key is executed. The proper Line, Symbol or Text tab will be selected depending on the type of VrOne command selected.

Key num

The reference number of the function key. This number may be keyed in, placed in a macro, or nested in another function key.


Function key description. This is for user information only.

Function key starter settings

The items in this section control the display of the labels in the function key starter dialog.

Line Tab

Line parameters that are assigned when the function key is executed.

Symbol Tab

Symbol parameters that are assigned when the function key is executed.

Text Tab

Text parameters that are assigned when the function key is executed.

Local Args

These commands are executed when the function key is started. Normally, local commands are placed here. For example, if the Insert Symbol command is started by a key and the symbol rotation needs to be turned on, ROTMODE=1 would be entered on the Arguments line. Multiple commands, each separated by a comma, may be entered.

Global Args

These commands are executed when the function key is started and when the function key is woken up after being overlaid. Normally, global commands are place here.


For example, consider the state of a global command such as snap:

Contour is started and it sets snap to end point (SnaEnd).
Drive overlays Contour and sets snap to intersect (SnaInt).
Drive is terminated and Contour wakes up and becomes active.
Since snap is global, the state is snap is now intersect. This is a state that Contour did not intend.


Placing SnaEnd in the Wake up command of Contour ensures the state of this global parameter is what is expected.

Assoc cmd1 and cmd2

Associate commands allow function keys to be linked. In many cases, there may be several function keys used to insert a certain map feature. One might put in a line and another may put in text.


For example, consider inserting a parking area.  The parking lot comprises a line that will define the parking edge and a text label of “Parking Area”. There are two function keys defined: ParkLine and ParkText. The associate command 1 of ParkLine has be set to ParkText as follows:


Assoc cmd1

Park Text


ParkLine is started and the parking lot edge is collected.
Ac1 is keyed in and the ParkText starts and “Parking Area” is labeled.
ParkText is terminated and ParkLine continues collecting the parking lot edge.

On end cmd

The on-end command allows one function key to execute a key-in, macro, or another function key each time an entity is saved.


For example, consider a spot elevation. This feature consists of a symbol and a text label. There are two function keys defined as follows:

SpotX                                      Places the spot elevation X.

SpotElev                                  Places the elevation of the previously read symbol.  


The On end command of SpotElev is set as follows:


On end cmd



When the spot elevation symbol is placed, the On end command will start Spot Text.


The On end command of SpotText is set as follows:


On end cmd



The Pop command tells VrOne to terminate the current application (command) that is at the top of the application stack.

SpotElev is started and the spot elevation location is digitized.
SpotText starts automatically and the elevation of the first point is labeled.
SpotText terminates due to the On end Pop statement
SpotElev wakes up and the next spot elevation is ready to be read.


There are more parameters that would need to be set to make the spot elevation functions keys work as expected but the above example shows how to chain function keys together. See Tutorial On End Command for example uses of the On End Command.

On quit cmd

The on-quit command allows one function key to execute a key-in, macro, or another function key when the function key is ended.


The import button is used to import the function key definitions from a comma-delimited file. These files typically have a .csv extension.


The export button is used to export the function key definitions to a comma-delimited file, typically with a .csv extension. This file can be edited with a text editor or spreadsheet and then imported back in.


Saves the current Function Keys to the current Function Keys file.


The Edit Function Keys Search Dialog


Searches for user defined text in the Function Keys Names, Function Key Numbers, and(or) the Function Keys Descriptions. Searching starts at key names and then considers key numbers and then key descriptions if they are checked. When a match if found, that Function Key is displayed and its name is highlighted in the Function Keys name pane in the dialog.

Search key - The text string to search for
Search key names - If checked the Function Key Names will be searched.
Search key numbers - If checked, the Function Key Numbers will be searched. The Search key must be a numeric value to search for a Function Key Number.
Search key descriptions - If checked, the Function Key Numbers will be searched.
Match case - If checked, then the search is case sensitive. The upper and lower case characters in the Search key must match exactly.
Match whole word - If checked, a whole word is searched for. For example if the Search key is 'sign' and this parameter is unchecked then the word 'sign pole' and 'signpole' would qualify with the first occurrence being used. If this parameter is checked then only 'sign pole' would qualify.