Outliner Overlay Extension: OutFront

I use the Outliner extensively in my work to help me stay organized in larger complex mechanical models with lots of nested assemblies. With three screens at my desk setup it is generally not a problem to find room for the Outliner window on the side. However when on the road with just my laptop it is a challenge. I have long wished for a simple UI trick that is used in other modeling software of printing the model hierarchy in text as a transparent overlay above the model space off to one side. After years of hoping it would appear, I finally dug in and wrote one myself. I am not a programmer at all, I have zero experience coding, and I can’t speak a word of Ruby, but after much trial and error and help I have a working version that does what I want and serves me in my work. Even a blind chicken gets the corn once in a while.

I have been using this for a while now and had not contemplated releasing the extension ever. I made it only for my own workflow and I have no opinion whatsoever of my coding skills. However, after the recent Basecamp in Las Vegas where quite a few other sketchuppers saw and were interested in trying the script I have decided to share it here. I’m happy to think it might be of some use to others. I call it OutFront because it puts the Outliner in Front of the model.

WARNING: I am NOT a developer. This script works great on my Mac with SU24, it is untested on any other machine, version, or OS. This script leverages the Overlay feature so requires at least SU23 No Warranty. Use at your own risk!

How it works:

  • With the Overlay activated all objects in the current context are listed in text on the left side of the screen on top of the model space.

  • Components are listed by name.

  • Groups are listed as Group by default, unless given an instance name, then by name.

  • Items are listed in alphabetical order.

  • Raw Geometry is ignored

  • Items not in current context (nested) are not listed unless selected

  • Unlike the Outliner, multiple instances of a given component are not listed as separate line items, instead, the number of instances is appended to the component name in parentheses. Example (24)

  • Any object currently selected is listed in blue text.

  • When selected, the tag associated with the component or group appears to the right of the name. Default is [layer0].

  • When selected, an objects hierarchy is automatically unpacked to the next level down and nested objects listed below the parent with indents.

  • If a component or group is opened for editing: OutFront shows the current context only, starting with the parent component being edited and listing the levels of nesting with increasing indents to indicate what is contained in what. The hierarchy back up to the top level is always maintained in any open context.

  • If multiple items are selected they each will be blue and each will have it’s contents unpacked to the next deeper level.

  • Objects in current context but currently hidden are listed in grey text.

  • If hidden by tag visibility the name is grey.

  • If hidden using hide the name is grey with two asterisks appended to the front of the name.

  • Items that are locked appear in red text. They are still selectable.

  • Section Cuts appear in orange text, Any active cut has the word “Active” after the section name.

Known Limitations:

This list is not “clickable” like the Outliner is, items cannot be selected by clicking on the name. ( I might have a rough version that could be clickable but it’s not working well yet).

Intentionaly not listing component instances multiple times, and only listing the current context when editing helps keep the list compact. However there is no wrapping function for the length of the list, if the list is very long it will go beyond the bottom of the screen this might occur with “select all”, which unpacks every selected item simultaneously.

??? I am sure there are other limitations I have not considered. I use this extension daily and have for some time but it is by definition specifically built for my workflow so I have no doubt others might find new problems. Please let me know in this thread.

Happy SketchUpping.

EDIT: Scroll Down for Version Updates

OutFront 3.2.rbz (2.9 KB)

5

11 Likes

Very interesting. Thanks for sharing. Is there a way to set the text size and scroll in the list when it’s too long to fit the screen?

1 Like

Other than editing the ruby script there is currently not. I do search for the font “futura” and use it if present because I like it, but if it’s not present the script defaults to the system. I will consider working on some user set options. But I’m pretty busy modeling :rofl:

I can see the text is very large on your screen compared to the icons i recognize to the left. This might have to do with the screen DPI which is high on my Mac. I’ll look into options to adjsut the text to make it more useable.

1 Like

No worries. Thanks for that, though.

1 Like

OutFront Update:

Hey @DaveR I finally had a few moments to tweak things and here is an updated version of the outliner overlay extension OutFront that has adjustable text size as requested. There is now a line for OutFront in the Extensions menu which has a simple list of preset pixel sizes. This should make the extension more flexible for use at different screen resolutions. Let me know if this works on your system.

Happy Holidays!

OutFront 3.5.rbz (2.6 KB)

5 Likes

Thanks for the heads up. I’ll check it out ASAP.

This is great! :+1:
Its a heads up display yes…
but it allows me to make both the TAG and Outliner windows a lot smaller…
which if Im work on a laptop is especially wonderful! And I do a lot of fixing messy files after schematic design phase… either by me or other less than helpful approaches. :wink:

I really like the [TAG] off to the side of the group and in what I see is blue??
And again I save space by removing the TAGS drop down tool bar.

I could see one useful feature would be having the TAGS “color by” influencing the overlay [TAG} color. Though I do like the section cuts, visibility, and locked; doing that as well.

Thank you very much for this!
:pray:
Nicholas

1 Like

You are very welcome, I’m glad to hear that it is of use to others.

This is exactly why I developed the idea for my own workflow, when away from my desk and confined to the laptop screen alone it’s frustrating to loose so much screen space to the outliner.

An interesting idea, I’ll have to think about how it could be implemented. Perhaps the tag name only would adopt the tag color while the entity name should remain blue to indicate selection, otherwise the list would become a very busy rainbow. Or, perhaps the colors would only appear if in color by tag style. If any other thoughts occur to you with your usage please share them. I as continue to repeat, I’m not a developer and this extension mainly serves my own workflow, but if there are suggestions that are within my limited abilities to effect I’m happy to improve things as time permits.

Warning:

I did recently have a file shared with me that was quite large and completely without nesting, hundreds of groups and components all in a single top layer. With this file I did notice a slow down as OutFront tried to refresh the list, and of course it ran far far off the bottom of the screen, I don’t build flat hierarchies like that so had never noticed it before. I’m still contemplating a way to either wrap the info or make it scrollable in that case.

2 Likes