我也来个重叠检查,欢迎提意见~~~~
网友答:
少函数,zml-ss->enlist网友答:
网友答:
有些块即使box重叠,外观不一定重叠网友答:
收藏了。网友答:
楼主诙谐的提示风格很个性化网友答:
谢谢老师分享!网友答:
谢谢楼主及其他网友分享。
收藏网友答:
这种的算重叠?

- ;货物分两组(样品 . 库存)
- (defun lst->2lst(lst / lst1 lst2)
- (setq lst1 '() lst2 '())
- (foreach a lst
- (if (member a lst2)
- (setq lst1 (cons a lst1))
- (setq lst2 (cons a lst2))
- )
- )
- (cons (reverse lst2) (reverse lst1))
- )

- ;检查重叠块
- (defun c:chk_blocks (/ ss entlst ptlst 2ptlst x pt)
- (setq ss (ssget '((0 . "insert")));若要检查其他图元类型,修改这里
- i 0
- )
- (if (and ss (> (sslength ss) 2))
- (progn
- (setq entlst (zml-ss->enlist ss)
- ptlst (mapcar '(lambda(x) (assoc 10(entget x))) entlst)
- 2ptlst (lst->2lst ptlst)
- )
- (if (setq 2ptlst (cdr 2ptlst))
- (progn
- (setq pt (getpoint (strcat "\n 找到" (itoa (length 2ptlst)) "个重叠块,选择引出标注点:")))
- (foreach x 2ptlst
- (entmake (list '(0 . "line") '(8 . "0-辅助层tem") (cons 62 1) x (cons 11 pt)))
- )
- (princ "\n 标注完成,为避免出错,请老大落实后再枪决!")
- )
- (alert "报告老大,没有找到重叠块!")
- )
- )
- (alert "老大,这么简单的问题自己解决!")
- )
- (princ)
- )
SunSpring 发表于 2015-5-5 14:18
少函数,zml-ss->enlist

- ;;;功能:选择集转换为图元名表 *
- ;;;参数:SS -----选择集 *
- ;;;返回:图元名表 *
- (defun ZML-SS->ENLIST (SS / I EN LST_EN)
- (setq LST_EN '()
- I 0
- )
- (repeat (sslength SS)
- (setq EN (ssname SS I)
- LST_EN (cons EN LST_EN)
- I (1+ I)
- )
- )
- ;;返回
- (reverse LST_EN)
- )
收藏了。网友答:
楼主诙谐的提示风格很个性化网友答:
谢谢老师分享!网友答:
谢谢楼主及其他网友分享。收藏网友答:
这种的算重叠?