glow123 发表于 2011-10-20 07:33:50

用代码标注时有点问题,求助

用以下代码标注时,当运行到第2个command的时候图层、捕捉设置丢失,求热心人指教,指条明路,感谢!考虑许久没找到解决方法,唯有来拜高手。

;连续对齐标注
(defun C:ttt ()
(setqclay (getvar "clayer"))
(setqoos (getvar "osmode"))
(setvar "clayer" "标注")
(setvar "osmode" 683)
(command "DimAligned" pause pausepause)
(command "Dimcontinue" )   ;; 问题出在这一行,丢失图层、捕捉设置
(setvar "clayer" clay)
(setvar "osmode" oos)
(princ)
)

snddd2000 发表于 2011-10-20 08:54:04

我试了下,Dimcontinue执行一次后,那个图层和捕捉就还原了

ZZXXQQ 发表于 2011-10-20 09:49:07

(defun C:ttt ()
(setqclay (getvar "clayer"))
(setqoos (getvar "osmode"))
(setvar "clayer" "标注")
(setvar "osmode" 683)
(command "DimAligned" pause pausepause)
(command "Dimcontinue" )   ;; 问题出在这一行,丢失图层、捕捉设置
(while (> (getvar "CMDACTIVE") 0) (command PAUSE)) ;加上这句试试
(setvar "clayer" clay)
(setvar "osmode" oos)
(princ)
)

glow123 发表于 2011-10-20 10:24:31

本帖最后由 glow123 于 2011-10-20 11:19 编辑

感谢超版ZZXXQQ大人;;解决了老问题,又遇到了新问题:图层和捕捉(setvar "clayer" clay)
(setvar "osmode" oos)失效,不能还原状态。请大大再伸手?

snddd2000 发表于 2011-10-20 11:27:19

我随便想象的,在while加个if
页: [1]
查看完整版本: 用代码标注时有点问题,求助