删除FEM图层中除填充和边数为2,3,4的图形,程序有错误
很奇怪为什么会有错误?(defun c:ft ()
(setq $orr *error*)
(setq *error* #err) ;当程序出错时就会执行#err函数
(setq oldmode (getvar "osmode") p1mode t)
(setvar "osmode" 0)
(setvar "CMDECHO" 0)
(setq ss (ssget'((8 . "fem"))))
(princ "\n")
(redraw)
(setq n1 (sslength ss))
(repeatn1
(setq ty(ssname ss n2))
(setq data (entget ty))
(setq d(cdr (assoc 0 data)))
(setq dd1 (wcmatch d "*HATCH*"))
(setq dd2(wcmatch d "*POLYLINE"))(princ "\ndd2:") (princ dd2)
(if (and (/= dd2 T)(= dd1 T))
(ssdel ty ss))
(if (and (/= dd1 T)(= dd2 T))
(progn
(setq d2 (cdr (assoc 90 data)))
(if (= d2 4)(ssdel ty ss) )
(if (= d2 3)(ssdel ty ss) )
(if (= d2 2) (ssdel ty ss) )
))
(setq n2 (+ n2 1))
)
(command "Chprop" ss "" "LA" "0" "")
(setvar "osmode" oldmode)
(setq *error* $orr)
(princ)
)
(defun #err (s)
(setvar "osmode" oldmode)
(setq *error* $orr)
) (ssdel ty ss) 好像是这个有问题 未测 ,一个猜想 ....
entdel Function
Deletes objects (entities) or restores previously deleted objects
(entdel ename)
ssdel /= entdel
页:
[1]