MoI discussion forum
MoI discussion forum

Full Version: Select similar edge/face?

Show messages:  1-5  6-25  26-29

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!
From: Michael Gibson
9 Apr 2018   [#21] In reply to [#20]
You can also hold down Ctrl while doing a window selection to do a deselection window instead of selection window. One other trick is if your screen is all filled up so it's hard to find a blank area to start the window you can hold down Shift+Ctrl, that will force window selection to happen anywhere and disable the regular click selection.

- Michael
From: Rainydaylover (DIMITRI)
10 Apr 2018   [#22]
Michael I do think that Marco's script can be very useful as to the thing that I did mention (I learned about its existence just now) but, still, I think that a very simple 'select same' command would be very helpful: you just select a curve, an edge, a face or an object and then click 'select same' and, there, you have selected all the same curves, edges, faces or objects in the working space!

Below I am putting a simple explanatory image. What we do in such a case when we do want to select all the similar faces -as the selected one- on such an object (other than selecting them one by one)?


Image Attachments:
Select same.jpg 


From: Frenchy Pilou (PILOU)
10 Apr 2018   [#23] In reply to [#22]
In this case it's very easy!

Select All Faces on the Panel Type (click on the empty end line)

then with Ctrl + Selection right to left in some Views 3D or not depending of the complexity of object

Of course that is valuable with your simple object shown, will be more difficult with a StarWars' starship! :)



From: klaudio
10 Apr 2018   [#24] In reply to [#19]
Hi Michael,

Thanks for taking the time for explaining but as i mentioned before i already know all about selection methods in Moi, all of them are extremely useful and and i use them all constantly. Beside the ones you have mentioned i also often like to use method where i add object or/and its edges/faces only into browser by give it a name. After duplicating the object you have saved selection set you can always easy access. Or also sometimes by assign different color to object or components.

Still there are just a lot of cases where you simply can't drag select objects or it's components because of complexity of the objects and their positions. The example above from Rainydaylover is still simple but it is a good more complex situation. You could drag select (from left to the right) couple of times to get only faces but that will work since it's simple model with just face at the end but often might have added a bevel or something else which means you can't drag select thing but only select one by one.

For example like this, you want to select all faces on the top to use Inset, no way but to just pick them individually.

Image Attachments:
select_similar_example.png 


From: Frenchy Pilou (PILOU)
10 Apr 2018   [#25]
Always for your object shown

Assuming that your faces are 3 * 3

script: /* Select by length */ var min = 3.0, max = 3.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; } }

Select all Edges by Type Panel

Copy Move the Edges somewhere in the 3D Space

launch the Script

Construct Planar : you have your faces selectect :)

Will work for a StarWars StarShip!


Show messages:  1-5  6-25  26-29