# Assembly Link

- Object
- Shift

Link an assembly or a list of assemblies to other objects.

### Hierarchy

Assemblies can be linked to objects above or below, in the Gamgi hierarchy. Pressing the button Below (the default), the class menu shows the classes of objects that can be owned by assemblies. Pressing the button Above, the same menu shows the classes of objects that can own assemblies.

Gamgi expects users to identify first the assembly or list of assemblies and then the object to link. When the Assembly entry is active and empty, clicking the mouse over an assembly, on the current layer (local selection), its identification is transported to the Assembly entry. Pressing the List button, the current list of assemblies is selected instead.

Gamgi is now expecting users to click on a object of the class currently selected in the class menu. This object can be in a different layer or window (global selection).

To select a visible object, just press the mouse over the object, in its window. To select objects without visual representation, such as layers and lights, press the mouse over the graphic area in the window, to create a menu with all the objects of that class in the window, which can then be selected.

### Method

Gamgi suppports only one method to link assemblies: Object.

The Object method links an assembly or a list of assemblies to a single object, Above or Below.

When linking an assembly and the Hierarchy is Above, the assembly is unlinked from its current parent and linked to the new object. When the assembly is moved to a different layer, its bonds are automatically removed. When the Hierarchy is Below, the child object is unlinked from its current parent and linked to the assembly. An error is issued when the parent already owned the child object.

When the new child previously owned the new parent (a situation made possible because assemblies can own other assemblies), the new parent is first linked to the new child parent. An error is issued when the parent already owned the child object.

After the linking operation, Gamgi always puts on top the window and layer containing the linked objects.

When linking a list of assemblies Above, all assemblies in the list are unlinked and linked to the parent object. When linking a list of assemblies Below, the child object is replicated as many times as necessary to link each assembly in the list to a different replica.
Home