Component or Group?


#1

I have just built several components for a larger project and I have just brought together all the components and assembled them into one unit. I was just about to make this unit a component and with my newness to working with components, I wondered if it was a good idea. Would making it a group be better? If I make it a component I cannot easily make changes to its components. However if I make it a group, which I have had no experience with other than what I have read, I can isolate component parts. Does this make sense? What is the better route, component or group?


#2

You can make the collection a component or a group. I’d make it a component because I don’t use groups.

As for making changes to the sub components, there’s no difference if the parent is a group or a component. You have to open the containers to get to the base geometry either way.


#3

Make a component, I used to nest components in groups, which works fine but not very good for changes down the road.

For example I have a left hand side assembly as a component, copy and flip it to make a right hand side assembly. Any changes I make to any components within the assembly will of course be reflected in the other side. Also If I add or move any components these changes will be reflected in the other side.

Hope this makes sense/ helps


#4

Groups and Components are both useful. Your choice of which to use should depend on how you use them.

Groups are always distinct. That is, if you copy a Group, the newly created copy is entirely it’s own entity. Edit the copy and no changes are made to the original.

Components use the concepts of a Definition and zero or more Instances. The components you see in your model are Instances, while the components shown in the “In Model” section of the Components tray are Definitions. Collect some geometry together and make it a Component and you have thus created a Definition AND an Instance. Copy it and you’ve created a 2nd Instance that refers to the original Definition.

Here’s the critical part: Any change you make to a component Instance is ALSO changed in other component Instances that refer to the same definition! You can “Transform” one of the instances (rotate, move, scale) without changing the other instances, but make a change to the actual geometry and you change the other instances.

This can be both good and bad. The good parts happen when you want all of the instances to behave similarly:

  • Create a joist, make it a component, then copy the component to create a floor support array of joists. Need to change the length? Change one and they all change!
  • For roofing, create a rafter, make it a component, then copy the component to create one rectangular roof support plane. Cut one end at the angle necessary to meet the ridge board and all your rafters reflect the change. Cut near the other end for the bird’s mouth where it meets the top plate of the wall and all your rafters reflect the change. Select all your rafters at once, copy what you’ve selected, move it off to the side, scale it by a factor of -1 in the appropriate direction, then move the copy to meet the ridge board - and now you’ve created the opposite side of the roof support.
  • If you think you will re-use the geometry in another model, or you think your part will be useful to others, then you can save a component on your computer for your own use, or in the 3D Warehouse where (if you mark is “Public”) it will be available to others!
  • Perhaps the most useful thing about components is that they are a way of getting around SketchUp’s small lines problem. Say you’re modeling something small and curved. You get frustrated when tools like “Follow Me” don’t work as expected - faces aren’t created or edges meet when they shouldn’t. You’re probably butting up against the smallest resolution that SketchUp can deal with internally. But make your item a component, make a copy, scale it up by a factor of 100, make your geometry changes in the copy - and your original changes faithfully! Once your changes are made, you can delete the enlarged copy and the original remains with the correct geometry.

The bad part about components are that the instances are tied together! (Wait - didn’t you say that is a good thing? Yes, I did. But it can also be a bad thing!) Say you want to make changes to just one instance, but you realize that you’re making changes to all instances. How do you recover? This one is fairly simple: Undo the change, select only the instance you want to change, then right-click (on Mac, Context-click) on it and choose “Make Unique”. Now make the geometry changes you need to make. What you’ve actually done here is create a new component Definition and tied it to the selected Instance. The OTHER copies that refer to the original instance are still tied together, but the “special” one you just Made Unique is entirely it’s own entity.

Groups - on the other hand - are ALWAYS their own entity. Under the hood, I understand that they are just a special case of Components that are treated differently in that copying them copies both the Definition and the Instance. (Note: I’m not an expert on SketchUp internals - I invite any who are to correct me if I’ve characterized this poorly!) They also can’t be saved for re-use elsewhere - either locally or in the 3D Warehouse.

Finally, if you have SketchUp Pro, you can turn a Component into a Dynamic Component. I’m not going to describe why Dynamic Components can be quite useful here - this post is long enough as it is!)

Most of the SketchUp power users here tend to use Components exclusively (nearly). They have all the attributes of Groups - and a lot more! The need to, occasionally, make a Component Unique, is a small price to pay to maintain the increased utility of Components.


#5

Like Dave, I always use Components, not Groups. Some people prefer to create Groups. The reason I’ve seen most often is that they don’t like to deal with the create Component dialog each time, feeling it slows them down.

Ultimately, though, the choice comes down to what you want to happen if you add multiple copies of the object in your model and later edit one of them. With a Group, any edit will make that instance independent of the other copies. With a Component, editing one instance will cause the changes to be replicated automatically in all the other copies. Also you can save Components separately and add them into other models.

Beyond that, there is no difference between editing the contents of a Group vs a Component, so I don’t understand what you mean by “cannot easily make changes to its component parts”.


#6

Well, since you asked…:smiling_imp:

Some of what you wrote is close but a bit muddled. Indeed, each Group is conceptually independent, but the developers have optimized some things to reduce memory usage.

For both Groups and Components, the actual contents are owned by an associated ComponentDefinition (CD) object. When you place copies of either a Group or a Component in a model (e.g. by the move tool with copy option or via edit->copy + edit->paste), all the copies remain associated with the original CD. In the case of Components, this sharing is intrinsic to their behavior. For Groups it is an optimization that reduces the memory usage vs giving every copy its own CD while they are still identical. The savings can be considerable if you have a lot of copies of a Group! Only when you open a Group for edit does SketchUp behind the scenes create a new duplicate CD and rewire the edited copy to it. That’s exactly the same as Component’s “make unique”, it is just done automatically.


#7

Thanks for the greater understanding of what’s going on “under the hood”. After reading it a couple of times, it boils down to: Groups share a definition until one of the copies is changed, at which point SketchUp automatically creates a new definition, while Component copies share a definition until (and unless) explicitly made unique by the user.

Yes?


#8

Better.

This is picking a nit, but right-click vs context-click is not a Windows vs Mac thing. “Context-click” refers to the idea that the menu that pops up depends on what you clicked on (the “context”). Right-click is a mechanism for invoking a context-sensitive menu. Mac users with a mouse have a right button and can get a context menu using it, the same as Windows users. And laptop users who don’t have a right button to click use other chords such as ctrl-click or gestures, whether on Windows or Mac.

I guess I’m OCD, but these things matter to me.


#9

As a nitpicker myself, I certainly don’t mind! As I don’t have a Mac, I used the simple detail that I’d seen recently in another thread. Happy that Mac users now have better directions that I was able to initially give!


#10

@RJS1939 One other thing you should know about groups vs components is:

  • a group that you delete is gone, unless you use ‘Undo’.
  • a component that you delete is still available from the ‘In Model’ components library, unless you later on use “Purge”.

#11

Thank you gentlemen for that discussion. Much is still over my head but I get the gist. I will re-read it again. I ended up making my compilation of components a components also.


#12

Another benefit of ceeping the top-level container a component is the use of the ‘save as’ in the right-or-context click dropdown. Especially when you are collaborating with others. They can all edit the components seperately and you can reload when they’re done


#13

This topic was automatically closed after 91 days. New replies are no longer allowed.