土木在线论坛 \ 建筑设计 \ CAD下载及教程 \ 请教,小弟自己倒腾2个代码没有成功。 一个为 置为当前...

请教,小弟自己倒腾2个代码没有成功。 一个为 置为当前...

发布于:2013-09-23 15:39:23 来自:建筑设计/CAD下载及教程 [复制转发]
请教,小弟自己倒腾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) 就更好了。

全部回复(5 )

只看楼主 我来说两句
  • hejipeng521
    hejipeng521 沙发

    谢谢 分享
    2013-09-29 08:02:29

    回复 举报
    赞同0
  • wangyou4096
    wangyou4096 板凳
    真是 厉害 啊 完全不懂
    2013-09-28 12:05:28

    回复 举报
    赞同0
加载更多
这个家伙什么也没有留下。。。

CAD下载及教程

返回版块

52.09 万条内容 · 682 人订阅

猜你喜欢

阅读下一篇

为什么按Z 然后 E 显示范围时还会保留有空白的地方?

如图:本来应该是1的效果但实际上却是2的结果PS:我已经将所有图层开启,而且删掉了所有无关的图元。

回帖成功

经验值 +10