Menus

This section describes each of the menu commands in TreeMaker. The menus (and submenus) are:

The commands in each menu and their descriptions follow.

Application Menu

Application->About TreeMaker...

Puts up a dialog box that displays brief information about the program, the detailed version, and the terms of usage.


Figure M-1. The About... box for the application.

This box shows up the first time you run the application after the splash screen; a checkbox lets you turn off its display thereafter.

The About TreeMaker... command shows up under the Help menu on non-Mac platforms.

Application->Preferences

Sets application-wide preferences for TreeMaker.


Figure M-2. The Preferences dialog for setting application-wide preferences.

The preferences are:

The Preferences command shows up under the File menu on non-Mac platforms.

File Menu

File->New...

Creates a new, untitled TreeMaker document using a square sheet of paper.

File->Open...

Open a previously-saved TreeMaker document, which should have a .tmd5 extension. Macintosh users can also open version 4 and version 3 files, which have no file extension.

File->Close

Close the frontmost TreeMaker document. When you close the last document, the behavior is platform-specific:

File->Save

Save the frontmost TreeMaker document.

File->Save As...

Save the frontmost TreeMaker document under a new name.

File->Revert

Revert the frontmost TreeMaker document to the last saved version.

File->Print...

Print the frontmost TreeMaker document. Page 1 of the printout will be the current view in the design window. If the folded form has been computed, it will be shown in the second page of the printout (whether or not the Folded Form window is visible).

File->Print Setup...

Set up the page for printing.

File->Print Preview...

Preview the print image before printing.

Edit Menu

Edit->Undo

Undo the last modification to the frontmost document.

Edit->Redo

Redo the last undone modification to the frontmost document.

Edit->Cut

Cut the current selection. Selected tree parts are simply deleted (see Edit->Clear below). There is no support for a Clipboard (Paste) for tree editing.

Edit->Copy

Copy the current selection (for text). In the main window, this command copies an image to the Clipboard.

Edit->Paste

Paste the current text selection. This has no effect on tree editing.

Edit->Clear

Delete the current selection. If tree parts are selected, they are deleted, unless the deletion would break the tree into two or more parts, in which case a warning is given. If you are deleting several edges of a tree, you don't have to select the nodes between the selected edges; the affected nodes will be deleted automatically.

If you attempt to delete all edges (or attempt to delete all-but-one nodes of a tree, which implies the deletion of all edges), this will cause the deletion of all nodes, i.e., it will leave a blank tree. You can't delete something in such a way as to leave exactly one node behind (although you can absorb (see below) the single edge of a 2-node tree, leaving a single node).

Edit->Select Submenu

The Edit->Select submenu contains several commands that let you select different combinations of parts in ways other than simply clicking on them.

Edit->Select->Part by Index...

Select a part by specifying its index. This can be useful if the part is not currently shown or is difficult to click on because other parts are covering it up.

Edit->Select->All

Select all nodes and edges in the tree. This command works whether or not the nodes and edges are visible.

Edit->Select->None

Clear the current selection.

Edit->Select->Movable Parts

Select all tree nodes and edges that are not pinned. This is useful for performing a strain optimization.

Edit->Select->Path from Nodes

Select the path that connects the two selected nodes.

Edit->Select->Corridor from Edge

Select all the facets that belong to corridors that correspond to the selected edges.

Edit->Nodes Submenu

The Edit->Nodes submenu contains several commands that let you change the position or index of a node.

Edit->Nodes->Make Root

Make the selected node the root node, i.e., the node with index 1. In the computation of creases and the folded form, the flaps will be arranged as if you held the base by this node and let the flaps dangle downward under the force of gravity.

Edit->Nodes->Perturb Selected

Perturb the position of the selected nodes from their current locations. This can sometimes be used when re-starting an optimization to escape points that the optimizer can't get started from.

Edit->Nodes->Perturb All

Perturb the position of all nodes from their current locations.

Edit->Edges Submenu

The Edit->Edges submenu contains several commands that let you change the length of one or more edges.

Edit->Edges->Set Lengths...

Set the lengths of all edges in the current selection to a common value.

Edit->Edges->Scale Lengths...

Scale the lengths of all edges in the current selection by a common factor.

Edit->Edges->Renormalize to Selection

Rescale all edges in the tree and the tree scale proportionately so that the selected edge ends up with unit length.

Edit->Edges->Renormalize to Unit Scale

Rescale all edges in the tree and the tree scale so that the tree scale becomes 1.0.

Edit->Absorb Submenu

The Edit->Absorb submenu contains several commands that let you absorb nodes or edges into the tree. Leaf nodes and edges can simply be deleted; absorption is what you use when you want to coalesce the nodes or edges surrounding an edge or node.

Edit->Absorb->Selected Node

Absorb the selected node (which must be of degree 2) into the tree, merging the edges on either side of the node into a single edge.

Edit->Absorb->Redundant Nodes

Absorb all nodes of degree 2, i.e., all nodes that have exactly 2 incident edges.

Edit->Absorb->Selected Edge

Absorb the selected edge into the tree, merging the nodes on either side of the edge into a single node.

Edit->Split Submenu

The Edit->Split submenu contains a single command that lets you split an edge into two edges.

Edit->Split->Selected Edge...

Add a node along the selected edge, splitting it into two edges. A dialog will be presented in which you specify the distance from an endpoint at which the split should occur.

Edit->Strain Submenu

The Edit->Strain submenu contains several commands that let you change the strain on one or more edges at once.

Edit->Strain->Remove All

Reset the strain of every edge to 0.0.

Edit->Strain->Remove Selection

Reset the strain of every edge in the current selection to 0.0.

Edit->Strain->Relieve All

Absorb the strain of every edge into its length, so that the new length accommodates the strain and the new strain is 0.0.

Edit->Strain->Relieve Selection

Absorb the strain of every edge in the current selection into its length, so that the new length accommodates the strain and the new strain is 0.0.

Edit->Stub Submenu

The Edit->Stub submenu contains several commands that let you add or remove stubs --- additional edges that create 4 or more active paths between the added leaf node and surrounding leaf nodes.

Edit->Stub->Pick for Nodes...

Add a stub to the selected nodes, i.e., add a node and edge to the tree so that the node forms active paths with four or more of the selected nodes. The user will be presented with a dialog to choose among the possibilities.

Edit->Stub->Pick for Poly...

Add a stub to the selected poly, i.e., add a node and edge to the tree so that the node forms active paths with four or more of the nodes at the corners of the selected poly.

Edit->Stub->Add Largest to Nodes

Add the largest possible stub to the selected nodes. In the event that there are two possible stubs of the same length, TreeMaker will pick one of them arbitrarily.

Edit->Stub->Add Largest to Poly

Add the longest possible stub to the selected poly. In the event that there are two possible stubs of the same length, TreeMaker will pick one of them arbitrarily.

Edit->Stub->Triangulate Tree

Repeatedly add stubs to polys until every poly in the design is a triangle, and thus every molecule will be a rabbit-ear molecule.

It should be noted that there are some polygons of order 4 or larger that cannot be triangulated by placing stubs because the required stub would land outside of the square; these will typically be found along the edges of the paper. In such cases, TreeMaker will triangulate the crease pattern to the maximum extent.

View Menu

View->Show/Hide Inspector

Toggle visibility of the Inspector window.

View->Show/Hide View Settings

Toggle visibility of the View Settings window.

View->Show/Hide Folded Form

Toggle visibility of the Folded Form window.

View->Tree View

Set the main window to Tree View, in which only nodes, edges, and conditions are shown. This is the best view for editing the attributes of the tree.

View->Design View

Set the main window to Design View, in which both the tree and the crease pattern are shown. Although it can get busy, this view lets you see both the tree and the crease pattern. It is the default view when you first open or create a TreeMaker document.

View->Creases View

Set the main window to Creases View, which shows the crease pattern with mountain/valley assignment. This is the best view for printing out a crease pattern and folding up the printout.

View->Plan View

Set the main window to Plan View, which is the same as Creases View but also shows the coordinates of the major vertices. This is the most useful view if you are planning to construct folding sequences for important lines using a tool like ReferenceFinder or if you are transferring the crease pattern to a different sheet of paper by measuring and marking the lines.

View->Fit to Screen

This resizes the paper in the main window to fit the available screen area.

View->Fit to Width

This resizes the paper in the main window to fit the available screen width. For portrait orientation of screen its same as Fit to Screen.

View->Fit to Height

This resizes the paper in the main window to fit the available screen height. For landscape orientation of screen its same as Fit to Screen.

View->Set Paper Size...

This lets you specify the paper size on-screen in inches, assuming a 72 dpi display. Note that the printout will always be resized to exactly fit the available area on a single sheet, independent of the screen size.

Action Menu

The Action menu contains the heart of TreeMaker: the commands that construct the base and its crease pattern. Construction is a two-step process. First comes optimization, in which the positions of the leaf nodes (and in some cases, the strain in the tree edges) is solved to give the largest possible tree for a given sheet of paper. Second comes the computation of the crease pattern itself. TreeMaker computes the locations of creases and vertices based on the leaf node positions, and then, when possible, computes the mountain/valley crease assignment for a particular arrangement of flaps on the base.

Action->Scale Everything

Perform a scale optimization. This is the basic optimization step and in some cases may be the only one necessary. With this command, TreeMaker maximizes the scale (the ratio between tree units and the paper size) while moving around all of the leaf nodes in such a way that all paths remain feasible. This gives the largest possible base for a given size sheet of paper, although it should be noted that only a local optimum is found, not a global optimum. This means that you might be able to find a more (or less) efficient pattern by starting from a different initial arrangement of the leaf nodes.

During the calculation, TreeMaker shows the positions of the nodes move around as the search proceeds. When an optimum node arrangement is found, it stops. (During the end stages of the search, you won't see much movement while TreeMaker refines the node positions to an accuracy finer than what you see on the screen.) You can interrupt the calculation by clicking on the Cancel button or hitting command-period (on Mac) or control-C (on other platforms) during the analysis.

Once the calculation is complete, any paths that are active --- meaning their length is equal to the minimum allowed length --- will be highlighted in green. These paths will become axial creases of the base. The convex hull of all the leaf nodes is called the useful area of the paper. If the active paths plus the border paths partition the useful area into convex polygons with no leftover nodes or active paths, then the node pattern is well-formed and you can go on to compute the crease pattern by selecting the Action->Build Crease Pattern command, see below.

If a node cannot move in any direction without violating a path condition or moving outside the square, it is said to be pinned. If there are unpinned nodes (for example, the active paths create a polygon with a reflex vertex or concavity), you will need to perform further optimization in order to construct the base, using one or both of the next two commands.

Action->Scale Selection

Maximize the strain in the selected edges by moving around the selected nodes. This is the primary command for dealing with unpinned nodes. This command lengthens selected edges (by increasing their strain) while moving around unpinned nodes until the nodes are pinned. All of the selected edges are strained by the same amount, so that a single round of optimization will not necessarily pin all nodes. But by repeated applications of this optimization, you can eventually get all nodes to be pinned and thus make the crease pattern computable.

You can choose which nodes are movable and which edges are strainable by selecting only a subset of the nodes or edges. Alternatively, you can simply select all nodes and edges: any pinned nodes or edges will be removed from the selection before optimization.

At the end of the optimization, any nodes or edges that have become pinned will be removed from the selection, so that by repeatedly applying this command, you can remove all "slack" from the crease pattern and obtain a pattern in which all nodes and edges are pinned --- which is a requirement for constructing the crease pattern.

Action->Minimize Strain

Minimize the RMS strain in the selected edges by moving around the selected nodes. This is the primary command to use when one has created a large number of symmetry conditions and/or path active conditions. It is very easy (particularly with path active conditions) to create a scenario that has no solution for the given tree edge lengths, but by allowing the edges to be distorted by strain, it may be possible to find a solution that satisfies all of the conditions. In this command, TreeMaker minimizes the strain over all edges while attempting to satisfy all the conditions you have created. Note that it is of course possible to create combinations of conditions that cannot be satisfied by any amount of distortion.

Unlike the preceding two commands that try to make things as large as possible (either the overall scale or the lengths of subsets of edges), this command tries to keep the scaled edge lengths as close to their current value as possible. For this reason, you will rarely start with this command. More commonly, you will perform a scale optimization to start with, then set a range of conditions on nodes, edges, and paths, and then perform this strain optimization.

Action->Build Crease Pattern

Attempt to construct the crease pattern. Once you have found a configuration of leaf nodes in which all edges are pinned and the active paths divide the useful area up into convex polygons, this command computes the entire crease pattern in the base. Each polygon gets filled in with the universal molecule crease pattern, which gives the crease locations; then TreeMaker computes (or attempts to compute) the mountain/valley crease assignment corresponding to a particular arrangement of the flaps of the base.

This is a rather complex computation (although it goes very fast), and TreeMaker can encounter a variety of situations that can derail the computation along the way. If it fails, TreeMaker will warn you and give some hints about what you can due to fix the situation. In some cases, a partial crease pattern may be sufficient; for example, if TreeMaker can calculate all creases and their AGRH assignment but not the MV assignment, that should be sufficient for you to fold the base from the AGRH crease pattern.

There are two crease color schemes. AGRH coloring (Axial, Gusset, Ridge, Hinge) conveys structural information about the creases, but not their crease direction. AGRH coloring is used in Design View (the default view). The second color scheme, MVF coloring (Mountain, Valley, Flat) conveys the crease direction. This (or a similar variation) is the color scheme most often used in origami crease patterns. The Creases View and Plan View both use MVF coloring.

Both color schemes have their value. MVF coloring is useful if you want to actually fold up the crease pattern; AGRH coloring is useful if you want to understand the role that each crease plays in the overall base. The AGRH coloring is unique for a given base and can always be computed if the polygons are complex. The MVF coloring, however, depends on the particular arrangement of flaps in the flattened base, and so there are many possible MVF colorings. Furthermore, there are crease patterns whose properties prevent simple computation of the MVF coloring; for such patterns, TreeMaker will inform you that there is a problem and will not produce a MVF coloring. However, you still might be able to fold a usable base from the AGRH crease pattern, but you will have to find the crease assignment by hand.

The particular MVF coloring comes in large part from the arrangement of flaps. TreeMaker chooses the flap arrangement from an algorithm called the "dangle" algorithm, in which (figuratively) one node of the tree is picked up and the remainder of the tree is allowed to dangle under the force of gravity; this provides an unambiguous assignment of flap directions that avoids any possibility of self-intersection. TreeMaker uses this assignment along with several other rules to construct a complete assignment of each crease as mountain, valley, or flat (unfolded).

In fact, TreeMaker constructs a total ordering on the facets in the folded form, and it is this ordering that allows the computation of crease direction. The ordering between facets can be expressed as a directed graph, called the "facet ordering graph." If you would like to see this graph, turn on facet display and arrow display in the View Settings window.

Action->Kill Crease Pattern

Remove all vertices, creases, and facets, leaving just the original tree.

Condition Menu

Condition->Node(s) position constrained

Add conditions that constrain the x and/or y coordinates of all the nodes in the current selection. Details of how the position is constrained are specified in the Inspector panel for the condition.

Condition->Nodes paired about symmetry line

Add a condition that forces the two selected nodes to be mirror-symmetric about the line of symmetry.

Condition->Nodes collinear

Add a condition that forces the three selected nodes to lie on a common line.

Condition->Remove all node conditions

Remove the conditions on all nodes in the tree.

Condition->Edge(s) no strain

Add conditions that force the selected edges to have zero strain in a strain optimization.

Condition->Edge(s) same strain

Add conditions that force the selected edges to have the same strain in a strain optimization.

Condition->Remove all edge conditions

Remove the conditions on all edges in the tree.

Condition->Path active

Add a condition that forces this path to be active.

Condition->Path angle fixed

Add a condition that forces this path to be active and fixes its angle to a constant value.

Condition->Path angle quantized

Add a condition that forces this path to be active and quantizes its angle to an integral division of the circle with a specified offset.

Condition->Remove all path conditions

Remove the conditions on all paths in the tree.

Condition->Remove all conditions

Remove all node, edge, and path conditions.

Window Menu

Window->Minimize

Minimize the frontmost window.

Window->Zoom

Zoom out the frontmost window.

Window->Bring All to Front

Bring all windows to the front of the computer display.

Subsequent entries in the Window menu list the current document windows.

Help Menu

Help->Help

Show these help pages.

Previous: Windows    Next: Tutorials