MoI discussion forum
MoI discussion forum

Full Version: Select similar edge/face?

Show messages:  1-20  21-29

From: klaudio
8 Apr 2018   [#1]
Hi all,

Do you guys know if maybe there is a already existing script for selecting similar/same edges or faces?
Is it even possible something like this in Moi?

Working example how this feature work with polygons (in Maya):



In Moi you would select edges or face and it would select all similar. It would be nice to have two options where it would select all similar on
object you have the selection or another option where it would select all similar on all objects in the scene (useful if you duplicatd the object around so you
can quickly select things all at once). Simple example something like this:




Thanks!

Image Attachments:
Example_selectSimilar.gif  SelectSimilar_moi.png 


From: Michael Gibson
8 Apr 2018   [#2] In reply to [#1]
Hi klaudio, sorry no I don't know of any script to do that in MoI. Looks like it would not be easy to implement.

- Michael
From: klaudio
8 Apr 2018   [#3] In reply to [#2]
Hi Michael! Thanks for very quick replay!

I know all about Moi selection methods but i have noticed that even with all the nice Moi selection options i still often do click-by-click arrays of edges/faces to, for example, bevel. It is just a tedious and time consuming process i thought that it would be very handy if some similar scirpt is out there or possible to do.

No worries, it's no big deal. ;)
From: Frenchy Pilou (PILOU)
8 Apr 2018   [#4]
You have the inverse!
http://moi3d.com/forum/index.php?webtag=MOI Random selection! ;)
From: Michael Gibson
8 Apr 2018   [#5] In reply to [#3]
Hi klaudio, can you post an example model?

Thanks,
- Michael
From: Frenchy Pilou (PILOU)
8 Apr 2018   [#6]
In the same order of idea : a Point is drawn on something and snapped (an edge, a surface, an object)

Copy this point anywhere any time you want : if it's snapping to something (edge, surface, object) this "something" will be selected!

So if you make an circular array with it, (here 3) these faces will be selected!

Does it easily possible ? (Of course all edges, surfaces, object are Separated, Trimed... etc)

Advantage: no need of "something similar" (can be (first post) but not necessary) ! ;)


From: Michael Gibson
8 Apr 2018   [#7] In reply to [#6]
Hi Pilou, it doesn't seem like it would be very easy to set that up.

- Michael
From: Frenchy Pilou (PILOU)
8 Apr 2018   [#8] In reply to [#7]
I have tried ...and whished that a function Connected to something --> Selected was existing in the script tools box functions! :)

There is Move Slice to Point(s), Scale Array with Points ... :) A Point(s) Select could be existed... :)

But I am not in the Box! :D
From: Michael Gibson
8 Apr 2018   [#9] In reply to [#8]
Hi Pilou, there is something for things which are actually topologically connected:
http://moi3d.com/forum/index.php?webtag=MOI&msg=6988.4

But a point that's a separate object that just happens to be located on an object is not the same thing as being actually connected to it.

- Michael
From: Frenchy Pilou (PILOU)
8 Apr 2018   [#10] In reply to [#9]
Yes i have this tricky script Expand / Skrink selection by Max on my site! :)
http://moiscript.weebly.com/scripts-de-max-smirnov.html

Very useful with Subdivided Object for crazzy forms! :)

From: Michael Gibson
8 Apr 2018   [#11] In reply to [#8]
Hi Pilou,

re:
> A Point(s) Select could be existed... :)

I do think it's possible to have that - but you asked if it was _easily_ possible.

- Michael
From: Frenchy Pilou (PILOU)
8 Apr 2018   [#12] In reply to [#11]
If not easy possible...maybe for V5 :)
From: Rainydaylover (DIMITRI)
9 Apr 2018   [#13]
I do double the request of Klaudio. It is a need I do meet very often. I am accustomed to use it in my favorite polygon modeler, Wings 3D, and I know well how much useful it is. Having a way of selecting all the edges -or faces- of an object, using a 'select similar' command, would be very helpful. You want to bevel many similar edges and you have to select them one by one. It is a little bit tedious. Not a so big problem but it has to be mentioned.
From: Michael Gibson
9 Apr 2018   [#14] In reply to [#13]
Hi Dimitri, can you please post an example model where you were running into this problem?

- Michael
From: mkdm
9 Apr 2018   [#15]
Hello everyone!

If we talk only about EDGES/Curves (and not faces or other things), I think that maybe you could be interested in using my custom command "FilterCurvesByLength"

I use it a lot when I want to select similar edges/curves in one shot!

Here's the demo video : http://take.ms/mDpcW

And here's the link to the original post, please read it carefully :

http://moi3d.com/forum/index.php?webtag=MOI&msg=8608.20

And here's an example screen capture :


Enjoy ;)
From: klaudio
9 Apr 2018   [#16] In reply to [#5]
re Michael:
> Hi klaudio, can you post an example model?

It's just a example model to showcase the feature, simple cylinder and then created circle and use Circular Array - boolean difference - done.




re mkdm:
> If we talk only about EDGES/Curves (and not faces or other things), I think that maybe you could be interested in using my custom command "FilterCurvesByLength"...

Interesting! I'll give it a try and see how it goes a bit later. The edges selection is indeed needed in like 99% of the time so faces selection is not that important.

I am curious, does this script has a feature where you can select one edge (or few continuous edges) and then in the script to get it's length + select all other edges with the same length? It would be handy to have that option to get it like that instead of tweaking min and max slider until you get the right edge. Do you know what i mean?

Attachments:
exmpleModel.3dm


From: Frenchy Pilou (PILOU)
9 Apr 2018   [#17]
You have also these scripts by Michael

script: /* Select by Lenght */ var min = 1.0, max = 5.0; var crvs = moi.geometryDatabase.getObjects().getCurves(); for ( var i = 0; i < crvs.length; ++i ) { var crv = crvs.item(i); var len = crv.getLength(); if ( len>= min && len <= max ) { crv.selected = true; } }
You can input your owns values!

script: /* Select Biggest */ var curves = moi.geometryDatabase.getObjects().getCurves(); var maxlen = -1; var maxcrv = null; for ( var i = 0; i < curves.length; ++i ) { var crv = curves.item(i); if ( crv.hidden || crv.locked ) { continue; } var thislen = crv.getLength(); if ( thislen> maxlen ) { maxlen = thislen; maxcrv = crv; } } if ( maxcrv != null ) maxcrv.selected = true;

script: /* Select Smaller*/ var curves = moi.geometryDatabase.getObjects().getCurves(); var minlen = 1e100; var mincrv = null; for ( var i = 0; i < curves.length; ++i ) { var crv = curves.item(i); if ( crv.hidden || crv.locked ) { continue; } var thislen = crv.getLength(); if ( thislen < minlen ) { minlen = thislen; mincrv = crv; } } if ( mincrv != null ) mincrv.selected = true;


From: mkdm
9 Apr 2018   [#18] In reply to [#16]
Hello Klaudio!

@You : "...I am curious, does this script has a feature where you can select one edge (or few continuous edges) and then in the script to get it's length + select all other edges with the same length? It would be handy to have that option to get it like that instead of tweaking min and max slider until you get the right edge. Do you know what i mean?"

Yes, I mean.
No, actually there isn't a feature like that because I've stopped the developing of that plugin some times ago because I'm very busy at work and I can't put again my hands on it.

But...maybe also the actual implementation of my custom command can easily allow you to achieve what you want to do.

Follow this little video tutorial based on your model : http://take.ms/BN9QV

I often use the that trick. I hope the it can be useful also for you.

Ciao!
From: Michael Gibson
9 Apr 2018   [#19] In reply to [#16]
Hi klaudio, thanks for posting the example model. So for many cases you can use the already existing function of window selection to select many edges in one action, you aren't limited to selecting edges one by one by clicking only.

The way it works is you select just one edge to start with - once one edge or face is selected then a window select after that will similarly target edges or faces. Also window selection works in 2 different ways depending on whether you drag towards the left or the right. Dragging towards the left will target things that cross any part of the window while starting on the left and dragging towards the right will only target things totally contained inside of it.

Here's how it works using your file:



- Michael
From: Frenchy Pilou (PILOU)
9 Apr 2018   [#20]
Hide, Lock and Inverse Selection can be also a very big help!

Show messages:  1-20  21-29