通用记忆函数
本帖最后由 cds15980954301 于 2023-9-26 14:53 编辑这是自用的通用记忆函数,
附件内容已全部贴上,
如觉得有用,
有币的,就支持一下{:1_1:}
;a-->记忆值;
;b-->程序所需的值/初始值(还没记忆时,设定的值)
;c-->输入值
;str-->提示内容
(defun jiyi ( a n str/);加强偏移
(if (= a nil) (setq b n) (setq b a))
(setq c (getdist (strcat str (rtos b 2 4)">:")))
(if (not c) (setq c b)(setq b c))
)
以偏移为例
(defun c:33 ( / kwd nownewobj)
(jiyi 记忆 10"\n请输入单边偏移距离<")
(setq 记忆 c);把这句放在外面,主要是想让变量“记忆”多样化
(setq obj (vlax-ename->vla-object (car(entsel))))
(vl-catch-all-apply 'vla-offset (list obj c))
(vl-catch-all-apply 'vla-offset (list obj (- c)))
(princ)
)
这样就不用放在外面那句了(defun jiyi (word bianliang moren /)
(or (eval bianliang) (set bianliang moren))
(setq wordtmp(getdist (strcat word (rtos(eval bianliang) 2 4) ">")))
(if (null wordtmp)(setq wordtmp (eval bianliang)))
(set bianliang wordtmp)
)
(defun c:33 ( / kwd nownewobj)
(setq c(jiyi "\n请输入单边偏移距离<" 'jiy 10))
(setq obj (vlax-ename->vla-object (car(entsel))))
(vl-catch-all-apply 'vla-offset (list obj c))
(vl-catch-all-apply 'vla-offset (list obj (- c)))
(princ)
) 本帖最后由 飞雪神光 于 2023-9-26 14:41 编辑
cds15980954301 发表于 2023-9-26 14:28
请教一下
(if (null wordtmp)(setq wordtmp (eval bianliang)))(set bianliang wordtmp)
这有什么好处
...
那当 wordtmp 为nil 时就不会返回默认值了(/= wordtmp nil)就是 wordtmp 可以写成 (if wordtmp (set bianliang wordtmp) (set bianliang (eval bianliang))) 这样空格时会返回默认值 飞雪神光 发表于 2023-9-26 10:24
这样就不用放在外面那句了
请教一下
(if (null wordtmp)(setq wordtmp (eval bianliang)))(set bianliang wordtmp)
这有什么好处
为啥不
(if (/= wordtmp nil) (setq bianliang wordtmp))
你可以尝试用字典记忆这些变量 还是用词典或者黑板吧,这样容易串味
xj6019 发表于 2023-9-26 10:31
还是用词典或者黑板吧,这样容易串味
导出都有神光大侠身影,向大佬学习 xj6019 发表于 2023-9-26 10:31
还是用词典或者黑板吧,这样容易串味
请教一下,黑板指的是什么 飞雪神光 发表于 2023-9-26 14:38
那当 wordtmp 为nil 时就不会返回默认值了(/= wordtmp nil)就是 wordtmp 可以写成 (if wordtmp (set...
谢谢您的回复 用户输入时有默认值(或默认上次输入值)时,请参照:
[函数] [原创][源码]整合多个GetXXX用户输入函数在一块
页:
[1]
2