edata
发表于 2014-7-4 18:23:19
77077 发表于 2014-7-4 17:49 static/image/common/back.gif
edata版的,完全能满足要求,用起来也很方便.不过我还是没看懂一部分~
(while(and loop (setq a(car h ...
如你的图纸,多个矩形靠在一起,选择的时候,会选择到其他的闭合线,我才用组码5的值来比较,如果是一样的组码5值,表示是同一个物体,只要有一组是相同就终止计算,相当于分离点不在矩形内的实体。
77077
发表于 2014-7-5 10:35:17
edata 发表于 2014-7-4 18:23 static/image/common/back.gif
如你的图纸,多个矩形靠在一起,选择的时候,会选择到其他的闭合线,我才用组码5的值来比较,如果是一样的 ...
没错,我这个行业画地块的时候,每个地块都要求紧密相邻且不能重叠,要不然就出现飞地或一块地两个主主了。
所以用entsel经常出现难选或选错。
edata
发表于 2014-7-5 18:39:10
如果真是这样的,用ssget窗选也应该可以了。
两点框选方式,不需要计算。
(defun c:tt(/ p1 p3 ss)
(if(and(setq p1 (getpoint "\n指定第一点:"))
(setq p3 (getcorner p1 "\n指定对角点:"))
)
(if(setq ss(ssget "_w" p1 p3 '((0 . "lwpolyline")(70 . 1)(62 . 1))))(sssetfirst nil ss))
)
(princ)
)
77077
发表于 2014-7-5 19:25:38
两点框选还是没点选方便,嘿嘿~
就是浪费点电脑计算时间,不过这几毫秒也算不上什么~~
1993063
发表于 2014-7-7 14:50:16
(SSGET '((-4 . "=")
(70 . 1)
(-4 . "<or")
(8 . "图层A")
(-4 . "or>")
(-4 . "<or")
(0 . "LWPOLYLINE")
(-4 . "or>")
)
)
潍坊嘎拉
发表于 2014-7-7 15:16:40
haogaoduan a