可以从使用ACAD命令的简单LISP开始。
- (defun c:test(/ p1 p2 p3 p4 p5)
- (setq p1 (getpoint "\nPick Center point."))
- (setq p2 (getpoint "\nPick Corner point."))
- (setq p3 (list (max (car p1)(car p2))(max (cadr p1)(cadr p2))))
- (setq p4 (list (min (car p1)(car p2))(max (cadr p1)(cadr p2))))
- (setq p5 (list (min (car p1)(car p2))(min (cadr p1)(cadr p2))))
- (setq p6 (list (- (min (car p3)(car p4)) 400)(+ 400 (max (cadr p4)(cadr p5)))))
- (command "_.dimlinear" "_non" p3 "_non" p4 "_non" (polar p3 (/ pi 2.) 400) )
- (command "_.dimlinear" "_non" p4 "_non" p5 "_non" (polar p5 pi 400) )
- (entmakex (list (cons 0 "TEXT") ;***
- (cons 1 "My Text") ;* the string
- (cons 40 (getvar "textsize")) ;* Text height
- (cons 10 p6)))
- (princ)
- )
|