本帖最后由 snddd2000 于 2013-12-10 10:38 编辑
 - (defun ssgetXlenline (Operator Len / ss ss1 i ent en ptslst)
- ;;; (SSGETXLENLINE < 100 )
- (if (setq ss (ssget "X" '((0 . "LINE"))))
- (progn
- (setq i -1
- ptslst nil
- ss1 (ssadd)
- )
- (repeat (sslength ss)
- (setq ent (entget (setq en (ssname ss (setq i (1+ i))))))
- (if
- (Operator (distance (cdr (assoc 10 ent)) (cdr (assoc 11 ent)))
- Len
- )
- (setq
- ptslst (cons (list (assoc 10 ent) (assoc 11 ent)) ptslst)
- )
- )
- )
- (ssget (APPEND
- (list (cons -4 "<OR"))
- (apply 'append
- (mapcar
- '(lambda (x)
- (LIST (cons -4 "<AND")
- (car X)
- (last X)
- (cons -4 "AND>")
- )
- )
- ptslst
- )
- )
- (list (cons -4 "OR>"))
- )
- )
- )
- )
- )
|