请教,小弟自己倒腾2个代码没有成功。望各位大侠指点一二。 一个为 置为当前层lisp代码的参数问题。 一个为vlx代码的调用自动执行问题。 代码1:;下面这条命令可把beam图层置为当前层 (defun C:DS2 (/ EL LA) (COMMAND "LAYER" "S" "beam" "") (princ));下面这条命令可把0图层置为当前层 (defun C:DS0 (/ EL LA)
一个为 置为当前层lisp代码的参数问题。 一个为vlx代码的调用自动执行问题。
代码1:
;下面这条命令可把beam图层置为当前层
(defun C:DS2 (/ EL LA)
(COMMAND "LAYER" "S" "beam" "")
(princ)
)
;下面这条命令可把0图层置为当前层
(defun C:DS0 (/ EL LA)
(COMMAND "LAYER" "S" 0 "")
(princ)
)
目的:加入一个函数参数,图层名想用交互输入的方式。
问题:下面这条命令仅当0之类以数字开始的图层才可以.其他例如beam都失败了
(defun DSx (xyz)
(COMMAND "LAYER" "S" dsy "");失败
(princ)
)
根源在于数字开头可以识别,字母开头不可以,像0和21000都可以。
尝试2
(COMMAND "LAYER" "S" "dsy" "") ;失败
加了引号"dsy"之后,直接变成dsy图层,故dsx不能执行。
感觉要改成字符变量才可以,也不懂啊。
代码2:
一个函数名字叫xiaoyu。vlx,在cad中load后,执行命令,输入的命令依次如下:
1. xiaoyu (启动函数)
2. 1000(该处为输入一个数值)
3. all(该处为选择,全选。)
4. 回车确认。
目的:如何另外编一个函数调用,自动执行xiaoyu的这个函数并依此输入以上的值。以下的尝试都失败了。
尝试1
(c:xiaoyu "1000" "all" "");失败
尝试2
(c:xiaoyu 1000 all "");失败
尝试3
(DEFUN c:bszxy12();板数值小于
(c:xiaoyu pause )
(COMMAND "1200" )
(COMMAND "all")
(COMMAND "" ) ;失败,能调用,但后面的三行代码没有用,还是要手动输入。
)
另外就是想把数值 1200想做出参数的形式 (DEFUN bszxy12(shuzhi) 就更好了。