Sparx Systems Forum

Enterprise Architect => General Board => Topic started by: rmvanderlinden on May 14, 2025, 05:33:59 pm

Title: Scripting: how to set the correct perspective when adding an element
Post by: rmvanderlinden on May 14, 2025, 05:33:59 pm
I have a script that adds elements (ApplicationComponent). In the beginning it has the Archimate3 perspective, but now it uses TOGAF.
How can I force to use the Archimate3?
Title: Re: Scripting: how to set the correct perspective when adding an element
Post by: Modesto Vega on May 14, 2025, 05:57:51 pm
 2 different types of diagrams or 2 different types of application components could have been used, intentionally or unintentionally.

Have you tried changing the type of the diagrams to an ArchiMate diagram?
Title: Re: Scripting: how to set the correct perspective when adding an element
Post by: rmvanderlinden on May 14, 2025, 06:08:40 pm
No diagrams are involved. The script is within Excel, it reads the rows and, if necessary, creates the root/view/package structure and puts elements in it (together with notes, tags, etc.). Like the picture. The <ApplicationComponent> has the TOGAF stereotype. I want it to be an Archimate3 stereotype.
(https://sparxsystems.com/forums/smf/data:image/png;base64,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)
Title: Re: Scripting: how to set the correct perspective when adding an element
Post by: Modesto Vega on May 14, 2025, 06:15:13 pm
You need to change the type of element and its stereotype. Just make sure that you remove the TOGAF stereotype.
Title: Re: Scripting: how to set the correct perspective when adding an element
Post by: rmvanderlinden on May 14, 2025, 06:26:50 pm
How is this done?
I used .StereoType (ApplicationComponent) and .StereoTypeEx (Archimate3::ApplicationComponent). It has however no effect.
A code snippet:

                    Set e = EARepos.GetElementByGuid(.GUID)
                    If e Is Nothing Then
                        Select Case sp
                            Case eSubPackage.ApplicationType: spn = .tagApplicationType
                            Case eSubPackage.BusinessUnit:    spn = .tagBusinessUnit
                            Case eSubPackage.Platform:        spn = .tagPlatform
                            Case Else:                        spn = ""
                        End Select
                        If (spn <> "") Then
                            Set pk = Me.getPackage(Path & spn)
                            Set e = pk.Elements.AddNew(.Name, .StereoType)
                        Else
                            Set e = p.Elements.AddNew(.Name, .StereoType)
                        End If
                    End If
                    ' Optionaly set elements if they have a value. They are not (yet) supported by the Collection tab
                    If .Alias <> "" Then e.Alias = .Alias
                    If .Phase <> "" Then e.Phase = .Phase
                    If .Status <> "" Then e.Status = .Status
                    If .FQStereoType <> "" Then
                        e.StereotypeEx = .FQStereoType
                    Else
                        If .StereoType <> "" Then e.StereoType = .StereoType
                    End If
                    If .Version <> "" Then e.Version = .Version
                    If .Notes <> "" Then e.Notes = .Notes

Title: Re: Scripting: how to set the correct perspective when adding an element
Post by: Geert Bellekens on May 14, 2025, 07:01:43 pm
You should never use the regular stereotype, as that risks conflicting.
Always use the fully qualified stereotype.

But more importantly, make sure you have the correct steretoype. There is no "ApplicationComponent" steretoype in ArchiMate. It's "Archimate_ApplicationComponent"

Geert
Title: Re: Scripting: how to set the correct perspective when adding an element
Post by: rmvanderlinden on May 15, 2025, 04:47:06 pm
Geert,
The Archimate_ before the type did the trick.