马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
 - ;找到最少entmake关键元素 ;作者:不死猫
- (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)
- )
来晓东也有一段时间了...
在这也学了不少东西..也得到了很多大师们的帮助
现在分享一点小代码给大家参考一下
|