Checking if a Block can be Purged

  • Thread starter Thread starter Razoo
  • Start date Start date
R

Razoo

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,
 
Back
Top