cancel
Showing results for 
Search instead for 
Did you mean: 

Frame inheritance

Hello to everyone,

 

i have a problem with my model that i can't figure out.

As you can see in the image attached i've one main frame (factory) and several other connected to that one.

In the image there are open the same frame (legatura) from the folder and the one from the main frame and they are different.

Probably, as a newbie, i've worked with the frame in the main one and the changes are not synced to the one in the folder.

Of course if i cancel one of them the other one do the same thing.

How can i "repair" the connection and sync the changes to the frame in the folder?

Thanks!

2 REPLIES

Re: Frame inheritance

Siemens Experimenter Siemens Experimenter
Siemens Experimenter

If I understand correctly, you would like to update your original Class with the work you have done on the Instances. As noted in the Help (search for Inheritance): "Inheritance only works from class to subclass/instance, not the other way around!", so there is no quick 'reverse inheritance'. However, here are a few options to consider, to at least make the repair process a bit more efficient.

 

Note: Remember that updating the original user Class Frame, will drive inheritable properties to the Instances in your model. Some unintended consequences may occur, depending on the complexity of your model, so I advise saving a copy before you make changes, so you do not lose your original work, in case the changes are not favorable. There is no simple way to undo the changes listed below. Also, depending on your objects, and if, for example, Methods use absolute or relative paths, you may need to do additional touch ups.

 

  1. Update the contents original Frame
    • Open both frames and copy the objects from the updated Instance Frame to the user Class Frame (legatura) in your Class Library. Bear in mind that you may have naming conflicts that may need to be resolved. One way around it is to rename or delete the original objects in the user Class Frame first.
  2. Replace the original user Class Frame with the Instance Frame
    • Drag the Instance Frame to the Class Library. Hold the Control button if you want to keep it in the Model Frame, otherwise it will be removed from it. Resolve naming conflicts be either renaming the original Class Library or the Frame Instance you are about to drag. There are additional ways.
    • Select the new Class Frame you just created, hold the Alt button, and drag it on top of all the instance Frames in your model. The existing Instance Frames will be replaced be the new Class Frame
  3. Save the Instance Frame as an Object (.obj) and load it back to your Project. Select the appropriate setting of the Replacement Mode. More on this option in the Help. Search for 'Replacement Mode', 'Save Object As' and related commands in the Help.

 

I hope this helps,

Re: Frame inheritance

Yes, it was helpful.

Thank you.