With EA-Matic you can develop add-ins for Enterprise Architect using the built-in scripting feature of EA.

This example shows how you can prevent deleting elements that are still being used as a type in either an attribute or parameter.

The script uses the EA_OnPreDeleteElement event to first check whether the element is not still used.

If an attribute using this element as type is found then the element is not deleted and the user is informed with a messagebox.

EA-Matic cannot delete attribute

If it isn’t used as attribute but is used as a type in a parameter or the return type of an operation you get the following messagebox:

EA-Matic cannot delete parameter

Usage of Enterprise Architect Add-in Framework

This script also illustrates how you can use the Enterprise Architect Add-in Framework within your script.… Read more

With EA-Matic you can develop add-ins for Enterprise Architect using the built-in scripting feature of EA.

This example shows how to use the add-in menu to add your own menu and menu option, and react to the user clicking such a menu option.

With this script you can use menu options as a regular add-in would

EA-Matic Menu in Action

Download the complete script: EA-Matic MenuHandling

Step 1: defining the menu

'Tell EA what the menu options should be
function EA_GetMenuItems(MenuLocation, MenuName)
	if MenuName = "" then
		'Menu Header
		EA_GetMenuItems = "-&MyAddinMenu"
		if MenuName = "-&MyAddinMenu" then
			'Menu items
			Dim menuItems(1)
			 menuItems(0) = "TreeViewMenu"
			 menuItems(1) = "DiagramMenu"
			 EA_GetMenuItems = menuItems
		 end if
	end if
end function

Step 2: define the menu state

'Define the state of the menu options
function EA_GetMenuState(MenuLocation, MenuName, ItemName, IsEnabled, IsChecked)
	if MenuName = "-&MyAddinMenu" then
		Select Case ItemName
			case "TreeViewMenu"
				if MenuLocation = "TreeView" then
					IsEnabled = true
					IsEnabled = false
				end if
			case "DiagramMenu"
				if MenuLocation = "Diagram" then
					IsEnabled = true
					IsEnabled = false
				end if
		end select
	end if
	'to return out parameter values we should return an array with all parameters
	EA_GetMenuState = Array(MenuLocation, MenuName, ItemName, IsEnabled, IsChecked)
end function

Step 3: React to user clicking a menu option

'react to user clicking a menu option
function EA_MenuClick(MenuLocation, MenuName, ItemName)
	 	if MenuName = "-&MyAddinMenu" then
		Select Case ItemName
			case "TreeViewMenu"
				Dim Package
				Set Package = Repository.GetTreeSelectedPackage()
Read more

During the Munich EA User Group event Ian and Jackie Mitchell, known as the owners of eaDocX and main drivers of the EA User Group presented EAWorkplace to the assembled EA community.

This website, aims to become

Your one-stop shop for all Sparx Enterprise Architect tools, services and talent.

Based on four categories: Tools, Talent, Training and Resources they aim to be an independent source for all your Enterprise Archtitect needs

Bellekens.com is also mentioned, in a rather flattering way

There are a few people in the EA world who are so well-known that they are referred to just by their first name.

Read more

Since I started writing the EA Navigator and other tools the code has been open source and available on Github. The code is split up in a tool-specific part for the EA Navigator and some other tools, and a framework that can be used to build your own tool.


The code for the framework and the tools is published on GitHub, a version control repository “in the cloud”, which is free for public repositories. The easiest way to download the code is to install GitHub for Windows.… Read more

On the 5th of February 2014 there’s a new EA User Group event in Utrecht in the Netherlands

Enterprise Architect

I will be doing a demonstration of how you can actually create an EA add-in in 10 minutes, based on the Tutorial on this blog.

Below the full agenda of the event.
For more details and booking visit http://eausergroup.com/

I’m looking forward to meeting all of you there.

Agenda Utrecht

The main new feature of the version 2.4 of the EA Navigator is the Quicksearch. The Quicksearch feature is undoubtedly the fastest way to find anything in a (large) EA model. It is the type of feature which makes you wonder how you could live without it all that time before.

Developing the Quicksearch function was far from easy. I wanted something that resembles what Google does when you start typing, and I started things with a standard Windows Forms ComboBox.… Read more


There is an updated version available. Check out Excel to EA Importer v4

The Excel to EA importer is a rather simple tool to import stuff into EA.

It has been available on the Sparx Community Site since 2009 and it has always been one of the most popular resources.

Version 2 was a small improvement allowing for different types of Elements.

In version 3, thanks to the kind help of Paulus, I’ve now added a new function in order to import Glossary Terms.… Read more

I’ll be presenting two sessions soon at the EA User Group Seminar.

Below the full agenda of the event. For more details and booking visit http://eausergroup.com/

Enterprise Architect

Agenda – Wednesday 15th May 2013

The event tracks are;

  • Track 1 – Setting up projects for success with EA
  • Track 2 – Project Delivery with EA
  • Track 3 – Implementation & lessons learnt

The agenda for the day will be as follows;

Dunstan Thomas

09:00 – 09:45

  • Exhibition, Coffee & Welcome

09:45 – 10:30

  • Keynote – Modelling Software Intensive Systems with Doug Rosenberg

10:30 – 10:45

  • RefreshmentsLieberLieber

10:45 – 11:30

  • Track 1 – Writing Use Cases in EA with Ian Mitchell.
Read more


Don’t use Activities on an Activity Diagram


Model useful and UML compliant Activity Diagrams


UML Activity Diagrams are often used to depict a certain flow of events. One of the reasons Activity Diagrams are so popular is because they are very similar to flow charts, something all of us know from long before UML even existed.

So lots of people start out enthusiastically to draw Activity Diagrams.

Lets say that we are modelling the checkout at a cash register of a store.… Read more

The focus of version 2.3 of the EA Navigator is usability.

As a user myself I’m in a good position to evaluate the user-experience of the tool, and I felt the EA Navigator was coming short on that aspect. So I decided to do something about that.

One of the most important improvements, and also the most difficult one, is the switch to background processing.

With all the new features in the latest version I (and other users too) noticed that the EA Navigator was seriously slowing down EA itself.… Read more