明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1390|回复: 4

[求助][LISP]我的问题:

[复制链接]
发表于 2004-9-23 09:44:00 | 显示全部楼层 |阅读模式
请问各位大哥:
我的代码如下,我希望首先获得当前的lead箭头形式,再把他该为DOT形式,尔后恢复为原值,新建一图档,运行
(setq ldr_old (getvar "DIMLDRBLK"))后,返回值为空,为何?运行完后,并不是我期望的! lead箭头仍为DOT. (defun C:test()
(setq ldr_old (getvar "DIMLDRBLK"))
(setvar "dimldrblk" "dot")
(command "dimldrblk" ldr_old)
)
发表于 2004-9-23 13:06:00 | 显示全部楼层
(getvar "DIMLDRBLK") 返回值为空说明cad的系统变量dimldrblk为空
恢复原值时使用(setvar "dimldrblk" ldr_old)不是(command "dimldrblk" ldr_old)

发表于 2004-9-23 13:19:00 | 显示全部楼层
你不是已经恢复了原值吗,它最后返回的当然是原来的值,而不是你的DOT.


至于2楼说的第二个问题,两种都可以的
 楼主| 发表于 2004-9-23 15:44:00 | 显示全部楼层
问题是并没 有返回原值! 请看: Command: (setq ldr_old (getvar "DIMLDRBLK"))
"" <=原值 Command: (setvar "dimldrblk" "dot")
"dot" Command: (command "dimldrblk" ldr_old)
dimldrblk
Enter new value for DIMLDRBLK, or . for default <"Dot">:
Command: nil Command: (setq ldr_old (getvar "DIMLDRBLK"))
"Dot" <=变为DOT
发表于 2004-9-23 16:32:00 | 显示全部楼层
明白了,那你在第一句判断一下,


(if (= (setq ldr_old (getvar "DIMLDRBLK")) "")


(setq ldr_old ".")


)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-9-30 14:11 , Processed in 0.172273 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表