DCL文本编辑框是否可以有记忆功能?
dcl中如果有多个文本编辑框,输入数值后,执行lisp程序,但是再次调用的时候,如果多个文本框中只有部分数值要修改,而其余的还沿用上次使用的值,
所有数值都要重新输入一遍,效率很低,能否使文本框的内容有记忆功能,再次调用的时候显示在文本框中,
各位高手,如有知道的,请赐教我这初学者。 你是想DWG不关闭的情况下记忆,还是关闭DWG后再次打开还能记忆呢? 如果是前者,用全局变量即可,如果是后者,可以写注册表,写字典等等 lucas_3333 发表于 2015-1-21 16:19 static/image/common/back.gif
你是想DWG不关闭的情况下记忆,还是关闭DWG后再次打开还能记忆呢? 如果是前者,用全局变量即可,如果是后者 ...
在dwg不关闭的情况下实现记忆,用全局变量如何具体的实现呢 lovexj918 发表于 2015-1-21 16:25 static/image/common/back.gif
在dwg不关闭的情况下实现记忆,用全局变量如何具体的实现呢
比如像这样
(if (not $globle_layer)
(setq $globle_layer (getvar "clayer"))
) 还可用环镜变量,存于注册表的
getenv / setenv 是环境变量存取函数
(getenv "mydata") => nil
(setenv "mydata" "1.0") => "1.0" 这里需要 string 格式
(getenv "mydata") => "1.0") 词典的数据是保存在DWG文件中的,并不保存在注册表中。
VLAX-LDATA-PUT 词典赋值。
VLAX-LDATA-GET 取词典中定义的值。 在action_tile语句前判断变量是否有合适的值,如果有就用set_tile给指定编辑框赋值。 我都建一个文本文件存里面,每次执行lisp时去读一下,对话框里添加个写入按钮 (if (null p1) (setq p1 1.29))
运行先判断变量是否为空,如果不为空,赋值给dcl
页:
[1]
2