如何过滤选择大于某个值的数字
框选一堆数字,再从中筛选出大于某个值的数作为新的选集,请问各位大侠,怎么实现?非常感谢vitalgg大侠,感觉是好程序单不会用,麻烦帮融入到我上传的程序 麻烦改建一下我的数字加减程序,增加支持筛选大于某个值的功能 本帖最后由 vitalgg 于 2023-6-8 20:39 编辑
(defun c:sn (/ para-comp fun number)
(@:help '("选择大于或小于某一数值的字符串."))
(setq para-comp (string:auto-split (getstring "请输入比较规则及值,如>300,<=200 :")))
(if (and
(string:numberp (cadr para-comp))
(= 'subr (type (eval (read (car para-comp))))))
(progn
;; 分析输入的参数,
(setq fun (eval (read (car para-comp)))
number (atof (cadr para-comp)))
;; 过滤 条件生成新的选择集。
(sssetfirst nil
(pickset:from-list
(vl-remove-if-not
'(lambda (x)
(and
(string:numberp (entity:getdxf x 1))
(fun (atof (entity:getdxf x 1)) number )))
(pickset:to-list (ssget '((0 . "text"))))
)))
)))
小菜选择易,可以选择大于某个数值的数字。
http://bbs.mjtd.com/thread-86610-1-1.html wanhongron 发表于 2023-6-8 11:45
非常感谢vitalgg大侠,感觉是好程序单不会用,麻烦帮融入到我上传的程序
授人以鱼,不如授人以渔 本帖最后由 vitalgg 于 2023-6-8 20:42 编辑
https://atlisp.cn/static/videos/select-number.mp4
代码已更新。只实现基本功能。没有细化流程,如输入错误的处理等。
程序运行不了 wanhongron 发表于 2023-6-8 21:15
程序运行不了
需要@lisp核心和函数库
见我签名或到 http://atlisp.cn 查看安装方法 谢谢大侠,本人水平有限,虽然心有不甘,还是放弃了。。。
页:
[1]
2