那个高手朋友能帮我看看吗?块的问题(高手在民间)
哪个高手帮忙看看,谢谢高手了。例如:我想在进入图纸的时候 自动搜索 哪个块里面包含有文字 Tekla structures,搜索到后删除这个块.
请问问 有办法可以实现吗????急 谢谢高手了!跪求!
(defun c:scc ()
(setvar "CMDECHO" 0)
(setq ss (ssget '((0 . "INSERT"))))
(foreach x (sstolst ss)
(progn
(setq ename-lst (blk-name-lst x))
(if (vl-remove-if-not
'(lambda (y) (= (dxf 1 (cadr y)) "Tekla structures"))
ename-lst
)
(vla-delete (vlax-ename->vla-object x))
)
)
)
(prin1)
)
;;;选择集转图元名列表
(defun sstolst (ss)
(vl-remove-if-not
'(lambda (x) (equal (type x) 'ename))
(mapcar 'cadr (ssnamex ss))
)
)
;;; 取dxf组码
(defun dxf (g e)
(cond
((= (type e) 'ename) (cdr (assoc g (entget e))))
((= (type e) 'list) (cdr (assoc g e)))
)
)
;;;取无名快中对象名称图元名列表
(defun blk-name-lst (blk / enext entNames)
(setq enext
(cdr
(assoc
-2
(tblSearch
"block"
(dxf 2 (entget blk))
)
)
)
)
(while enext
(setq entNames
(cons (list (dxf 0 (entget enext)) enext)
entNames
)
)
(setq enext (entnext enext))
)
(reverse entNames)
)
好厉害,虽然看不太懂。学习下。
页:
[1]