My Profile
Help
Hot Topics
Top Community Contributors

tkouno
Takeshi Kouno
Sparx Systems Japan (Chief Executive Officer)BPMN Smart Layout Add-in
This Add-in adjusts following points at one step:
- Align centers of 'near' objects (both vertically and horizontally)
- Adjust start and end points of flows to the center of object edge if related objects are aligned
- Adjust start or end points of flows to 'near' center of object edge
- Delete unnecessary bended points
How to use
- Download the zip from the following website
https://www.sparxsystems.jp/en/BPMNLayout.zip - Install the add-in by running EAAddinSetupEn.bat with administrative rights
(for detail, see: https://www.sparxsystems.jp/en/EAAddinSetupEn.htm) - Run EA, open a BPMN diagram, then right-click and select 'Specialize' | 'BPMN Smart Layout'
Demo
You can watch the basic usage and behaviour of this Add-in with the following Youtube video:
https://youtu.be/wdYovcGmGeg (2m18s, no voice)
Notes
- You cannot undo the layout, so please back-up your project before using this Add-in.
- If you find a model which cannot be layouted correctly, please send an image to This email address is being protected from spambots. You need JavaScript enabled to view it.
Model Conveter from ChangeVision Astah
EAImport is a converter from ChangeVision's astah (formerly JUDE) to Enterprise Architect.
System Requirements
- Astah community 6.9
- Enterprise Architect 13.0 or later
- Java Runtime Environment 7 (JRE 7/32 bit version)
- If you installed astah 32bit version, it is already installed.
- JRE 8 may work, but it is unconfirmed.
- If it does not exist, download the 32-bit version for Windows from the Oracle website and install it.
(64-bit Java cannot be used.)
The following "Working Directory" assumes "c:\work" in this manual.
How to Set up the Converter
1. Copy the following files to the Working Directory.
- all files in the EAImporter.ZIP file
- "SSJavaCOM.dll" and "eaapi.jar" in the "Java API" folder in the Enterprise Architect installation directory
- "astah-api.jar" and "astah-community.jar" in the Astah installation directory
- slf4j-api-1.6.6.jar in the "lib" directory under the Astah installation directory
- astah's file to convert (.asta)
- EAP file to import (.eap/.eapx) - You can use "EABase.eap" file in the Enterprise Architect installation directory.
2. Open the run.bat file with a text editor such as Notepad
- You need to modify the line which starts with "set JAVA_HOME =". Please specify the directory where Java runtime is installed.
How to Convert
1. Run the Command Prompt from the Windows start menu.
2. Navigate to your working directory.
- Example: cd \work
3. Run the batch file
- Example: run Sample.asta EABase.eap
- You can ignore messages of "SLF 4J"
Notes
- Depending on the size of the asta file to be converted, Out of memory error may be shown. If the message is shown, adjusting the value of STACK_SIZE and MAXIMUM_HEAP_SIZE may be improved.
- If there are any issues you can not convert successfully, please contact me with asta file to reproduce issues.
Limitations
- Template information of Classes is not supported.
- Ports which are owned by Parts are not supported.
- Notes are automatically added in Use Case diagram if a Use Case in the diagram has Extension Points. Plese delete the Notes element.
- Size of Use Case elements might not be maintained.
- Call Behavior actions are converted as normal Action elements.
- Levels of Execution Specification in Sequence diagrams are reset.
- Some properties of fragments in Sequence diagram are not converted.
- Deletion Mark (X) in Sequence diagrams is not supported.
- Positions of messages in Communication diagram are not converted.
- You need to enable SysML 1.3 if you need to convert SysML Requirements.
- Style of Nesting connectors in SysML Requirement diagrams is not converted.
- Some styles of connector are not supported.
- Position of self-connectors and Labels (text) might not be maintained.
- Order in the Project Browser is reset.
- All non-UML elements are not supported.
MDG Technology for GSN (Goal Structure Notation)
This XML file is MDG Technology for GSN. You can create GSN (Goal Structure Notation) model on Enterprise Architect. For detail about GSN, please visit http://www.goalstructuringnotation.info/ .
With this MDG Technology, you can use GSN Diagram, GSN Toolbox, GSN objects and Quicklinker rule for GSN objects. To use this Technology, import the attached file via Specialize Ribbon | Publish-Tech button | Import MDG Technology menu item.
(Update on 15th October 2019: Update text drawings for some objects)
Apply Windows7 Jump Lists to EA.exe
Prerequisites:
- Windows 7 Administrator rights
- The Windows 7 Jump List feature currently works with existing applications
Please Note: Modifying Windows Registry Settings may cause severe issues. Do not edit the Windows registry unless you are confident about doing so. We recommend that you backup your registry settings before any modifications are made.
Steps:
1. Copy the following text and paste to a text editor. Then save it with .reg extension
-- from here --
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.eap\OpenWithProgIds]
"EAPFile.JumpList.1"=""
-- end here --
2. Double-click the file and add Registry values.
3. Similar to step 1, save the following texts as .reg file
-- from here --
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\EAPFile.JumpList.1]
[HKEY_CLASSES_ROOT\EAPFile.JumpList.1\DefaultIcon]
@="C:\\Program Files (x86)\\Sparx Systems\\EA\\EA.exe,1"
[HKEY_CLASSES_ROOT\EAPFile.JumpList.1\shell]
[HKEY_CLASSES_ROOT\EAPFile.JumpList.1\shell\open]
[HKEY_CLASSES_ROOT\EAPFile.JumpList.1\shell\open\command]
@="\"C:\\Program Files (x86)\\Sparx Systems\\EA\\EA.exe\" \"%1\""
-- end here --
4. Before applying the .reg file, check the EA install path in the .reg file. The above example is for Windows 64 bit environment. You need to modify the path on 32bit OS or
5. Right-click any .EAP file, then select 'Open With' | 'Choose Program'. There are two Enterprise Architect settings, select the second Enterprise Architect setting.
6. EA will start and open the EAP file. Please check the EAP file is added to the Jump Lists.
You do not need to repeat the above steps if the step6 works fine. When you double-click any EAP file after this setting, the file will be added to the Jump Lists automatically.
Add-in: automatically add direction mark to Associations
With this Add-in, when you create a new Association connector and set its name, a reading direction mark (black triangle) is automatically added. (the direction is connector's source to target.)
To enable this Add-in, follow the steps:
1. Unzip the attached file.
2. Run EAAddinSetup.bat file. If you run on Windows Vista or Windows 7, please run the bat file as Administrator (right-click the file and run as Administrator).
3. Run Enterprise Architect.
4. Create an Assocation.
5. Double-click the Assocation and set its name.
6. The add-in works on the background automatically, and the reading direction mark will be added automatically.
Replace text in Element Name and Notes
Dim fromString, toString
'Replace text in Name and Notes
Function ReplaceString(obj)
Dim modified
modified = False
'replace string in Name
If InStr(obj.Name, fromString) > 0 Then
obj.Name = Replace(obj.Name, fromString, toString)
modified = True
End If
'replace string in Notes
If InStr(obj.Notes, fromString) > 0 Then
obj.Notes = Replace(obj.Notes, fromString, toString)
modified = True
End If
'call Update if modified
If modified Then
obj.Update
End If
ReplaceString = modified
End Function
'Replace texts of an element
Sub ReplaceElement(elem)
Dim method
Dim attr
Dim i
Dim modified
modified = False
' element methods
For i = 0 To elem.Methods.Count - 1
Set method = elem.Methods.GetAt(i)
modified = modified Or ReplaceString(method)
Next
' element attributes
For i = 0 To elem.Attributes.Count - 1
Set attr = elem.Attributes.GetAt(i)
modified = modified Or ReplaceString(attr)
Next
' element properties
modified = modified Or ReplaceString(elem)
' tell EA changes if modified
If modified Then
Repository.AdviseElementChange elem.ElementID
End If
End Sub
' Replace texts of a Package
Sub ReplaceInPackage(pkg)
' elements in the Package
Dim elem
Dim i
For i = 0 To pkg.Elements.Count - 1
Set elem = pkg.Elements.GetAt(i)
ReplaceElement elem
Next
' packages in the Package
Dim childPkg
For i = 0 To pkg.Packages.Count - 1
Set childPkg = pkg.Packages.GetAt(i)
ReplaceInPackage childPkg
Next
' Package properties
If ReplaceString(pkg) Then
' tell EA changes if modified
Repository.AdviseElementChange pkg.Element.ElementID
End If
End Sub
'Main function
Sub Main()
fromString = InputBox("Find what:","Replace text")
If fromString = "" Then Exit Sub
toString = InputBox("Replace with:","Replace text")
If toString = "" Then Exit Sub
ReplaceInPackage Repository.GetTreeSelectedPackage
Msgbox "Complete.",,"Replace text"
End Sub
'Call main function
Main
Swap Element Name and Alias Properties
'Swap a Method or an Attribute
Private Sub Swap(obj)
Dim sTmp
If obj.Style <> "" And obj.Name <> "" Then
sTmp = obj.Name
obj.Name = obj.Style
obj.Style = sTmp
obj.Update
Repository.AdviseElementChange obj.ParentID
End If
'Parameters of Method
If obj.ObjectType = 24 Then
Dim i
For i = 0 To obj.Parameters.Count - 1
SwapParameter obj.Parameters(i)
Next
End If
End Sub
'Swap Parameters
Private Sub SwapParameter(param)
Dim sTmp
If param.Alias <> "" And param.Name <> "" Then
sTmp = param.Name
param.Name = param.Alias
param.Alias = sTmp
param.Update
End If
End Sub
'Swap ConnectorEnds
Private Sub SwapConnectorEnd(connEnd)
Dim sTmp
If connEnd.Role <> "" And connEnd.Alias <> "" Then
sTmp = connEnd.Role
connEnd.Role = connEnd.Alias
connEnd.Alias = sTmp
connEnd.Update
End If
End Sub
'Swap an Element
Private Sub SwapElement(elem)
Dim method
Dim attr
Dim conn
Dim i
Dim sTmp
' Methods of Element
For i = 0 To elem.Methods.Count - 1
Set method = elem.Methods.GetAt(i)
Swap method
Next
'Attributes of Element
For i = 0 To elem.Attributes.Count - 1
Set attr = elem.Attributes.GetAt(i)
Swap attr
Next
'Connectors of Elements
For i = 0 To elem.Connectors.Count -1
Set conn = elem.Connectors.GetAt(i)
If elem.ElementID = conn.SupplierID then
If conn.Alias <> "" And conn.Name <> "" Then
sTmp = conn.Alias
conn.Alias = conn.Name
conn.Name = sTmp
conn.update
End If
SwapConnectorEnd conn.SupplierEnd
SwapConnectorEnd conn.ClientEnd
Repository.AdviseConnectorChange conn.connectorID
End If
Next
'Element Name
If elem.Alias <> "" And elem.Name <> "" Then
sTmp = elem.Name
elem.Name = elem.Alias
elem.Alias = sTmp
elem.Update
Repository.AdviseElementChange elem.ElementID
End If
End Sub
'Swap a Package
Private Sub SwapPackage(pkg)
'Elements in Package
Dim elem
Dim i
For i = 0 To pkg.Elements.Count - 1
Set elem = pkg.Elements.GetAt(i)
SwapElement elem
Next
'Packages in Package
Dim childPkg
For i = 0 To pkg.Packages.Count - 1
Set childPkg = pkg.Packages.GetAt(i)
SwapPackage childPkg
Next
'Package Name
Dim sTmp
If pkg.Alias <> "" And pkg.Name <> "" Then
sTmp = pkg.Name
pkg.Name = pkg.Alias
pkg.Alias = sTmp
pkg.Update
End If
End Sub
'Main Function
Sub Main()
SwapPackage Repository.GetTreeSelectedPackage
Msgbox "Completed."+vbcrlf+"Please reload all opened diagram."
End Sub
'Call the Main function
Main