At a recent seminar at the local ANSYS office in Evanston, Ill., I was introduced to a very interesting capability for extending the company's Electromagnetics simulation tools -- called Toolkits, which utilize a flavor of the Python language called IronPython. This is a Python implementation that is integrated with the .NET framework, which works on Microsoft Windows and Linux. Toolkits can also be written in VBscript.
Toolkits allow many levels of customization in the tools -- everything from task automation to the development of higher-level design expert tools. Demonstrated at the seminar were simple automation tasks, such as geometry creation to toolkits that handle specific types of designs. These included an Electric Machine Design Toolkit, a Cable Design Toolkit, and a Hearing Aid Compliance Toolkit, which implement and automate very specific types of design analysis problems building on the Ansys tools. Being toolkits they can be modified by the user and the whole source code is available.
IronPython is an open-source tool. To create GUI elements, such as menus and dialog boxes, the user can use a tool called SharpDevelop, which is also open-source. Using these tools can make a toolkit look a lot like a part of the product. User-defined scripts can also be added to menus, making them easy to access, and scripts can be created by recording actions in the ANSYS interface, through the command window and by using pre-existing examples. The large number of useful examples makes it easy to get started. It is much easier to start with an example, customizing it to your own design flow, than starting from scratch.
The script recording capability is interesting, since a set of complex actions can be recorded and then edited. This can then be played back to perform the action, perhaps with a new project, automating a repetitive action. This could also be called from a more complex toolkit.
Other useful capabilities include User Defined Outputs (UDOs) and User Defined Documents (UDDs). UDDs are useful for customized summary reports. UDOs include a report and analysis output. The documents can be in XML, HTML, and PDF formats. Many organizations will find it useful to automate and customize analysis output to match their own internal standards.
An interesting example of how these capabilities might be used is in the Electric Machine Design Toolkit. One feature that was implemented is a parametric sweep of the torque speed curve, which allows the engineer to automate an optimization task and visualize it, among other examples.
Allowing users to automate tasks and extend their products through toolkits is a very useful feature, as it can help to shorten analysis and design times. In addition, these toolkits can be shared among users.