请教,小弟自己倒腾2个代码没有成功。 一个为 置为当前...
bestzlc
bestzlc Lv.4
2013年09月23日 15:39:53
只看楼主

请教,小弟自己倒腾2个代码没有成功。望各位大侠指点一二。 一个为 置为当前层lisp代码的参数问题。 一个为vlx代码的调用自动执行问题。 代码1:;下面这条命令可把beam图层置为当前层 (defun C:DS2 (/ EL LA) (COMMAND "LAYER" "S" "beam" "") (princ));下面这条命令可把0图层置为当前层 (defun C:DS0 (/ EL LA)

请教,小弟自己倒腾2个代码没有成功。望各位大侠指点一二。
一个为 置为当前层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) 就更好了。
免费打赏
yanyun7998
2013年09月23日 21:37:42
2楼
谢谢 分享 :D:D:D
回复
hejipeng521
2013年09月24日 10:14:20
3楼

谢谢 分享
回复
hejipeng521
2013年09月25日 09:43:27
4楼
:):D:D

谢谢 分享
回复
wangyou4096
2013年09月28日 12:05:10
5楼
真是 厉害 啊 完全不懂
回复
hejipeng521
2013年09月29日 08:02:05
6楼

谢谢 分享
回复

相关推荐

APP内打开