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.