连续选择
你好其思想是简化未组合为一条多段线的连接线的选择。
用户只能选择起始线,并将所有连接到它的线(或接近连接到它的线)连接起来,并转换为多段线
我在考虑类似“fillit”命令的东西,但我希望选择集由条件选择
查看所附图片
有什么想法吗?
谢谢
谢伊
这似乎是PLINE命令中内置的行为;请检查多输入选项并加入模糊因子。当然,需要选择多个项目,但可以编写一个简单的AutoLISP例程或按钮宏来自动执行。 好的,但是我怎么能把它全部循环起来呢? Shay,也许这可以帮助你:
(defun c:fss (/ ssxunlocked ss i e sss)
(defun ssxunlocked (/ filter elst ss)
(setq filter "")
(while (setq elst (tblnext "layer" (null elst)))
(if (= 4 (logand 4 (cdr (assoc 70 elst))))
(setq filter (strcat filter (cdr (assoc 2 elst)) ","))
)
)
(and (= filter "")(setq filter "~*"))
(setq ss (ssget "_X" (list (cons 0 "*") (cons -4 "<not") (cons 8 filter) (cons -4 "not>"))))
ss
)
(defun fastsel (e / ss i ent)
(vl-load-com)
(setq ss (ssxunlocked))
(setq i -1)
(if (null sss) (setq sss (ssadd)))
(while (setq ent (ssname ss (setq i (1+ i))))
(if (not (eq e ent))
(if (vlax-invoke (vlax-ename->vla-object e) 'intersectwith (vlax-ename->vla-object ent) acextendnone)
(ssadd ent sss)
)
)
)
(ssadd e sss)
)
(prompt "\nSelect fast selection object(s) with touching for entities on unlocked layers")
(setq ss (ssget "_:L"))
(setq i -1)
(while (setq e (ssname ss (setq i (1+ i))))
(fastsel e)
)
(sssetfirst nil sss)
(princ)
)
这是我的最爱之一。
它连接所有在其端点接触的对象,您所要做的就是从对象的“链”中选择一个对象。
http://forums.autodesk.com/t5/Visual-LISP-AutoLISP-and-General/Lines-to-pline-in-one-step/m-p/3533752/highlight/true 我同意MSasu托盘pedit,Multiple,根据您的意愿加入并更改模糊距离。
HTH公司
莫斯塔法 我喜欢Lisp程序的格雷格B,看起来很有用,它可能会在我的前20名名单上结束,只有时间会告诉我。
页:
[1]