Visual LISP, AutoLISP and General Customization
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

List of all block definitions

24 REPLIES 24
Reply
Message 1 of 25
Anonymous
535 Views, 24 Replies

List of all block definitions

Using LISP, how can I make a list of all block definitons in the drawing?

I know I can use the (command -insert "?" "*") to return a list of block definitions and then cut and paste the list, but what is the equivalent of this command using lisp to just return a nice neat list of block definitions only for using in a list? Thanks!!!
24 REPLIES 24
Message 2 of 25
Anonymous
in reply to: Anonymous

How about this one. ; author - Puckett ; - string, valid table name ; returns each item name from (defun table (s / d r) (while (setq d (tblnext s (null d))) (setq r (cons (cdr (assoc 2 d)) r)) ) (reverse r) ) use like: (table "block") -- Autodesk Discussion Group Facilitator "dave2" wrote in message news:12555116.1081364682059.JavaMail.jive@jiveforum1.autodesk.com... > Using LISP, how can I make a list of all block definitons in the drawing? > > I know I can use the (command -insert "?" "*") to return a list of block definitions and then cut and paste the list, but what is the equivalent of this command using lisp to just return a nice neat list of block definitions only for using in a list? Thanks!!!
Message 3 of 25
Anonymous
in reply to: Anonymous

For a selection set containing all blocks:

(setq eset(ssget "X" (list (cons 0 "INSERT"))))

For a list containing the names of all blocks:

(setq bList(list))
(setq tbl(tblnext "BLOCK" T))
(setq bList(append bList(list (cdr(assoc 2 tbl)))))
(while(setq tbl(tblnext "BLOCK"))
(setq bList(append bList(list (cdr(assoc 2 tbl)))))
)
Message 4 of 25
Anonymous
in reply to: Anonymous

Don't forget to filter out Xrefs. "dave2" wrote in message news:12555116.1081364682059.JavaMail.jive@jiveforum1.autodesk.com... > Using LISP, how can I make a list of all block definitons in the drawing? > > I know I can use the (command -insert "?" "*") to return a list of block definitions and then cut and paste the list, but what is the equivalent of this command using lisp to just return a nice neat list of block definitions only for using in a list? Thanks!!!
Message 5 of 25
Anonymous
in reply to: Anonymous

express tools BCOUNT? -- ;;; For reply, change numbers to decimal "dave2" wrote in message news:12555116.1081364682059.JavaMail.jive@jiveforum1.autodesk.com... > Using LISP, how can I make a list of all block definitons in the drawing? > > I know I can use the (command -insert "?" "*") to return a list of block definitions and then cut and paste the list, but what is the equivalent of this command using lisp to just return a nice neat list of block definitions only for using in a list? Thanks!!!
Message 6 of 25
Anonymous
in reply to: Anonymous

Cool! Way faster than the old function I have used. Tried it on a file I have with 6400 blocks. It's as fast as my ActiveX version. My old Lisp version used to hiccup with that many names. Dave: ;;;This should remove XREFS (vl-remove-if (function (lambda (x) (wcmatch x "*|*")))(table "BLOCK")) Don Butler "Jason Piercey" wrote in message news:40745130_3@newsprd01... > How about this one. > > ; author - Puckett > ; - string, valid table name > ; returns each item name from > (defun table (s / d r) > (while (setq d (tblnext s (null d))) > (setq r (cons (cdr (assoc 2 d)) r)) > ) > (reverse r) > ) > > use like: (table "block") > > -- > > Autodesk Discussion Group Facilitator > > > "dave2" wrote in message > news:12555116.1081364682059.JavaMail.jive@jiveforum1.autodesk.com... > > Using LISP, how can I make a list of all block definitons in the drawing? > > > > I know I can use the (command -insert "?" "*") to return a list of block definitions and > then cut and paste the list, but what is the equivalent of this command using lisp to just > return a nice neat list of block definitions only for using in a list? Thanks!!! > >
Message 7 of 25
Anonymous
in reply to: Anonymous

Doesn't BCOUNT count *insertions*? The OP asked about block *definitions*... ___ "Dan Allen" wrote in message news:407470e1$1_2@newsprd01... > express tools BCOUNT?
Message 8 of 25
Anonymous
in reply to: Anonymous

Wow - nice, simple, elegant!!! Thank you very much!!!
Message 9 of 25
Anonymous
in reply to: Anonymous

Don,

I'm having trouble getting this code

(vl-remove-if (function (lambda (x) (wcmatch x "*|*")))(table "BLOCK"))

to remove XREF's from the list. I need it to remove all unnamed blocks like (*X40 etc.) from the list as well.

Any suggestions?
Message 10 of 25
Anonymous
in reply to: Anonymous

Glad I could help :) -- Autodesk Discussion Group Facilitator "Don Butler" wrote in message news:40749159$1_2@newsprd01... > Cool! Way faster than the old function I have used. > > Tried it on a file I have with 6400 blocks. > > It's as fast as my ActiveX version. > > My old Lisp version used to hiccup with that many names. > > Dave: > ;;;This should remove XREFS > (vl-remove-if (function (lambda (x) (wcmatch x "*|*")))(table "BLOCK")) > > Don Butler > > > "Jason Piercey" wrote in message > news:40745130_3@newsprd01... > > How about this one. > > > > ; author - Puckett
Message 11 of 25
Anonymous
in reply to: Anonymous

That would be the style of Mr. Puckett... simple + elegant and you are welcome. -- Autodesk Discussion Group Facilitator "dave2" wrote in message news:2046921.1081419280949.JavaMail.jive@jiveforum1.autodesk.com... > Wow - nice, simple, elegant!!! Thank you very much!!!
Message 12 of 25
Anonymous
in reply to: Anonymous

Try something like this. Adjust the filter as required. ; function to return a list of block names ; excluding blocks in xrefs, hatch pattern ; blocks, anonymous blocks, and dimensions ; Based on Mr. Puckett's (table) function. (defun getNativeBlockNames (/ data name lst) (while (setq data (tblnext "block" (null data))) (setq name (cdr (assoc 2 data))) (if (wcmatch name "*|*,`*X*,`*U*,`*D*") nil (setq lst (cons name lst)) ) ) (reverse lst) ) -- Autodesk Discussion Group Facilitator "dave2" wrote in message news:25899225.1081425756600.JavaMail.jive@jiveforum2.autodesk.com... > Don, > > I'm having trouble getting this code > > (vl-remove-if (function (lambda (x) (wcmatch x "*|*")))(table "BLOCK")) > > to remove XREF's from the list. I need it to remove all unnamed blocks like (*X40 etc.) from the list as well. > > Any suggestions?
Message 13 of 25
Anonymous
in reply to: Anonymous

Jason,

Very Cool!!! Thank you all...perfect! Much appreciated....
Message 14 of 25
Anonymous
in reply to: Anonymous

If what you are saying is that you only want primary blocks, that is, no xrefs, no xref dependent blocks, and no anonymous blocks then perhaps ... [code] (defun GetPrimaryBlockNames ( / data result ) (while (setq data (tblnext "block" (null data))) ;; if it's not [xref, xref dependent, anonymous] ... (if (zerop (logand 21 (cdr (assoc 70 data)))) (setq result (cons (cdr (assoc 2 data)) result ) ) ) ) ;; assume for this case that ;; sorted would be preferred (if (< 1 (length result)) (acad_strlsort result) result ) ) Note: 21 = 01 (anonymous) + _ 04 (xref) + _ 16 (xref dependent) [/code] PS: Thank you Jason :) "dave2" wrote in message news:25899225.1081425756600.JavaMail.jive@jiveforum2.autodesk.com... Don, I'm having trouble getting this code (vl-remove-if (function (lambda (x) (wcmatch x "*|*")))(table "BLOCK")) to remove XREF's from the list. I need it to remove all unnamed blocks like (*X40 etc.) from the list as well. Any suggestions?
Message 15 of 25
Anonymous
in reply to: Anonymous

Given the OP mentioned copy/pasting a text screen, I thought perhaps the request was for a low-tech solution. Hey the advice didn't cost him anything... -- ;;; For reply, change numbers to decimal "Paul Turvill" wrote in message news:4074ac0b_1@newsprd01... > Doesn't BCOUNT count *insertions*? The OP asked about block *definitions*... > ___ > > "Dan Allen" wrote in message > news:407470e1$1_2@newsprd01... > > express tools BCOUNT? > >
Message 16 of 25
Anonymous
in reply to: Anonymous

Very nice! Don "michael puckett" wrote in message news:40755a00$1_1@newsprd01... > If what you are saying is that you only want primary > blocks, that is, no xrefs, no xref dependent blocks, > and no anonymous blocks then perhaps ... [code] > > (defun GetPrimaryBlockNames ( / data result ) > (while (setq data (tblnext "block" (null data))) > ;; if it's not [xref, xref dependent, anonymous] ... > (if (zerop (logand 21 (cdr (assoc 70 data)))) > (setq result > (cons (cdr (assoc 2 data)) > result > ) > ) > ) > ) > ;; assume for this case that > ;; sorted would be preferred > (if (< 1 (length result)) > (acad_strlsort result) > result > ) > ) > > Note: 21 = 01 (anonymous) + _ > 04 (xref) + _ > 16 (xref dependent) > > [/code] > > PS: Thank you Jason :) > > "dave2" wrote in message news:25899225.1081425756600.JavaMail.jive@jiveforum2.autodesk.com... > Don, > > I'm having trouble getting this code > > (vl-remove-if (function (lambda (x) (wcmatch x "*|*")))(table "BLOCK")) > > to remove XREF's from the list. I need it to remove all unnamed blocks like (*X40 etc.) from the list as well. > > Any suggestions? > >
Message 17 of 25
Anonymous
in reply to: Anonymous

Looks like Jason and Michael took care of that. Don "dave2" wrote in message news:25899225.1081425756600.JavaMail.jive@jiveforum2.autodesk.com... > Don, > > I'm having trouble getting this code > > (vl-remove-if (function (lambda (x) (wcmatch x "*|*")))(table "BLOCK")) > > to remove XREF's from the list. I need it to remove all unnamed blocks like (*X40 etc.) from the list as well. > > Any suggestions?
Message 18 of 25
Anonymous
in reply to: Anonymous

Michael: I hope you don't mind, but I have created a general purpose routine utilizing your code. ;|TABLE70 Bits BLOCK 70 Block-type flags (bit-coded values, may be combined): 0 = Indicates none of the following flags apply 1 = This is an anonymous block generated by hatching, associative dimensioning, other internal operations, or an application 2 = This block has non-constant attribute definitions (this bit is not set if the block has any attribute definitions that are constant, or has no attribute definitions at all) 4 = This block is an external reference (xref) 8 = This block is an xref overlay 16 = This block is externally dependent 32 = This is a resolved external reference, or dependent of an external reference (ignored on input) 64 = This definition is a referenced external reference (ignored on input) LAYER 70 Standard flags (bit-coded values): 1 = Layer is frozen; otherwise layer is thawed 2 = Layer is frozen by default in new viewports 4 = Layer is locked 16 = If set, table entry is externally dependent on an xref 32 = If both this bit and bit 16 are set, the externally dependent xref has been successfully resolved 64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files) LTYPE 70 Standard flag values (bit-coded values): 16 = If set, table entry is externally dependent on an xref 32 = If both this bit and bit 16 are set, the externally dependent xref has been successfully resolved 64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files) STYLE 70 Standard flag values (bit-coded values): 1 = If set, this entry describes a shape 4 = Vertical text 16 = If set, table entry is externally dependent on an xref 32 = If both this bit and bit 16 are set, the externally dependent xref has been successfully resolved 64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files) UCS 70 Standard flag values (bit-coded values): 16 = If set, table entry is externally dependent on an xref 32 = If both this bit and bit 16 are set, the externally dependent xref has been successfully resolved 64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files) VIEW 70 Standard flag values (bit-coded values): 1 = If set, this is a paper space view 16 = If set, table entry is externally dependent on an xref 32 = If both this bit and bit 16 are set, the externally dependent xref has been successfully resolved 64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files) VPORT 70 Standard flag values (bit-coded values): 16 = If set, table entry is externally dependent on an xref 32 = If both this bit and bit 16 are set, the externally dependent xref has been successfully resolved 64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files) (table70 "LAYER" 5) (table70 "BLOCK" 21)...This is the same result as GetPrimaryBlockNames |; (defun table70 (table bit / data result) (while (setq data (tblnext table (null data))) (if (zerop (logand bit (cdr (assoc 70 data)))) (setq result (cons (cdr (assoc 2 data)) result ) ) ) ) (if (< 1 (length result)) (acad_strlsort result) result ) ) I'd appreciate any comments you may have about potential problems using this approach. Thanks, Don "Don Butler" wrote in message news:4075adde$1_2@newsprd01... > Very nice! > > Don > > "michael puckett" wrote in message news:40755a00$1_1@newsprd01... > > If what you are saying is that you only want primary > > blocks, that is, no xrefs, no xref dependent blocks, > > and no anonymous blocks then perhaps ... [code] > > > > (defun GetPrimaryBlockNames ( / data result ) > > (while (setq data (tblnext "block" (null data))) > > ;; if it's not [xref, xref dependent, anonymous] ... > > (if (zerop (logand 21 (cdr (assoc 70 data)))) > > (setq result > > (cons (cdr (assoc 2 data)) > > result > > ) > > ) > > ) > > ) > > ;; assume for this case that > > ;; sorted would be preferred > > (if (< 1 (length result)) > > (acad_strlsort result) > > result > > ) > > ) > > > > Note: 21 = 01 (anonymous) + _ > > 04 (xref) + _ > > 16 (xref dependent) > > > > [/code] > > > > PS: Thank you Jason :) > > > > "dave2" wrote in message > news:25899225.1081425756600.JavaMail.jive@jiveforum2.autodesk.com... > > Don, > > > > I'm having trouble getting this code > > > > (vl-remove-if (function (lambda (x) (wcmatch x "*|*")))(table "BLOCK")) > > > > to remove XREF's from the list. I need it to remove all unnamed blocks > like (*X40 etc.) from the list as well. > > > > Any suggestions? > > > > > >
Message 19 of 25
Anonymous
in reply to: Anonymous

Michael, It looks like I need to study your code first before attempting modifications. :-( It doesn't work. Can what I have attempted to do be done? Don "Don Butler" wrote in message news:4075be16$1_3@newsprd01... > Michael: > > I hope you don't mind, but I have created a general purpose routine > utilizing your code. > > ;|TABLE70 Bits > > BLOCK > 70 Block-type flags (bit-coded values, may be combined): > 0 = Indicates none of the following flags apply > 1 = This is an anonymous block generated by hatching, associative > dimensioning, other internal operations, or an application > 2 = This block has non-constant attribute definitions (this bit is not set > if the block has any attribute definitions that are constant, or has no > attribute definitions at all) > 4 = This block is an external reference (xref) > 8 = This block is an xref overlay > 16 = This block is externally dependent > 32 = This is a resolved external reference, or dependent of an external > reference (ignored on input) > 64 = This definition is a referenced external reference (ignored on input) > > LAYER > 70 Standard flags (bit-coded values): > 1 = Layer is frozen; otherwise layer is thawed > 2 = Layer is frozen by default in new viewports > 4 = Layer is locked > 16 = If set, table entry is externally dependent on an xref > 32 = If both this bit and bit 16 are set, the externally dependent xref has > been successfully resolved > 64 = If set, the table entry was referenced by at least one entity in the > drawing the last time the drawing was edited. (This flag is for the benefit > of AutoCAD commands. It can be ignored by most programs that read DXF files > and need not be set by programs that write DXF files) > > LTYPE > 70 Standard flag values (bit-coded values): > 16 = If set, table entry is externally dependent on an xref > 32 = If both this bit and bit 16 are set, the externally dependent xref has > been successfully resolved > 64 = If set, the table entry was referenced by at least one entity in the > drawing the last time the drawing was edited. (This flag is for the benefit > of AutoCAD commands. It can be ignored by most programs that read DXF files > and need not be set by programs that write DXF files) > > STYLE > 70 Standard flag values (bit-coded values): > 1 = If set, this entry describes a shape > 4 = Vertical text > 16 = If set, table entry is externally dependent on an xref > 32 = If both this bit and bit 16 are set, the externally dependent xref has > been successfully resolved > 64 = If set, the table entry was referenced by at least one entity in the > drawing the last time the drawing was edited. (This flag is for the benefit > of AutoCAD commands. It can be ignored by most programs that read DXF files > and need not be set by programs that write DXF files) > > UCS > 70 Standard flag values (bit-coded values): > 16 = If set, table entry is externally dependent on an xref > 32 = If both this bit and bit 16 are set, the externally dependent xref has > been successfully resolved > 64 = If set, the table entry was referenced by at least one entity in the > drawing the last time the drawing was edited. (This flag is for the benefit > of AutoCAD commands. It can be ignored by most programs that read DXF files > and need not be set by programs that write DXF files) > > VIEW > 70 Standard flag values (bit-coded values): > 1 = If set, this is a paper space view > 16 = If set, table entry is externally dependent on an xref > 32 = If both this bit and bit 16 are set, the externally dependent xref has > been successfully resolved > 64 = If set, the table entry was referenced by at least one entity in the > drawing the last time the drawing was edited. (This flag is for the benefit > of AutoCAD commands. It can be ignored by most programs that read DXF files > and need not be set by programs that write DXF files) > > VPORT > 70 Standard flag values (bit-coded values): > 16 = If set, table entry is externally dependent on an xref > 32 = If both this bit and bit 16 are set, the externally dependent xref has > been successfully resolved > 64 = If set, the table entry was referenced by at least one entity in the > drawing the last time the drawing was edited. (This flag is for the benefit > of AutoCAD commands. It can be ignored by most programs that read DXF files > and need not be set by programs that write DXF files) > > (table70 "LAYER" 5) > (table70 "BLOCK" 21)...This is the same result as GetPrimaryBlockNames > > |; > > (defun table70 (table bit / data result) > (while (setq data (tblnext table (null data))) > (if (zerop (logand bit (cdr (assoc 70 data)))) > (setq result > (cons (cdr (assoc 2 data)) > result > ) > ) > ) > ) > (if (< 1 (length result)) > (acad_strlsort result) > result > ) > ) > > I'd appreciate any comments you may have about potential problems using this > approach. > > Thanks, > > Don > > > > > "Don Butler" wrote in message > news:4075adde$1_2@newsprd01... > > Very nice! > > > > Don > > > > "michael puckett" wrote in message > news:40755a00$1_1@newsprd01... > > > If what you are saying is that you only want primary > > > blocks, that is, no xrefs, no xref dependent blocks, > > > and no anonymous blocks then perhaps ... [code] > > > > > > (defun GetPrimaryBlockNames ( / data result ) > > > (while (setq data (tblnext "block" (null data))) > > > ;; if it's not [xref, xref dependent, anonymous] ... > > > (if (zerop (logand 21 (cdr (assoc 70 data)))) > > > (setq result > > > (cons (cdr (assoc 2 data)) > > > result > > > ) > > > ) > > > ) > > > ) > > > ;; assume for this case that > > > ;; sorted would be preferred > > > (if (< 1 (length result)) > > > (acad_strlsort result) > > > result > > > ) > > > ) > > > > > > Note: 21 = 01 (anonymous) + _ > > > 04 (xref) + _ > > > 16 (xref dependent) > > > > > > [/code] > > > > > > PS: Thank you Jason :) > > > > > > "dave2" wrote in message > > news:25899225.1081425756600.JavaMail.jive@jiveforum2.autodesk.com... > > > Don, > > > > > > I'm having trouble getting this code > > > > > > (vl-remove-if (function (lambda (x) (wcmatch x "*|*")))(table "BLOCK")) > > > > > > to remove XREF's from the list. I need it to remove all unnamed blocks > > like (*X40 etc.) from the list as well. > > > > > > Any suggestions? > > > > > > > > > > > >
Message 20 of 25
Anonymous
in reply to: Anonymous

OK, works now. I see now that you were returning an invert result. This now returns both invert and non-invert results. Well, back to work. Don ;|TABLE70 Bits BLOCK 70 Block-type flags (bit-coded values, may be combined): 0 = Indicates none of the following flags apply 1 = This is an anonymous block generated by hatching, associative dimensioning, other internal operations, or an application 2 = This block has non-constant attribute definitions (this bit is not set if the block has any attribute definitions that are constant, or has no attribute definitions at all) 4 = This block is an external reference (xref) 8 = This block is an xref overlay 16 = This block is externally dependent 32 = This is a resolved external reference, or dependent of an external reference (ignored on input) 64 = This definition is a referenced external reference (ignored on input) LAYER 70 Standard flags (bit-coded values): 1 = Layer is frozen; otherwise layer is thawed 2 = Layer is frozen by default in new viewports 4 = Layer is locked 16 = If set, table entry is externally dependent on an xref 32 = If both this bit and bit 16 are set, the externally dependent xref has been successfully resolved 64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files) LTYPE 70 Standard flag values (bit-coded values): 16 = If set, table entry is externally dependent on an xref 32 = If both this bit and bit 16 are set, the externally dependent xref has been successfully resolved 64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files) STYLE 70 Standard flag values (bit-coded values): 1 = If set, this entry describes a shape 4 = Vertical text 16 = If set, table entry is externally dependent on an xref 32 = If both this bit and bit 16 are set, the externally dependent xref has been successfully resolved 64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files) UCS 70 Standard flag values (bit-coded values): 16 = If set, table entry is externally dependent on an xref 32 = If both this bit and bit 16 are set, the externally dependent xref has been successfully resolved 64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files) VIEW 70 Standard flag values (bit-coded values): 1 = If set, this is a paper space view 16 = If set, table entry is externally dependent on an xref 32 = If both this bit and bit 16 are set, the externally dependent xref has been successfully resolved 64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files) VPORT 70 Standard flag values (bit-coded values): 16 = If set, table entry is externally dependent on an xref 32 = If both this bit and bit 16 are set, the externally dependent xref has been successfully resolved 64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files) (table70 TABLE BIT INVERT) Non_frozen Layers (table70 "LAYER" 1 t) Frozen Layers (table70 "LAYER" 1 nil) Non-Anonymous Blocks (table70 "BLOCK" 1 t) Anonymous Blocks (table70 "BLOCK" 1 nil) Localized Blocks (table70 "BLOCK" 21 t) |; (defun table70 (table bit invert / data result arg) (if invert (setq arg '(zerop (logand bit (cdr (assoc 70 data))))) (setq arg '(= bit (logand bit (cdr (assoc 70 data))))) ) (while (setq data (tblnext table (null data))) (if (eval arg) (setq result (cons (cdr (assoc 2 data)) result ) ) ) ) (if (< 1 (length result)) (acad_strlsort result) result ) )

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

”Boost