DSD-DBS / py-capellambse

A Python 3 headless implementation of the Capella modeling tool.
https://dsd-dbs.github.io/py-capellambse/
Apache License 2.0
53 stars 10 forks source link

State Diagram Export Problem #221

Open juanvaccarezza opened 1 year ago

juanvaccarezza commented 1 year ago

Hi! While exporting State Machine Diagrams several problems are detected on transitions:

Image inside capella: MSM  test Image on jupyter: Screenshot 2023-01-09 180609

Problem 2: Image inside capella: MSM  test2 Image on jupyter: Screenshot 2023-01-09 180850

Best Regards, Juan

ewuerger commented 1 year ago

Hi juanvaccarezza,

I worked on your issue and got to this state: Capella: image

generated SVG: image

The rounded corners aren't easy to fix since 2 individual boxes are rendered. Further more pixel perfect routing (start + end points of transitions) are hard to calculate. We don't get all data from the .aird files. Please let me know if this is enough for you to work with.

Greetings

juanvaccarezza commented 1 year ago

Hi, this looks awesome and is good enough for me! One question though, Does this fix support having only a Transition Description?

Best Regards, Juan

On Mon, Jan 16, 2023 at 8:38 AM Ernst Würger @.***> wrote:

Hi juanvaccarezza,

I worked on your issue and got to this state: Capella: [image: image] https://user-images.githubusercontent.com/50786483/212666688-ca15fa0d-6fdd-4344-a17b-d6d51944bf18.png

generated SVG: [image: image] https://user-images.githubusercontent.com/50786483/212669285-e781c358-2600-4a5a-9f59-043f46c5d4ab.png

The rounded corners aren't easy to fix since 2 individual boxes are rendered. Further more pixel perfect routing (start + end points of transitions) are hard to calculate. We don't get all data from the .aird files. Please let me know if this is enough for you to work with.

Greetings

— Reply to this email directly, view it on GitHub https://github.com/DSD-DBS/py-capellambse/issues/221#issuecomment-1383917505, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALMAXYKNSBTY7TIWYE5SB3WSUXKRANCNFSM6AAAAAATV4J7LA . You are receiving this because you authored the thread.Message ID: @.***>

ewuerger commented 1 year ago

Hi Juan, sorry for replying so late. The label is taken directly form the name attribute of the diagram element in the .aird file. Capella takes the text from the trigger expression. On a StateTransition you don't just have a description. Checkout what attributes are available for it here.

Cheers

juanvaccarezza commented 1 year ago

Excellent Thanks!!

Just for the record I was referring to the Trigger Description text box shown in the dialog when you double click on the transition.

Thanks again, Juan

On Wed, Jan 18, 2023 at 6:09 AM Ernst Würger @.***> wrote:

Closed #221 https://github.com/DSD-DBS/py-capellambse/issues/221 as completed.

— Reply to this email directly, view it on GitHub https://github.com/DSD-DBS/py-capellambse/issues/221#event-8253605801, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALMAX4B7ET2WFL26CNQAMLWS6XK5ANCNFSM6AAAAAATV4J7LA . You are receiving this because you authored the thread.Message ID: @.***>

ewuerger commented 1 year ago

The Trigger description isn't rendered in the label of the StateTransition in the diagram as Capella isn't doing that either. I hope that diminishes any leftover ambiguity.

Cheers