[QUOTE]最初由 snoopychen 发布
[B]
- (defun c:ttt (/ a p1)
- (or (setq a "45" p1 (getpoint "\n 45指定通过点/<-45>:") )
- (setq a "-45" p1 (getpoint "\n -45指定通过点:") ))
- (if p1
- (command "xline" p1 (strcat "@10... [/B][/QUOTE]
- 楼上的大哥救命呀,您老老的那个程序适当的改改,以前都能用的,但是今天不知道为何用不了,是不是程序不稳定呀?
- 能帮忙看看么?
- 谢谢!
- [CODE]
- [FONT=courier new]
- (defun po_err (s) ;;;子程序,如果主程序出错(比如中断)便执行该子程序
- (setvar "cmdecho" cm)
- (setvar "osmode" os) ;;;让系统变量OSMODE取变量os之值,也就是恢复原来的值
- (command "_.undo" "_e") ;;;让程序结束
- )
- ;利用rectang命令绘制矩形,矩形的尺寸为1500x600或600x1500
- (defun c:ree (/ efg)
- (prompt "\n<S>-插入|X*Y=600*1500|竖式矩形 / <Enter>-插入|X*Y=1500*600|横式矩形")
- (setq cm (getvar "cmdecho"))
- (setq os (getvar "osmode"))
- (setq *error* po_err)
- (setvar "cmdecho" 0)
- (setvar "osmode" 4151)
- (princ "\n<Enter>或,<Esc退出>:")
- (setq efg (getstring))
- (cond
- ((= efg "")
- (r1 "1500" "600")
- )
- ((= efg "s")
- (r1 "600" "1500")
- )
- )
- (setvar "cmdecho" cm)
- (setvar "osmode" os)
- )
- (defun r1 (pa pb / cm os p1)
- (setq cm (getvar "cmdecho"))
- (setq os (getvar "osmode"))
- (setq *error* po_err)
- (setvar "cmdecho" 0)
- (setvar "osmode" 4151)
- (princ "\n指定矩形的插入点 <退出>:")
- (setq p1 (getpoint))
- (setvar "osmode" 0)
- (if p1 (progn
- (command "rectang" "c" "0" "0" "e" "0" "f" "0" "t" "0" "w" "0" p1 "d" pa pb)
- (while (/= 0 (getvar "cmdactive"))(command pause))
- (command "draworder" "last" "" "b")
- )
- )
- (setvar "cmdecho" cm)
- (setvar "osmode" os)
- (princ)
- )
- [/FONT]
晕呀,看来人倒霉时,连上网都遇麻烦! |