Auto Lisp 标注子样式_关于修改标注样式的问题 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...

问题是这样的,Solidworks出图后,然后要转成DWG的,。转图后,由于是软件之间的转换,转成CAD之后,如果后面一修改的话,所有尺寸的位置就跑到尺寸线的下面了,所以现在我想写一个小程序,只要输入一个命令,就把所有的标注样式里面要改的内容一次性全部修改过来。但是写出来后,执行命令,只能对最后一个表达式有用,也就是说,前面的改过来后,因为并不是修改了样式本身,而是增加了一个替换样式,执行到下面一个,置为当前后,前面一个样式就还原了,所以想请教大家,用什么函数可以得到我想要的结果,谢谢了!

下面是代码:

(defun c:tt(/ oldecho )

(setq oldecho (getvar "cmdecho"))

(setvar "cmdecho" 0)

(setq dim1 (tblsearch "dimstyle" "SLDDIMSTYLE0")) ;搜索样式

(if ( = dim1  )

(progn

(command "-dimstyle" "r" "SLDDIMSTYLE0" ) ;置为当前

(command "-dimstyle" "r" "slddimstyle0" "dimtad" 1) ;要修改的变量

)

)

(setq dim2 (tblsearch "dimstyle" "SLDDIMSTYLE1"))

(if ( = dim2  )

(progn

(setq dim3 (getvar "diamtad"));

)

)

;(setvar "cmdecho" oldecho)

(princ)

)


版权声明:本文为weixin_39816448原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。