抛砖引玉,写个简单的,期待高手写个可以框选的。 - (defun c:tt(/ ent1 ent2 ptlist1 ptlist2 lnum num)
- (setq ent1 (entget (car (entsel"\n选取第一条线:"))))
- (setq ent2 (entget (car (entsel"\n选取第二条线:"))))
- (mapcar '(lambda(X)
- (if (= 10 (car x))
- (setq ptlist1 (cons (cdr x) ptlist1))
- )
- )
- ent1
- )
- (mapcar '(lambda(X)
- (if (= 10 (car x))(setq ptlist2 (cons (cdr x) ptlist2)))
- )
- ent2
- )
- (setq lnum(length ptlist1) num 0)
- (repeat lnum
- (command "line" (nth num (reverse ptlist1)) (nth num(reverse ptlist2)) "")
- (setq num( + num 1))
- )
- (princ)
- )
|