Diagonal Corner

0 votes
asked Mar 23 in Wanted features by gphelan (170 points)

Hi, to support modelling of Motivation elements in ArchiMate 3, could there be a DiagonalCorner style?

I would like to do something like

skinparam rectangle {
    DiagonalCorner 10
    BorderColor Red
}

The Motivation elements are documented at http://pubs.opengroup.org/architecture/archimate3-doc/chap06.html#_Toc489946015.

1 Answer

0 votes
answered Mar 23 by plantuml (156,680 points)
selected Mar 23 by gphelan
 
Best answer

We like the idea, thanks for the suggestion!

So we've published a beta http://beta.plantuml.net/plantuml.jar that supports:

@startuml
skinparam rectangle {
    DiagonalCorner 10
    BorderColor Red
}
rectangle rec
@enduml

Is this what you were looking for ?

commented Mar 23 by gphelan (170 points)
edited Mar 23 by gphelan
This works perfectly, thank you :-)

One problem - I cannot style different types of rectangle differently.

I am trying to reproduce the example diagram at https://cdn.visual-paradigm.com/guide/archimate/full-archimate-viewpoints-guide/17-archimate-strategy-viewpoint.png

In the example below, I would like the <<$outcome>> rectangles to have diagonal corners, while the others should have rounded corners.

@startuml
title Strategy Viewpoint Example

skinparam rectangle {
    DiagonalCorner 10
}

sprite $courseOfAction jar:archimate/course-of-action@2x
sprite $outcome jar:archimate/outcome@2x
sprite $capability jar:archimate/capability

rectangle "Digital Customer\n Intimacy Strategy" as DCIStrategy <<$courseOfAction>> #f5deaa
rectangle "Excellent Online\n Customer Interaction" as outcome1 <<$outcome>> #9fa2ea
rectangle "Detailed Insights in\n Customer Behaviour" as outcome2 <<$outcome>> #9fa2ea
rectangle "Digital Customer\n Management" as capability1 <<$capability>> #f5deaa
rectangle "Data-Driven Insurance" as capability2 <<$capability>> #f5deaa

DCIStrategy .left-> outcome1
DCIStrategy .right-> outcome2
capability1 .up-> outcome1
capability2 .up-> outcome2

@enduml
commented Apr 2 by gphelan (170 points)
Figured this out myself - using stereotypes  allows me to apply different styles to different rectangle types.

@startuml
title Strategy Viewpoint Example

skinparam rectangle {
    DiagonalCorner<<outcome>> 10
    RoundCorner<<courseOfAction>> 30
    RoundCorner<<capability>> 30
}

sprite $courseOfAction jar:archimate/course-of-action@2x
sprite $outcome jar:archimate/outcome@2x
sprite $capability jar:archimate/capability

rectangle "Digital Customer\n Intimacy Strategy" as DCIStrategy <<courseOfAction>> <<$courseOfAction>> #f5deaa
rectangle "Excellent Online\n Customer Interaction" as outcome1 <<outcome>> <<$outcome>> #9fa2ea
rectangle "Detailed Insights in\n Customer Behaviour" as outcome2 <<outcome>> <<$outcome>> #9fa2ea
rectangle "Digital Customer\n Management" as capability1 <<capability>> <<$capability>> #f5deaa
rectangle "Data-Driven Insurance" as capability2 <<capability>> <<$capability>> #f5deaa

DCIStrategy .left-> outcome1
DCIStrategy .right-> outcome2
capability1 .up-> outcome1
capability2 .up-> outcome2
@enduml
...