defun c:zkp()
(setvar "CMDECHO" 0)
(setq a (getreal "输入正面长边长度 :"))
(setq b (getreal "输入正面短边长度 :"))
(setq c (getreal "输入四周折边长度 :"))
(setq d (getreal "输入双边扣减系数(+正):"))
(setq pt (getpoint "输入坐标点 :"))
(setq pt1 (list (car pt)
(cadr pt)
)
)
(setq pt2 (list (- (+ (car pt1) a) d)
(cadr pt1)
)
)
(setq pt4 (list (car pt1)
(- (+ (cadr pt1) b) d)
)
)
(setq pt3 (list (car pt2)
(cadr pt4)
)
)
(setq d2 (/ d 2) )
(setq ptz1 (list (- (car pt1) (- c d2) )
(cadr pt1)
)
)
(setq ptz4 (list (- (car pt4) (- c d2) )
(cadr pt4)
)
)
(setq pty2 (list (+ (car pt2) (- c d2) )
(+ (cadr pt2) 0)
)
)
(setq pty3 (list (+ (car pt3) (- c d2) )
(+ (cadr pt3) 0)
)
)
(setq pts3 (list (car pt3)
(+ (cadr pt3) (- c d2) )
)
)
(setq pts4 (list (car pt4)
(+ (cadr pt4) (- c d2) )
)
)
(setq ptx1 (list (car pt1)
(- (cadr pt1) (- c d2) )
)
)
(setq ptx2 (list (car pt2)
(- (cadr pt2) (- c d2) )
)
)
(command "_line" pt1 ptz1 ptz4 pt4 "")
(command "_line" pt2 pty2 pty3 pt3 "")
(command "_line" pt3 pts3 pts4 pt4 "")
(command "_line" pt1 ptx1 ptx2 pt2 "")
) |