(defun viewpnts (/ a b c d x) ;当前视窗左下角和右上角坐标
(setq b (getvar "viewsize")
c (car (getvar "screensize"))
d (cadr (getvar "screensize"))
a (* b (/ c d))
x (setq x (getvar "viewctr"))
x (trans x 1 2)
c (list (- (car x) (/ a 2.0)) (- (cadr x) (/ b 2.0)) 0.0)
d (list (+ (car x) (/ a 2.0)) (+ (cadr x) (/ b 2.0)) 0.0)
c (trans c 2 1)
d (trans d 2 1)
)
(list c d)
)
(defun LAC-LR-Point (en d / a1 a2 a3 ang1 ang2)
(cond ((= (dxf en 0) "LINE")
(setq a1 (dxf en 10)
a2 (dxf en 11)
a3 (MidPoint a1 a2)
ang (angle a1 a2)
ang1 (+ ang (* pi 0.5))
ang2 (- ang (* pi 0.5))
a1 (polar a3 ang1 d)
a2 (polar a3 ang2 d)
)
(cons a1 a2)
)
((= (dxf en 0) "ARC")
(setq a3 (dxf en 10);圆心
r (dxf en 40);半径
ang (* (+ (dxf en 50) (dxf en 51)) 0.5)
a1 (polar a3 ang (- r d))
a2 (polar a3 ang (+ r d))
)
(cons a1 a2)
)
((= (dxf en 0) "CIRCLE")
(setq a1 (dxf en 10)
a2 (polar a1 0 (+ d (dxf en 40)))
)
(cons a1 a2)
)
)
)