 - (defun c:xx ()
- (setvar "cmdecho" 0) ; 指令执行过程不响应
- (PRINC "\n框选写入文字功能,写入: 123")
- (PRINC)
- (setq mkj (getvar 'OSMODE))
- (setvar "osmode" 0)
- ; (setq gg "123")
- (setq gg (getstring "\n输入文字:"))
- (setq p1 (getpoint "\n-->请指定文字的左下角点: "))
- (setq p3 (getcorner p1 "\n-->请指定文字的对角点: "))
- (setq p2 (list (car p1) (cadr p3)))
- (setq p4 (list (car p3) (cadr p1)))
- (setq cp (inters
- p1
- p3
- p2
- p4
- )
- ) ; 求出交点
- (setq d (distance p1 p2)) ; 计算距离
- (setq d1 (distance p1 p4)) ; 计算距离
- (if (< d1 d)
- (setq hd (/ (distance p1 p2) 2))
- (setq hd (/ (distance p1 p4) 2))
- )
- (if (> d1 d)
- (setq th (/ (distance p1 p2) 2))
- (setq th (/ (distance p1 p4) 2))
- )
- (setq nhd (- hd (* 0.12 (getvar "dimscale"))))
- (setq newcp (polar cp (* 1.5 pi) (/ th 2)))
- (setq fp1 (polar newcp pi nhd))
- (setq fp2 (polar newcp 0 nhd))
- (command "text" "f" fp1 fp2 th GG)
- (setvar "clayer" AA)
- (setvar "osmode" mkj)
- (PRINC "\n写入文本完成!")
- (PRINC)
- )
|