Discovered that when saving a component using the “Save As” function available when right clicking a component will result in the saved file having first been exploded one level before saving.
So, if saving a simple solid item that has been converted to a component and named prior to saving, the new file will have an exploded version of the solid with no components in the file.
If saving a component comprised of multiple components, then the saved file will have all the components making up the primary component - but the final component is no longer whole.
The result is that every file saved in this manner has all the parts of the component, but not that actual component name nor the assembled component.
“Save As” should result in the actual component being saved in it’s full version along with the name in the description.
Using SketchUp Pro Version 22.0.353 (most current version)
on Mac PowerBook
Yes. This will happen if you open the saved component but that’s not how you are intended to use the component. After saving it either import it or bring it in through the Components panel and it won’t be exploded.
It will do if you use the component correctly as above.
On the flip side, and more commonly noted, if you create a component and use File>Save to save the SketchUp model, when it is imported or dragged in through the Components panel, it will have an extra level of component nesting. The top level being the SketchUp Model file that was saved with the component in it.
FWIW, you might find it simpler to drag the in model component thumbnail into the desired component collection folder in the Components panel with the secondary pane open.
Thanks for your quick reply. I know about that method of creating collections, but was thinking that I want my file to be the named component in the assembled final manner, so if I open the file I can copy it and drop it into another window. Different file purpose.
As a bonus of the method you describe, and the way it’s built, I realize now that having it in a folder that is dedicated to a collection means that I can make changes to the component’s file name and not have to also make a change to the Definition in the Entity Info as well. And all the changes propagate to any files using the component - if one chooses to update changes.
A word of warning: It is very common to create a component and then save the file that contains it with the same name. When this file is then imported into a new model, it results in a component that references itself, and a corrupted file or one that cannot be saved and gives an error message.
I’ve written about this a lot lately.
The simple way to look at component models is that if done correctly, when opened from windows explorer or mac equivalent you are opening the component for editing. You should get straight into raw geometry or whatever is contained within the component.
The Component ‘file’ is the wrapper you see when the component is placed in another model. So when you double click to edit any component within your model you are taking a shortcut to the open model itself, rather than having to go to that file outside the current workspace, open, edit, save, and reload.
An incorrectly save component will open and be wrapped as a component. Not good. This, for example, will cause Dynamic Components to fail.
and this is why, too often, when you download a component on the warehouse, it’s a component containing a component containing the elements.
and it confuses a lot of newcomers who then start believing that warehouse components can’t be modified (way too often)
I mostly get this, but I wonder about a few properties of components. When you create a component, you have this dialog with properties to set.
You can change the axes of a component by editing the component and using the axes tool, and most of the rest are editable in the Entity Info palette, but the stuff boxed in red are not in entity info. Questions:
- Is there a way to edit these fields after the fact of creation?
- If a component can be saved out as a separate SketchUp file, these properties must be saved with it, but is there a way for a user to set or edit these properties of a SketchUp file? They aren’t in Model Info.
If you look at your in model components, you can right-click on one of them and choose Properties. That gives you a chance to change those values after the component has been made.
When you Save As a selected component, the external SKP does not have those settings. The matching action to Save As is Reload. You can make changes in the external SKP, Save, then go back to your main model, right-click, Reload, to reload the now edited contents of that component. The outer component, that you reloaded into, will still have the glue and face camera settings it had before.
Aha, got it. Yet another thing I think I knew once, and it vacated my brain. I see you can also select the component and hit “Edit” at the top:
…to get to here:
You know that old saying, ‘I’ve forgotten more about (insert thing here) than you will ever know.’ isn’t meant to be taken as a challenge.
I had only described the right-click Properties option because when you select a not yet selected component, then click Edit, you may find that a copy of the component is now following the cursor.
I’m running into another problem when dragging items from one Component Window to the next. If I take a component from a local collection and place it in my model, edit the component and change the name in the Entity Info window, then drag that new component from the “In Model” part of the Component Window to the Local Collection part of the Component Window, SketchUp then asks if I want to replace the model I just changed and renamed. Even though I have changed the component and it’s name, it assumes I am trying to edit the original file and does not offer a way to crate a new file.
I guess this would be fine if the goal was to edit the original file, but if the goal is to create a completely new component, then it is very problematic.
As you can see, the “Run 16in Inside 2 Face” does not exist in the upper component collection, but it sees it as the original “Run 12in Inside 2 Face”.
If you choose the “Save As” function in the menu after right clicking on the component, the default name it wants to save as is the file where the component originally came from. It is getting the file name from the “Loaded From” name you can see in the Components window.
I guess I will have to chose the “Save As” function and rename it to allow it to be saved as a new component. Am I missing something?
Computers follow other logic then humans, we immediately recognize the difference when we see names like ‘run 12in’ and ‘run 16in’ but the software sees a filepath where you load it from.
So if you, for convenience, load a component with the name ‘run 12in’ just to edit it and change it into something else (humans can interpret changes like extruding it a little longer, but for a computer, you might have only adjusted the thickness or added a rabbet) it reminds you of it’s origin.
In such a case, one could explode the loaded component, make some edits and then create a new component. Or, when creating a series of similar components (eg. Runs that have a variety of lenghts) uncheck the ‘replace selection with definition’ checkbox in the component creation dialog, it would only be in the ‘In Model’ collection.
It would be nice to have a dialogue window that was a bit more descriptive when it asks you if you want to replace it. Dialogue could even have an option to replace or crate a new instance with the new object name already populated. Pretty simple really.
I can’t be the only one running into this problem.
Where as it would have been simple to drag each component to a collection using the Components window, now I have to go into the model, select each component (even the ones nested in a master component) and save each one. That makes it easier to lose track of the components saved. You then have to refresh the Components window to see the changes in your local collection.
Components are critical to SketchUp. I’ve been using this software for over 20 years and I’m just now learning some pretty important lessons that should have been learned at the beginning. Something this critical should have simple, intuitive interfaces. It’s getting there, but I’ve spent a solid 3 days trying to wrap my head around how they are best used.
I think you are missing one step, Make Unique, before you rename it.
If you have a model with one component and you rename it you are trying to rename the original, so naturally it will ask if you want to overwrite.
If you make a copy in the file and make it unique it will be given a different name and you can also change it, it will then not want to overwrite the original.
Thank you all. You just rescued me from my “saving component” misery. Once again, the value of the SU community is huge!