When you generate an object from other objects, a modeling relation is established. For example, if you create a surface by extruding one curve along another curve, the resulting surface is linked to its generator curves. If you modify the curves, the surface updates automatically. The modeling relation is sometimes called construction history in other software.
Modeling Relation: The road was created by extruding a cross-section along a guide. When the original guide was deformed into a loop, the road was updated automatically. |
You can modify the generated object in any way you like, for example, by moving points or applying a deformation. When you modify the generators, the generated object is updated and your modifications to it are preserved — the object does not "snap" back to its generated shape.
When you are working in Immediate mode, the operator stack is not kept and there is no modeling relation. See Immediate Mode.
If you delete the input objects, the generated object is removed as well. To avoid this, freeze the generated object (see Freezing the Operator Stack) before deleting the inputs. If you use the Delete button in the Inputs section of the generator's property editor, the generator is automatically frozen first.
There are several commands that help you manage the inputs for generated objects. You can:
Automatically hide or unhide the inputs for a generated object. This simplifies the display of your scene in the 3D views, but still allows you to modify the inputs later if necessary.
Freeze the generator and delete the inputs. This simplifies the scene once you are satisfied that you won't need to modify the inputs again.
Choose the connection point where the generated object "reads" the input geometry and other attributes.
You can automatically hide all the inputs for a generated object to simplify the display of your scene in the 3D views, and then unhide the inputs when you need to modify them.
To hide or unhide input objects for a generated object
In the generator operator's property editor, click Hide/Unhide in the Inputs box.
In an explorer, right-click on the generated object or the generator operator node and choose Hide/Unhide Generator Inputs.
In a 3D view or a schematic view, Alt+right-click (Ctrl+Alt+right-click on Linux) on the generated object and choose Hide/Unhide Generator Inputs.
Select the generated object, and then choose Edit Operator Hide/Unhide Generator Inputs.
Freezing Generators and Deleting Inputs
You can freeze the generator and delete the inputs. This simplifies the scene once you are satisfied that you won't need to modify the inputs again.
To freeze generators and delete their inputs
In the generator operator's property editor, click Delete in the Inputs box. The property editor closes automatically.
In an explorer, right-click on the generated object or the generator operator node and choose Freeze Generator & Delete Inputs.
In a 3D view or a schematic view, Alt+right-click (Ctrl+Alt+right-click on Linux) on the generated object and choose Freeze Generator & Delete Inputs.
Select the generated object, and then choose Edit Operator Freeze Generator & Delete Inputs.
When an object is generated from others, you can choose the connection point from which the geometry and other attributes are read in the inputs' construction histories. Under Inputs' construction mode in the generator's property editor, select an option to read from the top of the corresponding region in the inputs' operator stack.
For example, suppose that WholeObject is the Boolean union of two shape-animated objects, LeftHalf and RightHalf. If you choose Modeling, then WholeObject is the union of the base shapes of LeftHalf and RightHalf. If you choose Secondary Shape (Result), WholeObject is the union of the animated shapes of LeftHalf and RightHalf. In both cases, the input transformations at the current frame are used.
At any time, you can quickly select all the inputs for a generated object.
To all the inputs for a generator
In an explorer, right-click on the generated object or the generator operator node and choose Select Generator Inputs.
In a 3D view or a schematic view, Alt+right-click (Ctrl+Alt+right-click on Linux) on the generated object and choose Select Generator Inputs.
Select the generated object, and then choose Edit Operator Select Generator Inputs.
The Generator Inputs option in the Modeling preferences determine whether the generator input objects are kept, hidden, or deleted automatically. This preference applies only when an object is generated without opening its property editor — that is, if Popup Property Editors on Node Creation is off in your Interaction preferences, or if it is on and you press Ctrl while choosing a menu item.
You can set Generator Inputs to the following values:
Keep does not change the visibility of the inputs, and maintains the modeling relation with the generated object.
Hide turns off the view and render visibility of the inputs, but keeps the modeling relation. This simplifies the display of your scene, but still allows you to unhide and modify the inputs if you need to later.
Delete freezes the generator operator and deletes the inputs, thereby breaking the modeling relation.
For more information about preferences, see User Preferences.
Many modeling operations allow you to substitute one input object for a different one. For example, you can change the profile or guide curve of an extrusion. This works best when the object is an input to only one operator.
You can display the modeling relations:
In a 3D view, click the eye icon (Show menu) and make sure that Relations is on.
In a schematic view, make sure that Show Operator Links is on.
If the selected object has a modeling relation, it is linked to its input objects by lines. A label on the line identifies the type of relation (such as wave or revolution) and the name of the input object.
You can click the line to select the corresponding operator.
Optimizing Performance with Modeling Relations
When a modeling relation exists, a large amount of data may need to be updated if the input objects are transformed or deformed. If you need to maintain the modeling relation, you can improve performance by turning off geometry updates for playback.
For more information about the playback options, see Optimizing the Playback Speed.
Breaking the Modeling Relation
To break the modeling relation, freeze the generated object's operator stack as described in Freezing the Operator Stack.