Bobby Jones wrote:
> An ATTDEF is an attribute definition that you create prior to including it > in your block definition. An ATTRIB is what an ATTDEF becomes after you > insert a block with attribs. > --
所以ATTRIB与ATTDEF不同,要找到属性提示,你要找到ATTDEF,先用
(tblobjname "block" "图块名")
找到图块定义入口,在-2组码下是第一个ATTDEF图元,其3组码下为属性提示
使用ENTNEXT可得到第二个ATTDEF图元,如此类推。
(Defun C:getprompt(/ blkname attdef elist) (setq blkname (cdr (assoc 2 (entget (car (entsel "\n选择属性块:")))))) (setq attdef (cdr (assoc -2 (entget (tblobjname "BLOCK" blkname))))) (While attdef (setq elist (entget attdef)) (if (= (cdr (assoc 0 elist)) "ATTDEF") (progn (princ "\n") (princ (cdr (assoc 3 elist))) ) ) (setq attdef (EntNext attdef)) ) (princ) )