Checking if a Block can be Purged

Nov 23, 2009 0 Replies

Can anyone tell me how to establish whether a block (in an AutoCAD14 drawing) is available for purging using AutoLisp?



I can use 'tblsearch' to check the block exists in the drawing database, and I can use 'ssget' to establish if the block is inserted directly into the drawing.



(if (and (tblsearch "BLOCK" bname) (not (ssget "X" (cons '(0 . "INSERT") (list (cons 2 bname))))) ) (command "PURGE" "B" bname) )



Unfortunately the lisp routine fails if the block is inserted into the drawing as a nested (embedded) block because 'ssget' doesn't find it.



Basically, I need to know whether the block is inserted into the drawing either directly, or indirectly as a nested (embedded) block. Is there an entity code or similar that will tell me this?



TIA,


Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required