 - (defun c:jx()
- (setvar "cmdecho" 0)
- (setvar "OSMODE" 0)
- (setq p1 (getpoint "\n指定矩形的右下角点: "))
- (setq w (getreal "\n指定矩形的宽度: "))
- (setq h (getreal "\n指定矩形的高度: "))
- (setq ang (getreal "\n指定矩形的倾斜角度: "))
- (setq wh (getreal "\n围护带宽度<20>: "))
- (setq wh (if wh wh 20))
- (setq angh (/ (* ang pi) 180))
- ;;; 计算广场的各点
- (setq p2 (polar p1 angh h))
- (setq p3 (polar p2 (+ angh (/ pi 2)) w))
- (setq p4 (polar p1 (+ angh (/ pi 2)) w))
- (command "pline" p1 p2 p3 p4 "c")
- ;;; 计算包围广场的矩形的各点
- (setq rp1 (list (car p4) (cadr p1)))
- (setq rp2 (list (car p2) (cadr p1)))
- (setq rp3 (list (car p2) (cadr p3)))
- (setq rp4 (list (car p4) (cadr p3)))
- (command "line" rp1 rp2 rp3 rp4 "c")
- ;;; 计算矩形围护带的各点
- (setq whp1 (list (- (car p4) wh) (- (cadr p1) wh)))
- (setq whp2 (list (+ (car p2) wh) (- (cadr p1) wh)))
- (setq whp3 (list (+ (car p2) wh) (+ (cadr p3) wh)))
- (setq whp4 (list (- (car p4) wh) (+ (cadr p3) wh)))
- (command "pline" whp1 whp2 whp3 whp4 "c")
- (setvar "CMDECHO" 1)
- (prin1)
- )
|