When To Use Components VS Groups
-
Hello, i am in the process of building my first model, which is getting quite large now.
I have tried to keep everything as organised as possible using groups and components.
However, i am a little confused with one thing.
If i draw a small object such as a box, should i be converting that to a group or a component?
Lets say i am not planning on re-using that box object again later, (however i might re-use it), it feels wrong that i should convert it to a group as then i need to put that group (box object) inside a parent group to keep everything organised.
If i convert it to a component, then i might copy it later and make an adjustment which will then mess up the original component (unless i make it unique).
I feel like groups are like folders, and components are like objects we put into groups.
It feels weird that i should convert something to a group, and then place it in a group (folder).
So, what is the best practice to convert a small object to? Thank you for your help.
-
I don't think you need to read that much into the difference. Components are groups that have a definition and more functionality. You probably will not re-use a box, as it is so easy to make again, but there is no harm in using all components if you want. I personally use components to help identify and organize objects, beside the obvious re-use / storage capability. I make groups too just to separate geometry.
Some will say, why not always use components? Personally I like to limit the in-model component list size for easier browsing. But I don't think you have to worry about making "folders" of things. One big function of either is to keep geometry from interacting with other parts of the model. Another huge function is to be able to place the component or group on a layer to hide / show as desired, especially in "Scenes" and while working.
My whole building is often a component, and sometimes a building might be a model that I work on in a separate file, and "Reload" as a component. when desired, to the site model.
-
Ok great, thanks... maybe i am trying to be too organised, thanks.
-
@pbacot said:
Some will say, why not always use components?
Let us call him Dave.
If you are aware of the make unique functionality, this is a good way because you can name the object directly.
-
When trying to decide whether a group or components is most appropriate, I always ask myself the following questions...
-
Would this 'object' make sense if I were to save it as a separate file to be used in a 'library' of parts? (I may not actually want to save it in my 'library', just that it would make sense if I did).
-
Do I need multiple instances that will inherit any edits that I make?
-
Is the 'object' something that I would want included in a report? (e.g. to show how many instances there are for costing or producing a bill of materials)
-
Is the 'object' something that I might need to 'find and replace' at some point? (e.g. I might want to swap all my pan-head screws for countersunk ones, or to use low-poly 'proxy' objects to save CPU that I will later replace with a more detailed version before export)
If you answered 'yes' or 'maybe' to any of the above, then make the object a component, as having a shared definition is the easy way to make all of those things possible. If there is any doubt, consider...
- Component instance -> New component definition -> EASY (make unique)
- Component instance -> Group -> EASY (Explode then group)
- Single group -> new component -> EASY (Make component)
- All component A instances -> instances of component B -> EASY (Replace All)
- Multiple groups -> instances of same Component -> HARD WORK!!
Note how the only tricky one there is replacing multiple groups with instances of the same component - you will have to find all of the groups first, probably replace them one at a time, and placing them right could be tricky if the groups don't use the X, Y, Z axes consistently. OTOH - all of the other cases are simple 'automated' tasks.
So, if you are unsure if a component or group is the right choice, the pragmatic answer is to err on the side of using a component, as it is less work to sort out later if the choice turned out to be wrong.OTOH - if you know for sure that the only reason for grouping is to treat the geometry as an 'atomic unit' that won't interact with 'loose' geometry, or that it will only ever be used in one place, using a group makes more sense - you won't be 'polluting' your component browser with unnecessary objects.
@pauly7 said:
Ok great, thanks... maybe i am trying to be too organised, thanks.
Better that than not being organised enough!!
Maybe your 'folder' analogy fits better than you think...
A HDD folder may contain any combination of:- Files of any type (analogy: faces, edges, construction lines, components...etc...)
- Sub-folders nested to any depth (analogy: nested groups)
Note how, in this view, a component is seen as a unique object (akin to a file), rather than as a 'container' (akin to a folder). This is generally how I view the difference between groups and components; a component as a single 'indivisible' unit, just like a line or a face, and a group as a 'collection of parts'.
But, of course, other users have very different views on this, and are just as successful with SU. I would say that, much more important than any of this 'semantics', or which 'analogy' you use, is that you decide on a usage that make sense to you (or works best for the kind of things you model) - then apply it consistently in every model you make. Being consistent reduces the chance that you'll find yourself scratching your head later on - when you open a file from six months ago to make some edits, and have to waste time trying to understand its structure.
-
-
"Note how the only tricky one there is replacing multiple groups with instances of the same component - you will have to find all of the groups first, probably replace them one at a time, and placing them right could be tricky if the groups don't use the X, Y, Z axes consistently. OTOH - all of the other cases are simple 'automated' tasks."
Actually I have contextual commands that will find group copies and make them all into instances of a component. Is that a plugin? IDK. Maybe a ThomThom addition?
-
@pbacot said:
Actually I have contextual commands that will find group copies and make them all into instances of a component. Is that a plugin? IDK. Maybe a ThomThom addition?
Thomthoms selection toys.
-
@cotty said:
@pbacot said:
Some will say, why not always use components?
Let us call him Dave.
If you are aware of the make unique functionality, this is a good way because you can name the object directly.
Well Dave has very good and valid arguments to defend a component only workflow.
http://sketchucation.com/forums/viewtopic.php?f=79%26amp;t=57426#p522229
http://sketchucation.com/forums/viewtopic.php?f=79%26amp;t=59090#p538149
I definetely respect Dave's position, but can't agree with him on this. If you read further to the bottom of both links you'll find my own position on the matter...
But, the essential that should be added here is this:
Sketchup's correct workflow doesn't exist and depends on what you're modeling and how you think your project structure.
So it's very hard to be generic but, if your model usually has most of its parts unique, like most architectural projects, you should consider grouping things and use components only for repeatable or special elements throughout the project. Then, in later stages it's easy to turn those groups into components and do special stuff with them (could be easier natively, but this is why there are a lot of plugins out there).
However, if your model usually has repeatable elements, and a controleable complexity, like what happens in woodworking, engineering, landscaping and in, many cases, architecture... I would think on using components mostly, not to talk about dynamic components.
On my models I use groups mostly and see components as superpowered and exceptional groups.
Being groups the base structure for organizing my models is that folder tree structure you talk about. That is exacly what you'll find in the Outliner (Window > Outliner).
In that analogy components are more like special sync folders (that in windows systems have a suitcase icon and that sync whatever files you put in a "mirror" folder. I don't know about mac).
As such I use components with ponderation following Troguluddite's 1) 2) 3) 4) rules to the limit.
But I also don't fully agree with him, and on my exeperience this statement should be the opposite:
@trogluddite said:
So, if you are unsure if a component or group is the right choice, the pragmatic answer is to err on the side of using a component, as it is less work to sort out later if the choice turned out to be wrong.
1 - For people that are used to model unique stuff this criteria is dangerous as most likely prone to errors:
As pbacot says, it's not so hard to correct that column you copied around and that, in fact, should have been a component, but was a group instead. In this case you turn every column into a component (might take time unless you use a plugin http://sketchucation.com/pluginstore?pln=tt_groups2comps ) and then use the componet browser to replace this new components with the component you want (or another plugin for that, that makes you avoid using the component browser at all http://sketchucation.com/pluginstore?pln=tt_component_dropper ).
2 - However I know from experience how frustrating a component can be... when whole rooms get lost because of an edition of a component instance copy that should have been made unique:
It's much harder to correct a component you inadvertedly changed in a place of the model, while another was also being changed that you weren't expecting. For getting that geometry back you'll have to undo... a lot... but not more than 100 undos... There is a plugin for making it available more than 100 undos... But what if it happened yesterday or last week? autosave? model.skb? Previous version? Backup folder? Backup HDD? Server side Backup? Oh No! It's lost... Start it from scratch!
1 is a matter of patience or the right plugins 2 is a matter of deadline crysis and anxiety.
My advice?
Use components to save you time and do special stuff that you can't do with groups, use groups for model organization.
Hope this helps and let's hope Dave shows up to tell the benefits of the opposite truth...
Best regards,
JoΓ£o
-
This might help http://sketchucation.com/forums/viewtopic.php?f=15%26amp;t=42712
Advertisement