Hobby mihai.s

ms SESO (Select Edges with Same Orientation)

extension

is a powerful selection utility for SketchUp designed to speed up your modeling workflow. It allows you to instantly select multiple edges based on their orientation in 3D space, regardless of whether they are loose geometry or nested inside complex groups.

Key Features:

  • Context-Aware Selection: Search only in your current active context or perform a Deep Search to find edges hidden inside nested groups and components.

  • Orientation Filters: Select edges that are:

    • Vertical: Parallel to the Blue (Z) axis;
    • Horizontal: Lying on the XY plane;
    • Oblique: All diagonal/non-orthogonal edges;
    • Parallel to Axes: Specifically target Red (X) or Green (Y) directions.
  • Length Constraints: Filter your selection by setting minimum and maximum length values (in cm).

  • Automatic Softening: Optional “Soften & Smooth” feature that applies immediately to all edges matching your criteria.

Smart Feedback:

Results are displayed instantly in the SketchUp Status Bar, keeping your workspace clean.

The extension was created by Gemini AI based on my requirements and the tests I did. Unpublished. For SU2022.
Thanks, Gemini AI!

2 Likes

Man, are you doing this for fun, or is it for a specific use case?
Haven’t all this stuff been around forever? Or am I missing something? :thinking:

Hi,
thanks for the links, I used those extensions, but now that I’ve discovered the possibility of learning more with the help of AI, I’ve started creating extensions that run and do what and how I want/like.
Plus, it’s relaxing and interesting to bring existing tools or workflows from other programs into SketchUp.
It helps with learning.

2 Likes

I would urge you to avoid making an extension called “ms Windows” because of trademark infringements.. :grin:

2 Likes

Yeah.. I agree on the most part, it’s exactly what I’m doing lately (I’m focusing more on those things which are not possible at all with existing tools/plugins).
The reason why I’m asking this is that, aside from UI, most of this last tools work exactly like the ones I linked, except maybe the “select edges INSIDE containers”.. which I don’t necessarily see the use-case for.
That’s why I asked what’s the intended use case, maybe there’s some actual real-world scenario which I’m am overlooking, but it’s a bit unclear.

I’ve created some extensions that have no equivalent in SketchUp, some that I think improve existing functions in some way, and some that I like.
And some that are the basis for more complex ones.

For example, ms SESO, it is a somewhat basic version, hoping that at some point a version like this one in Blender would be possible - Select Pro is an all-in-one menu, bringing together every selection method in Blender, with context-aware prediction, and powerful new selection tools.

That’s very interesting and indeed cool, but I see a couple of potential “logical” problems in the approach, mainly related to the fact that you can’t do a 1:1 porting of Blender logic into Sketchup (I faced the very same logic-constraints problem in porting some 3dsMax features into SU).

For example the “select siblings” could not apply (in a meaningful way) in Sketchup, because the way in which Blender handles objects hierarchy is completely different to how Sketchup handles that (and a lot more similar, if not identical, to what 3dsMax and Maya do in that regard).

Features that involve lights and camera hit the wall of the Sketchup limitation derived from not having a native render engine, so there’s no direct API method for a “camera” or “light” object, forcing every rendering plugin to write it’s proprietary logic from scratch. And I’m not 100% sure that a third party tool can manipulate those proprietary objects (maybe something can be done just for V-ray which has a public SDK, but this should be verified).

Other features such as “select surfaces” don’t make much sense in Sketchup, because in Sketchup it’s already trivial to select a “surface” just with one click, so there’s no much room for a plugin to improve in that specific area.

Many of the selection “filters” shown in the video are basically already covered by well-established and “production proven” plugins such as “Selection Toys” and “SU4U Select”.
Also the “continuous path” thing is brilliantly covered from Dale’s SketchUV/Profile Builder “Path Select” tool.

Of course you could do a version with a slightly different logic for the features that you like the most and maybe add some Sketchup specific ones, but I think that you will never achieve 100% feature-parity with Blender, not because YOU or Gemini aren’t good at it, but because of the above-mentioned logical differences between the two softwares.

That said, I still didn’t understand when one is supposed to have a use case for selecting edges inside a deeply-nested container.

I’m not even looking for 100% parity with Blender, just functions that I find useful. For example, HUD for geometry/object size or HUD for their elevation.

Regarding the tools already existing in the extensions, I used s4u Select, but from it I actually only use the selection of vertical/horizontal edges and edges of a certain size, so I thought I would create an extension that would give me these tools only (one shortcut).
Regarding nested groups, in Blender I have the ‘DAE clean’ extension, so for SketchUp, when I import a model like the one I used in the video, I can easily select and see edges that I want deleted or edges that I want hidden, etc…

And like I said, it’s more of a learning process.

1 Like

Again, I don’t mean to seem the “party pooper” but 99,6% of that is covered by Cleanup 3, Fix-it, Skimp and that kind of stuff. :sweat_smile:
Of course you can do your specific version which does the thing in a way which better suite YOUR specific needs, or that fills some specific “gap” in the process, so that would be 200% fine.

Ok, this makes sense, “erase individual edges”.
It’s not something that I probably would do in 99,9% of cases (specifically: looking only for vertical ones to erase, usually “coplanar” ones make more sense), but thanks for clarifying about the original question.

That’s indeed good.
I would suggest you have a look also into Claude.ai which, while it’s a joke compared to Gemini for images and such, is way more robust and predictable when it comes to writing code.
In particular when you begin to manage more complex and deeply nested code.
I also started with Gemini, but since I discovered Claude I achieved a significant boost in results/reliability and code quality/consistency.
Strongly recommended.

Do any of the extensions you listed show you what they will delete beforehand?

Thanks for the info about Claude!

It’s part of the learning process and it’s useful to me, both in terms of communication and exchange of ideas. Thanks for that!

1 Like

I personally don’t use it, but if I recall correctly, Skimp has a realtime preview showing what the final result will be like.
I use Cleanup 3 for this kind of stuff and it allows to define a set of rules, so that I know exactly what will be deleted, no need to preview (in my use cases, of course, your mileage may vary).
For different use cases I use Universal importer (but it’s quite a lot different from that dae-cleaner thing you showed, so not a proper comparison).

After these discussions, I now know that I will ask Gemini if ​​it can introduce into the extension the possibility of being able to deselect certain edges already selected in nested groups (probably with Shift + Select). :slight_smile:

100% possible, no need to ask Gemini, you can just skip to the “do that” prompt and save a few tokens.
Native UI-wise, there’s no way to access grouped/nested geometry, but it’s easy to do via API.
Just look at what Fredo does with Joint Push Pull or Thrupaint, to name a couple.
Adding a modifier key (provided the tool is correctly defined as “Sketchup Tool”) is pretty trivial.

From what I’ve experienced so far, with AI it’s actually the other way around: it’s best to SPECIFY whenever you don’t want to modify elements that aren’t in the active editing context.
Because AI often doesn’t assume this is basic behavior and tends to modify grouped geometry by default (even when it’s in a different group/component than the active one, or when containers are locked, or if they’re on a hidden layer/tag, and all that “fun” stuff!).

As a general rule, I’ve learned the hard way that I need to explicitly specify that we don’t want to interfere with grouped/locked/hidden elements UNLESS asked to do so.

Thanks, I’ll be more explicit in what I’m asking Gemini for. :slight_smile:

1 Like

Thanks for the discussion today!
As I said, it can be helpful and it were. I managed to add with the help of Gemini AI new features and improve the extension ms SESO, the UI and the speed with which it works. :slight_smile:

ms SESO v1.2.2

1 Like

Glad that it helped. :grinning_face:
Now time to give Claude a chance, I bet you will not be disappointed (you can also create a “project” defining custom rules and uploading reference files, in order to get more consistent results between different sessions).

Yes, it worked, and now I have a much more useful and better extension. Thanks!

1 Like

From this post about cable and wires.
If you need to generate a lot of different cables, you can use an extension (or geometry nodes), export as OBJ and import them into SketchUp.

From a post about ‘random panels’
Using geometry nodes in Blender, then exporting it as OBJ to SketchUp.

2 Likes