What is not at the zero?

unhandled

#1

Hi,

is there a way to select objects or points these are not at z zero. a friend of mine wants to know. i said to her that setpt only z and “0” enter should make every thing, except blocks, flat but she didnt want that.


#2

I’m not quite sure what you want here - to select all objects that are sitting on (or not sitting on) the world XY plane? There’s nothing native in Rhino that can do that as far as I know, it can be done with a script however. The question is open to a certain interpretation though - what do you do with non-planar 3D objects? If a box is sitting at Z0 on the World XY plane, does it select? What about a non-planar curve with one end at Z0? etc…


#3

Hi @Helvetosaur

sorry this drawing contains only curves texts and hatches + blocks made out of those ingridients :slight_smile:


#4

Yep, but both curves and texts could be on planes not parallel to WorldXY, and blocks could contain elements that could be either on the world XY plane at Z0 or not… Can’t select individual elements inside blocks.

So, something that selects any element that is not parallel to and lying directly on the world Z0 plane? And if a block contains any single element that meets the above criteria, select that too?


#5

Yes @Helvetosaur If you are scripting that please select anything that is not entirely touching XY plane. Thank you.


#6

OK, have a go with this guy…

FindInPlaneElements.py (3.0 KB)

Right now the default is that it selects objects that are not on the world XY plane, that can also be inverted…

–Mitch


#7

forwarding it for test run thank you @Helvetosaur


#8

Hi @Helvetosaur
She send me this


#9

OK, I developed this in V6, I’ll see if something I threw in there doesn’t work in V5…

OK, a quick test seems to work here in V5, so it must be some element in her file that I hadn’t handled in the script - probably a block - not surprising things like blocks can contain literally anything. The only way I can really diagnose/fix the problem would be to have the file, or a simplified example that produces the error. If possible, you can PM it to me…