If a public class that extends the Core.Motor.Electric class exists in a catalog or plug-in then Experior will pick it up and make it visible from the Assembly context menu.
This means that you can put your own motor onto a conveyor or use it anywhere else.
To control the type that has to be listed in the context menu you can use the Menu.Motors.Add method.
The standard motors in Experior (Surface, Vector, Eccentric and Rotation) are only listed in the context menu if you explicit asks for it by calling:
If your motor is derived from the Core.Motors.Surface class then by adding Menu.Motors.Add(typeof(Core.Motors.Surface)) all surface motors and all derived motor type will listed in the context menu.
If your assembly accepts all motors then just put in:
But remember this not includes the standard motors (Surface, Vector, Eccentric and Rotation).
In the example we have two motors that are derived directly from Core.Motors.Electric. To list the standard surface motor and at the same time accept motors derived from Core.Motors.Electric the two line below has to be added to your assembly:
When the user then creates a new motor by clicking on the New menu item the InsertMotor method is called on the selected assembly. The only argument in the InsertMotor method is an instance of the motor just created.
Note: It makes no sense to have the motors listed in the context menu unless InsertMotor is overridden (Experior will not list the motors unless the assembly is overriding the InsertMotor method).