samifox 发表于 2022-7-5 23:20:01

连续选择

你好
 
其思想是简化未组合为一条多段线的连接线的选择。
 
用户只能选择起始线,并将所有连接到它的线(或接近连接到它的线)连接起来,并转换为多段线
 
我在考虑类似“fillit”命令的东西,但我希望选择集由条件选择
 
查看所附图片
有什么想法吗?
 
谢谢
谢伊

MSasu 发表于 2022-7-5 23:38:00

这似乎是PLINE命令中内置的行为;请检查多输入选项并加入模糊因子。当然,需要选择多个项目,但可以编写一个简单的AutoLISP例程或按钮宏来自动执行。

samifox 发表于 2022-7-5 23:49:15

好的,但是我怎么能把它全部循环起来呢?

marko_ribar 发表于 2022-7-5 23:58:29

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)
)

troggarf 发表于 2022-7-6 00:04:17

这是我的最爱之一。
它连接所有在其端点接触的对象,您所要做的就是从对象的“链”中选择一个对象。
http://forums.autodesk.com/t5/Visual-LISP-AutoLISP-and-General/Lines-to-pline-in-one-step/m-p/3533752/highlight/true

mostafa badran 发表于 2022-7-6 00:14:27

我同意MSasu托盘pedit,Multiple,根据您的意愿加入并更改模糊距离。
 
HTH公司
莫斯塔法

zaphod 发表于 2022-7-6 00:27:36

我喜欢Lisp程序的格雷格B,看起来很有用,它可能会在我的前20名名单上结束,只有时间会告诉我。
页: [1]
查看完整版本: 连续选择