Components that use "3D Text Editor" Extension


#1

I’m attempting to create a component that’s composed of an entity and an instance of 3d text created from the very useful extension “3D Text Editor”.

For example:

  1. I create a cube
  2. I create editable 3D text with the extension, and paste it to a face on my cube.
  3. With both cube and text selected, I “Make Component”.

The trouble is that now when I instantiate the component, and attempt to edit the 3D text in it, that 3D text seems to be a component as well, so the text winds up changing across every instance. The option to “Make Unique” is greyed out when the instance’s “3D Text” is selected.

Can anyone suggest a workaround or tell me what I might be doing wrong? This is part of a more general requirement I have, which is to create components whose instances vary on the 3D text they include. In other words, I want to instantiate a component, and on an individual basis edit the 3D text on them.

Thanks,
Bob


#2

Make the make the component the 3d text is parent to unique first - then you can open it and make the 3d text unique.


#3

You are not doing anything wrong, but maybe you have to do an extra step. Since SketchUp’s 3D text is by default a component, it behaves like components. When editing an arbitrary instance of a component, you apply changes to its definition, on which all other instances of the component are based.

If you don’t want component copies to be linked to their definition, you either should have used groups (group copies don’t share the same definition) or you have to make the component instance unique. Right-click → Make unique.

You could also suggest to the author @thomthom to figure out a way to produce 3D text as a group and add an option into the editor dialog.


#4

Thanks for the response.

Yes, I can see that as a partial workaround, however, by breaking the component link of the parent and making it unique, I lose out on most of the benefits of why I want it to be a component in the first place.

For example, using my Cube example:

  1. Create a cube
  2. Paste 3D text to it.
  3. Select both–>Make component
  4. Instantiate one of these new components
  5. I have to make this instance “unique” before I can drill down and make the 3D text that’s part of it unique, those losing the linkage to the parent component’s definition.

Am I misunderstanding your suggestion?

Bob


#5

Hi Bob,

It may be easier to grasp the concept if you look under the Window menu and open Outliner.

Arranging the model hierarchy as illustrated below will enable you to make the Editable 3D Text unique, while retaining the single component definition of the Cube.

That is, create the 3D Text outside the context of the Cube and then make the Cube and 3D Text a Group.



#6

Thank you Geo!

I do wish that the object model was just a bit richer and borrowed from tried-and-true class/prototype/instance patterns derived from OO programming languages such as Smalltalk. It would be so much simpler, flexible, and clearer to build more “reusable” components efficiently that way.

Bob