cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

How to redefine the type of inherited part properties?

gmoeser
1-Newbie

How to redefine the type of inherited part properties?

I have a concern with inherited part properties in Integrity Modeler using SysML. I'am not able to change the type of an inherited part property (without changing the type in the "parent-element" as well). Any ideas?

Here is a simplified example:

So far the following blocks and relations have been modeled:

170223_Anfrage_refactoring_integrity_modeler_01.jpg

Now I wish to redefine the type of the part property "p" of "Child". It should be in the end like this:

170223_Anfrage_refactoring_integrity_modeler_02.jpg

Comment: I did this before in Cameo Systems modeler. The procedure there was:

  • right click on "p" of "Child"
  • "refactor"
  • "redefine to..."
  • A list of possible types apeared - in this case [Type of Parent Part; Type of Child Part] - and I would choose "Type of Child Part"
1 ACCEPTED SOLUTION

Accepted Solutions

I have this working by selecting the inherited (virtual redefinition) part in the parts browser and then updating its text description property. The converts it to a real redefinition, which you can find in the package browser.

However, this all very cryptic and not at all intuitive! I've created a product improvement suggestion, which may be you can all comment and vote on: Make handling redefined properties user friendly.

View solution in original post

6 REPLIES 6
jklostermann
5-Regular Member
(To:gmoeser)

Hi gmoeser,

I ran into the same issue, but meanwhile I got help... And it works 😉

The point is the distinction between virtual redefinition (VR) and real redefinition (RR). In your diagram the Child block is probably still a virtual redefinition, which means that with right-click on Child.p > Set you get only Type ... which would change the type of p in the Parent.

Thus you have to turn the VR into a RR. You can do this by simply writing something into the description field of Child.p and leaving the field. Doing this, all of a sudden, in the package browser p appears as a block property below Child, as it turned a RR.

Repeating the procedure above you get more options. Now you can choose right-click on Child.p > Set > Type (Redefinition only)... and in the dialog window select the TypeOfParentPart's sub-type TypeOfChildPart.

This should have done the trick and result in what you wanted, I guess.

For more info have a look at the help under Redefinitions of SysML items (SysML)

Good luck,

Jan

Hey,

thank for your answer. Unfortunately it does not work.

If I write something in the description of child.p nothing happens in the package browser.

But: The typed description appears also at parent.p!? I think this shouldn't be like this...

Kind regards,

Georg

jklostermann
5-Regular Member
(To:gmoeser)

Hi Georg,

interesting effect...

As absurd as it might seem: It does not help, if you do this on the bdd by selecting the child.p and writing something into the description.

You need to open a ibd of child, populate it with child.p and then write something into description (maybe only adding a space to the stuff that you already wrote). When you now leave description you will see, that in the package browser below child suddenly the block property p occurs (which is the sign, that the VR turned into a RR).

Now you can do as already described above and it should work (at least it worked here):

[Package] Support Requests [Redefinition of inherited part properties].png

I hope you can get there too, now.

@PTC: If you read this, could you put it onto your Feature Request list, that the effect that happens on the ibd (with the description change turning VR into RR) happens on the bdd as well? It would be very helpful to have a consistent behavior here - as you see with this thread!

Best regards

Jan

Hey,

unfortunately I can only populate "Perent.p" in the ibd of "Child". Typing something in ist description doesn't change any properties...

Anyway, thanks for your efforts!

Best regards, Georg

I have this working by selecting the inherited (virtual redefinition) part in the parts browser and then updating its text description property. The converts it to a real redefinition, which you can find in the package browser.

However, this all very cryptic and not at all intuitive! I've created a product improvement suggestion, which may be you can all comment and vote on: Make handling redefined properties user friendly.

View solution in original post

That works! Thanks a lot!

Announcements