You use the registerKernelMenuButton() command to make a kernel plug-in available from the Plug-ins menu. The following example illustrates how you associate the simple function described in “An example of a Python module and a function,” Section 81.4, with a Print Current Viewport item in the Plug-ins menu. (The function prints the current viewport to a PNG file.) The registration command references the kernel function printCurrentVP that is located in the Python module myUtils:
from abaqusGui import getAFXApp toolset = getAFXApp().getAFXMainWindow().getPluginToolset() toolset.registerKernelMenuButton( buttonText='Print Current Viewport', moduleName='myUtils', functionName='printCurrentVp()' )
The first two lines in the example provide access to the commands in the Plug-in toolset. The next line inserts a Print Current Viewport menu item under the Plug-ins menu in the main menu bar. When the user clicks Print Current Viewport, Abaqus/CAE issues the following command to the kernel:
myUtils.printCurrentVp()
The buttonText argument accepts a pipe-separated ( | ) list of words. The pipe separates submenu names from the menu button name. This allows you to group several plug-ins under one menu. For example, if you have defined more functions in myUtils.py, you can use the following version of myUtils_plugin.py to register them under a cascading menu:
from abaqusGui import getAFXApp toolset = getAFXApp().getAFXMainWindow().getPluginToolset() toolset.registerKernelMenuButton( buttonText='My Utils|Print Current Viewport', moduleName='myUtils', functionName='printCurrentVp()' ) toolset.registerKernelMenuButton( buttonText='My Utils|Print Sections', moduleName='myUtils', functionName='printSections()' ) toolset.registerKernelMenuButton( buttonText='My Utils|Print Materials', moduleName='myUtils', functionName='printMaterials()' )The previous example results in the menu structure shown in Figure 81–3: