- 积分
- 884
- 明经币
- 个
- 注册时间
- 2015-7-19
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
楼主 |
发表于 2015-11-4 09:54
|
显示全部楼层
本帖最后由 azbk00 于 2015-11-4 10:04 编辑
ZZXXQQ 发表于 2015-11-4 08:40
(if ll (progn (command "'LAYER" "ON" "COLU,BEAM,AXIS" "") (setq ll nil)) (progn (command "'LAYER" "O ...
万分感谢Z大!!!
你的代码可以用,我依葫芦画瓢按照自己要求稍微改了下:
(if ll (progn (command "'LAYON") (setq ll nil)) (progn (command "'LAYER" "OFF" "~BEAM" "Y" "ON" "COLU" "ON" "AXIS" "") (setq ll T)))
觉得好神奇,想再追问Z大几个问题,望不吝指教:
1、cad中原生的宏代码都是各种$M、$、'_.、让我真心看不懂,比如这种
$M=$(if,$(and,$(getvar,ShowPaletteState),1),^C^C_HIDEPALETTES,^C^C_SHOWPALETTES)
但是Z大给出的代码跟lisp语言是一样的,这个我能看得懂。难道说这个宏代码既可以写vba,也可以写lisp吗?
2、即使把上述代码看作lisp语言,但"'LAYER"之中的这个单引号“'”不知道是什么意思,是宏命令中特有的写法吗?
3、实际测试中,(command "'LAYON") 打开所有图层的速度是非常慢的,要等好几秒,其实我就是想把所有关闭的图层都打开,不知道有没有运行速度更快的写法?我用Msteel工具箱的时候,用它的打开所有图层命令几乎就是秒开了,我想应该是有更快的方法的,Z大能指点一下吗?
|
|