(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 "")
))
)
页:
1
[2]