An introduction on the macro script feature in Abaqus

Abaqus has a feature to record almost all of one’s operations in Abaqus CAE environment into script in format of Python language. This feature is called Macro Manager, detailed in Abaqus/CAE manual (Section 9.5, a html page).

The recorded script is an executable function as one defined in a Python programme. And it can be executed in the interfaces provided by Abaqus to re-do the operations recorded. The interfaces include Run Script command from the main menu bar and PDE command window beneath the Viewport window (See Section 9.5 of Abaqus/CAE manual). This procedure can be utilized to improve operating efficiency in Abaqus for those routine operations.

To understand, modify and/or write a script, only basic knowledge of programming and several fundamental rules of Python format are required. For those who are familiar with Python language and scripts in Abaqus, they can even do a complete finite element analysis all by programming the operations required into a script file and executing it in Abaqus.

Relevant Resources:

  1. Abaqus/CAE User’s Guide:
  2. Abaqus Scripting User’s Guide:
  3. Python Documentation:

Basic Operations of Macro Manager

The following explanation is based on MS Windows 7 environment. And the version of used Abaqus is 6.13-1.

Start Macro Manager

To start Macro Manager in Abaqus

To start Macro Manager in Abaqus

To open the Macro Manager, one can click the File button from the main menu bar of Abaqus, and then click Macro Manager… in the dropdown list. It’s shown in above snapshot.

Operations in Macro Manager

Operations in Macro Manager

Operations in Macro Manager

There are several operations provided in the dialogue window of Macro Manager, including Create, Delete, Run, Reload and Dismiss, which are shown in the above figure. The names on the buttons are quite self-explanatory.

There are two columns in the dialogue. The left one named Name shows all the macro functions created by the user, and the right one shows the location of this macro script.

Normally, the macro script is named as and saved in user’s HOME directory or in WORK directory of Abaqus on user’s computer. (This example is based on MS Windows 7 environment.) So, the path to this script here is,


This is a Python script. All the macros list in the above figure are shown as a definition of function in Python format, such as,

def AssignMaterial():
    # code

Create a new macro

In the opened Macro Manager dialogue,

  1. click Create to start recording a new series of operations.
  2. Give it a name, e.g. createPlate, and
  3. click Continue…

then a new dialogue named Record Macro pops up, and a Stop Recording button is on the bottom of this dialogue.

Keep this dialogue openning in the background (you can move it to a corner by mouse left clicking on the title bar and holding your mouse button then moving), and perform the operations in the main window of Abaqus, then click the Stop Recording button after you finish.

After this, a new macro named createPlate will show up in the left column of Macro Manager dialogue.

Run a macro

Mouse left click in the left column of Macro Manager dialogue to select a macro, then click the Run button to re-play all the operations recorded to see what happens.

You may observe no change in the main window. Why?

Because it just re-do all the operations. And the results are all there already.

But if you close Abaqus without saving the changes and re-open it. Then open Macro Manager and select this marco to Run again. You may find that all the new changes occur agian. That’s what macros do, to replay the operations.

Other operations

I am not going to explain the Delete, Reload and Dismiss in detail. The brief explanations are as follows:

Delete: to remove a recorded macro by selecting this macro first and clicking the Delete button.

Reload: If you changed a macro in the script (, you can reload it so that the Macro Manage can have a updated one.

Dismiss: to close the Macro Manage dialogue.


Macro Manager provides a simple and direct way for user to recognise the internal commands in Python format for some specific operations. So that we do not have to look for certain commands in the manual and learn the call format through the monotonous and dull documents.

Mostly, the recorded script need further editting so as to be flexibly used in other models. This part will be detailed in another post later.©



您的电子邮箱地址不会被公开。 必填项已用 * 标注

您可以在评论中使用如下的 HTML 标记来辅助表达: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>