I'd be really gratefull for some help - I'm after a lisp or some code that will select all entities not drawn at 0 in the Z direction.
I presume it would use SSget but my lisp is a bit sketchy to say the least.
Many thanks.
@caldicad wrote:....I'm after a lisp or some code that will select all entities not drawn at 0 in the Z direction.
I presume it would use SSget but my lisp is a bit sketchy to say the least.
....
If you want to find them simply in order to force them to be at 0 in the Z direction, try using FLATTEN.
If not, it's complicated. A Line can be drawn at a Z coordinate of 0 at one end but not at the other -- would you want such a Line selected? Certain things have their elevation as part of some piece of information [e.g. Blocks, as the Z coordinate of their insertion points], and others have it as a separate piece [e.g. LWPolyline elevations], and for some you would need to look at two pieces [e.g. Lines, at the Z coordinates of both endpoints] or more [e.g. various 3D things].
So I'm not sure (ssget) with filtering can do it, except for certain entity types if you can narrow it down. But stepping through a selection set, and checking for the appropriate information based on entity type, could be used to remove any that qualify as 0-level [by whatever your criteria are] from the set.
Thanks for the reply Kent and apologies for the belated response.
You're right I do need it for flattening elements - I normally use Superflatten which is a great tool by one of the guys at The Swamp. However I've experienced a slight problem with it in that it explodes dymanic blocks with multiple visiblity states which is a problem.
I thought if I could filter out dymanic blocks not drawn a 0 programmtically it would speed up the process. It could be worth sticking to Qselect then.
Thanks for your help.