Could SketchUp-Style Extensions Be a Game Changer for LayOut in the AI Era?

I would love to see LayOut become extensible in the same way SketchUp is.

I understand that LayOut already has a Ruby API, but as far as I understand, it is primarily accessed from SketchUp and used to manipulate LayOut documents.

What I am hoping for is something different: the ability to run extensions directly inside LayOut, with access to things such as the active document, current page, current selection, viewport properties, UI commands, toolbars, menus, and events/observers.

Why do I think this matters now?

Because AI has dramatically changed the barrier to creating small custom tools.

First, I have a great deal of respect for the developers who have built SketchUp extensions over the years.

Their work has filled countless workflow gaps, and I believe the extension ecosystem they have created is one of SketchUp’s greatest strengths. The expertise, polish, maintenance, and support behind established extensions are on a completely different level from the small tools I create for myself.

I am not a professional Ruby developer, and I do not see AI-assisted coding as a replacement for experienced extension developers.

What has changed for me, however, is that creating a small custom SketchUp plugin no longer feels out of reach.

With AI assistance, the barrier to building simple tools for my own workflow has become dramatically lower.

Recently, I have started creating small plugins myself — not as replacements for professional extensions, but simply to solve very specific problems in my own work.

For example, I have made tools for:

  • selectively adjusting transparency or switching only selected objects to a wireframe-style display
  • dimensioning arcs and displaying their arc lengths — something I originally wanted to do in LayOut, but ended up building in SketchUp because LayOut is not extensible in the same way
  • importing DAE files in a way that better fits my workflow when the standard importer did not handle the data as I needed
  • automatically packing selected objects into a defined box or container

These are very specific tools.

Most of them would probably never justify becoming standard SketchUp features, and that is perfectly understandable.

They simply solve small problems that matter to my particular workflow.

But being able to create them has made SketchUp significantly more useful and convenient for me.

The arc-length tool is perhaps the clearest example of why I started thinking about LayOut.

It was something I really wanted while preparing drawings in LayOut. But because I could not extend LayOut in the same way, I ended up solving the problem on the SketchUp side instead.

That made me realize that the issue is not necessarily that Trimble needs to add every feature users ask for.

There will always be workflow gaps that are too specific to justify becoming official features.

The bigger opportunity, in my opinion, is allowing users to fill some of those gaps themselves.

If LayOut had an extension system similar to SketchUp, experienced extension developers could create sophisticated and polished tools, while individual users could create smaller tools that solve their own very specific problems.

And if some of those small tools turned out to be useful to others, they could potentially be shared with the community.

That could make LayOut itself more capable over time without requiring the development team to implement every specialized workflow directly.

Until recently, opening LayOut to extensions might mainly have benefited people who already knew how to program.

I do not think that is necessarily true anymore.

With AI-assisted coding, designers, architects, visualization professionals, and other non-programmers can increasingly create simple tools for their own workflows.

To me, AI is not replacing the extension ecosystem or the talented developers who built it.

If anything, I think it may allow more users to participate in that culture.

Some people may begin by creating a tiny tool just for themselves. They can learn from existing extensions and experienced developers, and perhaps eventually share useful ideas or tools with others.

That is why I think bringing SketchUp-style extensibility to LayOut today could have much more impact than it might have had even a few years ago.

Even a limited first step — access to the active document and selection, UI commands, and an event/observer system — could open up a huge number of possibilities.

I would be very interested to know whether making LayOut extensible in this way is something the development team has considered.

For me, giving users and the community the ability to extend LayOut could genuinely be a game changer.

I also would love to be able to add extensions to layout!
I am using chatgpt/Claude to make tools for electrical 3D drawings and some auto create scenes with diffrents styles etc. To easy take them over to layout.

That is exactly the kind of use case I had in mind.
It’s interesting to see that you are already using AI in a similar way to create tools for your own workflow.
Being able to extend that same customization into LayOut would be incredibly useful.

The way I do it now is makeing the sketchup extension have paper setup, template choices etc.
When i send from the extension to layout it creates the layout with the templates, viewports with the diffrent scenes.

Also alot of things to fix on how things should work :sweat_smile:
But would love to have dedicated tools in layout instead :smiley:

The request for extensions for LayOut witch is similar like in SketchUp is nothing new. You just have to type it into the forum’s search bar, and you’ll see there has been a demand for it for over a decade.
So, the need for it doesn’t stem from the arrival of artificial intelligence; it is simply needed, period.

If you follow the relevant forum threads, you can see increasing signs a preparation of extensions appearing within the Layout interface—for instance, in some older versions of Layout, it is possible to “coax” the Ruby Console into appearing.
On certain developer channels (freely readable even for non-developers), meetings and gatherings are being announced with titles that clearly hint at the direction of potential changes—not just regarding Layout, but potentially even extensions for the web version or cross platform. Recent changes in the Ruby API suggest to me—though they don’t prove it, and this is my speculation —that something is in the works for Layout…
So, you “just” have to wait for it to appear, and it will appear. In my opinion.

The existence of AI merely increases the number of potentially interested users to bacame “dev”—people who say, “I’m not waiting for anyone else; I’ll tell the AI” what kind of extension is needed, and then take pride in their creation. Often justifiably so, though they usually don’t realize the underlying reasons why. This isn’t necessarily a bad thing—it’s just still unusual, or at the very least not fully accepted.

For me, at least, the joy of writing code lies precisely in the fact that I do it using my own wits, and I know that if it works, it’s thanks to me.
Of course, if I had to make a living from this, it’s clear that enjoyment alone wouldn’t be enough. The artificial “kindergartners” are still dim-witted, but they are freaking fast at the “woodchopping” work, and need to be employed.

It may not even matter who or what created the extension and how it works—if it works, it’s fine. The question is whether you know - or will you able to check - what else it does besides the intended task…?!
Or does such a risk exist, and if so, how significant is it?

Thank you — I completely agree that the need for extensions in LayOut did not begin with AI. What AI seems to be changing, at least for someone like me, is the barrier to participating in that process.

I am a designer, not a professional programmer, and I use SketchUp and LayOut every day on projects ranging from small jobs to much larger ones. One of the things I have always liked about SketchUp is its accessibility — the idea that 3D can be simple, intuitive, and enjoyable.

Recently, AI has made me feel that this idea could extend beyond simply using the software. Instead of only using AI to generate images or models, I have found a different kind of enjoyment in using it to improve the tools I model with.

A small example that really surprised me was the SpaceMouse. I had basically given up on being able to use it properly in LayOut, but with AI assistance I was able to create a workaround that made it usable for my workflow. That genuinely impressed me because it was something I had already accepted as “not possible.”

Experiences like that changed the way I think about AI. It is not only about asking AI to create the result for me — it can also help improve the environment and tools I use to create the result myself.

I do not see this as replacing experienced extension developers at all. I have a great deal of respect for the people who have built the SketchUp extension ecosystem over many years. What feels new is that AI may allow more ordinary users to participate at a much smaller scale, creating tiny tools for their own workflow and perhaps sharing useful ideas with the community.

I also agree that understanding and verifying AI-generated code is important, especially if a tool is going to be shared with others.

To me, this feels very much in the spirit of SketchUp. AI does not necessarily have to replace modeling — it may also help each user make SketchUp simpler and more personal for the way they work.

That is one reason the possibility of LayOut becoming extensible is so exciting to me.

It wouldn’t be a game changer because the engine of the app itself is flawed. Poor vanilla performance would become unacceptable extended performance. Extensions changed the game for sketchup because the vanilla app had such an excellent foundation for plugins to build from. Layout lacks this, and while it could only be beneficial to have plugins, the benefit would always be capped.

The answer is to build a new Layout as a SketchUp extension as @Cyentruk and others are doing.

That is a very fair point.
I agree that extensibility alone would not solve LayOut’s underlying performance or architectural limitations.
Ideally, I would love to see both: a stronger foundation for LayOut itself, and an extension system on top of it.
My interest in extensions is mainly about allowing users to solve smaller workflow-specific problems themselves — not as a substitute for improving the core application.