cds15980954301 发表于 2023-9-26 08:29:45

通用记忆函数

本帖最后由 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)
)


飞雪神光 发表于 2023-9-26 10:24:08

这样就不用放在外面那句了(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:38:57

本帖最后由 飞雪神光 于 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))) 这样空格时会返回默认值

cds15980954301 发表于 2023-9-26 14:28:49

飞雪神光 发表于 2023-9-26 10:24
这样就不用放在外面那句了

请教一下
(if (null wordtmp)(setq wordtmp (eval bianliang)))(set bianliang wordtmp)
这有什么好处
为啥不
(if (/= wordtmp nil) (setq bianliang wordtmp))

liuhe 发表于 2023-9-26 09:25:38

你可以尝试用字典记忆这些变量

xj6019 发表于 2023-9-26 10:31:18

还是用词典或者黑板吧,这样容易串味

czb203 发表于 2023-9-26 10:40:00

xj6019 发表于 2023-9-26 10:31
还是用词典或者黑板吧,这样容易串味

导出都有神光大侠身影,向大佬学习

cds15980954301 发表于 2023-9-26 14:31:05

xj6019 发表于 2023-9-26 10:31
还是用词典或者黑板吧,这样容易串味

请教一下,黑板指的是什么

cds15980954301 发表于 2023-9-26 14:46:01

飞雪神光 发表于 2023-9-26 14:38
那当 wordtmp 为nil 时就不会返回默认值了(/= wordtmp nil)就是 wordtmp 可以写成 (if wordtmp (set...

谢谢您的回复

USER2128 发表于 2023-9-27 09:17:02

用户输入时有默认值(或默认上次输入值)时,请参照:
[函数] [原创][源码]整合多个GetXXX用户输入函数在一块
页: [1] 2
查看完整版本: 通用记忆函数