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
真遗憾,楼主问题解决了,但是不公布答案给大家!!!
试试,可以删除直线,圆弧等