Hi,
V4
What command will select all objects matching object selected ?
example, I have just placed many spheres, all same size, on same layer, along with other items on that layer, in my build and wish to select them (sphere) all by indicating to Rhino what I want to select by selecting one of them.
There is no command in Rhino that does that âselect similarâ.
Some ways to to this, is by doing the book keeping yourself.
-use layers for similar objects
-give similar objects the same name (name the object before copying
the command SelName will let you select objects by name.
-give similar objects the same unique color; the command SelColor will let you select all object with equal colors.
As for your situation, where you need to filter similar objects from the layer;
there are a quite few commands that could help filtering them out.
If the spheres are on a layer with other objects you need to find out what type of Sel⌠command can either selectively select the other objects or the spheres.
There are many Selection commands to select objects with specific properties
See the full list in the helpfile (online version screenshot here:)
Hi,
Again it was something I used in Freehand, select an object, copy it to clipboard, paste into find palette and all would get selected.
There was also find and replace where replacement to a pasted item occured.
Have sphere a unique property , it might be a cone, or a rivet head,
to hope that a command decribes the item and doesnt find similar unwanted things.
To my mind we need that command SelectSame it could be called.
I normally make layers for everything, each with a unique colour, I end up running out of visually different colours, so just for a change I decide to work on one layr and then regretted it.
I am sure SelectSame could be coded, rather than have to decide if its a closedmesh or polysurf or a closed srfâŚadmission I dont immediately know if a sphere is one or another, I just want a simple life !..and a simple command.
whatever it is surely other primitive shapes are then also going to get selected.
The simple way to do this currently is to name your objects (in Properties) - if you name your sphere âRivet head 1â and then copy it all around, each will retain the same name and SelName can find them all for you.
Hi Steve- it is a wish⌠but in the foreseeable future, I do not expect anything like that is going to be added- conceivably, we could auto name each object as it is created and keep that name for copies, thus adding an identifying bit of data that I am currently suggesting you do by hand. What would you expect if you modified one of the spheres- say you scaled it- would your proposed command find the scaled version as well?
There is another solution is to write a python script where you define the objectâs property then you select the object you wanted to match.
The script will select all objects with that property.
What are you trying to accomplish? I can help you with the script.
I had a similar question. No background in python so youâll have to explain to me at a pretty basic level. Iâve created a field of squares using grasshopper and would like to select squares with similar sizes. I think it would be interesting to be able to adjust the tolerance to see what pieces get grouped (i.e. tolerance = +/- 2 units of selected object). Is this possible. Screen shot included.
Hi,
V5
thanks momo but to have to write a script to describe the item I have selected each time is not me, and I cant keep asking you to write a script for an object at the moment I come to select it and copies of it.
I would have to wait for you to see the post and reply.
Unless I misunderstand and your script would allow me to select any object or shape and all other instances of the same size and shape get selected, in which case you wouldnt need me to decsribe/supply properties of the item I wish to run SelSame on.
My idea of a command that is called SelSame is still simple and instant, one selects an object and Rhino selects all of the exact same object.
If I have some spheres and other objects on a layer and I select the spheres, those of same size anywhere in the project, not just that layer, get selected when I run SelSame
or it might be rectangles of a certain width and height (not surfaced).
I just am not going to get into the habit of naming everything I create as I work at pace , else I could select on name. I have to face facts, I dont think ahead like that. Nice idea Pascal but requires forward thinking., also cant apply to work already done.
This is relatively easy to do with very simple shapes like rectangles, circles, even stuff like boxes and spheres. There are a number of scripts floating around for those. However when it gets more complicated than that, it becomes very difficult to determine if an item is an EXACT geometric duplicate. thatâs why this command doesnât exist.
If you are the creator of objects, give the first one a name, any copies of that one will have the same name, and SelName will select them all. Or use blocks.
Here is an example thatâs just happened, I have a spiral to represent a thread (Pascals idea) and need to snip it away beyond end of chamfered ended bolt, so I do Intersect, then select the end of the intersect result. apply a point, select the point, choose trim and trim away excess spiral, now I need to remove the intersect, its in single âlapâ segments, not one piece, so if I could use SelSame command and select one âlapâ of the spiral, I could select all of them and delete the little chappies !
They are a spiral broken into single laps so would all be same.
and why not have a tolerance setting to allow user to broaden the search ?
As they were an unexpected result of the intersect I didnt plan on naming them, its useful for that moment when you need it, naming âŚhow would one expect this to happen and name the parts, you need to select them to name them and in doing so I could delete them, I want a quick way of selecting them.
I dont want to keep them as blocks, I didnt expect them to divide up, I just want to select them all quickly and delete them.
Blocks, eeek, I am having fun trying to stop the tail wagging the dog, blocks are the tail. Cannot change colour of them, Pascal says dont know why thats happening to me.
This is a typical example of going about things completely the wrong way. There is no need to use Intersect in this case to intersect the bolt surface with the helix that is concurrent with the surface. All that is going to do is cause you grief - the fact is that it actually intersects over the entire surface, but the splits happen at the intersections with the cylinder seam - but itâs all totally unnecessary.
All you need to do is select the helix, call Split, activate the point option, then snap to tthe intersection of the helix and the chamfer edge. Then delete the segment you donât want. Even easier, you can probably succeed with Trim, using the chamfered cylinder as the cutter and clicking on the end of the helix you want to trim away.
This is not to say that the wish for trying to select all of the same-geometry object copies in the document no matter where they are is not valid - it is - but in the particular case you cited above it is not really necessary.
Ok,
should or could have done it another way.
There are loads of times though that selSame would be so useful, if I keep coming across the need to reach out and poke such a button or type selSame surely its needed,
I certainly wont be naming things just incase I might need to select by name. You just dont know what item you might be selSameâŚing !
Rhino can do loads of clever things yet cannot select same.
Any minor geniuses out there willing to do some coding ?
Coding is the easy part. Producing a robust specification of what makes two objects the same (or not) without in some way ânamingâ them as such is the hard part. Thatâs something you have to doâŚ
Hi,
I have found a load of cylinders made with array, so reach for the selsame command, then find there isnt one, I find this thread.
as I made them without knowing I would need to select them all later on, I dont do the crystal ball thing and name them,
is V7 now with a sell same ?
It was mentioned earlier up this thread as a consideration for sometime in the future.
Its wanted for times for when you know they are EXACTLY the same.
Internet said run _vaSelSameType but V5 says unknown command.
Nope. It isnât really easy to do if the objects arenât instanced copies of the original - i.e. related to the original like blocks or objects with history. If you made an array without that, well, youâre kind of s.o.l.
You can try this script, maybe it will work for you (or maybe not)⌠FindSimilarVolumes.py (3.8 KB)
Otherwise you can get the volume of one of the cylinders and then try to select objects with the same volume with the following: SelSrfsByVol.py (3.0 KB)