谁能帮忙看下如何实现这个功能
www.dimcax.com
谁能帮忙看下如何实现这个功能
就是选择一个图块后。让程序自动选择图中所有同名的图块
(ssget "x" (list (assoc 2 (entget (car (entsel))))))
图片:
.下面是一个程序,输入嗯要求的块名,它把相同的名放到一个kk表中.例:图中的块名为chuang 它的kk为("2582" "2e8b" "2e8c")
例:输入块名为hxx 它的kk ("3486" "3487" "3488" "3489") 表中是它的聚柄号
(setq a (handent (nth i kk))) i 从0开始.
你用list !a就能看到了
你将下面的程序考到嗯的cad下给一个名qkui.lsp在命令下用(load"qkui")回车就可使用,在命令下输入qkui回车就行.
(defun c:qkui ()
(prompt "输入要求的块名: ")
(setq aa (getstring) kk nil)
(setq een (ssget "x" '((0 . "insert"))))
(setq n (sslength een) i 0)
(repeat n
(setq en (entget (ssname een i)) a (cdr (assoc 2 en)) b (cdr (assoc 5 en)))
(if (= aa a)
(progn
(if (= kk nil)(setq kk (list b))(setq kk (cons b kk)))
))
(setq i (+ i 1))
)
)
gbg