Reverse Engineering Tool

Introduction
As explained in the Microsoft Dynamics AX 2009 SDK: "The Reverse Engineering tool enables you to visualize the application model in Microsoft Dynamics AX by allowing you to create various types of models. You can use the Reverse Engineering tool to create UML data and object models in Microsoft Office Visio. You can also use the Reverse Engineering tool to generate an .erx file that can be imported into a modeling tool such as Microsoft Office Visio or CA ERwin Data Modeler."

Visio UML Data Model
See How to: Create a Visio UML Data Model

Visio UML Object Model
See How to: Create a Visio UML Object Model

ERX ER Data Model
See How to: Create an ERX ER Data Model

Enterprise Architect Model
Enterprise Architect is a high performance modeling, visualization and design platform.

Required Software
This was tested with the following software versions:


 * Microsoft Dynamics AX 5.0.1500.2985
 * Enterprise Architect 8.0.860
 * Microsoft Office Visio Professional 2003 (11.8161.8172) SP3. This might work also with Visio 2007 and the Visual Studio 2010 Feature Packs
 * MDG Link for Microsoft Visio 1.5.0.0
 * Visio 2003 UML To XMI Export 1.0.0.1

Steps

 * 1) Install the required software
 * 2) Reverse engineer a Dynamics AX project to a Visio Data or Object Model
 * 3) Import into Enterprise Architect
 * With each reverse engineering task, AX exports all the base enums and extended data types. Since importing all of these may be very time consuming (8+ hours) or result in an "Out of Memory" error message, and since Visio is rather slow if one attempts to delete these, one could create a new Visio drawing and copy and paste into it each desired class prior to importing the drawing into Enterprise Architect.
 * Using the Enterprise Architect Visio add-in
 * MDG Link for Microsoft Visio
 * Using a Visio XMI package (faster)
 * Create and run the following macro in Visio to generate an XMI package that can be imported into Enterprise Architect:
 * Sub main

Addons("UML Background Add-on").Run ("/CMD=400 /XMIFILE=""c:\temp\visio.xmi""") End Sub