I have figured out a workaround. It's based on the following things:
- Use "together { }", to force the last 3 Use-Cases to be grouped togther
- For the last 3 Use-Cases, convert the hard lines to short dotted lines, using ".>" to create the links. It seems that the normal plain lines will ruin the positioning.
This should now work to positon some Actors on the right, as in the example below:
@startuml
' ======= the actors =========
actor :Left 1: as Left1 << Human >> #f8fdff
actor :Right 1: as Right1 << Stereotype >>
actor :Left 2: as Left2 << Human >> #eaf0f9
actor :Left 3: as Left3 << Human >> #eaf0f9
actor :Left 4: as Left4 << Human >> #eaf0f9
actor :Left 5: as Left5 #eaf0f9
actor :Right 3: as Right3 #eaf0f9
actor :Right 2: as Right2 #eaf0f9
rectangle "My Rectangle" #C0C0C0 {
left to right direction
' ====== the use cases =========
(Use case A) as (UseCaseA) #83d3f6
(Use case B) as (UseCaseB) #83d3f6
(Use case C) as (UseCaseC) #83d3f6
(Use case D) as (UseCaseD) #83d3f6
(Use case E) as (UseCaseE) #83d3f6
(Use case F) as (UseCaseF) #7a97ca
(Use case G) as (UseCaseG) #7a97ca
(Use case H) as (UseCaseH) #7a97ca
(Use case I) as (UseCaseI) #ffcb0c
(Use case J) as (UseCaseJ) #ffcb0c
(Use case K) as (UseCaseK) #ffcb0c
(Use case L) as (UseCaseL) #ffcb0c
' Prevent PlantUML from re-ordering these items
together {
(Use case M) as (UseCaseM) #a4e148
(Use case N) as (UseCaseN) #a4e148
(Use case O) as (UseCaseO) #a4e148
}
' ==== the use case links. Note '---' means longer line ======
' These Actors are positioned on the left hand side.
' Note the Actor is referenced first, and the Use-Case second.
Left1 --- (UseCaseA)
Left1 -- (UseCaseB)
Left1 -- (UseCaseC)
Left1 -- (UseCaseD)
Left1 -- (UseCaseE)
Left2 -- (UseCaseF)
Left2 -- (UseCaseG)
(UseCaseF) .> (UseCaseA) : << extends >>
(UseCaseG) .> (UseCaseA) : << extends >>
Left3 -- (UseCaseG)
Left3 -- (UseCaseH)
(UseCaseH) .> (UseCaseD) : << extends >>
Left4 -- (UseCaseI)
Left4 -- (UseCaseJ)
Left4 -- (UseCaseK)
Left4 -- (UseCaseL)
Left5 -- (UseCaseM)
' These dotted lines will cause a better placement of the
' Use-Cases, compared to using the normal non-dotted lines.
(UseCaseM) <. (UseCaseN)
(UseCaseO) .> (UseCaseM)
' These Actors are positioned on the right hand side.
' Note the Use-Case is referenced first, and the Actor second.
(UseCaseN) --- Right3
(UseCaseA) --- Right1
(UseCaseD) --- Right2
}
@enduml
Preview of diagram:
http://www.plantuml.com/plantuml/uml/ZPLlK-8-4CUVzrNio0D-p0WZ57_-6OzHGK45TRpp1SHcWvrh4oO9T-VSt7k_9fOsor0zUDBTxsTtasOtFJUMQRlEioXgmvVt7zXN19POfOrt-LyKUG-Spb5Ow9y2C-0U-t1s1hDrpYICHj0Inu8BiM6VqkNh1lRFdlvgKQEoRoiiGaZQGPLsGDCY4mVYXAuXhk1u5qpOOSKEFqzyMC67K15aHt6zexW16TJ8e4OYZObbSfaXx2tUu6bZxK5hVE3-y3i20CZSEgm2xNFnr8MbIaPUR4DmJck3a323vAWSzTzpgS151vZnzhWm2wjr7FDO_B-5NHBiiWaR4spSX4q8Dcd2hWXsLMDRt3NX2gjrn4wE4hQ5JGasRS9c19lLs1PtGxZ2QWcHl1maMzWjmMwRi3k2tJLXSuBDQwmy_4UDFr1QUCoOjC-BEGYjSj3OLPgZJkNIzOL1I2tcniTOjSJ2fylcekKMf5nXjTWG-yFZ7UWzGUy_GXy8-a3HFs4Vaow6B9NVJG_kbKLeTxlTDkJ8f85CoILg9oE4NTw6Rtwp5-_N5TC8AsLIDop8GKcVtK_JAvCSJCgnLmQw6bxsiP0Qq2XGeqoGWqYriVlWOXnIxAFhDW864oMvJr5UVyKYWzaYGZrC3VvnWt_IuB_gH9Km28Nhpcx_rFi337gZy2OuTRSX_h8ekO7HYC3Jp-2gP4nBxlRFw59c9FlaW-p3CCjDPxV_ji5_r-2V1s_oC1GM7TfON5cBt3UUWPzfba72NBSoUC52qR3AM8Av6qWbNA-KqPkECVkGg7p5D7Am2jQc752GIkSi0wbaDwpXMoiSnxDUC754VF2li4R_VIByTwLX94Y_VpmLlWGPYNgbRYxABoHHBWAbJvH9e0oYueuuHydNUVON
