明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: tryhi

[函数] 创建支持数量的过滤规则

  [复制链接]
发表于 2021-6-11 16:12 | 显示全部楼层
既然用得不多,为啥还要单独写一个那么复杂的呢?

  1. (defun ss:n ()
  2.   (setq aa '("##." "###." "####." "#####."))
  3.   (setq bb '("#" "##"))
  4.   (setq cc '("(#)" "(##)" "(###)"))
  5.   (setq n1 (zuhe aa (zuhe bb cc)))
  6.   (setq n2 (mapcar '(lambda (x) (apply 'strcat x)) n1))
  7.   (ssget (list (cons 1 (strjoin n2 ","))))
  8. )
  9. ;;;字符串连接
  10. (defun strjoin (lst del)
  11.   (if (cdr lst)
  12.     (strcat (car lst) del (strjoin (cdr lst) del))
  13.     (car lst)
  14.   )
  15. )
  16. ;;;两个表两两组合成新表
  17. (defun zuhe (lst1 lst2 / i j a lst)
  18.   (setq i 0)
  19.   (repeat (length lst1)
  20.     (setq a (nth i lst1))
  21.     (if (atom a)(setq a (cons a nil)))
  22.     (setq j 0)
  23.     (repeat (length lst2)
  24.       (setq b (nth j lst2))
  25.       (if (atom b)(setq b (cons b nil)))
  26.       (setq lst
  27.        (append
  28.          lst
  29.          (list(append a b))
  30.        )
  31.       )
  32.       (setq j (1+ j))
  33.     )
  34.     (setq i (1+ i))
  35.   )
  36.   Lst
  37. )

 楼主| 发表于 2021-6-12 16:15 | 显示全部楼层
本帖最后由 tryhi 于 2021-6-12 16:19 编辑
菜卷鱼 发表于 2021-6-11 16:12
既然用得不多,为啥还要单独写一个那么复杂的呢?

用得不多这个没想到,当初的想法是直接代替的,但是由于变量无法用单引号,导致每次写ssget的时候就要list cons一堆,又觉得麻烦
就像我定义try-sort一样,就是完全替代掉sort,只是当时没想到每次都要写list+cons就觉得好麻烦,就用得特别少了,不过也可以发散一下,直接重定义ssget

发表于 2021-6-13 23:17 | 显示全部楼层
"#{2,5}`.#{1,2}(#{1,3})" 是什么意思?
 楼主| 发表于 2021-6-15 11:08 | 显示全部楼层
shijianyy 发表于 2021-6-13 23:17
"#{2,5}`.#{1,2}(#{1,3})" 是什么意思?

"#`.#(#)"

这个看得懂吗?这个看不懂就先别看了,要求要有点基础
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-20 00:54 , Processed in 0.287632 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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