Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Viking

Pages: [1] 2 3 ... 6

our repository consists of several models (top level packages).

Is there a possibility to create 1 HTML-report  out-of-the-box for all of them or to merge the reports afterwards? If not, is there a reason that Sparx supports HTML-reports only for 1 model or 1 package?

Are there alternatives (e.g., Web Publication Platform or iDEA) that create an integrated report for several models?

Suggestions and Requests / Open Diagrams as Overview
« on: June 29, 2023, 06:00:32 pm »
While navigating through the models I want that the diagrams open and showing all elements. Or they should open at least in I size, I specified before. At the moment diagrams open and show only some elements, but that does not give an overview. It’s annoying resizing the diagrams every time.

Is that possible?

Suggestions and Requests / Change color of properties
« on: June 29, 2023, 03:43:14 pm »
Hi, for a UML Class Diagram I am using colors for the shapes. Some colors are dark, so I need white text (instead of black).

I followed the instructions in to change the colors. The documentation says “This setting affects all text in the selected element except for the Note compartment text”.

But only the color of the element name changes. I did not find a way to change the colors of the attributes / properties according the color of the class name.

The solution is certainly too simple. But please tell me :-) V.


I was looking for a ready-to-use DCIM-solution within SparxEA, but I did not find it.

So was thinking about implementing DCIM on my own.

The target solution should look like as described below (if my description is unclear there is a nice video showing what I am looking for:
•   Modelling of racks, patch panels, switches, cables, SFPs, and the rest.
•   Every item that has to be managed is an element (e.g. ports).
•   Also complex “elements” (like racks) should appear in the toolbox.
•   A grid would be useful. The grid should help to check how an element fits into another, e.g. a rack provides 42 RU and a patch panel consumes 2 RU. Furthermore also depth and width should be checked.

So my questions are:
(A) For my understanding complex elements (several single elements) can be created by (Profile) Helpers, a Model Wizard or via scripting. Can Profile Helpers be created by myself? How?
(B) How can fitting checks (grid) be implemented? Only by scripts? Can these checks be added to the (profile) Helper (see (A))?

Many thanks in advance, V.

Automation Interface, Add-Ins and Tools / Modelling TMF Frameworx with EA
« on: January 31, 2021, 05:21:41 am »

I want to start modelling TMF Frameworx with EA.

In @salayande mentions that “TM Forum eTOM, SID and TAM is available with Sparxsystems Enterprise Architect”. It is not available in version 15. Does anybody know in which version of EA it was available? and mention that there is the “Frameworx Content Packs” available. The price is not mentioned. It seems to me that the product is not from Sparx, but TransWare’s. Am I correct?

Many thanks in advance, V.


I currently create a MDG.

I created 2 Stereotypes in a profile:

- “Business Process” which inherits from 2 other stereotypes BMPN2.0::Activity and ArchiMate3::ArchiMate_BusinessProcess.
- “Application” which inherits from 2 stereotypes BMPN2.0::Pool and ArchiMate3::ArchiMate_ApplicationComponent.

The documentation says that multiple inheritance is possible. The documentation says, they I have inherit from stereotypes and not extend them. So this should be correct.

I wanted to create a Toolbox using the Profile Helper “Add Toolbox Page” > “Add” > “Add Stereotype” > select my Stereotype “Business Process”. But nothing happens. Is this not supported?

My questions are:

1) Because the Profile Helper does not seem to help here I have to create the according attributes manually. What have to be the attribute values of a stereotype of the toolbox? Do I have to mention the stereotypes or the MetaClasses? And how do I have to define that I inherited 2 stereotypes?
MyEAM::Business Process(BMPN2.0::Pool,ArchiMate3::ArchiMate_ApplicationComponent)

2) I created these relations in the profile. Why do I have to add these definitions?

3) I asked this question already: how can I find out the metaclass of a stereotype “ArchiMate3::ArchiMate_BusinessProcess”. I got an answer that I should remove the stereotypes. I do not know where I see the metaclass. I even look in the database :(

Many many thanks in advance, V.


I implemented a Profile the “hard way”. Now I wanted to test the Profile Helpers to make things easier. I struggle with the Profile Helper “Add Stereotype”. I want to inherit from another Stereotype (not to extend a MetaClass), in this case from “ArchiMate3::ArchiMate_ApplicationComponent”.

I found” which describes this way but not how to do this. In the “Add Stereotype” dialog I see the different Types (Element Extension, Connector Extension, Abstract Metaclass, Metaclass Extension) and the “Add Metaclass” button.

My questions are:
- Can I use this functionality to add the stereotype I want to inherit from?
- I cannot find this described in the manual. It describes only how to extend Metaclasses. Am I wrong?

Many thanks in advance, V.

Automation Interface, Add-Ins and Tools / Customize menu in version 15
« on: January 03, 2021, 03:18:30 am »
Maybe everybody in this forum knows the answer, but me :(

How can I customize the menus in SparxEA 15? In my case I miss Profile > right-click > Advanced > Save Package as UML Profile.

In earlier versions that was possible with Menu > Workspaces and Commands window. But now I can find neither Menu nor Workspaces and Commands. There is an excelsheet from Sparx mapping commands. It did not help.

Off topic: why are the commands restricted? If I want to restrict functionality I can invest time to find it out. Currently I have to invest time to get the tool running.

Many, many thanks in advance, V.

Automation Interface, Add-Ins and Tools / Transient change of values
« on: October 16, 2020, 06:36:10 am »

I renamed a TaggedValue via script (C#). The debugger shows that I renamed the TV. That’s fine. If I ask the TV in another method for its name (myTV.Name), it shows the original name. That’s not fine. I did not perform myElement.TaggedValues a second time. I am still working with the same collection.

I do not want to update() the TV because I do not want to update the database. So I was trying to clone the TVs. Not possible.

Did I do something wrong? Is it not possible to change the value? When does it get overwritten? By each method call? V.

Automation Interface, Add-Ins and Tools / Decode BinContent in t_document
« on: October 09, 2020, 09:46:10 pm »
I am trying to read BinContent in t_document. I found this very useful answer from @qwerty: “It's a base64 encoded zip with a single file str.dat as contents.” in,42555.msg252958.html#msg252958

I tried the code below. But FromBase64String throws the exception, that “The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.”

Could somebody tell me what’s wrong with the code, please? V.

Code: [Select]
String query = "SELECT BinContent from t_document where ElementID = 'TECHNOLOGY'";
List<Document> docs = XMLService.GetXMLasObjects<Document>(Sparx.Repository.SQLQuery(query));
foreach (Document aDoc in docs)
  Byte[] aBinContent = aDoc.BinContent;
  // Unzip
  using (var memoryStream = new MemoryStream(aBinContent))
    using (var archive = new ZipArchive(memoryStream, ZipArchiveMode.Read))
      foreach (var entry in archive.Entries)
        using (var stream = entry.Open())
        using (var reader = new StreamReader(stream))
          String unzippedData = reader.ReadToEnd();
  // Decode base64
  byte[] zipBytes = Convert.FromBase64String(unzippedData);

Automation Interface, Add-Ins and Tools / Retrieve Location of SSKS
« on: October 01, 2020, 02:19:35 am »
Hi, is it possible to retrieve the location of the Sparx Systems Keystore Service (SSKS, sskeys.dat) via the EA Object Model?

Many thanks, V.

I identified a bug in Interop.EA recently. That’s why I would like to know:

(1)   I am using an older version of EA. Is it possible that the bug is gone in a newer version of EA or Interop.EA
(2)   Can Interop.EA.dll be downloaded separately?
(3)   If I understood Interop.EA correctly, there shouldn’t be a problem using another version of Interop.EA in EA. The concepts stay the same. Am I wrong?

Code: [Select]
for (short i = (short)(Conn.ConveyedItems.Count - 1); i >= 0; i--)
  ConvItem = Conn.ConveyedItems.GetAt(i);
  if (ConvItem.ElementGUID == Elem.ElementGUID) {
    Conn.ConveyedItems.DeleteAt(i,true); // same problem with false

If I run this code, it does not delete ConvItem. It deletes another item in the collection. It only happens if ConveyedItems > 1. If there is only 1 item, everything is fine.

I never had problemes with collections before. I tried a lot of alternatives. That's why and because Geert Bellekens recommends it I report it as a bug.

See also,44835.msg263969.html#msg263969


I do the following:


Delete(i) deletes another element than I get with GetAt(i). Why?

Automation Interface, Add-Ins and Tools / Problems with casting
« on: August 12, 2020, 04:10:41 am »

I tried to build my Addin-code, written in C#, with Embed.Interop.Types = False and Copy.Local = True. It was Embed.Interop.Types = True before.

Now I get a lot of errors. The compiler tells me that I have to cast many return objects.

For example: Sparx.Repository.GetDiagramByGuid(GUID) normally gives back a Diagram (and did before). Now it gives back an Object and I have to cast it to Diagram.

Why does this happen? It looks like anther version of Interop.EA? Or is the reason that the interop-functionality of COM is turned off when using Embed.Interop.Types = False ? But the setting (Embed.Interop.Types = False) is very common.

Many thanks, V.

Pages: [1] 2 3 ... 6