htlaser 发表于 2018-9-12 09:43:11

本帖最后由 htlaser 于 2018-9-12 09:47 编辑

Andyhon 发表于 2018-9-12 07:54
亮显?

亮显那些!?

(defun c:sxdd ( / dis l len mnd mxd t0 tol un x)
(setq tol 0.05)   ; 类似模糊精度
(setq dis (getreal "\n请输入需要选择直线的长度值")); 长度
(setq mxd (+ dis tol)); 最大长度
(setq mnd (- dis tol)); 最小长度
(and(setq un (vl-catch-all-apply 'ssget '(((0 . "LINE")))))
                (vl-catch-all-error-p un)
    (setq un nil)); 获取选择集
;(setq t0 (* 86400 (getvar "TDUSRTIMER"))) ; 选择完成进入耗时
(and un (repeat (setq len (sslength un))
                                       (setq l (cons (ssname un (setq len (1- len))) l)))) ; 获取图元表
;(setq un nil); 清空选择集
(setq l
                (vl-remove-if-not '(lambda (x)
                (setq x (entget x))
    (setq x (distance (cdr (assoc 10 x)) (cdr (assoc 11 x))))
    (and (< x mxd) (> x mnd) ) ) l)
)
(setq t0 (- (* 86400 (getvar "TDUSRTIMER")) t0))
(prompt (strcat "\n过滤耗时 " (rtos t0 2 3) " 秒"))
(foreach x l
    (redraw x 3))
        (sssetfirst nil) ;这里不知道怎么添加
(princ)
)

Andyhon 发表于 2018-9-12 10:04:10

(sssetfirst gripset)

是 A selection set
坛内很多例句可供参考

您要的是 UN 吗?

htlaser 发表于 2018-9-12 11:24:24

Andyhon 发表于 2018-9-12 10:04
(sssetfirst gripset)

是 A selection set


谢谢您,已找到解决方案。

依然小小鸟 发表于 2018-9-12 11:28:06

htlaser 发表于 2018-9-12 11:24
谢谢您,已找到解决方案。

最终版 能发一个完整代码吗 薪火相传{:1_1:}

htlaser 发表于 2018-9-12 11:39:23

本帖最后由 htlaser 于 2018-9-12 11:40 编辑

依然小小鸟 发表于 2018-9-12 11:28
最终版 能发一个完整代码吗 薪火相传
朋友改的不让外传抱歉主要代码    (vla-get-Length (vlax-ename->vla-object nn)再加判断跟模糊数据

再见熊猫衣服 发表于 2018-9-12 13:57:39

不用那么麻烦,用小菜选择易,然后全选删除就好了。小菜选择易了解一下

htlaser 发表于 2018-9-12 15:15:02

再见熊猫衣服 发表于 2018-9-12 13:57
不用那么麻烦,用小菜选择易,然后全选删除就好了。小菜选择易了解一下
我昨晚还测试你现在用的合体小菜每次都要输入模糊数据也麻烦

htlaser 发表于 2018-9-12 15:19:51

再见熊猫衣服 发表于 2018-9-12 13:57
不用那么麻烦,用小菜选择易,然后全选删除就好了。小菜选择易了解一下

请看图片演示

zmzk 发表于 2019-12-27 20:02:05

真遗憾,楼主问题解决了,但是不公布答案给大家!!!

loveu515 发表于 2023-8-23 10:25:04

zmzk 发表于 2019-12-27 20:02
真遗憾,楼主问题解决了,但是不公布答案给大家!!!

试试,可以删除直线,圆弧等





页: 1 [2] 3
查看完整版本: 请帮忙改写成指定长度删除 不小于且大于的不删除。