Center 2D text above an object


I have the following requirements …

  1. center text above an object
  2. text only, no leader, no arrow
  3. need to be able to see text on a printed drawing regardless of zoom
  4. have text stay centered as you orbit a drawing

I can hide the leader and arrow with Entity Info for 2.
I believe I need 2D text to meet 3.

I don’t seem to be able to center 2D text above an object?
2D text moves around the object as I orbit?

Any suggestions?


Maybe use 3D Text. Or maybe you should be using LayOut but that would require SU Pro.


Thanks for the suggestion.

Unfortunately 3D text is unreadable as it scales with the drawing.


You should be placing the text in some other app besides SketchUp. LayOut would be perfect for this.

Or export an image from the SKP file and place the text in an image editor or word processor.


So, am I to assume you can’t do this in Sketchup?

I can place 2D text, I just can’t control it!?

SU Pro is not in the budget for this volunteer based non-profit club :frowning:


Basically, yes. If you make text that isn’t attached to the model with a leader, the text is attached to the screen. You can position the text on the screen and position the model under it. It can be controlled but it will require additional work. Frankly, I wouldn’t use text in SketchUp anyway. You’d get much nicer looking text if you put it in over an exported image. Then the text would be vector instead of Raster which is what you’ll get in an image export from SketchUp.


I have no problem attaching 2D text to an object with a hidden leader. I just can’t center it and it moves around the object as you orbit.

As I have several dozen drawings and each drawing has several views that are printed, annotating the drawing in a different program is impractical.


I guess you’ll have to screw around with the placement of screen text, then. Leader text, by its nature in the 3D space will move around as you orbit.


OK … thanks for the info. :slight_smile:


You could try the plugin FlatText (it comes in three versions, two of them free, one very moderately priced). It’s available from the Extension Warehouse, and maybe also Sketchucation Plugin Store.

It doesn’t draw 2D text, but it does place the 3D text on or just above a face so it doesn’t move around as you orbit the model. And you can go back and edit the text after placement (which you can’t do with the native 3D text tool).

It does remain a fixed size in model units, so it will look bigger or smaller as you zoom in or out. If you only want a limited number of zoom levels to be viewed, you could change the text size for the different views, or use scenes, and put different sizes of FlatText on different layers, turned on at the appropriate scale in each scene.


@john_mcclenahan, I would have suggested that but the 3D Text tool got shot down due to the text size varying with the zoom distance so there seemed little point.


I realise that, but thought it might be worth suggesting if the OP doesn’t want too many zoom levels. If the text is to remain apparently the same on-screen size whatever the zoom and whatever the angle of view, then no, what I suggest won’t work and fixed ‘screen’ text is the only possibility, but that too will only work from one line of view to deal with zooming. And will move apparent location relative to the underlying objects with different viewpoints not on one direct line.

As you say, there isn’t a way of doing just what the OP wants in SU, only a range of different compromises.


Thanks for the suggestion.

I have objects from 0m out to 50m. 3D text is OK for viewing (which is what I had used) but when scenes from the drawing were printed, the text out at 50m was too small to read.


Can you make the text at a longer distance just bigger, so it is readable?


Good suggestion.

I could, but I think it would be a lot of work to adjust all of the text for distance. I have 20 to 30 randomly placed objects with corresponding text in several dozen files with several scenes per file.


Could you, or could someone else for you, write Ruby code to make the changes automatically or semi-automatically? It wouldn’t be trivial, and I know I couldn’t do it, but maybe someone else could see how to? But I think it would only be worth trying if the time taken to do it was a lot less than redoing them all manually. At least with FlatText, you can just change the font size, without having to re-do all the text.


Another way that may work for you is to pull out dimension lines above your object and edit the measurement - replace it with your text. Right click and make sure it says “centered”. You will have to contend with the lines but the text is scalable and will at least stay where you expect it?

It might be an easy solution if it can stand the zoom scaling (as it will scale) but might be quicker than 3D text?


Great … I’ll try that … thanks.