Instance name is not saved for the component. Sketchup 20.1.235

I downloaded and installed the latest trial version and noticed a strange bug for myself. I create a component and give an instance name, save as … But when I create a new file and insert the saved component there, the instance name is not saved. Is this just my problem? With what it can be connected? Thank.

I think it’s a misunderstanding of the use of the Instance Name. That name only applies to the one instance of the component to which it was assigned. Each instance can have a different instance name. Only the Definition Name should be carried over from instance to instance.

2 Likes

What yous ave out isn’t the Instance but the Definition. A component instance is like an embedded component, i.e. the wrapper itself, having a position and a size and other properties that are not part of the model itself.

1 Like

You put that better than I did. Thank you.

Perhaps I did not correctly describe my actions. I will try again. I am creating a component with the definition name “panel”. Then, I give him the name of the instance - “Right Panel.” I select the component and through the right-click menu - “save as.” I save the component to my component folder. Next, I create a new project file and through the component manager I insert the saved “Panel” component, but the instance name “Right Panel” is missing. So it should be?

No. The instance name should not be shown in the new file. The instance name is only applied to the instance in the original file where you created it.

We understood what you are asking. The only name that gets saved with the component definition is the Definition Name. If you need the panel to be identified as Right Panel when it is inserted into other Sketchup models, you need to make the Definition Name ‘Right Panel’.

1 Like

OR
Enter “right panel” in the description then it will carry over

1 Like

When you right click “Right Panel” and click save, you are not saving Right Panel but Panel. The entry in the menu can bee seen as a shortcut to the corresponding entry in the Component inspector.

2 Likes

It’s working as expected. I think your confusion is with the technical concepts of Instance vs Definition for Components. In brief, the Definition is like a template and Instances are like prints made using that template.

To continue that analogy, suppose you cut out the shape of a cat to make a template and name it “cat template”. Then you move the template around over a piece of paper and paint the cat shape through it at multiple places and in multiple colors to create a poster. Then also suppose you label each of those prints with a distinct name, e.g. “yellow cat”, “brown cat”, etc. So that you can use it again in different posters, you save the template in your file drawer with other templates you have made. Neither the prints you just made nor their names are part of the template; the only name saved with it is “cat template”.

This situation is made somewhat muddy in SketchUp in several ways. First, except in the Components Window, you have no direct access to the Definitions (“templates”). What you see in the model are Instances (“prints”), yet in SketchUp you access the Definition via those Instances. For example, when you open for edit, you are actually manipulating the geometry in the Definition. That’s why other Instances see the same changes. Likewise, when you right-click and choose “Save As” you are actually accessing the Definition via one of its Instances.

While I was writing this, @eneroth3 chimed in with a much shorter reply that says the equivalent thing.

1 Like

Thank you all for the detailed explanation. I just watched the video from @pcmoor Maybe my computer just isn’t up to it and got a little confused. I saved one of the components from a working file from the video and it turned out that the instance name is saved for nested components, but not for level 1. Thanks you.

Maybe the nested component had an instance name matching the definition name, but there is nothing about the instance that is carried over when saving out a file. The file has nothing to do with an instance. The file is the definition being saved out.

1 Like

The name of a nested instance is a property of that instance, just like the transformation that places it or a material that paints it. The nested name will be saved when you save the container in which it nests, just like the other properties. But it won’t be saved in the nested object’s definition, only with the nested instance.

1 Like