Insert Custom Feature
Insert
History Operation
Custom Feature (Part
Level)
Use this command to bundle a group of history operations into one operation. All of the operations are made "sub-operations" of a single entry in the history. This "single entry" is called a Custom Feature. It becomes the "wrapper" for the subsequent operations used to define the Custom Feature. You can create a library of Custom Features to perform design tasks that are parametrically driven by user input.
When the Custom Feature is regenerated, all of the sub-operations associated with it are regenerated automatically. However, they cannot be individually redefined or deleted. To do that, you have to use the Explode Custom Feature command to convert from the single Custom Feature operation to the original list of operations.
The first operation selected should be a Custom Input operation whose inputs are used to drive the subsequent operations in the Custom Feature. All of the operations used to define the Custom Feature should only reference input from the Custom Input operation or from each other. This means that the Custom Feature is considered "self-contained" and can be Cut and Pasted into another part and regenerated successfully.
Before you proceed with this command you must first create a Custom Input operation and the sub-operations that will make up the Custom Feature.
From the History
Manager, select the start feature. This
is the Custom Input operation.
Now select the end feature or
middle-click to select the last feature in the history. The
end feature is the last sub-operation used to create the Custom Feature.
Select Yes or No to force a single display update for the custom feature. When enabled, there will be one redraw to update the display after a custom feature regenerates. If disabled, there may be multiple incremental updates to the screen, depending on what kind of edits the custom feature does. You should decide which method of display update will be most efficient for your application.
When the Custom Feature is created, its sub-operations disappear from the History Manager while the Custom Input operation remains visible. When the Custom Input operation is regenerated or redefined, the sub-operations associated with it are automatically regenerated. If one of the sub-operations fails to regenerate, the Custom Feature operation fails.

History Manager before the Custom Feature

History Manager after the Custom Feature

Custom Feature Geometry showing Sub-Operations
How
to Create a Custom Feature Library
|
|
|
If the start operation used to define a Custom Feature is not a Custom Input operation, then a generic operation is automatically created and used as a "wrapper" for the selected operations. When it is regenerated, it just prompts you to "<middle-click> to continue" at which time the associated sub-operations are regenerated.
A custom feature created in this way cannot be redefined or reused. It is a way of "crunching down" a set of operations into one operation to clean-up the History. This is fine as long as the sub-operations regenerate without needing to be edited. |
|
For a Custom Feature to be reusable, you should design it carefully so that its operations are only dependent on previous operations in the Custom Feature, beginning with the Custom Input operation. They should not directly reference entities created outside of the Custom Feature.
Such references should only be done indirectly by using the Custom Input operation to gather external entity picks, and then with subsequent operations referencing these entity picks using the <input_operation_name,field_id> functionality. Refer to the Tips & Techniques section on the Insert Custom Input page for more about this functionality. |
|
A Custom Feature operation can be defined using a VX macro by including the name of the macro in the command template that defines the Custom Input operation. The macro used to create/regenerate the Custom Input operation is defined by putting "custom = macro_name.vxm" in the header of the Custom Input's command template. See Macro Defined Custom Features for more information. |