Group VS component


#1

Hi all,
I am creating this topic to discuss about the best practices.
Please feel free to pitch in your thoughts and your methods.

Just to be clear, I know the difference in two.

Let me just list few:

Components - copied entity will reflect geometric changes made in one
Components - Added to “components” window when introduced, can be set and “scale definition” and "reset"
Groups - no need to make unique every time you create variation
Groups - adds more geometric/polygon data to the model. Thus, increase file size

Over the years, I’ve seen people who mixes groups and complements (wether intensional or unintentional), and I’ve also seen some who are adamant about always using components.

My workflow includes hundreds, if not thousands of components and groups (opening outliner is not my thing) - if you have been in my shoes, you know what i mean.

In my case, i always make things components if they are going to be repeated. Even if it is just once to keep the model symmetrical - i.e trees, chairs, windows
Then I may group those components into a group to bundle them up or repeat, but not exactly in same configuration - i.e. different levels of the building, bundle of trees.

My walls may just be a group since I often just scale them to increase or decrease, and not many walls are the same anyways. and then I will probably group all walls into a single group to clean them off. Layer organization does play into this, but losing all walls on each floor by unchecking wall layer can be hassle sometimes.

I typically do not scale my components as keeping all of them the same size is essential to quantify. However, in case of trees and bushes, I do random, or manual scale them to make them convincing. Since people, cars, furnitures are not to be scaled, so they are kept as components and bundled up into a group.

I hope my logic makes sense to you all, and I hope to hear your logic.
Thanks for reading my long topic!


Move -copy component changes are not reflected in original
#2

I’m one of those who use only components. I do so because I can leverage the benefits they have over groups. My primary application for SketchUp is drawing woodworking projects for proposals and construction plans. Even if there’s only one of something in the model, such as a table top or chair seat, invariably there’ll be at least two of them by the time I get finished. I absolutely want changes made to one instance reflected throughout.

With components I can:

Immediately give the part a name.
Set the component origin and axis orientation to make applying textures and component insertion easy and painless.
Easily create small parts and avoid the issue of holes created due to too small geometry.
And more.

Many people make groups first and convert to components if they wind up copying it later. Or at least they try to remember to do so. We see requests periodically from users asking how to convert a couple of hundred copies they made of a group to instances of the same component because they forgot to convert to a component beforehand. I avoid that problem from the git-go.

We also see complaints from folks who’ve forgotten they are modifying a component instead of a group and discover all copies of it got the same treatment. I always know I’m editing a component and know if there are copies of it in the model space so it’s never a problem to remember to use Make Unique when needed. (I assigned a keyboard shortcut for Make Unique so that’s a simple thing to do.

As I work through drawing a model, I tend to use components to batch operations much like they’d be batched in the shop. For example with a model of a table with tapered legs, the tapers are typically all the same so while all four legs are instances of the same component, I would add the tapers. The front and back legs might get different joinery details, though so before I draw those details, I’ll split the back legs from the front with Make Unique. I keep them related as long as I can, though to reduce the work.

I think the best thing for efficient work flow is to maintain consistency. Of course that’s just my idea and not everyone needs or wants to do that.Fortunately, SketchUp is flexible that way.


#3

Please, someone correct me if I am wrong: I believe that modern versions of SketchUp use the same ComponentDefinition object to hold the geometry data for a Group as for a Component. When you copy a Group, the two instances share the same ComponentDefinition. SketchUp secretly does the equivalent of Component’s “make unique” as soon as you edit a Group that has multiple copies. As a result, the file size depends on the number of unique versions you have (each requiring its own ComponentDefinition) but very little on which kind of container you use.

I use a minor variation of @DaveR’s workflow. I’m also a woodworker, so that shouldn’t be surprising, as I face the same tasks as he does. Woodworking projects nearly always have multiple copies of each object, and if I need to modify the design it is much easier to edit a Component than lots of Groups. I also do scene views to illustrate exploded construction details or to show something like a door in both closed and open positions. All the alternative positions need to track any edit changes.

I almost always use Components, saving Groups for two purposes. One is for a subassembly that gathers together a bunch of Components by nesting them in a Group. The subassembly may be only conceptual - e.g. all the drawers of a dresser, even though they are each unique. The other is for ad-hoc collection of several Components that I want to move, hide, or otherwise manipulate as a unit even though they have no logical or permanent relationship. For example, they may simply be in the way of something I want to work on and I want to temporarily shove them out of the way or associate a non-visible layer to them.


#4

I think it’s worth clarifying that this is done, as soon as you ‘open’ a group even if no ‘editing’ is carried out…

click to see my laymen’s take on file size effects in another thread…

john


#5

I should have mention that my workflow is a bit unique as I work in a collaborative setting where different people may open a single file and work on it. Although I will be the main person maintaining the file. Its quite difficult to use other people’s work as they all have different methods (or no methods at all). My goal here is to create some standard or workflow that I can try to enforce and perhaps something foolproof. (I may be being too hopeful however)

I’ve also have fell into this pitfall before, but there is a good work around to this:
using @thomthom 's plug in,

Component Replacer - https://extensions.sketchup.com/en/content/component-replacer
Selection Toys - https://extensions.sketchup.com/en/content/selection-toys

This allows groups to be replaced with a component. Say there is a 100 copied group. Make one of them a component, then use Selection Toys to select 99 copies by selecting the instances. This works as long as you didn’t edit any of the group, this is function of what @slbaumgartner said.

Then replace them by using Component Replacer.

No need for redo all the work. I have to do this often as my co-workers do not mind spreading groups everywhere in the model.

Besides all this issue, I also ALWAYS group them first, because I simply do not use component names or definitions as they are just too many instances in my model. If I group them first, then make them into components, I save time thinking of the names. (my “make group” shortkey is G) it would be impossible to open and use Component or Outliner dialogue.

I like what you bring out here. I am trying to create this consistency at my work, its not ideal when everyone has their logical or illogical ways. I also always point out how flexible and versatile SketchUp is.

Just curious - if you do exploded construction details and opened position of the doors, how do you work around quntifying the data? because, if I understand correctly, you would be creating two instances? (i always had this dilemma)

and…Thanks for your input guys :+1:


#6

I use the CutList plugin to create materials lists. It includes only the visible geometry, so I (try to) make sure that duplicates are not visible when I run CutList. Judicious use of scenes and layers helps.


#7

Speaking for myself, quantifying the data for me involves generating a cut list using the CutList extension from the EW. If nothing is selected, it will list all instances in the model but you can limit the data by selecting those components that need to be included. So for my use, I would turn off the layer with the open door and only show the closed door before selecting. I also often turn off layers for things that aren’t visible in the view anyway. So for a side view of a cabinet, perhaps the back and interior parts wouldn’t be visible. I make sure to turn on those layers before making the selection for the cut list.

As for ThomThom’s plugin, that is what I was thinking about. I think with a more deliberate and consistent approach, a plugin like that would get very little use.


#8

yes, i did try using cutlist as well. I remember i can either do the listing out of visible geometry or the selection. I suppose you can do Judicious use of scenes and layers. I like that. though it can be a bit of trouble if you are working with multiple people with different proficiency.


#9

It is sometimes easier to just do it yourself, isn’t it? :smiley:

Just as an example, here’s what a typical model for a plan looks like in SketchUp.
Lowboy
Actually, this is a pretty simple one compared to some.

There are 20 layers and 21 scenes for this one although some scenes get used more than once in the plan depending on what I need to show. As you can see, there isn’t any part in this that isn’t duplicated at least once. And it is inevitable that there will be modifications so components throughout are a must for me.


#10

Thanks for sharing!

I would like to share mine as well, but it often ties with confidentiality.

Here is one I can share. :smiley:

as you can see, its often difficult to have as much regularity as you have.


#11

I work in the architectural field and use both groups and components:

Groups I use like I would use layers in other CAD programs:

  • I can colour everything in the group with one click
  • I can hide/show various elements
  • I can group and nest groups of similar elements to organise things
  • making a group is a single key-stroke
  • I can convert the group to a component with a simple r-click menu item if necessary.

Components I only use for any repeated elements or standard ‘imported’ component like switches, sockets, lights, handles…

  • I can swap out components for different styles
  • I can count and name these elements
  • I can glue components to faces
  • I can make a 2D image always face the camera
  • If I were cleverer I could make dynamic components that would have various parameters I could click to change.

The primary reason I have for using groups over components is lazyness. Even making components, 99% of the time I make them from groups rather than the dialogue. I have no need to have a duplicate of a unique roof and no need of the extra tools that being a component would give it: why take the extra steps?
(…and I always forget to tic the box to replace the selected with the new component and then have to select all the geometry again and delete it. If I want to name it, I will in the outliner where I can also rename the groups and see the hierarchical tree.)


#12

Thank you so much for sharing your workflow @gadget2020.

I also do the same as filing in the dialogue is a hassle!. How can I always come up with ingenious unique name every single time? :smiley:

But I am also dealing with other poeple’s lazyness, I call it the janitorial work.


#13

Correct.

I tend to group first - then create components as needed. I either want components when I need to repeat objects or I want a named object in the model’s component list. I name everything - I keep my component list and material list in List View instead of thumbnail view. That way I can easily find that “Door 900x2100” - because visually I would not be able to tell its thumb from “Door 1000x2100”.

Another point I’d like to make - the filesize is no good measure to how complex a model is or how well it will perform in the viewport. Textures skew the model size more than geometry. And effects such as edge styles, transparency and shadows have much greater impact on viewport performance.

I’ve never been worried about geometry bloating the SKP files. Keep an eye on your textures - make sure they are not any larger than what you need.

Structure your model for workflow efficiency - not SKP file size. Disk space is cheap - if you need to email a model, use a file sharing service like Dropbox, Google Drive etc.


Component Abnormalities
#14

I wish I can name my component#164 as you do. My models a bit too complex to name them such way. I will be naming them 200x400 Steel joist with 34 degree chamfer and C type connection.

However, I see how that can be really useful in some small scale projects.
What do you do with ones that doesn’t have rectangular sizes?

This should be well highlighted for other users. I figured this out the hard way, I think it’s very important point.


#15

If the object isn’t one that follow standard sizes I would use some other description that was specific but still unique to that object type. Usually one end up reusing a lot of objects between projects so if one set up names once it sames time in the long run. Makes it really easy to swap out parts as well.

I’ve had this idea for an extensions that would compile the know best practices for performance into a “smart” guide tool - one that would look through your model and check for potential issues and suggest solutions.
But… alas… time…


#16

I use sketchup for Toy design with a focus on 3D printing and find that I use both groups and components quite regularly. Typically I will group things for quick movement, scaling, rotating, whatever and then ungroup them. OR I will make groups of complex shapes that will only get used once and are a part of a larger component. In my work flow I always setup scenes for “working”, “render”, “explode” and “print layout”. So using components insures that these different scenes stay synced up :slight_smile:

A “render” view
Since others are sharing stuff they’re working on, here’s one of mine:

An “exploded” view

And here’s the end product printed out:


#17

If I may ask, how did you create a keyboard shortcut for the “Make Unique” command? Whenever I make a KB shortcut it seems to only work for the specific model in which it was created never to be seen in other drawings. I have almost one hundred shortcuts and the Make Unique" command eludes me. Thanks.


#18

Some shortcuts can only be set when the context menu option is available. So select a component and check the make unique command is available in right click. Don’t choose it but keep the component selected and go to preferences to set the shortcut.


#19

@TCD1317

yeah, a bit of extra step.
Try Shotcutter
http://sketchucation.com/forums/viewtopic.php?p=520206#p520206

It will list all the shortcuts assigned, you will be able to find some alphabet keys that aren’t being used yet.

I usually find J, Y, W utilizable.


#20

I knew it was a context menu item but thought I had it figured out. Will follow your steps and try again. Thanks.