...and by that I mean every dog-gone one of them, not just the ones inserted in the present model or paperspace...! I say this because after dozens and dozens of search results have been poured over, each of them touting "How To List ALL the Blocks in a Drawing File" I keep running into examples which will only look at what's inserted, or will only count what's inserted.
My drawing file currently has 170+ blocks in it and this list is going to get larger...not much but it will get larger. I have searched high and low and find a few bits which puts a list of the blocks in the text window like this:
(setq lst (acet-table-name-list (list "block" 1 4 16)))
But this only gives me the names of the blocks and leaves out the really important association #4 which has the detailed descriptions of each block, or as many of them in this file are missing descriptions and I want to find out which ones. I am having all kinds of difficulties with this due to my beginning status, but here is what I've tried to see through for an approach.
(setq ss1 (ssget "_X" '((0 . "INSERT"))))
By reading several other posts in this very forum, it is indicated that this will list all the blocks in the database. One fellow even uses the variable name BlocksInDataBase for his line of code. So I think great, that should allow me to create a selection list which I can then view. But this will only give me the name of the blocks which are presently inserted in the model or paperspace, and thus it only comes up with three items, which are three paperspace titleblocks I have for three different size layouts. I have found several other sources which say the same thing that is this code will collect "ALL" the blocks in the database when in reality it will only collect what's presently inserted.
What I can't seem to find is a method to get all the blocks, including that very important (4 . "Block_Description) (excuse me that's the only way I can think to describe it) included in my list. If only just to get this to dump to the text window as I can copy and paste it and use another tool to parse it.
I have also tried a slight manipulation of this:
(defun _tablenames ( table exclude / item result )
(while (setq item (tblnext table (null item)))
(if (zerop (logand (cdr (assoc 70 item)) exclude))
(setq result (cons (cdr (assoc 2 item)) result))
)
)
(reverse result)
)
This is from one of Lee-Mac's postings and I substituted (assoc 4 item) for (assoc 2 item) and at least got a bunch of the description fields to list. But something wasn't quite right because I ended up with a list which did not contain the same number of elements, they did not seem to be in the same order as when I made the first list with (assoc 2 item) and at least one of the fields had part of it's text at the head of the list and the remainder of it's text at the bottom of the list. I am very confused and information is just not as easy to find as one would think. Any advice would be appreciated.