Component Issues

Hi everyone,

Can someone please run me through the work flow for creating components that glue to certain faces, that I can load from the component browser in multiple files?
I’m having issues with the gluing it to a face/axis, changing the placement origin of the created component, and getting the correct name of the component to show in the component browser.

Here are my steps,

I create a simple object in a new sketchup file,
Place the axis at the placement point I would like to use,
Edit the Model Info/File settings with the description and the Glue to: Vertical,
Save the file to my Library,
Now I open another file and browse to the component library in the component browser.

Here’s where the problems arise.
The name of the component is the name of the template,
When I place the component the placement point is the corner of the geometry not the point where I placed the axis,
The object will glue to any face not just the vertical one I had set.

If I right click and “save as” and then edit the placed component I can get the Glue and placement point to work, but the name of the component is now different to the name of the saved file…

Is this normal? Needless to say its late at night after a long day in the office and I’m confused.

A step by step workflow on this will be great.

Thanks for you help

When creating a new component you’ll be asked to name it. This will be the future definition of the component, not the ‘Name’ showing its ‘Entity Info’. Confusing? Yes.

You can open a secondary window in the component browser window. Then you can drag your created ‘In Model’ library components from one window to the other to create your own new library that you could use in all your new models.

There is superglue plugin and if not slove u can send the file so that i can clear ur doubt

There are some confusing aspects of using glue-to components, but your description seems a bit garbled so indeed you are confused about some of the basics. I’ll start by addressing your specific request for a workflow and then follow up with some further aspects that could be a problem for you.

  1. create and then select the geometry in SketchUp that will be your new Component
  2. invoke “create component” either from the Edit menu or via a shortcut key
  3. in the dialog that pops up:
  • give your new Component a name. This is the name of the “template” (correctly known as a ComponentDefinition)
  • select the variety of glue-to behavior you want from the drop-down list
  • verify that the gluing plane and center are where you want. If necessary, click the “Set Component Axes” to correct them. The component’s red-green plane is what will glue, and the origin is what will be the “drag point” when you fetch a new instance from the Components browser window.
  • if there is any other geometry attached to the selection, make sure the “replace selection with component” box is checked. Otherwise a raw copy of all the selected geometry will remain in the model along with the new ComponentInstance, which can be quite confusing!
  1. click “create”
  2. open the Components browser window and select the definition you just created (it will have the name you assigned in step 3, which is one reason to do so while you are creating it!). At this point you can generate a Component definition file in either of two ways:
  • right click the item in the browser and select “Save As”. You can choose where you want to put the file - as usual, choose someplace you will remember!
  • better, open the “secondary selection pane” in the Components browser by clicking the little plus icon at the upper right. Choose a library in the secondary pane and then drag the definition from the main pane into the secondary pane. This method both creates the definition file and puts the file into the chosen library, making it easier to find later.

To use the Component in a new model, the best way is to open the Components browser, select the library where you saved the definition file, select the definition, and drag an instance out onto the model. As you drag it out, it will snap to faces eligible for its particular glue-to settings. It will refuse to snap to faces not oriented as specified (you will see a cursor with the international “no” symbol of a circle with a slash). However, the cursor is the standard move tool cursor both when dragging over free space and when snapped to an eligible face. The snap action is quite distinctive, but there is no visible clue from the cursor or tooltip.

Now here’s the first thing that can seriously confuse you: you can drop an instance where it does not glue to any face. Once that happens, that instance cannot later be made to glue to anything. Furthermore, copies of the Component made from that instance will not glue to anything. In contrast, if you drop an instance where it glues to a face, a copy created from that instance will glue to either the same face or another acceptably oriented face! This “feature” can be especially confusing because it is likely that the original instance from when you created the Component isn’t glued to anything - if it’s gluing plane wasn’t sitting on a face when you created the definition, the instance won’t be glued even if the definition has glue-to set! This is why the tutorials immediately delete the original instance after creating the definition (they fail to mention this fact)!

Another potential source of confusion is that if you create a model containing a single Component instance and save it as a skp file, you can later import that file into a new model. By doing so, you will get both the definition and an instance (because both were saved in the skp file). The instance will be wrapped inside an extra layer of Component (because that’s what import does), and won’t be glued to anything. So, you will need to delete it and pull a new instance from the Components browser to get glue-to.

Some of the rest of what you describe sounds indeed like you were tired and misinterpreting what you saw.

1 Like

Hi Man,

Just realised I never replied to thank you for you post, it really helped me understand a better way to create, organise and use components.