Importing components/ Nested components/ Best practice


#1

Hi Sketch up friends,

I am learning the fundamentals for using and creating components and wish to create a library of my own components which I regularly use. I have followed a few tutorials and read up on the topic and have done what is suggested:

  1. created a component which I have named ‘window 1’ and saved it in it’s own file by context clicking on it, saving and naming the file ‘window 1’.
  2. Located the origin in a suitable position within it’s file. (I tried to locate the origin in the editing box when creating and editing the component to begin with, but could not prevent the window from inserting horizontally instead of vertically. This was resolved when I saved it in a new file and moved the axis origin of the file itself to give me my desired origin/ insertion point.)
  3. I then imported it into another model and it imported as ‘window 1 #1’. I did what was suggested in another thread on here and exploded it once to remove the ‘empty wrapper’ (‘window 1 #1’) and expose the nested ‘window 1’ component.

My issue is-

  1. surely I shouldn’t have to explode every component I import into a model?! I then end up with an accumulation of window components of different variations in my models’ components’ list.
  2. How do I select all instances of a component within my model? Or at least view them to see where they are? I have 2 instances of my ‘window 1’ after exploding the empty wrapper and deleting the empty wrapper component ‘window 1#1’, but can only see 1 instance of it. Confused!

Thanks in advance:-)


#2

When you saved your window to a file, did you use File->Save as Component? If you did File->Save, that will cause the issues you describe.


#3

Hi,

I did File, Save as, but it just gives me the option to save as a sketchup model and that’s all. There is no ‘Save as component’ option?

I have experimented and have found that I can ‘Share model’ and check the option to make it private so only I can view it. I am still unclear if this is what is meant when I read that it is good practice to save your components in their own master file? If I want a library of my own components that I frequently use, is this the way to do it? If I alter the definition of the component when I download it from ‘my models’ in the 3d warehouse, will it update the definition as it was saved originally in the 3d warehouse?? I’m a little confused as to when a component will update all instances of itself with changes and when it wont? Does it update all instances in other files as well as in the file you are working on?

Thanks in advance.


#4

A saved component is a SketchUp model file. What you are seeing is exactly what you should see. The same applies to Right click, Save as…

You can use the 3D Warehouse to save your components if you wish or you can create local collections which are stored on your computer. I prefer the latter because I don’t need an internet connection to access them.

No. Not unless you update it. Or you could save it as a new component if that makes more sense.

No. Edits to a component instance in the current model only get reflected in other instances of that component within the current model. Other models using that component won’t be affected nor will instances saved in the Warehouse or as a local collection on your computer.

As I said, I prefer to save my components locally in collections which I organize by the types of components. Most of what I model is furniture so I have collections for parts such and door pulls and knobs, or hinges, or screws. If I edit a component in a current model and want to save the changes, it’s easy to overwrite the component in the collection or I can give it a new name and save it as a new component instead. It’s easy to replace a component in a different model with the new one if needed. Select the instances to be replaced, right click on the new component in its collection and choose Replace Selected.


#5

have you tried Right Click >> Save As [on the selected component in your model]…

john


#6

Thank you for the detailed explanation, I understand the concept fully now!

I think I did it correctly in the first place then, as I did context click on the component and Save as- it just brought me to a new window and enabled me to save the component as a new file.

It still doesn’t explain why it comes in an empty wrapper that needs to be exploded once to reveal the original component inside, as I initially described in my original question. Eg. It comes in as ‘window 1’ if it was originally called ‘window’. Is this what it should do? Is that to allow you to differentiate between the new one you have imported if there are already existing instances of it the model…because you could have made changes to it’s definition since you first saved it as the component definition originally!? Aha! Sorry to ramble, I think I’ve got it:-/


#7

If you’ve modeled a component and use File>Save as… to save it, then you have a SketchUp file that has a component in it. If you import that file into a new model, the file comes in as a “double wrapped” component with that superfluous wrapper. That’s not really a bad thing. Consider a model of a dining table and chairs. Assume the table and each chair is a component. If you import that SketchUp file into your house model, it comes in as a component (we’d call it a nested component in this case) with the table and chair components inside.

If you context click on the component and use Save as… from there, it won’t end up with the extra wrapper. Dragging the component from the In Model collection to a local collection does the same thing. I generally prefer the drag and drop method to Save as… but either works.

SketchUp will append a number to the component definition name if there’s already a different component with that name so yes, it should do that.

Exactly. Each component definition name must be unique.


#8

Aha, yes, I’ve just tried it again and it did in fact work as you described. All makes sense now, thank you!