- ;;供参考
- ;;目前只画水平向右
- ;;指令: ttt
- ;;指定中心位置:
- ;;对角点: @23,45
- ;;对角点: @45,50
- ;;对角点: @30,56
- ;;对角点:
- (defun C:TTT (/ PT1 PT2 ANG DIST DX DY)
- (setvar "osmode" 39)
- (setq PT1 (getpoint "\n指定中心位置: "))
- (setvar "osmode" 0)
- (while (setq PT2 (getcorner PT1 "\n对角点: "))
- (command "_.rectang" PT1 PT2)
- (setq ANG (angle PT1 PT2))
- (setq DIST (distance PT1 PT2))
- (setq DY (abs (* DIST (sin ANG))))
- (setq DX (abs (* DIST (cos ANG))))
- (if (> (cadr PT1) (cadr PT2))
- (command "_.move"
- (entlast)
- ""
- PT1
- (polar PT1 (* 0.5 pi) (/ DY 2))
- )
- (command "_.move"
- (entlast)
- ""
- PT1
- (polar PT1 (* 1.5 pi) (/ DY 2))
- )
- )
- (setq PT1 (polar PT1 0 DX))
- )
- (princ)
- )
|