本帖最后由 作者 于 2009-2-14 21:55:55 编辑
 - (defun tempSelNext (pt ent)
- (setq ss2 (ssget "C" pt pt filter))
- (ssdel ent ss2)
- (setq ent6 (ssname ss2 0)
- dxf6 (entget ent6)
- qidian (cdr (assoc 10 dxf6))
- duandian (cdr (assoc 11 dxf6))
- )
- (if (equal pt qidian 1e-12)
- (setq PtSel duandian)
- (setq PtSel qidian)
- )
- (mapcar '(lambda (x y) (/ (+ x y) 2.0)) qidian duandian)
- )
- (defun tempSel (/ ss)
- (cond
- ((Not (setq ss (ssget filter))))
- ((= (sslength ss) 4))
- (T
- (alert "只能选4条线!")
- (tempSel)
- ))
- ss
- )
- ;;;
- ;;; for Test only
- ;;; 您得补强错误处理
- (defun c:temp ()
- (setq filter '((0 . "LINE")))
- (cond
- ((not (setq ss (tempSel))))
- (T
- (setq ent1 (ssname ss 0)
- dxf1 (entget ent1)
- qidian (cdr (assoc 10 dxf1))
- duandian (cdr (assoc 11 dxf1))
- mp1 (mapcar '(lambda (x y) (/ (+ x y) 2.0)) qidian duandian)
- mp2 (tempSelNext duandian ent1)
- mp3 (tempSelNext PtSel ent6)
- mp4 (tempSelNext PtSel ent6)
- )
- (command "line" mp1 mp3 "")
- (command "line" mp2 mp4 "")
- ))
- )
|