[求助]大家能否帮助我把这个程序完善一下!
<P>这是个标注闭合面积的小程序,但是有一个缺点就,设置完字高后,每次运行该命令都要重新设置一次字高。能否实现完善后,可以不用每次运行都重新设置字高。</P><P>(DEFUN C:qa (/ OLDOS PT STA QAREA)<BR> (SETvar "OSMODE" 0)</P>
<P>( SETQ ZG (GETREAL "请输入字高: "))</P>
<P> (while (SETQ PT (GETPOINT "\nPick the point:"))<BR> (setq STA (BPOLY PT)<BR> e (entlast)<BR> )<BR> (IF (= STA NIL)<BR> (EXIT)<BR> )<BR> (COMMAND "AREA" "E" "L")<BR> (SETQ QAREA (RTOS (/(GETvar "AREA")10000) 2 3))<BR> ;(COMMAND "TEXT" "j" "mc" PT "" "" QAREA)</P>
<P> (COMMAND "TEXT" PT ZG "0" QAREA )</P>
<P> (command "erase" e "")<BR> )<BR> (SETvar "OSMODE" 163)<BR> <BR> (PRINC)<BR>)</P>
(DEFUN C:qa (/ OLDOS PT STA QAREA)
(SETvar "OSMODE" 0)
(IF (NOT ZG) (SETQ ZG (GETREAL "请输入字高: ")))
(while (SETQ PT (GETPOINT "\nPick the point:"))
(setq STA (BPOLY PT)
e (entlast))
(IF (= STA NIL) (EXIT))
(COMMAND "AREA" "E" "L")
(SETQ QAREA (RTOS (/(GETvar "AREA")10000) 2 3))
;(COMMAND "TEXT" "j" "mc" PT "" "" QAREA)
(COMMAND "TEXT" PT ZG "0" QAREA )
(command "erase" e "")
)
(SETvar "OSMODE"163)
(PRINC)
)
<P>非常感谢楼上的兄弟,但是好像还不是我理想的样子!我理想的样子是:只需第一次输入字高后,以后都是这个字高,而且只要运行这个命令都是我第一次输入的字高,除非我改变了字高,但是下一次运行这个命令的时候,还是我改变后的字高!请继续帮我完善好吗?</P> (DEFUN C:qa (/ OLDOS PT STA QAREA)
(SETvar "OSMODE" 0)
(if (null zg)
(SETQ ZG (GETREAL "请输入字高:"))
)
(while (SETQ PT (GETPOINT "\nPick the point:"))
(setq STA (BPOLY PT))
(IF (= STA NIL)
(EXIT)
(setq e (entlast))
)
(COMMAND "AREA" "E" "L")
(SETQ QAREA (RTOS (/ (GETvar "AREA") 10000) 2 3))
(COMMAND "TEXT" PT ZG "0" QAREA)
(command "erase" e "")
)
(PRINC)
) 感觉着还不是这样!这样吧,我发一个标注坐标的程序上来,你们运行一下,注意文字部分,你就知道我需要的是什么了! 这个就是坐标标注程序 <P>各位大虾帮帮忙啊!</P>
页:
[1]