# Working with Two-Position

This section looks at the two positions associated with main level building blocks and objects, when Sub-models exist in the model. The section begins by showing how to establish the first and second position for building blocks and objects. Second, the section provides a set of tips for working in the two-position environment.

Establishing the First and Second Positions: Whenever one or more Sub-models exist in the model, main level building blocks and objects (stocks, flows, converters, connectors, Sub-model icons, Sector Frames, Decision Process Diamonds, Pad icons, Numeric Displays, Text Blocks) can have two positions. The first position is the position that you set for the building block or object, when all Sub-models are closed. The second position is the one that you establish when one or more Sub-models is open on the diagram. Note that pinned Graph and Table Pads have only one position, which is a part of the main level. This position is maintained both when Sub-models are open and when they are closed. Unpinned Graph and Table pads are not considered to be part of the diagram. Instead, when an unpinned pad is open, it "floats" above the diagram.

Establishing these two positions is easy. To establish the first position, simply use the Hand tool to move the building block or object to the desired location. Selecting and moving building blocks and objects is discussed extensively in the first section of Chapter 5 - Tools. To establish the second position, control-click (Windows) or command-click (Macintosh) and move the main level building block or object, while one or more Sub-models are open. When all Sub-models are closed, main level building blocks and objects will assume their first position. When one or more Sub-models are open, the entities on the main level will move to their second position.

As an illustration, consider the simple map shown in Figure 9-11. The map contains one Sub-model. With the Sub-model closed, main level diagram entities have been organized so as to present a tidy picture.

Figure 9-11 A Simple Map With One Sub-model

If the second position has not been established for the structure associated with Receivables and Cash, the diagram will become quite messy when the Sub-model is opened. Such a result is shown in Figure 9-12, below. This result is unsatisfactory - the Sub-model obscures the main-level structure.

Figure 9-12 Without the Second Position, the Diagram Can Easily Become a Mess

Fortunately, the problem can be easily rectified by setting a second position for main-level diagram entities. In this case, by depressing the control key (Windows) or command key (Macintosh), you can use the Hand to drag-select the structure which lies beneath the Sub-model space. Then, you can control-drag (Windows) or command-drag (Macintosh) to move the structure below the space, as shown in Figure 9-13. Once you establish the second position, building blocks will remember it. Thus, when the Sub-model space is closed the diagram will look like Figure 9-11. When you open the Sub-model, the diagram will look like Figure 9-13.

Figure 9-13 Establishing a Second Position

Tips for Operating in the Two-Position Environment: Two-position provides you with a powerful tool. To use the tool effectively, you must exercise caution. Below we offer a set of tips which will maximize the effectiveness of your efforts in using two-position.

- Straighten out the main level map as you go, rather than waiting until all Sub-models are in place. If you strive to keep your main level map tidy at all times, you'll establish a good first position for each main level building block and object. On the other hand, if you wait until "later," you'll generally need to straighten things out twice.

- Close all Sub-models before you set the first position for main level entities. If you don't you'll be setting the second position! Make it a habit to choose Close Decision Diamonds from the Edit menu, before you set the first position.

- Open all Sub-models before you set the second position for main level entities. Unless all Sub-models are open, the second position you establish may conflict with the position associated with another closed Sub-model. Make it a habit to choose Open Decision Diamonds from the Edit menu before you set the second position.

- Remember that whenever you deposit a building block or object, the location of deposition will become both its first and second position - regardless of whether a Sub-model is open. If you subsequently move the entity, its new position will be either the first or second position - depending upon whether a Sub-model is closed or open.

- The position of a name relative to its icon will remain fixed, regardless of the position of the icon. Thus, if you move the position of a variable name from the top to the bottom of a converter, while the converter is in its first position, the variable name will remain on the bottom when you open a Sub-model. If you then move the variable name back to the top, it will remain there when you close the Sub-model.

- If you mess things up, it's easy to kill the second position of all main level objects. Choose Clear Second Position from the Model Menu to remove the second position information for all main level objects.