Hi!
First of all, thanks for this great tool.
I'm planning to substitute Astah use with PlantUML. For sequence diagrams, PlantUML is great, easy, fast to write, perfect. For Class diagrams the resulting layout is confused to present to not I.T. people.
I see that, for this diagram, PlantUML uses Graphviz that has it owns way to organize things. I tried to use [hidden] relations to setup a fixed layout, but It was without success.
Basically, I can use relations on objects (or better in 'together' groups) to make my specific layout, but then when I define relation between objects the previous good layout changes to a confused one.
This is an example (using groups and hidden relations to define the layout), with the problematic relations commented:
@startuml
hide circle
skinparam linetype ortho
together cln {
class Client
}
together mls {
interface MemberListener
}
together mrl {
interface MemberRole
}
together msg {
class Message
}
' my defined layout
mls -u[hidden]- mrl
cln -r[hidden]- mrl
mrl -d[hidden]- msg
' object real relations
Client -> MemberRole
''''''Client -|> MemberListener
''''''Client -|> MemberListener
@enduml
However, according with http://graphviz.996277.n3.nabble.com/grid-layout-tp1942p1943.html there is a way to Graphviz to ignore the relations (edge [constraint=false]; ) when it make the diagram layout. The behavior can be shown in the difference between
http://www.plantuml.com/plantuml/uml/VPAnoi9048JxVOfzWH_-lJOeQInijHG9fxd4GDn8xbA5lBjAb85DSAlXFhvYXijZydqQxYsLJTtxnushhkEH-7LnkCnF8uMo3dowTXfJxnjDcygtCPmpukyT2r-7uf__jhn3t2CUvcWDWI4m18POmy5mC1mCPms5eJ0KXdwAJ3_w2DYYe608MnbmjRC3D2iOQ7S1N1j60SrK1Yx6qunf8ig3bkzVyGG0
and
http://www.plantuml.com/plantuml/uml/VP8n2y8m48Nt-nMtEGacgoXT75nr52dHfhLGhvAaK-b_rrhbmLcywP6FRtYFP36vaBfxGqLT1VUuSTcst1E_BdQNwQcdnVjyKNa-NLk9ARXQqgPqJVJdDV7tZhchVBxYvPPtY7l4mnIrOM0O60Q6qOQ5OM5O65OR0aDW20pv51d-z35WFmKDXj2L0MSxMq2rWe9g5y3POGHGJQMW6c-4J0DHvgKO_yOJ
So, my suggestion is to make a new 'tag', like the -left- one or the -[hidden] one to enable this behavior on specific relations, so that the others relations can be the only used by Graphviz to define the layout.
Do you think that it can be possible?
Thanks again,
Riccardo