 - (defun c:tt( / del_ent ele ent i must new_ent)
- (setq ent (entget (car (entsel "\n请选择一个图元"))));得到组码
- (setq i 0 must '());初始化
- (repeat (length ent)
- (setq del_ent (vl-remove (nth i ent) ent));测试删除
- (setq new_ent (entmake del_ent));测试生成
- (if (= 10 (car (nth i ent)))
- (progn
- (setq must (append must (list (nth i ent))))
- (if new_ent
- (entdel (entlast))
- )
- )
- (if new_ent;如果生成新图元则删除否则认为该元素为关键元素
- (entdel (entlast))
- (setq must (append must (list (nth i ent))))
- )
- )
- (setq i (1+ i))
- );end repeat
-
- (cond
- ((= "LWPOLYLINE" (cdr (assoc 0 ent)))
- (setq must (append must (list (assoc 90 ent))))
- )
- ((= "SPLINE" (cdr (assoc 0 ent)))
- (setq must (append must (list (assoc 74 ent))))
- (foreach ele ent
- (if (= 11 (car ele))
- (setq must (append must (list ele)))
- )
- )
- )
- ((= "DIMENSION" (cdr (assoc 0 ent)))
- (foreach ele ent
- (if (or (= 11 (car ele))
- (= 21 (car ele))
- (= 31 (car ele))
- (= 70 (car ele))
- (= 71 (car ele))
- (= 1 (car ele))
- (= 3 (car ele))
- )
- (setq must (append must (list ele)))
- )
- )
- )
- )
- (print must)
- (princ)
- )
这个程序真心好用..不敢独享...
分享给需要的同学,,,,好学的同学
感谢不死猫
|