1. (defun c:tt(/ cd code dx dy mode p0 p1 p2 p3 pt) ;tt(动态宽高比=2矩形)
    2. (while (setq p0 (getpoint "\n基点<退出>: "))
    3. (setq mode t)
    4. (while mode
    5. (setq code (grread nil 15 0) cd (car code))
    6. (cond ((member cd '(2 3 25)) (setq mode nil))
    7. ((= cd 5)
    8. (redraw)
    9. (setq pt (cadr code)
    10. dx (- (car pt) (car p0))
    11. dy (* dx 0.5)
    12. p2 (list (car pt) (+ (cadr p0) dy))
    13. p1 (list (car p2) (cadr p0))
    14. p3 (list (car p0) (cadr p2))
    15. )
    16. (grvecs (list 1 p0 p1 1 p1 p2 1 p2 p3 1 p3 p0))
    17. )
    18. )
    19. )
    20. (redraw)
    21. (command "Rectang" "non" p0 "non" p2)
    22. )
    23. (princ)
    24. )