|
发表于 2004-5-9 09:29:00
|
显示全部楼层
將就用用這個吧, 剛寫的.
(defun c:test (/ d1 d2 d1c d2c d1r d2r a sl l1 l2 l)
(setq d1 (entsel "\n請選擇 d :"))
(setq d2 (entsel "\n請選擇 D :"))
(setq d1c (cdr (assoc 10 (entget (car d1)))))
(setq d2c (cdr (assoc 10 (entget (car d2)))))
(setq d1r (cdr (assoc 40 (entget (car d1)))))
(setq d2r (cdr (assoc 40 (entget (car d2)))))
(setq a (distance d1c d2c))
(vl-cmdf "line" "_tan" (polar d1c (/ pi 2.0) d1r) "_tan"(polar d2c (/ pi 2.0) d2r)"")
(setq sl(entlast))
(setq l1 (cdr (assoc 10 (entget sl))))
(setq l2 (cdr (assoc 11 (entget sl))))
(entdel sl)
(setq l (distance l1 l2))
(princ (strcat "\n中心距離"(rtos a)"mm,切線長為"(rtos l)"mm."))
(princ)) |
|