明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2416|回复: 15

通用记忆函数

[复制链接]
发表于 2023-9-26 08:29:45 | 显示全部楼层 |阅读模式
本帖最后由 cds15980954301 于 2023-9-26 14:53 编辑

这是自用的通用记忆函数,
附件内容已全部贴上,
如觉得有用,
有币的,就支持一下
;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 now  new  obj)
  (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)
)


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 3明经币 +3 收起 理由
xj6019 + 1 赞一个!
飞雪神光 + 1 赞一个!
love1030312 + 1 赞一个!

查看全部评分

发表于 2023-9-26 10:24:08 | 显示全部楼层
这样就不用放在外面那句了
  1. (defun jiyi (word bianliang moren /)
  2.         (or (eval bianliang) (set bianliang moren))
  3.         (setq wordtmp(getdist (strcat word (rtos(eval bianliang) 2 4) ">")))
  4.   (if (null wordtmp)(setq wordtmp (eval bianliang)))
  5.         (set bianliang wordtmp)
  6. )
  7. (defun c:33 ( / kwd now  new  obj)
  8.   (setq c(jiyi "\n请输入单边偏移距离<" 'jiy 10))
  9.   (setq obj (vlax-ename->vla-object (car(entsel))))
  10.   (vl-catch-all-apply 'vla-offset (list obj c))
  11.   (vl-catch-all-apply 'vla-offset (list obj (- c)))
  12.         (princ)
  13. )
发表于 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))) 这样空格时会返回默认值
 楼主| 发表于 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))
发表于 2023-9-26 09:25:38 | 显示全部楼层
你可以尝试  用字典记忆这些变量
发表于 2023-9-26 10:31:18 | 显示全部楼层
还是用词典或者黑板吧,这样容易串味
发表于 2023-9-26 10:40:00 | 显示全部楼层
xj6019 发表于 2023-9-26 10:31
还是用词典或者黑板吧,这样容易串味

导出都有神光大侠身影,向大佬学习
 楼主| 发表于 2023-9-26 14:31:05 | 显示全部楼层
xj6019 发表于 2023-9-26 10:31
还是用词典或者黑板吧,这样容易串味

请教一下,黑板指的是什么
 楼主| 发表于 2023-9-26 14:46:01 | 显示全部楼层
飞雪神光 发表于 2023-9-26 14:38
那当 wordtmp 为nil 时就不会返回默认值了  (/= wordtmp nil)  就是 wordtmp 可以写成 (if wordtmp (set  ...

谢谢您的回复
发表于 2023-9-27 09:17:02 | 显示全部楼层
用户输入时有默认值(或默认上次输入值)时,请参照:
[函数] [原创][源码]整合多个GetXXX用户输入函数在一块
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 04:42 , Processed in 0.158467 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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